/**
 * Created by user on 2016/9/5.
 */
//创建对象
var inputctr = {};
inputctr.public = {};

//其他动态添加DOM
inputctr.checkadd = function () {
    $("input[type='checkbox'],input[type='radio']").each(function (i) {
        if ($(this).attr("value") == "9999") {
            var fid = $(this).attr("FieldID");
            if (!$(this).attr("FieldID")) {
                fid = $(this).attr("TableFieldID")
            };
            var fnid = $(this).attr("gid");
            if ($('[sValue="9999"][pid="' + fid + '"][pfieldid="' + fnid + '"]').length == 0) {
                var dom = '<div style="display: none;" sValue="9999" pfieldid="' + fnid + '" pid="' + fid + '"><div><input type="text" class="form-control required textbox" required placeholder="请填写内容"></div></div>';
                $(this).parents(".pre_td").append(dom);
            }
        }
    });
};

//文本框(除乘法科学计算)验证
inputctr.textbox = function (e) {
    e.each(function (i) {
        if ($(this).attr("dataValue")) {
            $(this).val($(this).attr("dataValue"));
        }
        if ($(this).attr("tname")) {
            switch ($(this).attr("tname")) {
                case "integer":
                    inputctr.integer(this);
                    break;
                case "postcode":
                    inputctr.postcode(this);
                    break;
                case "idcard":
                    inputctr.idcard(this);
                    break;
                case "mobile":
                    inputctr.mobile(this);
                    break;
                case "decimals":
                    inputctr.decimals(this);
                    break;
                case "pdate":
                    inputctr.pDate(this);
                    break;
                default:
                    inputctr.pnormal(this);
            }
        } else {
            inputctr.pnormal(this);
        }
    });
};

//药品联动
inputctr.drug = function (e) {
    // e.each(function (i) {
    //     if($(this).find('.drug,.threeLevelLinkage').val().length){
    //         $(this).citySelect({
    //             url:jQuery.parseJSON($(this).find('.drug,.threeLevelLinkage').val()),
    //             prov:"",
    //             city:"",
    //             dist:"",
    //             nodata:"none"
    //         });
    //     }
    // });
    e.each(function (i) {
        $(this).citySelect({
            url: jQuery.parseJSON(e.find('.drug').val()),
            prov: "",
            city: "",
            dist: "",
            nodata: "none"
        });
    });
};

//关联填充
inputctr.allocation = function (e) {
    var availableTags = [
        "ActionScript",
        "AppleScript",
        "Asp",
        "BASIC",
        "C",
        "C++",
        "Clojure",
        "COBOL",
        "ColdFusion",
        "Erlang",
        "Fortran",
        "Groovy",
        "Haskell",
        "Java",
        "JavaScript",
        "Lisp",
        "Perl",
        "PHP",
        "Python",
        "Ruby",
        "毛泽东",
        "周恩来",
        "习近平",
        "Groovy",
        "Scheme"
    ];
    e.each(function (i) {
        $(this).autocomplete({
            source: availableTags
        });
        $(this).keyup(function () {
            inputctr.public.errifdel(this);
            if ($(this).val() != 'NA' && $(this).val() != 'ND' && $(this).val() != 'UK') {
                if ($(this).attr("required")) {
                    if (!$(this).val()) {
                        inputctr.public.errinfo(this, "请填写内容");
                    }
                }
            }
        });
    });
};

//年龄计算
inputctr.age = function (e) {
    e.each(function (i) {
        if ($(this).attr("dataValue")) {
            $(this).val($(this).attr("dataValue"));
            $(this).parent().find("input[type='hidden']").val($(this).attr("dataValue"));
            var r = $(this).val().match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/);
            if (r == null) return false;
            var d = new Date(r[1], r[3] - 1, r[4]);
            if (d.getFullYear() == r[1] && (d.getMonth() + 1) == r[3] && d.getDate() == r[4]) {
                var Y = new Date().getFullYear();
                $(this).parent().find(".page span").html((Y - r[1]));
            }
        }
        var container = ($(this).parents('.np_prop').length > 0) ? '.np_prop' : 'body';
        var setDate = $(this).val() != '' ? $(this).val() : '';
        var sdate = getServerDate;
        $(this).datepicker({
            language: 'zh-CN',
            autoclose: true,
            todayHighlight: true,
            format: "yyyy-mm-dd",
            container: container,
            setDate:setDate,
            forceParse:false,
            endDate: sdate
        }).on("hide", function (e) {
            e = e || window.event;
            e.stopPropagation();
            inputctr.public.errifdel(this);
            if ($(e.target).attr("required")) {
                if (!e.target.value) {
                    inputctr.public.errinfo(this, "请填写内容");
                } else if (e.target.value.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/) == null) {
                    e.target.value = "";
                }
            } else {
                if (e.target.value.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/) == null) {
                    e.target.value = "";
                }
            }
            var r = e.target.value.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/);
            if (r == null) return false;
            var d = new Date(r[1], r[3] - 1, r[4]);
            if (d.getFullYear() == r[1] && (d.getMonth() + 1) == r[3] && d.getDate() == r[4]) {
                var Y = new Date().getFullYear();
                $(e.target.nextElementSibling).find("span").html((Y - r[1]));
                $(this).parent().find("input[type='hidden']").val(e.target.value);
                return false;
            }
            console.log("输入的日期格式错误！");
        });
    });
};

//获取服务器时间
inputctr.getServerDate = function () {
    return new Date($.ajax({ async: false }).getResponseHeader("Date"));
}

//日期初始
inputctr.dateinit = function (e) {
    e.each(function (i) {
        if ($(this).attr("dataValue")) {
            $(this).val($(this).attr("dataValue"));
            $(this).parent().find("input[type='hidden']").val($(this).attr("dataValue"));
        }
        //var pa = 'body'
        //if ($(this).parents('.np_prop').length > 0) {
        //    pa = '.np_prop'
        //}
        var container = ($(this).parents('.np_prop').length > 0) ? '.np_prop' : 'body';
        var setDate = $(this).val() != '' ? $(this).val() : '';
        var sdate = getServerDate;
        if ($(this).attr('name') == '预约下次访视时间') {
            sdate = '';
        }
        $(this).datepicker({
            language: 'zh-CN',
            autoclose: true,
            todayHighlight: true,
            format: "yyyy-mm-dd",
            setDate: setDate,
            forceParse: false,
            container: container,
            startDate:'1900/1/1',
            endDate: sdate
        }).on("hide", function (e) {
            e = e || window.event;
            e.stopPropagation();
            inputctr.public.errifdel(this);
            if ($(e.target).attr("required")) {
                if (!e.target.value) {
                    inputctr.public.errinfo(this, "请填写内容");
                } else if (e.target.value.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/) == null) {
                    e.target.value = "";
                }
            } else {
                if (e.target.value.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/) == null) {
                    e.target.value = "";
                }
            }
            $(this).parent().find("input[type='hidden']").val(e.target.value);
        })
        var $$this = $(this);
        $(this).next('.input-group-addon').click(function () {
            $$this.trigger('focus');
        });

        $(this).focus(function () {
            ganchuan(this);
        })
    });
};

//时间初始
inputctr.timeinit = function (e) {
    e.each(function (i) {
        var appendWidgetTo = ($(this).parents('.np_prop').length > 0) ? '.np_prop' : 'body';
        $(this).timepicker({
            showMeridian: false,
            appendWidgetTo: appendWidgetTo
        }).on('hide.timepicker', function (e) {
            e = e || window.event;
            e.stopPropagation();
            inputctr.public.errifdel(this);
            if ($(e.target).attr("required")) {
                if (!e.target.value) {
                    inputctr.public.errinfo(this, "请填写内容");
                }
            }
            $(e.target.nextElementSibling).val(e.target.value);
        });
        if ($(this).attr("dataValue")) {
            $(this).timepicker({
                defaultTime: false
            });
            $(this).val($(this).attr("dataValue"));
            $(this).parent().find("input[type='hidden']").val($(this).attr("dataValue"));
        } else {
            $(this).timepicker({
                defaultTime: true
            });
        }
    });
};

//my97时间日期初始
inputctr.datetime = function (e) {
    e.each(function (i) {
        $(this).focus(function () {
            WdatePicker({
                dateFmt: 'yyyy-MM-dd HH:mm:ss',
                skin: "twoer",
                errDealMode: 1,
                onpicked: function ($dp) {
                    inputctr.public.errifdel(this);
                    if ($(this).attr("required")) {
                        if (!$(this).val()) {
                            inputctr.public.errinfo(this, "请填写内容");
                        }
                    }
                }
            })
        });
        if ($(this).attr("dataValue")) {
            $(this).val($(this).attr("dataValue"));
        } else {
            $(this).val(inputctr.public.getdatetime());
        }
    });
};

//科学计数法
inputctr.kxcount = function (e) {
    e.each(function (i) {
        if ($(this).attr("dataValue")) {
            var dv = $(this).attr("dataValue");
            var tx1 = $(this).find("input[type='text']").eq(0);
            var tx2 = $(this).find("input[type='text']").eq(1);
            if (dv != '') {
                var dval = inputctr.num2e(dv);
                var v1 = dval.split(",")[0];
                var v2 = dval.split(",")[1];
                tx1.val(parseFloat(v1).toFixed(2));//转换小数并保留小数后两位
                tx2.val(v2);
                $(this).find("input[type='hidden']").val(dv)
            } else {
                $(this).find("input[type='hidden']").val("")
            }
        }
        tx1.keyup(function () {
            var val = $(this).val();
            var len = val.length;
            if (len == 1 && !inputctr.public.isNum(val)) {
                $(this).val("");
            } else {
                if (val.indexOf(".") != 1) {
                    $(this).val(val.substr(0, 1))
                } else {
                    if (len > 2 && len <= 5) {
                        var tg = val.substr(2, len - 2);
                        if (!inputctr.public.isNum(tg)) {
                            $(this).val(val.substr(0, 1))
                        }
                    } else {
                        if (len > 5) {
                            $(this).val(val.substr(0, 5))
                        }
                    }
                }
            }
        });
        tx1.blur(function () {
            inputctr.public.errifdel(this);
            if ($(this).val() != 'NA' && $(this).val() != 'ND' && $(this).val() != 'UK') {
                if ($(this).val().length == 2) {
                    $(this).val($(this).val().substr(0, 1))
                }
                if ($(this).attr("required")) {
                    if (!$(this).val()) {
                        inputctr.public.errinfo(this, "请填写内容");
                    }
                }
            }

        });
        tx2.blur(function () {

        });
        tx2.keyup(function () {
            var val = $(this).val();
            if (!inputctr.public.isNum(val)) {
                $(this).val("");
            }
        })
    });
};

//默认文本框验证
inputctr.pnormal = function (e) {
    $(e).blur(function () {
        inputctr.public.errifdel(e);
        var val = $(this).val();
        if ($(this).val() != 'NA' && $(this).val() != 'ND' && $(this).val() != 'UK') {
            if ($(e).attr("required")) {
                if (!val) {
                    inputctr.public.errinfo(e, "请填写内容");
                }
            }
        }
    });
};

//整数验证
inputctr.integer = function (e) {
    $(e).keyup(function () {
        inputctr.public.errifdel(e);
        var val = $(this).val();
        if ($(this).val() != 'NA' && $(this).val() != 'ND' && $(this).val() != 'UK') {
            if ($(e).attr("required")) {
                if (!val) {
                    inputctr.public.errinfo(e, "请填写内容");
                    return false;
                } else {
                    if (!inputctr.public.isNum(val)) {
                        inputctr.public.errinfo(e, "输入有误");
                        return false;
                    } else if ($(e).attr("imax") || $(e).attr("imin") || $(e).attr("hlmax") || $(e).attr("hlmin")) {
                        if (val > parseInt($(e).attr("imax"))) {
                            inputctr.public.errinfo(e, "超过最大值");
                        } else if (val < parseInt($(e).attr("imin"))) {
                            inputctr.public.errinfo(e, "小于最小值");
                        } else if (val > parseInt($(e).attr("hlmax"))) {
                            inputctr.public.errinfoTwo(e, $(e).parents(".pre_tr").find(".pre_td:first").text().replace('*', "") + "偏高,请核实!");
                        } else if (val < parseInt($(e).attr("hlmin"))) {
                            inputctr.public.errinfoTwo(e, $(e).parents(".pre_tr").find(".pre_td:first").text().replace('*', "") + "偏低,请核实!");
                        }
                    }
                }
            } else {
                if (!val) {
                    return;
                } else {
                    if (!inputctr.public.isNum(val)) {
                        inputctr.public.errinfo(e, "输入有误");
                        return false;
                    } else if ($(e).attr("imax") || $(e).attr("imin") || $(e).attr("hlmax") || $(e).attr("hlmin")) {
                        if (val > parseInt($(e).attr("imax"))) {
                            inputctr.public.errinfo(e, "超过最大值");
                        } else if (val < parseInt($(e).attr("imin"))) {
                            inputctr.public.errinfo(e, "小于最小值");
                        } else if (val > parseInt($(e).attr("hlmax"))) {
                            inputctr.public.errinfoTwo(e, $(e).parents(".pre_tr").find(".pre_td:first").text().replace('*', "") + "偏高,请核实!");
                        } else if (val < parseInt($(e).attr("hlmin"))) {
                            inputctr.public.errinfoTwo(e, $(e).parents(".pre_tr").find(".pre_td:first").text().replace('*', "") + "偏低,请核实!");
                        }
                    }
                }
            }
        }
        //if ($(e).attr("imax") || $(e).attr("imin") || $(e).attr("hlmax") || $(e).attr("hlmin")) {
        //    if (val > parseInt($(e).attr("imax"))) {
        //        inputctr.public.errinfo(e, "超过最大值");
        //    } else if (val < parseInt($(e).attr("imin"))) {
        //        inputctr.public.errinfo(e, "小于最小值");
        //    } else if (val > parseInt($(e).attr("hlmax"))) {
        //        inputctr.public.errinfo(e, "超过合理最大值");
        //    } else if (val < parseInt($(e).attr("hlmin"))) {
        //        inputctr.public.errinfo(e, "小于合理最小值");
        //    }
        //}
    });
};

//邮编验证
inputctr.postcode = function (e) {
    $(e).blur(function () {
        inputctr.public.errifdel(e);
        var val = $(this).val();
        if ($(this).val() != 'NA' && $(this).val() != 'ND' && $(this).val() != 'UK') {
            if ($(e).attr("required")) {
                if (!val) {
                    inputctr.public.errinfo(e, "请填写内容");
                } else {
                    if (!inputctr.public.ispostcode(val)) {
                        inputctr.public.errinfo(e, "输入有误");
                    }
                }
            } else {
                if (!val) {

                } else {
                    if (!inputctr.public.ispostcode(val)) {
                        inputctr.public.errinfo(e, "输入有误");
                    }
                }
            }
        }
    });
};

//身份证验证
inputctr.idcard = function (e) {
    $(e).blur(function () {
        inputctr.public.errifdel(e);
        var val = $(this).val();
        if ($(this).val() != 'NA' && $(this).val() != 'ND' && $(this).val() != 'UK') {
            if ($(e).attr("required")) {
                if (!val) {
                    inputctr.public.errinfo(e, "请填写内容");
                } else {
                    if (!inputctr.public.isidcard(val)) {
                        inputctr.public.errinfo(e, "输入有误");
                    }
                }
            } else {
                if (!val) {

                } else {
                    if (!inputctr.public.isidcard(val)) {
                        inputctr.public.errinfo(e, "输入有误");
                    }
                }
            }
        }
    });
};

//手机号码验证
inputctr.mobile = function (e) {
    $(e).blur(function () {
        inputctr.public.errifdel(e);
        var val = $(this).val();
        if ($(this).val() != 'NA' && $(this).val() != 'ND' && $(this).val() != 'UK') {
            if ($(e).attr("required")) {
                if (!val) {
                    inputctr.public.errinfo(e, "请填写内容");
                } else {
                    if (!inputctr.public.ismobile(val)) {
                        inputctr.public.errinfo(e, "输入有误");
                    }
                }
            } else {
                if (!val) {

                } else {
                    if (!inputctr.public.ismobile(val)) {
                        inputctr.public.errinfo(e, "输入有误");
                    }
                }
            }
        }

    });
};

//小数验证
inputctr.decimals = function (e) {
    $(e).blur(function () {
        if ($(e).attr('accuracy') && Number($(e).attr('accuracy'))) {
            var jdNum = $(e).attr('accuracy');
        }
        //肝功能计算
        gradeGan(e, jdNum);
    });
    $(e).keyup(function () {
        if ($(e).attr('accuracy') && Number($(e).attr('accuracy'))) {
            var jdNum = $(e).attr('accuracy');
        }
        inputctr.public.errifdel(e);
        var val = $(this).val();
        if ($(this).val() != 'NA' && $(this).val() != 'ND' && $(this).val() != 'UK') {
            if ($(e).attr("required")) {
                if (!val) {
                    inputctr.public.errinfo(e, "请填写内容");
                } else {
                    if (!inputctr.public.isdecimals(val, jdNum)) {
                        inputctr.public.errinfo(e, "须为数字且小数点只能保留" + jdNum + "位");
                    } else if ($(e).attr("imax") || $(e).attr("imin") || $(e).attr("hlmax") || $(e).attr("hlmin")) {
                        if (val > Number($(e).attr("imax"))) {
                            inputctr.public.errinfo(e, "超过最大值");
                        } else if (val < Number($(e).attr("imin"))) {
                            inputctr.public.errinfo(e, "小于最小值");
                        } else if (val > Number($(e).attr("hlmax"))) {
                            inputctr.public.errinfoTwo(e, $(e).parents(".pre_tr").find(".pre_td:first").text().replace('*', "") + "偏高,请核实!");
                        } else if (val < Number($(e).attr("hlmin"))) {
                            inputctr.public.errinfoTwo(e, $(e).parents(".pre_tr").find(".pre_td:first").text().replace('*', "") + "偏低,请核实!");
                        }
                    }
                }
            } else {
                if (!val) {

                } else {
                    if (!inputctr.public.isdecimals(val, jdNum)) {
                        inputctr.public.errinfo(e, "须为数字且小数点只能保留" + jdNum + "位");
                    } else if ($(e).attr("imax") || $(e).attr("imin") || $(e).attr("hlmax") || $(e).attr("hlmin")) {
                        if (val > Number($(e).attr("imax"))) {
                            inputctr.public.errinfo(e, "超过最大值");
                        } else if (val < Number($(e).attr("imin"))) {
                            inputctr.public.errinfo(e, "小于最小值");
                        } else if (val > Number($(e).attr("hlmax"))) {
                            inputctr.public.errinfoTwo(e, $(e).parents(".pre_tr").find(".pre_td:first").text().replace('*', "") + "偏高,请核实!");
                        } else if (val < Number($(e).attr("hlmin"))) {
                            inputctr.public.errinfoTwo(e, $(e).parents(".pre_tr").find(".pre_td:first").text().replace('*', "") + "偏低,请核实!");
                        }
                    }
                }
            }
        }
        //肝功能计算
        gradeGan(e, jdNum);

    });
};

//科学计算
inputctr.ntkx = function (e) {
    var x = $(e).parent().find('input[type="text"]').eq(0).val();
    var y = $(e).parent().find('input[type="text"]').eq(1).val();
    $(e).parent().find('input[type="hidden"]').val(x * Math.pow(10, y));
    inputctr.public.errifdel(e);
    if ($(e).attr("required")) {
        if (!$(e).val()) {
            inputctr.public.errinfo(e, "请填写内容")
        }
    }
};

inputctr.num2e = function (num) {
    var p = Math.floor((Math.log(num) / Math.LN10).toFixed(2));
    var n = num * Math.pow(10, -p);
    return n.toFixed(2) + ',' + p;
};

//乘法输入验证
inputctr.count = function (e) {
    e.each(function (i) {
        if ($(this).attr("dataValue")) {
            var ns = $(this).attr("dataValue").split(",");
            $(this).find("input[type='text']").each(function (i) {
                $(this).val(ns[i]);
            });
            var num = 1;
            for (var i in ns) {
                if (i > $(this).find("input[type='text']").size()) {
                    $(this).find("input[type='hidden']").val(num);
                    return false;
                }
                num = num * ns[i]
            }
            $(this).find("input[type='hidden']").val(num);
        }
        //var txs = $(this).find("input[type='text']");
        $(this).find("input[type='text']").keyup(function () {
            var val = $(this).val();
            if (!inputctr.public.isNum(val)) {
                $(this).val("");
            }
        });
    });
};

//乘法计算
inputctr.cfcount = function (e) {
    var num = 1;
    var obj = $(e).parent().find('input[type="text"]');
    inputctr.public.errifdel(e);
    obj.each(function (i) {
        if (!$(this).val()) {
            if ($(this).attr("required")) {
                inputctr.public.errinfo(this, "请填写内容")
            }
            num = 0;
        } else {
            num = num * $(this).val();
        }
        $(e).parent().find('input[type="hidden"]').val(num);
    });
};

//日期输入验证
inputctr.pDate = function (e) {
    $(e).blur(function () {
        inputctr.public.errifdel(e);
        var val = $(this).val();
        if ($(this).val() != 'NA' && $(this).val() != 'ND' && $(this).val() != 'UK') {
            if ($(e).attr("required")) {
                if (!val) {
                    inputctr.public.errinfo(e, "请填写内容");
                } else {
                    if (!inputctr.public.isDate(val)) {
                        inputctr.public.errinfo(e, "输入有误");
                    }
                }
            } else {
                if (!val) {

                } else {
                    if (!inputctr.public.isDate(val)) {
                        inputctr.public.errinfo(e, "输入有误");
                    }
                }
            }
        }

    });
};

//邮编验证
inputctr.public.ispostcode = function (num) {
    var reNum = /^[1-9]\d{5}(?!\d)$/;
    return (reNum.test(num))
};

//身份证验证
inputctr.public.isidcard = function (num) {
    var reNum = /^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}([0-9]|X)$/;
    return (reNum.test(num))
};

//手机号码验证
inputctr.public.ismobile = function (num) {
    var reNum = /^((\d{11})|(\d{7,8})|((0[0-9]{2,3}\-)?([2-9][0-9]{6,7})+(\-[0-9]{1,4})?))$/;
    //var reNum = /^1[2|3|4|5|7|8][0-9]{9}$/;
    return (reNum.test(num))
};

//小数验证
inputctr.public.isdecimals = function (num, jdNum) {
    if (jdNum) {
        jdNum = Number(jdNum);
        var reNum = new RegExp('^[0-9]+([.]\\d{0,' + jdNum + '})?$');
    } else {
        var reNum = /^[0-9]+([.]\d{0,2})?$/;
        //var reNum = /^-?\d+\.?\d{0,2}$/;
    }
    //var reNum = /^[0-9]+([.]\d{1})?$/;
    return (reNum.test(num))
};

//整数验证
inputctr.public.isNum = function (num) {
    var reNum = /^[0-9]+$/;
    return (reNum.test(num))
};

//日期验证
inputctr.public.isDate = function (num) {
    var reNum = /^[1-2][0-9][0-9][0-9]\/[0-1]{0,1}[0-9]\/[0-3]{0,1}[0-9]$/;
    return (reNum.test(num))
};

//单位变更
inputctr.cgtext = function (e) {
    var a = $(e).html();
    $(e).parents("div.btn-group").find("button").html(a);
    $(e).parents("div.btn-group").removeClass('open');
};


//单选赋值只读
inputctr.pcrCgsel = function (e) {
    
    var _this = $(e);
    if ($(e).attr("checked")) {
        $(e).attr("checked", false);
        $(e).prop({
            checked: false
        });
        var obj = $(e).parents('.pre_td');
        gradeThr(e);
        obj.find('input[type="hidden"]').val("");
        if (obj.find('input[type="text"]').length > 0) {
            obj.find('input[type="text"]').each(function (i) {
                $(this).val("").removeAttr("readonly");
            });
        }
        if (obj.find('.poradios').length > 0) {
            obj.find('.poradios .radio').each(function (i) {
                if ($(this).find('input').hasClass('pcr')) {

                } else {
                    $(this).find('input').removeAttr("disabled");
                }
            });
        }
        if (obj.find('.pcheckbox').length > 0) {
            obj.find('.pcheckbox .checkbox').each(function (i) {
                if ($(this).find('input').hasClass('pcr')) {

                } else {
                    $(this).find('input').prop("disabled",false);
                }
            });
        }
    } else {
        $(e).attr("checked", true);
        $(e).prop({
            checked: true
        });
        var $this = $(e);
        inputctr.cgsel($this);
        gradeTwo(e);
        var obj = $(e).parents('.pre_td');
        obj.find('input[type="hidden"]').val($(e).val());
        if (obj.find('input[type="text"]').length > 0) {
            obj.find('input[type="text"]').each(function (i) {
                inputctr.public.errifdel(this);
                $(this).val($this.parent().find("label").html()).attr("readonly", "readonly")
            });
        }
        if (obj.find('.poradios').length > 0) {
            obj.find('.poradios .radio').each(function (t) {
                inputctr.public.errifdel(this);
                if ($(this).find('input').hasClass('pcr')) {

                } else {
                    $(this).find('input').attr({ disabled: "disabled", checked: false });
                    $(this).prop({
                        checked: false
                    });
                }
            });
        }
        if (obj.find('.pcheckbox').length > 0) {
            obj.find('.pcheckbox .checkbox').each(function (t) {
                inputctr.public.errifdel(this);
                if ($(this).find('input').hasClass('pcr')) {

                } else {
                    $(this).find('input').attr({ disabled: "disabled", checked: false });
                    $(this).prop({
                        checked: false
                    });
                }
            });
        }
    }
    gradeGan($(e).parents('.pre_td').find('input[type="text"]')[0]);
}

//单选赋值
inputctr.pcr = function (e) {
    e.each(function (i) {
        var _this = this;
        //if ($(this).parents('.form-inline').attr("dataValue")) {
        //    var obj = $(this).parents('.form-inline').find('input[value =' + $(this).parents('.form-inline').attr("dataValue") + ']');
        //    obj.attr("checked", "checked");
        //    inputctr.showlist('div[sValue = ' + obj.attr("value") + '][pid = ' + obj.attr("FieldID") + ']', _this);
        //}
        if ($(this).attr("checked")) {
            $(this).parents('.form-inline').find(".form-group input").val($(this).parent().find("label").html()).attr("readonly", "readonly");
        }
        $(this).unbind("click");
        $(this).click(function () {
            if ($(this).attr("checked")) {
                $(this).attr("checked", false);
                var obj = $(this).parents('.pre_td');
                obj.find('input[type="hidden"]').val("");
                if (obj.find('input[type="text"]').length > 0) {
                    obj.find('input[type="text"]').each(function (i) {
                        $(this).val("").removeAttr("readonly");
                    });
                } else if (obj.find('.poradios').length > 0) {
                    obj.find('.poradios .radio').each(function (i) {
                        if ($(this).find('input').hasClass('pcr')) {

                        } else {
                            $(this).find('input').removeAttr("disabled");
                        }
                    });
                }
                //$(this).parents('.pre_td').find(".form-group input").val("").removeAttr("readonly");
            } else {
                $(this).attr("checked", true);
                var $this = $(this);
                inputctr.cgsel($this);
                //gradeTwo(this);
                var obj = $(this).parents('.pre_td');
                obj.find('input[type="hidden"]').val($(this).val());
                if (obj.find('input[type="text"]').length > 0) {
                    obj.find('input[type="text"]').each(function (i) {
                        inputctr.public.errifdel(this);
                        $(this).val($this.parent().find("label").html()).attr("readonly", "readonly")
                    });
                } else if (obj.find('.poradios').length > 0) {
                    obj.find('.poradios .radio').each(function (t) {
                        inputctr.public.errifdel(this);
                        if ($(this).find('input').hasClass('pcr')) {

                        } else {
                            $(this).find('input').attr({ disabled: "disabled", checked: false });
                        }
                    });

                }
                //$(this).parents('.form-inline').find(".form-group input").val($(this).parent().find("label").html()).attr("readonly", "readonly");
                //$(this).parents('.checkbox').siblings('.checkbox').find('input').attr('checked', false);
            }
        });
    });
};

//下拉框初始化
inputctr.sel = function (e) {
    e.each(function (i) {
        var _this = this;
        if ($(this).attr("dataValue")) {
            var obj = $(this).find('option[value =' + $(this).attr("dataValue") + ']');
            obj.attr("selected", "selected");
            inputctr.showlist('div[sValue = ' + obj.attr("value") + '][pid = ' + obj.attr("FieldID") + ']',_this);
        }
    });
};

//联动显示
inputctr.cishow = function (e) {
    var ov = $(e).val();
    var a = $(e).parents(".pre_td").find('div[value=' + ov + ']');
    $(e).find('option').each(function (i) {
        var tv = $(this).val();
        if (tv != ov) {
            var b = $(e).parents(".pre_td").find('div[value=' + tv + ']');
            inputctr.hidelist(b);
        }
        inputctr.showlist(a);
    })
};

//单选多选下拉框对应显示
inputctr.cgsel = function (e) {
    //单选框多选框
    var rvalue = $(e).attr("value");
    var rid = $(e).attr("FieldID");
    var rnid = $(e).attr("gid");
    if (!rid) {
        rid = $(e).attr("TableFieldID");
    };
    var rshow = 'div[sValue=' + rvalue + '][pid = ' + rid + '][pfieldid = ' + rnid + ']';
    var divshow = $(e).parent().next(".padiv").get(0);
    //下拉框
    var ovalue = $(e).find('option[value=' + $(e).val() + ']').attr('value');
    var oid = $(e).find('option[value=' + $(e).val() + ']').attr('FieldID');
    var onid = $(e).find('option[value=' + $(e).val() + ']').attr('gid');
    if (onid) {
        var show = 'div[sValue=' + ovalue + '][pid = ' + oid + '][pfieldid = ' + onid + ']';
    } else {
        var show = 'div[sValue=' + ovalue + '][pid = ' + oid + ']';
    };
    //DOM对象判断
    if ($(e).is(":checked")) {
        inputctr.public.errifdel($(e).parents(".pocheckboxs,.pradio,.poradios,.pcheckbox"));
        inputctr.public.errifdel(e);
        if ($(e).attr('type') == 'radio') {
            grade(e, rvalue, $(e).attr("name"))
            var ralist1 = $(e).parent().siblings();
            ralist1.each(function () {
                //var sid = $(this).find('input[type="radio"]').attr('sValue');
                var sid = $(this).find('input[type="radio"]').attr('value');
                var sfid = $(this).find('input[type="radio"]').attr('FieldID');
                var snid = $(this).find('input[type="radio"]').attr('gid');
                if (!sfid){
                    sfid = $(this).find('input[type="radio"]').attr('TableFieldID')
                }
                if (sid != rvalue) {
                    var obj = 'div[sValue=' + sid + '][pid = ' + sfid + '][pfieldid = ' + snid + ']';
                    if ($(obj).length > 0) {
                        inputctr.hidelist(obj)
                    }
                }
            });
            inputctr.showlist(rshow,e);
        } else {
            inputctr.showlist(rshow,e);
            if (divshow) {
                inputctr.showlist(divshow,e);
            }
            if ($(e).attr("value") == "999") {
                inputctr.checkv9(e);
            }
        }
    } else if ($(e).is('select')) {
        inputctr.public.errifdel(e);
        $(e).parent().find("p").html("");
        var ralist2 = $(e).find('option');
        ralist2.each(function (i) {
            //var sid = $(this).attr('sValue');
            var sid = $(this).attr('value');
            var sfid = $(this).attr('FieldID');
            var snid = $(this).attr('gid');
            if (sid != ovalue && sfid != oid && snid != onid) {
                var obj = 'div[sValue=' + sid + '][pid = ' + sfid + '][pfieldid = ' + snid + ']';
                if ($(obj).length > 0) {
                    inputctr.hidelist(obj)
                }
            }
            inputctr.showlist(rshow,e);
        })
    } else if ($(e).hasClass("oradio") || $(e).hasClass("ocheckbox")) {
        $(e).parents('div').find("p").html("");
        if ($(e).hasClass("oradio")) {
            $(e).addClass("btn-default").parent().siblings().find("span").removeClass("btn-default");
            var ralist3 = $(e).parent().siblings();
            ralist3.each(function (i) {
                var sid = $(this).find("span").attr("value");
                if (sid != rvalue) {
                    var obj = 'div[sValue=' + sid + ']';
                    if ($(obj).length > 0) {
                        inputctr.hidelist(obj)
                    }
                }
            });
            inputctr.showlist(rshow,e);
        } else if ($(e).hasClass("ocheckbox")) {
            if ($(e).hasClass("btn-default")) {
                inputctr.hidelist(rshow);
                $(e).removeClass("btn-default")
            } else {
                inputctr.showlist(rshow,e);
                $(e).addClass("btn-default")
            }
        }
    } else {
        var check = $(e).parent().siblings().find('input[sValue=' + rvalue + '][pid = ' + rid + '][pfieldid = ' + rnid + ']');
        if (check.length > 0) {
            $.each(check, function () {
                if (!this.attr('checked')) {
                    if ($(rshow).length > 0) {
                        inputctr.hidelist(rshow)
                    }
                }
            });
        }
        if ($(rshow).length > 0) {
            if($(e).attr('type') == 'checkbox' && $(rshow).css('display') != 'none') {
                inputctr.hidelist(rshow);
            }else if ($(rshow).is(":hidden")) {

            } else {
                inputctr.hidelist(rshow)
            }
        }
        if ($(divshow).length > 0) {
            inputctr.hidelist(divshow);
        }
        if ($(e).attr("value") == "999") {
            inputctr.checkv9del(e);
        }
    }
};


//非显示选择操作
inputctr.hidelist = function (e) {
    if ($(e).find('.pcr[checked="checked"]').length > 0) {
        //$(e).find('.pcr[checked="checked"]').each(function () {
        //    $(this).prop('checked', false);
        //    $(this).parent().siblings().prop('disabled',false);
        //});
        $(e).find('.pcr[checked="checked"]').trigger('click');
    }
    $(e).find(".errinfo").remove();
    $(e).find('input[type="radio"],input[type="checkbox"]').prop('checked', false).removeAttr('disabled');
    $(e).find('input[type="text"],textarea,select').val('');
    $(e).find("li span").removeClass("btn-default");
    $(e).find("input[type=hidden]").val("");
    $(e).find(".ptable tbody").empty();
    $(e).find("input[type = 'text'],textarea,select").removeClass("errborder");
    $(e).find(".pradio label,.poradios label,.pocheckboxs label,.pcheckbox label").removeClass("errborder");
    $(e).hide();
    $(e).removeClass("retract");
    $(e).find('input[type="radio"],input[type="checkbox"]').each(function (i) {
        inputctr.cgsel(this);
    });
};

//显示操作
inputctr.showlist = function (e, clickObj) {
    $(e).show();
    //$(e).addClass("retract");
    if (clickObj) {
        //ie兼容取得padding
        var fj = parseInt($(clickObj).parents('.pre_tr,.pcs_tr,.ppr_ctr')[0].style.paddingLeft);
        if(!fj){
            fj = parseInt($(clickObj).parents('.pre_tr,.pcs_tr,.ppr_ctr').css('paddingLeft'));
        }
        $(e).css('paddingLeft', (fj + 20) + 'px');
        $(e).find('.pre_td:first').width($(clickObj).parents('.pre_tr,.pcs_tr,.ppr_ctr').find('.pre_td:first').width() -20);
    } else {
        //$(e).find(".pre_td:first").css('paddingLeft', '10px');
    }
};

//其他多选选中操作
inputctr.checkv9 = function (e) {
    var _obj = $(e).parent(".checkbox").siblings().find("input");
    _obj.attr({ disabled: "disabled", checked: false });
    _obj.each(function (i) {
        inputctr.cgsel(this);
    })
};

//其他多选取消操作
inputctr.checkv9del = function (e) {
    $(e).parent(".checkbox").siblings().find("input").removeAttr("disabled");
};

//单选框多选框初始
inputctr.crcs = function (e) {
    e.each(function (i) {
        var _this = this;
        if ($(this).hasClass("pcheckbox") && $(this).attr("dataValue")) {
            var arr = $(this).attr("dataValue").split(",");
            for (var t in arr) {
                var obj1 = $(this).find('input[value=' + arr[t] + ']');
                var divshow = obj1.parent().next(".padiv");
                inputctr.showlist(divshow, _this);
                obj1.attr("checked", "checked");
                inputctr.showlist('div[sValue= ' + obj1.attr("value") + '][pid=' + obj1.attr("FieldID") + ']', _this);
            }
        } else if ($(this).hasClass("pradio") && $(this).attr("dataValue")) {
            var obj2 = $(this).find('input[value=' + $(this).attr("dataValue") + ']');
            obj2.attr("checked", "checked");
            inputctr.showlist('div[sValue= ' + obj2.attr("value") + '][pid=' + obj2.attr("FieldID") + ']', _this);
        } else if ($(this).hasClass("pbradio") && $(this).attr("dataValue")) {
            var obj3 = $(this).find('li span[value=' + $(this).attr("dataValue") + ']');
            obj3.addClass("btn-default");
            inputctr.showlist('div[sValue= ' + obj3.attr("value") + '][pid=' + obj3.attr("FieldID") + ']', _this);
            $(this).find("input[type=hidden]").val(obj3.attr("value"));
        } else if ($(this).hasClass("pbcheckbox") && $(this).attr("dataValue")) {
            var arr2 = $(this).attr("dataValue").split(",");
            var v = "";
            for (var d in arr2) {
                var obj4 = $(this).find('li span[value=' + arr2[d] + ']');
                obj4.addClass("btn-default");
                inputctr.showlist('div[sValue= ' + obj4.attr("value") + '][pid=' + obj4.attr("FieldID") + ']', _this);
                v = v + obj4.attr("value") + ",";
            }
            $(this).find("input[type=hidden]").val(v.substring(0, v.length - 1));
        } else if ($(this).hasClass("poradios") && $(this).attr("dataValue")) {
            var obj5 = $(this).find('input[value=' + $(this).attr("dataValue") + ']');
            obj5.attr("checked", "checked");
            inputctr.showlist('div[sValue= ' + obj5.attr("value") + '][pid=' + obj5.attr("FieldID") + ']', _this);
        } else if ($(this).hasClass("pocheckboxs") && $(this).attr("dataValue")) {
            var arr3 = $(this).attr("dataValue").split(",");
            for (var s in arr3) {
                var obj6 = $(this).find('input[value=' + arr3[s] + ']');
                obj6.attr("checked", "checked");
                inputctr.showlist('div[sValue= ' + obj6.attr("value") + '][pid=' + obj6.attr("FieldID") + ']', _this);
            }
        }
    });
};

//表格添加按钮
inputctr.addRow = function (e, b) {
    //if ($('#operateform .visit-info').length > 0 && $('#operateform .visit-info').is(':visible')) {
    //    $('#' + b).appendTo('body');
    //} else {
    //    $('#' + b).appendto('body');
    //}
    //$('#' + b).appendTo('body');
    if ($('#' + b).find('.pre_tr').length > 0) {
        $('#' + b).find('.pre_tr').show();
    }
    $('#' + b).find('[fieldinputtype]').removeAttr('checked');
    $('#' + b).find('[sValue][pid]').hide();
    $('#' + b).find('div[class="pcheckbox"] input').each(function () {
        $(this).removeAttr('disabled');
    });
    if ($('#' + b).find('form').length > 0) {
        $('#' + b).find('form')[0].reset();
        $('#' + b).find(".pcr").each(function () {
            if ($(this).parent().hasClass('checkbox')) {
                if ($(this).attr('checked')) {
                    $(this).trigger('click');
                }
            } else if ($(this).parent().hasClass('radio')) {
                if ($(this).attr('checked')) {
                    $(this).attr('checked', false);
                    $(this).parent().siblings().find('input').removeAttr('disabled');
                    $(this).parents('.poradios').find('.na_nd_uk_hidden').val('');
                }
            }
        });
        $('#' + b).find('.na_nd_uk_hidden').each(function () {
            $(this).val('');
        });
    }
    inputctr.public.cledit($('#' + b));
    layer.open({
        type: 1,
        title: "添加内容",
        area: ['800px', '400px'], //宽高
        content: $('#' + b),
        btn: ['保存', '返回'],
        yes: function (index, layero) {
        if (inputctr.public.pstabsum(layero)) {
            var objs = $(layero).find("[tablefieldid]");
            var arrs = [];
            for (var i = 0; i < objs.length; i++) {
                var tablejson = {
                    "FieldID": $(objs[i]).attr('tablefieldid'),
                    "CurrentUnit": null,
                    "FieldInputType": parseInt($(objs[i]).attr('fieldinputtype')),
                    "FieldName": $(objs[i]).attr('name'),
                    "InputTableValue": null,
                    "InputValue": "",
                    "InputKey": null
                };
                var FieldInputType = $(objs[i]).attr('fieldinputtype');
                var _thisid = $(objs[i]).attr('tablefieldid');
                var list = $(layero).find('[tablefieldid="' + _thisid + '"]');

                switch (parseInt(FieldInputType)) {
                    case 0:
                        var o1 = $(objs[i]).next(".input-group-addon");
                        if (o1.length > 0) {
                            if (o1.find("button").is("button")) {
                                tablejson.InputValue = $(objs[i]).val();
                                tablejson.CurrentUnit = o1.find(".btn-group button").text();
                            } else {
                                tablejson.InputValue = $(objs[i]).val();
                                tablejson.CurrentUnit = o1.text();
                            }
                        } else {
                            tablejson.InputValue = $(objs[i]).val();
                        }


                        //                      
                        //                      
                        //                          tablejson.tabname = $(objs[i]).attr('tablefieldid');
                        //                          tablejson.tabvalue = $(objs[i]).val();
                        break;
                    case 1:
                        for (var k = 0; k < list.length; k++) {
                            if ($(list[k]).hasClass('na_nd_uk_hidden')) {
                                $(list[k]).parents('.poradios').find('.pcr').each(function () {
                                    if ($(this).is(':checked')) {
                                        tablejson.InputValue = $(this).val();
                                    }
                                });
                            } else if ($(list[k]).is(':checked')) {
                                if ($(list[k]).val() == "9999") {
                                    tablejson.InputValue = $(list[k]).val() + "#" + $('[svalue="' + $(list[k]).val() + '"][pid="' + $(list[k]).attr("tablefieldid") + '"]').find('input').val();
                                    tablejson.InputKey = "其他#" + $('[svalue="' + $(list[k]).val() + '"][pid="' + $(list[k]).attr("tablefieldid") + '"]').find('input').val();
                                } else {
                                    tablejson.InputValue = $(list[k]).val();
                                    tablejson.InputKey = $(list[k]).parent().find("label").text();
                                }

                            }
                        }
                        break;
                    case 2:
                        var chedkval = '';
                        var chedktxt = '';
                        for (var k = 0; k < list.length; k++) {
                            if ($(list[k]).hasClass('na_nd_uk_hidden')) {
                                $(list[k]).parents('.pcheckbox').find('.pcr').each(function () {
                                    if ($(this).is(':checked')) {
                                        tablejson.InputValue = $(this).val();
                                    }
                                });
                            }else if ($(list[k]).is(':checked')) {
                                if ($(list[k]).val() == "9999") {
                                    chedkval += $(list[k]).val() + "#" + $('[svalue="' + $(list[k]).val() + '"][pid="' + $(list[k]).attr("tablefieldid") + '"]').find('input').val() + ',';
                                    //chedktxt += "其他#" + $('[svalue="' + $(list[k]).val() + '"][pid="' + $(list[k]).attr("tablefieldid") + '"]').find('input').val() + ',';

                                    if ($('[svalue="' + $(list[k]).val() + '"][pid="' + $(list[k]).attr("tablefieldid") + '"]').find('input').val().length > 0) {
                                        chedktxt += $('[svalue="' + $(list[k]).val() + '"][pid="' + $(list[k]).attr("tablefieldid") + '"]').find('input').val() + ',';
                                    } else {
                                        chedktxt += $(list[k]).parent().find("label").text() + ',';
                                    }
                                } else {
                                    chedkval += $(list[k]).val() + ',';
                                    chedktxt += $(list[k]).parent().find("label").text() + ',';
                                }
                                tablejson.InputValue = chedkval.substring(0, chedkval.length - 1);
                                tablejson.InputKey = chedktxt.substring(0, chedktxt.length - 1);
                            }
                        }



                        //                          var chedkval = '';
                        //                          for (var j = 0; j < list.length; j++) {
                        //                              if ($(list[j]).is(':checked')) {
                        //                                  chedkval += $(list[j]).val() + '#';
                        //                              }
                        //                              tablejson.tabname = $(list[j]).attr('tablefieldid');
                        //                              tablejson.tabvalue = chedkval.substring(0, chedkval.length - 1);
                        //                          }
                        break;
                    case 3:
                        tablejson.InputValue = $(objs[i]).val();
                        var opt = $(objs[i]).find("option");
                        opt.each(function (i) {
                            if ($(this).val() == tablejson.InputValue) {
                                tablejson.InputKey = $(this).text();

                            }
                        });

                        //                          tablejson.tabname = $(objs[i]).attr('tablefieldid');
                        //                          tablejson.tabvalue = $(objs[i]).val();
                        break;
                    case 4:
                        tablejson.InputValue = $(objs[i]).val();
                        //                          tablejson.tabname = $(objs[i]).attr('tablefieldid');
                        //                          tablejson.tabvalue = $(objs[i]).val();
                        break;
                    case 5:
                        tablejson.InputValue = $(objs[i]).val();
                        //                          tablejson.tabname = $(objs[i]).attr('tablefieldid');
                        //                          tablejson.tabvalue = $(objs[i]).val();
                        break;
                    case 6:
                        var x = list.eq(0).val();
                        var y = list.eq(1).val();
                        var o = list.eq(1).next(".input-group-addon");
                        if (o) {
                            if (o.find("button").is("button")) {
                                tablejson.InputValue = String(x * Math.pow(10, y)).toString();
                                tablejson.CurrentUnit = o.find(".btn-group button").text();
                                tablejson.InputKey = x + "E" + y;
                            } else {
                                tablejson.InputValue = (x * Math.pow(10, y)).toString();
                                tablejson.CurrentUnit = o.text();
                                tablejson.InputKey = x + "E" + y;
                            }
                        } else {
                            tablejson.InputValue = (x * Math.pow(10, y)).toString();
                            tablejson.InputKey = x + "E" + y;
                        }


                        //                          var x = list.eq(0).val();
                        //                          var y = list.eq(1).val();
                        //                          tablejson.tabname = $(objs[i]).attr('tablefieldid');
                        //                          tablejson.tabvalue = x * Math.pow(10, y);

                        break;
                    case 7:
                        var o2 = list.eq(1).next(".input-group-addon");
                        if (o2) {
                            if (o2.find("button").is("button")) {
                                tablejson.InputValue = list.eq(0).val() + ',' + list.eq(1).val();
                                tablejson.CurrentUnit = o2.find(".btn-group button").text();
                            } else {

                                tablejson.InputValue = list.eq(0).val() + ',' + list.eq(1).val();
                                tablejson.CurrentUnit = o2.text();
                            }
                        } else {
                            tablejson.InputValue = list.eq(0).val() + ',' + list.eq(1).val();
                        }


                        //                          tablejson.tabname = $(objs[i]).attr('tablefieldid');
                        //                          tablejson.tabvalue = list.eq(0).val() + '#' + list.eq(1).val();
                        break;
                    case 8:
                        var o3 = list.eq(2).next(".input-group-addon");
                        if (o3) {
                            if (o3.find("button").is("button")) {
                                tablejson.InputValue = list.eq(0).val() + ',' + list.eq(1).val() + ',' + list.eq(2).val();
                                tablejson.CurrentUnit = o3.find(".btn-group button").text();
                            } else {
                                tablejson.InputValue = list.eq(0).val() + ',' + list.eq(1).val() + ',' + list.eq(2).val();
                                tablejson.CurrentUnit = o3.text();
                            }
                        } else {
                            tablejson.InputValue = list.eq(0).val() + ',' + list.eq(1).val() + ',' + list.eq(2).val()
                        }

                        //                          tablejson.tabname = $(objs[i]).attr('tablefieldid');
                        //                          tablejson.tabvalue = list.eq(0).val() + '#' + list.eq(1).val() + '#' + list.eq(2).val();
                        break;
                    case 9:
                        break;
                    case 10:
                        tablejson.InputValue = $(objs[i]).val();
                        //                          tablejson.tabname = $(objs[i]).attr('tablefieldid');
                        //                          tablejson.tabvalue = $(objs[i]).val();
                        break;
                    case 11:
                        tablejson.InputValue = $(objs[i]).val();
                        //                          tablejson.tabname = $(objs[i]).attr('tablefieldid');
                        //                          tablejson.tabvalue = $(objs[i]).val();
                        break;
                    case 12:
                        tablejson.InputValue = $(objs[i]).val();
                        //                          tablejson.tabname = $(objs[i]).attr('tablefieldid');
                        //                          tablejson.tabvalue = $(objs[i]).val();
                        break;
                    case 13:
                        tablejson.InputValue = $(objs[i]).val();
                        //                          tablejson.tabname = $(objs[i]).attr('tablefieldid');
                        //                          tablejson.tabvalue = $(objs[i]).val();
                        break;
                    case 14:
                        tablejson.InputValue = $(objs[i]).val();
                        //                          tablejson.tabname = $(objs[i]).attr('tablefieldid');
                        //                          tablejson.tabvalue = $(objs[i]).val();
                        break;
                    case 15:
                        tablejson.InputValue = $(objs[i]).find('select').eq(0).val() + ',' + $(objs[i]).find('select').eq(1).val();
                        var a = "";
                        $(objs[i]).find('select').each(function (i) {
                            a = a + $(this).find("option[value = " + $(this).val() + "]").text() + ",";
                        });
                        a = a.substring(0, a.length - 1);
                        tablejson.InputKey = a;

                        //                          tablejson.tabname = $(objs[i]).attr('tablefieldid');
                        //                          tablejson.tabvalue = list.find('select').eq(0).val() + '#' + list.find('select').eq(1).val();
                        break;
                    case 16:
                        var chedkval = '';
                        var chedktxt = '';
                        for (var k = 0; k < list.length; k++) {
                            if ($(list[k]).is(':checked')) {
                                if ($(list[k]).val() == "9999") {
                                    chedkval += $(list[k]).val() + "#" + $('[svalue="' + $(list[k]).val() + '"][pid="' + $(list[k]).attr("tablefieldid") + '"]').find('input,textarea').val() + ',';
                                    chedktxt += "其他#" + $('[svalue="' + $(list[k]).val() + '"][pid="' + $(list[k]).attr("tablefieldid") + '"]').find('input,textarea').val() + ',';
                                } else {
                                    chedkval += $(list[k]).val() + ',';
                                    chedktxt += $(list[k]).parent().find("label").text() + ',';
                                }
                            }
                            tablejson.InputValue = chedkval.substring(0, chedkval.length - 1);
                            tablejson.InputKey = chedktxt.substring(0, chedktxt.length - 1);
                        }

                        //                          var chedkval = '';
                        //                          for (var j = 0; j < list.length; j++) {
                        //                              if ($(list[j]).is(':checked')) {
                        //                                  chedkval += $(list[j]).val() + '#';
                        //                              }
                        //                              tablejson.tabname = $(list[j]).attr('tablefieldid');
                        //                              tablejson.tabvalue = chedkval.substring(0, chedkval.length - 1);
                        //                          }
                        break;
                    case 17:
                        tablejson.InputValue = $(objs[i]).find('select').eq(0).val() + ',' + $(objs[i]).find('select').eq(1).val();
                        //                          tablejson.tabname = $(objs[i]).attr('tablefieldid');
                        //                          tablejson.tabvalue = list.find('select').eq(0).val() + '#' + list.find('select').eq(1).val();
                        break;
                    case 18:
                        tablejson.InputValue = $(objs[i]).val();
                        //                          tablejson.tabname = $(objs[i]).attr('tablefieldid');
                        //                          tablejson.tabvalue = $(objs[i]).val();
                        break;
                    case 19:
                        tablejson.InputValue = $(objs[i]).find('select').eq(0).val() + ',' + $(objs[i]).find('select').eq(1).val() + ',' + $(objs[i]).find('select').eq(2).val();
                        var a = "";
                        $(objs[i]).find('select').each(function (i) {
                            a = a + $(this).find("option[value = " + $(this).val() + "]").text() + ",";
                        });
                        a = a.substring(0, a.length - 1);
                        tablejson.InputKey = a;

                        break;
                }
                var isrepeat = false; //定义变量判断是否重复
                for (var j = 0; j < arrs.length; j++) {
                    if (arrs[j].FieldID == tablejson.FieldID) {
                        isrepeat = true; //已经存在不需要重复添加
                    }
                }
                if (!isrepeat) {
                    arrs.push(tablejson);
                }
            }
            var tablestr = '<tr rowid=' + newguid() + '>';
            var thead = $(e).parents(".ptables").find('.thead th:not(last)');
            for (var j = 0; j < thead.length; j++) {
                for (var i = 0; i < arrs.length; i++) {
                    if (arrs[i].FieldID == $(thead[j]).attr('tdid')) {
                        if (arrs[i].InputValue.indexOf('9999#') >= 0) {
                           // arrs[i].InputValue = arrs[i].InputValue.split("#")[0];
                            if (!arrs[i].InputKey.split("#")[1]) {
                                arrs[i].InputKey = arrs[i].InputKey.split("#")[0];
                            } else {
                                arrs[i].InputKey = arrs[i].InputKey.split("#")[1];
                            }
                        }
                        tablestr += '<td newtdid="' + arrs[i].FieldID + '" CurrentUnit="' + arrs[i].CurrentUnit + '" FieldInputType="' + arrs[i].FieldInputType + '" FieldName="' + arrs[i].FieldName + '" InputTableValue="' + arrs[i].InputTableValue + '" InputValue="' + arrs[i].InputValue + '" InputKey="' + arrs[i].InputKey + '">' + (!arrs[i].InputKey ? arrs[i].InputValue : arrs[i].InputKey) + '</td>'
                    }
                }
            }
            tablestr += '<td class="pedit"><a href="javascript:;" class="pencil" onclick="inputctr.editRow(this)"><i class="fa fa-pencil"></i></a><a href="javascript:;" class="pdel" onclick="inputctr.delRow(this)"><i class="fa fa-trash-o"></i></a></td></tr>';
            $(e).parents('.ptables').find('.tbody tbody').append(tablestr);
            layer.closeAll();
              }
        }
    });
    if ($('.np_prop').length > 0) {
        $('.layui-layer,.layui-layer-shade').appendTo($('.np_prop'));
    } else if ($('.np_main').length > 0) {
        $('.layui-layer,.layui-layer-shade').appendTo('.np_main');
    };
    $(".layui-layer .modalhtml .pre_tr:first .pre_td:first").width(240);
};

//表格删除数据
inputctr.delRow = function (e) {
    layer.confirm('确定要删除吗？', {
        btn: ['确定', '取消'] //按钮
    }, function () {
        $(e).parents("tr").remove();
        layer.closeAll();
    });
    $('.layui-layer,.layui-layer-shade').appendTo('.np_prop');

};

//编辑隐藏操作
inputctr.public.cledit = function (e) {
    e.find("input[type = 'text'],textarea,select,.pradio label,.poradios label,.pocheckboxs label,.pcheckbox label").removeClass("errborder");
    e.find(".errinfo").html("");
};

//表格编辑数据
inputctr.editRow = function (e) {
    var peid = $(e).parents(".ptables").find(".padd button").attr("modalId");
    //if ($('.np_prop').length > 0) {
    //    $('#' + peid).appendTo($('.np_prop'));
    //} else if ($('.np_main').length > 0) {
    //    ('#' + peid).appendTo($('.np_prop'));
    //};
    $('#' + peid).find('[fieldinputtype]').removeAttr('checked');
    $('#' + peid).find('form')[0].reset();
    $('#' + peid).find('div[class="pcheckbox"] input').each(function () {
        $(this).removeAttr('disabled');
    });
    //$(".layui-layer .modalhtml .pre_tr:first .pre_td:first").width(250);
    inputctr.public.cledit($('#' + peid));
    $('#' + peid).find(".pcr").each(function () {
        if ($(this).parent().hasClass('checkbox')) {
            if ($(this).attr('checked')) {
                $(this).trigger('click');
            }
        } else if ($(this).parent().hasClass('radio')) {
            if ($(this).attr('checked')) {
                $(this).attr('checked', false);
                $(this).prop({
                    'checked': false
                });
                $(this).parent().siblings().find('input').removeAttr('disabled');
                $(this).parents('.poradios').find('.na_nd_uk_hidden').val('');
            }
        }
    });
    $('#' + peid).find('.na_nd_uk_hidden').each(function () {
        $(this).val('');
    });
    layer.open({
        type: 1,
        title: "编辑内容",
        area: ['800px', '400px'], //宽高
        content: $('#' + peid),
        btn: ['保存', '返回'],
        success: function (layero, index) {
            var objs = $(e).parents("tr").find("td");
            objs.each(function (i) {
                var inp = $(layero).find('[tablefieldid =' + $(this).attr("newtdid") + ']');
                switch (parseInt(inp.attr("fieldinputtype"))) {
                    case 0:
                        var _thisInputValue = $(this).attr("inputvalue");
                        if (_thisInputValue == 'NA' || _thisInputValue == 'ND' || _thisInputValue == 'UK') {
                            inp.parents(".pre_td").find(".pcr").each(function () {
                                if ($(this).val() == _thisInputValue) {
                                    $(this).trigger('click');
                                }
                            });
                        } else {
                            inp.val($(this).attr("inputvalue"));
                        }
                        break;
                    case 1:
                        var _thisInputValue = $(this).attr("inputvalue");
                        var newtdid = $(this).attr("newtdid");
                        var $$this = $(this);
                        if (_thisInputValue == 'NA' || _thisInputValue == 'ND' || _thisInputValue == 'UK') {
                            $('[tablefieldid="' + newtdid + '"][class="na_nd_uk_hidden"]').val(_thisInputValue);
                            $('[tablefieldid="' + newtdid + '"][class="na_nd_uk_hidden"]').parents(".poradios").find('.pcr').each(function () {
                                if ($(this).val() == _thisInputValue) {
                                    $(this).trigger('click');
                                }
                            });
                        } else {
                            for (var j = 0; j < inp.length; j++) {
                                if ($(inp[j]).val() == _thisInputValue) {
                                    $(inp[j]).attr("checked", true).trigger("click");
                                    if (_thisInputValue == '9999') {
                                        $('div[svalue="' + $(inp[j]).val() + '"][pid="' + $(inp[j]).attr("tablefieldid") + '"]').find('input').val($$this.attr("inputkey") ? $$this.attr("inputkey") : '其他')
                                    }
                                } else {
                                    $(inp[j]).removeAttr("checked");
                                }
                            }
                        }
                        break;
                    case 2:
                        var checkv = $(this).attr("inputvalue") != null ? $(this).attr("inputvalue").split(",") : [];
                        var _thisInputValue = $(this).attr("inputvalue");
                        if (_thisInputValue == 'NA' || _thisInputValue == 'ND' || _thisInputValue == 'UK') {
                            $('[tablefieldid="' + newtdid + '"][class="na_nd_uk_hidden"]').val(_thisInputValue);
                            $('[tablefieldid="' + newtdid + '"][class="na_nd_uk_hidden"]').parents(".pcheckbox").find('.pcr').each(function () {
                                if ($(this).val() == _thisInputValue) {
                                    $(this).trigger('click');
                                }
                            });
                        } else {
                            for (var j = 0; j < inp.length; j++) {
                                // $(inp[j]).removeAttr("checked")
                                for (var k in checkv) {
                                    if ($(inp[j]).val() == checkv[k]) {
                                        if ($(inp[j]).val() == '999') {
                                            $(inp[j]).trigger('click');
                                        } else {
                                            $(inp[j]).attr("checked", true);
                                            $(inp[j]).prop("checked", true)
                                        }
                                    } else {
                                        if (checkv[k].indexOf('#') >= 0) {
                                            if ($(inp[j]).val() == checkv[k].split('#')[0]) {
                                                $(inp[j]).attr("checked", true);
                                                $(inp[j]).prop("checked", true)
                                                $('div[svalue="' + $(inp[j]).val() + '"][pid="' + $(inp[j]).attr("tablefieldid") + '"]').show();
                                                $('div[svalue="' + $(inp[j]).val() + '"][pid="' + $(inp[j]).attr("tablefieldid") + '"]').find('input').val(checkv[k].split('#')[1])
                                            }
                                        } else {
                                            $('div[svalue="' + $(inp[j]).val() + '"][pid="' + $(inp[j]).attr("tablefieldid") + '"]').hide();
                                        }
                                    }
                                }
                            }
                        }
                        break;
                    case 3:
                        inp.find("option[value=" + $(this).attr("inputvalue") + "]").attr("selected", "selected");
                        break;
                    case 4:
                        inp.val($(this).attr("inputvalue"));
                        break;
                    case 5:
                        inp.val($(this).attr("inputvalue"));
                        break;
                    case 6:
                        var num = $(this).attr("inputvalue");
                        var p = Math.floor(Math.log(num) / Math.LN10);
                        var n = num * Math.pow(10, -p);
                        $(inp[0]).val(n);
                        $(inp[1]).val(p);
                        break;
                    case 7:
                        var anum = $(this).attr("inputvalue").split(",");
                        for (var j = 0; j < inp.length; j++) {
                            $(inp[j]).val(anum[j]);
                        }
                        break;
                    case 8:
                        var bnum = $(this).attr("inputvalue").split(",");
                        for (var j = 0; j < inp.length; j++) {
                            $(inp[j]).val(bnum[j]);
                        }
                        break;
                    case 9:
                        break;
                    case 10:
                        inp.val($(this).attr("inputvalue"));
                        break;
                    case 11:
                        inp.val($(this).attr("inputvalue"));
                        break;
                    case 12:
                        inp.val($(this).attr("inputvalue"));
                        break;
                    case 13:
                        inp.val($(this).attr("inputvalue"));
                        break;
                    case 14:
                        inp.val($(this).attr("inputvalue"));
                        break;
                    case 15:
                        inp.find('select').eq(0).val($(this).attr("inputvalue").split(",")[0]);
                        inp.find('select').eq(0).change();
                        inp.find('select').eq(1).val($(this).attr("inputvalue").split(",")[1]);
                        inp.find('select').eq(1).change();
                        break;
                    case 16:
                        var checkv = $(this).attr("inputvalue").split(",");
                        for (var j = 0; j < inp.length; j++) {
                            for (var k in checkv) {
                                if ($(inp[j]).val() == checkv[k]) {
                                    $(inp[j]).attr("checked", "checked");
                                }
                            }
                        }
                        break;
                    case 17:
                        inp.find('select').eq(0).val($(this).attr("inputvalue").split(",")[0]);
                        inp.find('select').eq(0).change();
                        inp.find('select').eq(1).val($(this).attr("inputvalue").split(",")[1]);
                        inp.find('select').eq(1).change();
                        break;
                    case 18:
                        inp.val($(this).attr("inputvalue"));
                        break;
                    case 19:
                        inp.find('select').eq(0).val($(this).attr("inputvalue").split(",")[0]);
                        inp.find('select').eq(0).change();
                        inp.find('select').eq(1).val($(this).attr("inputvalue").split(",")[1]);
                        inp.find('select').eq(1).change();
                        break;
                }
            });
        },
        yes: function (index, layero) {

            if (inputctr.public.pstabsum(layero)) {
                var objs = $(layero).find("[tablefieldid]");
                var inp = $(e).parents("tr");
                objs.each(function (i) {
                    var obj = inp.find('td[newtdid =' + $(this).attr("tablefieldid") + ']');
                    var list = $(layero).find('[tablefieldid="' + $(this).attr("tablefieldid") + '"]');

                    switch (parseInt($(this).attr("fieldinputtype"))) {
                        case 0:

                            var o1 = $(this).next(".input-group-addon");
                            if (o1.length > 0) {
                                if (o1.find("button").is("button")) {
                                    obj.text($(this).val()).attr({ 'currentunit': o1.find(".btn-group button").text(), 'inputvalue': $(this).val() });
                                } else {
                                    obj.text($(this).val()).attr({ 'currentunit': o1.text(), 'inputvalue': $(this).val() });

                                }
                            } else {
                                obj.text($(this).val()).attr({ 'inputvalue': $(this).val() });
                            }
                            //                          console.log($(this).val());
                            //                          obj.text($(this).val());                      
                            break;
                        case 1:
                            obj.text('').attr({ 'inputkey': null, 'inputvalue': null });
                            for (var k = 0; k < list.length; k++) {
                                if ($(list[k]).val() == "NA" || $(list[k]).val() == "ND" || $(list[k]).val() == "UK") {
                                    obj.text($(list[k]).val()).attr('inputvalue', $(list[k]).val());
                                }
                                if ($(list[k]).is(':checked')) {
                                    if ($(list[k]).hasClass('na_nd_uk_hidden')) {

                                    } else {
                                        if ($(list[k]).val() == "9999") {
                                            //obj.text($(list[k]).val() + "#" + $('[svalue="' + $(list[k]).val() + '"][pid="' + $(list[k]).attr("tablefieldid") + '"]').find('input').val()).attr({ 'inputkey': "其他#" + $('[svalue="' + $(list[k]).val() + '"][pid="' + $(list[k]).attr("tablefieldid") + '"]').find('input').val(), 'inputvalue': $(list[k]).val() + "#" + $('[svalue="' + $(list[k]).val() + '"][pid="' + $(list[k]).attr("tablefieldid") + '"]').find('input').val() });
                                            obj.text($('[svalue="' + $(list[k]).val() + '"][pid="' + $(list[k]).attr("tablefieldid") + '"]').find('input').val() ? $('[svalue="' + $(list[k]).val() + '"][pid="' + $(list[k]).attr("tablefieldid") + '"]').find('input').val() : '其他');
                                            obj.attr({
                                                'inputkey': $('[svalue="' + $(list[k]).val() + '"][pid="' + $(list[k]).attr("tablefieldid") + '"]').find('input').val() ? $('[svalue="' + $(list[k]).val() + '"][pid="' + $(list[k]).attr("tablefieldid") + '"]').find('input').val() : '其他',
                                                'inputvalue': '9999'
                                            });
                                        } else {
                                            obj.text($(list[k]).parent().find("label").text()).attr({ 'inputkey': $(list[k]).parent().find("label").text(), 'inputvalue': $(list[k]).val() });

                                        }
                                    }
                                }
                            }
                            break;
                        case 2:
                            var chedkval = '';
                            var chedktxt = '';
                            for (var k = 0; k < list.length; k++) {
                                if ($(list[k]).val() == "NA" || $(list[k]).val() == "ND" || $(list[k]).val() == "UK") {
                                    obj.text($(list[k]).val()).attr('inputvalue', $(list[k]).val());
                                }
                                if ($(list[k]).is(':checked')) {
                                    if ($(list[k]).hasClass('na_nd_uk_hidden')) {

                                    } else {
                                        if ($(list[k]).val() == "9999") {
                                            chedkval += $(list[k]).val() + "#" + $('[svalue="' + $(list[k]).val() + '"][pid="' + $(list[k]).attr("tablefieldid") + '"]').find('input').val() + ',';
                                            if ($('[svalue="' + $(list[k]).val() + '"][pid="' + $(list[k]).attr("tablefieldid") + '"]').find('input').val().length > 0) {
                                                chedktxt += $('[svalue="' + $(list[k]).val() + '"][pid="' + $(list[k]).attr("tablefieldid") + '"]').find('input').val() + ',';
                                            } else {
                                                chedktxt += $(list[k]).parent().find("label").text() + ',';
                                            }

                                        }else {
                                            chedkval += $(list[k]).val() + ',';
                                            chedktxt += $(list[k]).parent().find("label").text() + ',';
                                        }
                                    }
                                }
                                if (chedktxt != '') {
                                    obj.text(chedktxt.substring(0, chedktxt.length - 1)).attr({ 'inputkey': chedktxt.substring(0, chedktxt.length - 1), 'inputvalue': chedkval.substring(0, chedkval.length - 1) });
                                } else {
                                    obj.text("").attr({ 'inputkey': null, 'inputvalue': null });
                                }
                            }

                            //                          var checkv = "";
                            //                          for (var j = 0; j < list.length; j++) {
                            //                              if ($(list[j]).is(':checked')) {
                            //                                  checkv += $(list[j]).val() + ',';
                            //                              }
                            //                              obj.text(checkv.substring(0, checkv.length - 1));
                            //                          }
                            break;
                        case 3:
                            var inputval = $(this).val();
                            var opt = $(this).find("option");
                            opt.each(function (i) {
                                if ($(this).val() == inputval) {
                                    obj.text($(this).text()).attr({ 'inputkey': $(this).text(), 'inputvalue': $(this).val() });

                                }
                            });
                            //  obj.text($(this).val());
                            break;
                        case 4:
                            obj.text($(this).val()).attr({ 'inputvalue': $(this).val() });
                            break;
                        case 5:
                            obj.text($(this).val()).attr({ 'inputvalue': $(this).val() });
                            break;
                        case 6:

                            var x = list.eq(0).val();
                            var y = list.eq(1).val();
                            var o = list.eq(1).next(".input-group-addon");
                            if (o) {
                                if (o.find("button").is("button")) {
                                    //                          tablejson.InputValue = String(x * Math.pow(10, y)).toString();
                                    //                          tablejson.CurrentUnit = o.find(".btn-group button").text();
                                    //                          tablejson.InputKey = x + "E" + y;

                                    obj.text(x + "E" + y).attr({ 'inputvalue': String(x * Math.pow(10, y)).toString(), 'inputkey': x + "E" + y, 'currentunit': o.find(".btn-group button").text() });
                                } else {
                                    //                          tablejson.InputValue = (x * Math.pow(10, y)).toString();
                                    //                          tablejson.CurrentUnit = o.text();
                                    //                          tablejson.InputKey = x + "E" + y;

                                    obj.text(x + "E" + y).attr({ 'inputvalue': (x * Math.pow(10, y)).toString(), 'inputkey': x + "E" + y, 'currentunit': o.text() });
                                }
                            } else {
                                //                      tablejson.InputValue = (x * Math.pow(10, y)).toString();
                                //                      tablejson.InputKey = x + "E" + y;
                                obj.text(x + "E" + y).attr({ 'inputvalue': (x * Math.pow(10, y)).toString(), 'inputkey': x + "E" + y })
                            }

                            //                          var x = list.eq(0).val();
                            //                          var y = list.eq(1).val();
                            //                          obj.text(x * Math.pow(10, y));
                            break;
                        case 7:
                            var o2 = list.eq(1).next(".input-group-addon");
                            if (o2) {
                                if (o2.find("button").is("button")) {
                                    //                          tablejson.InputValue = list.eq(0).val() + ',' + list.eq(1).val();
                                    //                          tablejson.CurrentUnit = o2.find(".btn-group button").text();
                                    obj.text(list.eq(0).val() + ',' + list.eq(1).val()).attr({ 'inputvalue': list.eq(0).val() + ',' + list.eq(1).val(), 'currentunit': o2.find(".btn-group button").text() })
                                } else {

                                    //                          tablejson.InputValue = list.eq(0).val() + ',' + list.eq(1).val();
                                    //                          tablejson.CurrentUnit = o2.text();
                                    obj.text(list.eq(0).val() + ',' + list.eq(1).val()).attr({ 'inputvalue': list.eq(0).val() + ',' + list.eq(1).val(), 'currentunit': o2.text() })
                                }
                            } else {
                                tablejson.InputValue = list.eq(0).val() + ',' + list.eq(1).val();
                                obj.text(list.eq(0).val() + ',' + list.eq(1).val()).attr({ 'inputvalue': list.eq(0).val() + ',' + list.eq(1).val() })
                            }

                            //                          obj.text(list.eq(0).val() + '#' + list.eq(1).val());
                            break;
                        case 8:
                            var o3 = list.eq(2).next(".input-group-addon");
                            if (o3) {
                                if (o3.find("button").is("button")) {
                                    //                          tablejson.InputValue = list.eq(0).val() + ',' + list.eq(1).val() + ',' + list.eq(2).val();
                                    //                          tablejson.CurrentUnit = o3.find(".btn-group button").text();
                                    obj.text(list.eq(0).val() + ',' + list.eq(1).val() + ',' + list.eq(2).val()).attr({ 'inputvalue': list.eq(0).val() + ',' + list.eq(1).val() + ',' + list.eq(2).val(), 'currentunit': o3.find(".btn-group button").text() })

                                } else {
                                    //                          tablejson.InputValue = list.eq(0).val() + ',' + list.eq(1).val() + ',' + list.eq(2).val();
                                    //                          tablejson.CurrentUnit = o3.text();
                                    obj.text(list.eq(0).val() + ',' + list.eq(1).val() + ',' + list.eq(2).val()).attr({ 'inputvalue': list.eq(0).val() + ',' + list.eq(1).val() + ',' + list.eq(2).val(), 'currentunit': o3.text() })
                                }
                            } else {
                                //                      tablejson.InputValue = list.eq(0).val() + ',' + list.eq(1).val() + ',' + list.eq(2).val()
                                obj.text(list.eq(0).val() + ',' + list.eq(1).val() + ',' + list.eq(2).val()).attr({ 'inputvalue': list.eq(0).val() + ',' + list.eq(1).val() + ',' + list.eq(2).val() })
                            }

                            //                          obj.text(list.eq(0).val() + '#' + list.eq(1).val() + '#' + list.eq(2).val());
                            break;
                        case 9:
                            break;
                        case 10:
                            obj.text($(this).val()).attr({ 'inputvalue': $(this).val() });
                            break;
                        case 11:
                            obj.text($(this).val()).attr({ 'inputvalue': $(this).val() });
                            break;
                        case 12:
                            obj.text($(this).val()).attr({ 'inputvalue': $(this).val() });
                            break;
                        case 13:
                            obj.text($(this).val()).attr({ 'inputvalue': $(this).val() });
                            break;
                        case 14:
                            obj.text($(this).val()).attr({ 'inputvalue': $(this).val() });
                            break;
                        case 15:
                            //  tablejson.InputValue = list.find('select').eq(0).val() + ',' + list.find('select').eq(1).val();
                            var a = "";
                            list.find('select').each(function (i) {
                                a = a + $(this).find("option[value = " + $(this).val() + "]").text() + ",";
                            });
                            a = a.substring(0, a.length - 1);
                            obj.text(a).attr({ 'inputvalue': list.find('select').eq(0).val() + ',' + list.find('select').eq(1).val(), 'inputkey': a })
                            //  obj.text(list.find('select').eq(0).val() + '#' + list.find('select').eq(1).val());
                            break;
                        case 16:
                            var chedkval = '';
                            var chedktxt = '';
                            for (var k = 0; k < list.length; k++) {
                                if ($(list[k]).is(':checked')) {
                                    if ($(list[k]).val() == "9999") {
                                        chedkval += $(list[k]).val() + "#" + $('[svalue="' + $(list[k]).val() + '"][pid="' + $(list[k]).attr("tablefieldid") + '"]').find('input,textarea').val() + ',';
                                        chedktxt += "其他#" + $('[svalue="' + $(list[k]).val() + '"][pid="' + $(list[k]).attr("tablefieldid") + '"]').find('input,textarea').val() + ',';
                                    } else {
                                        chedkval += $(list[k]).val() + ',';
                                        chedktxt += $(list[k]).parent().find("label").text() + ',';
                                    }
                                }
                                //                      tablejson.InputValue = chedkval.substring(0, chedkval.length - 1);
                                //                      tablejson.InputKey = chedktxt.substring(0, chedktxt.length - 1);
                                obj.text(chedktxt.substring(0, chedktxt.length - 1)).attr({ 'inputvalue': chedkval.substring(0, chedkval.length - 1), 'inputkey': chedktxt.substring(0, chedktxt.length - 1) })
                            }

                            //                          var checkv = "";
                            //                          for (var j = 0; j < list.length; j++) {
                            //                              if ($(list[j]).is(':checked')) {
                            //                                  checkv += $(list[j]).val() + ',';
                            //                              }
                            //                              obj.text(checkv.substring(0, checkv.length - 1));
                            //                          }
                            break;
                        case 17:
                            obj.text(list.find('select').eq(0).val() + ',' + list.find('select').eq(1).val()).attr({ 'inputvalue': list.find('select').eq(0).val() + ',' + list.find('select').eq(1).val() });
                            break;
                        case 18:
                            obj.text($(this).val()).attr({ 'inputvalue': $(this).val() });
                            break;
                        case 19:
                            //  tablejson.InputValue = list.find('select').eq(0).val() + ',' + list.find('select').eq(1).val();
                            var a = "";
                            list.find('select').each(function (i) {
                                a = a + $(this).find("option[value = " + $(this).val() + "]").text() + ",";
                            });
                            a = a.substring(0, a.length - 1);
                            obj.text(a).attr({ 'inputvalue': list.find('select').eq(0).val() + ',' + list.find('select').eq(1).val(), 'inputkey': a })
                            //  obj.text(list.find('select').eq(0).val() + '#' + list.find('select').eq(1).val());
                            break;
                            break;
                    }
                });
                layer.closeAll();
            }
        }
    });
    if ($('.np_prop').length > 0) {
        $('.layui-layer,.layui-layer-shade').appendTo('.np_prop');
    } else if ($('.np_main').length > 0) {
        $('.layui-layer,.layui-layer-shade').appendTo('.np_main');
    };
    //$('.layui-layer,.layui-layer-shade').appendTo('.np_prop');
    $(".layui-layer .modalhtml .pre_tr:first .pre_td:first").width(240);
};

//表单验证
inputctr.public.pstabsum = function (e,a) {
    if (inputctr.public.psubmit(e,a).flag == 1) {
        return true;
    }
};


//表格验证
inputctr.public.bgYz = function (e,a) {

}

//表单提交验证
inputctr.public.psubmit = function (e,a) {
    var t = null;
    var writeVal = 0;
    var flag = 1;
    var judgeRequire = 1;
    var fanhui = {};
    e == undefined ? t = $("input:visible,textarea:visible,select:visible") : t = $(e).find("input:visible,textarea:visible,select:visible");
    var pcr = t.parents(".pcheckbox,.pradio,.poradios,.pocheckboxs");
    var pBj = $(e).find(".ptables:visible");
    t.each(function (i) {
        inputctr.public.errifdel(this);
        var obj = $(this);
        if (obj.is("[required]")) {
            var pv = obj.val();
            if (pv != 'NA' && pv != 'ND' && pv != 'UK') {
                if (!pv) {
                    if (a == 1) {
                        if (obj.is("select")) {
                            inputctr.public.errinfo(this, "请选择");

                        } else {
                            inputctr.public.errinfo(this, "请填写内容");
                        }
                        flag = 0;
                    } else {
                        //flag = 1;
                        judgeRequire = 0;
                    }
                } else {
                    writeVal = 1;
                    var obj1 = obj.attr("tname");
                    if (obj1) {
                        if (obj1 == "integer") {
                            if (!inputctr.public.isNum(pv)) {
                                inputctr.public.errinfo(this, "输入有误");
                                flag = 0;
                            } else if (obj.attr("imax") || obj.attr("imin") || obj.attr("hlmax") || obj.attr("hlmin")) {
                                if (pv > parseInt(obj.attr("imax"))) {
                                    inputctr.public.errinfo(this, "超过最大值");
                                    flag = 0;
                                } else if (pv < parseInt(obj.attr("imin"))) {
                                    inputctr.public.errinfo(this, "小于最小值");
                                    flag = 0;
                                } else if (pv > parseInt($(e).attr("hlmax"))) {
                                    inputctr.public.errinfoTwo(e, $(e).parents(".pre_tr").find(".pre_td:first").text().replace('*', "") + "偏高,请核实");
                                } else if (pv < parseInt($(e).attr("hlmin"))) {
                                    inputctr.public.errinfoTwo(e, $(e).parents(".pre_tr").find(".pre_td:first").text().replace('*', "") + "偏低,请核实");
                                }
                            }
                        } else if (obj1 == "postcode") {
                            if (!inputctr.public.ispostcode(pv)) {
                                inputctr.public.errinfo(this, "输入有误");
                                flag = 0;
                            }
                        } else if (obj1 == "idcard") {
                            if (!inputctr.public.isidcard(pv)) {
                                inputctr.public.errinfo(this, "输入有误");
                                flag = 0;
                            }
                        } else if (obj1 == "mobile") {
                            if (!inputctr.public.ismobile(pv)) {
                                inputctr.public.errinfo(this, "输入有误");
                                flag = 0;
                            }
                        } else if (obj1 == "decimals") {
                            if (obj.attr('accuracy') && Number(obj.attr('accuracy'))) {
                                var jdNum = obj.attr('accuracy');
                            }
                            if (!inputctr.public.isdecimals(pv,jdNum)) {
                                inputctr.public.errinfo(this, "须为数字且小数点只能保留" + jdNum + "位");
                                flag = 0;
                            } else if (obj.attr("imax") || obj.attr("imin") || obj.attr("hlmax") || obj.attr("hlmin")) {
                                if (pv > Number(obj.attr("imax"))) {
                                    inputctr.public.errinfo(this, "超过最大值");
                                    flag = 0;
                                } else if (pv < Number(obj.attr("imin"))) {
                                    inputctr.public.errinfo(this, "小于最小值");
                                    flag = 0;
                                } else if (pv > Number($(e).attr("hlmax"))) {
                                    inputctr.public.errinfoTwo(e, $(e).parents(".pre_tr").find(".pre_td:first").text().replace('*', "") + "偏高,请核实");
                                } else if (pv < Number($(e).attr("hlmin"))) {
                                    inputctr.public.errinfoTwo(e, $(e).parents(".pre_tr").find(".pre_td:first").text().replace('*', "") + "偏低,请核实");
                                }
                            }
                        }
                    }
                }
            } else {
                if (obj.hasClass("pcr") && obj.prop("checked") == true) {
                    writeVal = 1;
                } else if (obj.is("input")) {
                    writeVal = 1;
                }
            }
        } else {
            var obj1 = obj.attr("tname");
            var pv = obj.val();
            if (pv) {
                if (pv != 'NA' && pv != 'ND' && pv != 'UK') {
                    if (obj1) {
                        writeVal = 1;
                        if (obj1 == "integer") {
                            if (!inputctr.public.isNum(pv)) {
                                inputctr.public.errinfo(this, "输入有误");
                                flag = 0;
                            } else if (obj.attr("imax") || obj.attr("imin") || obj.attr("hlmax") || obj.attr("hlmin")) {
                                if (pv > parseInt(obj.attr("imax"))) {
                                    inputctr.public.errinfo(this, "超过最大值");
                                    flag = 0;
                                } else if (pv < parseInt(obj.attr("imin"))) {
                                    inputctr.public.errinfo(this, "小于最小值");
                                    flag = 0;
                                } else if (pv > parseInt($(e).attr("hlmax"))) {
                                    inputctr.public.errinfoTwo(e, $(e).parents(".pre_tr").find(".pre_td:first").text().replace('*', "") + "偏高,请核实");
                                } else if (pv < parseInt($(e).attr("hlmin"))) {
                                    inputctr.public.errinfoTwo(e, $(e).parents(".pre_tr").find(".pre_td:first").text().replace('*', "") + "偏低,请核实");
                                }
                            }
                        } else if (obj1 == "postcode") {
                            if (!inputctr.public.ispostcode(pv)) {
                                inputctr.public.errinfo(this, "输入有误");
                                flag = 0;
                            }
                        } else if (obj1 == "idcard") {
                            if (!inputctr.public.isidcard(pv)) {
                                inputctr.public.errinfo(this, "输入有误");
                                flag = 0;
                            }
                        } else if (obj1 == "mobile") {
                            if (!inputctr.public.ismobile(pv)) {
                                inputctr.public.errinfo(this, "输入有误");
                                flag = 0;
                            }
                        } else if (obj1 == "decimals") {
                            if (obj.attr('accuracy') && Number(obj.attr('accuracy'))) {
                                var jdNum = obj.attr('accuracy');
                            }
                            if (!inputctr.public.isdecimals(pv, jdNum)) {
                                inputctr.public.errinfo(this, "须为数字且小数点只能保留" + jdNum + "位");
                                flag = 0;
                            } else if (obj.attr("imax") || obj.attr("imin") || obj.attr("hlmax") || obj.attr("hlmin")) {
                                if (pv > Number(obj.attr("imax"))) {
                                    inputctr.public.errinfo(this, "超过最大值");
                                    flag = 0;
                                } else if (pv < Number(obj.attr("imin"))) {
                                    inputctr.public.errinfo(this, "小于最小值");
                                    flag = 0;
                                } else if (pv > Number($(e).attr("hlmax"))) {
                                    inputctr.public.errinfoTwo(e, $(e).parents(".pre_tr").find(".pre_td:first").text().replace('*', "") + "偏高,请核实");
                                } else if (pv < Number($(e).attr("hlmin"))) {
                                    inputctr.public.errinfoTwo(e, $(e).parents(".pre_tr").find(".pre_td:first").text().replace('*', "") + "偏低,请核实");
                                }
                            }
                        }
                    }
                } else {
                    if (obj.hasClass("pcr") && obj.prop("checked") == true) {
                        writeVal = 1;
                    } else if (obj.is("input[type='text']")) {
                        writeVal = 1;
                    }
                }
            }
        }
    });
    if (pcr) {
        pcr.each(function (i) {
            if ($(this).attr("required")) {
                inputctr.public.errifdel(this);
                if ($(this).find("input:checked").size() == 0) {
                    if (a == 1) {
                        $(this).find("p").html("请选择");
                        inputctr.public.errinfo(this, "请选择");
                        flag = 0;
                    } else {
                        //flag = 1;
                        judgeRequire = 0;
                    }

                } else {
                    writeVal = 1;
                }
            } else {
                if ($(this).find("input:checked").size() > 0) {
                    writeVal = 1;
                }
            }
        });
    };
    if (pBj.length > 0) {
        pBj.each(function () {
            inputctr.public.errifdel(this);
            if ($(this).find('.ptable tr').length > 0) {
                writeVal = 1;
                var pBjTd = $(this).find("td[newtdid]");
                pBjTd.each(function () {
                    inputctr.public.errifdel(this);
                    if ($(this).text() == '') {
                        judgeRequire = 0;
                        inputctr.public.errinfoThr(this);
                    }
                });
            } else {
                judgeRequire = 0;
                inputctr.public.errinfoThr(this);
            }
        })
    }
    fanhui.flag = flag;
    fanhui.judgeRequire = judgeRequire;
    fanhui.writeVal = writeVal;
    return fanhui;
};

//表单提交
function psubmit(e) {
    inputctr.public.psubmit(e);
    if (inputctr.public.psubmit() == 0) {

    } else {
        //提交表单
        //$(e).attr("disabled", "disabled");   //提交了按钮禁止
        var form = "submitform";
        var url = $("#" + form).attr("action");
        $.post(url, $('#' + form).serialize(), function (data) {
            var code = JSON.parse(data).result;
            switch (code) {
                case 1: {
                    break;
                }
                case 0: {
                    break;
                }
                default:
                    break;
            }
        })
    }
}

//form提交json
inputctr.public.formsubmit = function (e, b, c) {//e是visit-info，b是PatientId c是_id,

    c == undefined || c == "" ? c = "" : c = c;
    var infojson = {
        "_id": c,
        "TableId": $(e).attr('TableId'),
        "TableName": $(e).attr('TableName'),
        "PatientId": b,
        "ProjectId": $(e).attr('ProjectId')
    };

    infojson.ModuleCollection = [];
    $(e).find('.nwrap').each(function () {
        var newjson = {
            'TableName': $(this).attr('TableName'),
            'TableId': $(this).attr('TableId'),
            'ModuleCollection': null,
            'FieldCollection': []

        };
        $(this).find('[FieldID]').each(function () {
            var _thisid = $(this).attr('FieldID');
            var _thistype = $(this).attr('FieldInputType');
            var list = $('[FieldID="' + _thisid + '"]:visible').length > 0 ? $('[FieldID="' + _thisid + '"]:visible').add($('.na_nd_uk_hidden[FieldID="' + _thisid + '"]')) : $('[FieldID="' + _thisid + '"]');
            //var list_nkd = $('.na_nd_uk_hidden[FieldID="' + _thisid + '"]');
            var clildjson = {
                'FieldInputType': parseInt($(this).attr('FieldInputType')),
                'FieldName': $(this).attr('name'),
                'FieldID': $(this).attr('FieldID'),
                //'gId': list.attr('gId'),
                'CurrentUnit': null,
                'InputValue': '',
                'InputKey': null,
                'InputTableValue': null
            };
            //文本 = 0,单选 = 1,多选 = 2,下拉 = 3,日期 = 4,多行文本 = 5,科学计数法 = 6,NxN = 7,NxNxN = 8,表格 = 9,
            // 时间 = 10,标题 = 11,生日 = 12,图片上传 = 13, 医院 = 14,药品 = 15,分层多选=16,省份城市=17，时间时分秒=18
            switch (parseInt(_thistype)) {
                case 0:
                    var o1 = list.next(".input-group-addon");
                    if (o1) {
                        if (o1.find("button").is("button")) {
                            clildjson.InputValue = list.val();
                            clildjson.CurrentUnit = o1.find(".btn-group button").text();
                        } else {
                            clildjson.InputValue = list.val();
                            clildjson.CurrentUnit = o1.text();
                        }
                    } else {
                        clildjson.InputValue = list.val();
                    }
                    break;
                case 1:
                    for (var i = 0; i < list.length; i++) {
                        if ($(list[i]).hasClass('na_nd_uk_hidden')) {

                            $(list[i]).parents('.poradios').find('.pcr').each(function () {
                                if ($(this).is(':checked')) {
                                    clildjson.InputValue = $(this).val();
                                }
                            });
                        }else if ($(list[i]).is(':checked')) {
                            if ($(list[i]).val() == "9999") {
                                clildjson.InputValue = $(list[i]).val() + "#" + $('[svalue="' + $(list[i]).val() + '"][pid="' + $(list[i]).attr("fieldid") + '"]').find('input').val();
                                clildjson.InputKey = "其他#" + $('[svalue="' + $(list[i]).val() + '"][pid="' + $(list[i]).attr("fieldid") + '"]').find('input').val();
                            } else {
                                clildjson.InputValue = $(list[i]).val();
                                clildjson.InputKey = $(list[i]).parent().find("label").text();
                            }
                        }
                    }
                    break;
                case 2:
                    var chedkval = '';
                    var chedktxt = '';
                    for (var i = 0; i < list.length; i++) {
                        if ($(list[i]).hasClass('na_nd_uk_hidden')) {
                            $(list[i]).parents('.pcheckbox').find('.pcr').each(function () {
                                if ($(this).is(':checked')) {
                                    clildjson.InputValue = $(this).val();
                                }
                            });
                        }else if ($(list[i]).is(':checked')) {
                            if ($(list[i]).val() == "9999") {
                                chedkval += $(list[i]).val() + "#" + $('[svalue="' + $(list[i]).val() + '"][pid="' + $(list[i]).attr("fieldid") + '"]').find('input').val() + ',';
                                chedktxt += "其他#" + $('[svalue="' + $(list[i]).val() + '"][pid="' + $(list[i]).attr("fieldid") + '"]').find('input').val() + ',';
                            } else {
                                chedkval += $(list[i]).val() + ',';
                                chedktxt += $(list[i]).parent().find("label").text() + ',';
                            }
                            clildjson.InputValue = chedkval.substring(0, chedkval.length - 1);
                            clildjson.InputKey = chedktxt.substring(0, chedktxt.length - 1);
                        }
                    }
                    break;
                case 3:
                    clildjson.InputValue = list.val();
                    var opt = list.find("option");
                    opt.each(function (i) {
                        if (list.val() == clildjson.InputValue) {
                            clildjson.InputKey = list.text();
                        }
                    });
                    break;
                case 4:
                    clildjson.InputValue = list.val();
                    break;
                case 5:
                    //多行文本把回车换成<br\/>,"换成&ldquo;后提交,在获取数据的时候还原回去
                    if (list.length > 0) {
                        var getval = list.val();
                        getval = getval.replace(/\n/g, "<br\/>").replace(/"/g, "&ldquo;").replace(/'/g, "&apos;");
                        clildjson.InputValue = encodeURI(getval);
                    }
            
                    //clildjson.InputValue = list.val();
                    break;
                case 6:
                    var x = list.eq(0).val();
                    var y = list.eq(1).val();
                    var o = list.eq(1).next(".input-group-addon");
                    if(x != '' && y != ''){
                        if (o) {
                            if (o.find("button").is("button")) {
                                clildjson.InputValue = String(x * Math.pow(10, y)).toString();
                                clildjson.CurrentUnit = o.find(".btn-group button").text();
                                clildjson.InputKey = x + "E" + y;
                            } else {
                                clildjson.InputValue = (x * Math.pow(10, y)).toString();
                                clildjson.CurrentUnit = o.text();
                                clildjson.InputKey = x + "E" + y;
                            }
                        } else {
                            clildjson.InputValue = (x * Math.pow(10, y)).toString();
                            clildjson.InputKey = x + "E" + y;
                        }
                    }
                    
                    break;
                case 7:
                    if (list.eq(0).val() != '' && list.eq(1).val() != '') {
                        var o2 = list.eq(1).next(".input-group-addon");
                        if (o2) {
                            if (o2.find("button").is("button")) {
                                //clildjson.InputValue=list.eq(0).val()+'#'+list.eq(1).val() + "$" + o2.find(".btn-group button").text();
                                clildjson.InputValue = list.eq(0).val() + ',' + list.eq(1).val();
                                clildjson.CurrentUnit = o2.find(".btn-group button").text();
                            } else {
                                //clildjson.InputValue=list.eq(0).val()+'#'+list.eq(1).val() + "$" + o2.text();
                                clildjson.InputValue = list.eq(0).val() + ',' + list.eq(1).val();
                                clildjson.CurrentUnit = o2.text();
                            }
                        } else {
                            clildjson.InputValue = list.eq(0).val() + ',' + list.eq(1).val();
                        }
                    }
                    
                    break;
                case 8:
                    if (list.eq(0).val() != '' && list.eq(1).val() != '' && list.eq(2).val() != '') {
                        var o3 = list.eq(2).next(".input-group-addon");
                        if (o3) {
                            if (o3.find("button").is("button")) {
                                clildjson.InputValue = list.eq(0).val() + ',' + list.eq(1).val() + ',' + list.eq(2).val();
                                clildjson.CurrentUnit = o3.find(".btn-group button").text();
                            } else {
                                clildjson.InputValue = list.eq(0).val() + ',' + list.eq(1).val() + ',' + list.eq(2).val();
                                clildjson.CurrentUnit = o3.text();
                            }
                        } else {
                            clildjson.InputValue = list.eq(0).val() + ',' + list.eq(1).val() + ',' + list.eq(2).val()
                        }
                    }
                    break;
                case 9:
                    if ($(this).attr('pid')) {
                        var trarr = !$('[fieldid="' + $(this).attr('fieldid') + '"]:visible') == false ? $('[fieldid="' + $(this).attr('fieldid') + '"]:visible').find('tr[rowid]') : $(this).find('tr[rowid]');
                    } else {
                        var trarr = $(this).find('tr[rowid]');
                    }
                    if (trarr.length > 0) {
                        var tablearr = [];
                        for (var i = 0; i < trarr.length; i++) {
                            var tr = {
                                "rowid": $(trarr[i]).attr('rowid'),
                                "FieldCollection": []
                            }

                            var jsontd = $(trarr[i]).find('td[newtdid]');
                            for (var j = 0; j < jsontd.length; j++) {

                                var tdjson = {
                                    "CurrentUnit": $(jsontd[j]).attr('currentunit') == "null" ? null : $(jsontd[j]).attr('currentunit'),
                                    "FieldID": $(jsontd[j]).attr('newtdid'),
                                    "FieldInputType": parseInt($(jsontd[j]).attr('fieldinputtype')),
                                    "FieldName": $(jsontd[j]).attr('fieldname'),
                                    "InputTableValue": $(jsontd[j]).attr('inputtablevalue') == "null" ? null : $(jsontd[j]).attr('inputtablevalue'),
                                    "InputValue": $(jsontd[j]).attr('inputvalue'),
                                    "InputKey": $(jsontd[j]).attr('inputkey') == "null" ? null : $(jsontd[j]).attr('inputkey')
                                }
                                tr.FieldCollection.push(tdjson)
                            }
                            tablearr.push(tr);
                            clildjson.InputTableValue = tablearr;
                        }
                    }
                    break;
                case 10:
                    clildjson.InputValue = list.val();
                    break;
                case 11:
                    clildjson.InputValue = list.val();
                    break;
                case 12:
                    clildjson.InputValue = list.val();
                    break;
                case 13:
                    clildjson.InputValue = list.val();
                    break;
                case 14:
                    clildjson.InputValue = list.val();
                    break;
                case 15:
                    clildjson.InputValue = list.find('select').eq(0).val() + ',' + list.find('select').eq(1).val();
                    var a = "";
                    list.find('select').each(function (i) {
                        a = a + list.find("option[value = " + list.val() + "]").text() + ",";
                    });
                    a = a.substring(0, a.length - 1);
                    clildjson.InputKey = a;
                    break;
                case 16:
                    var chedkval = '';
                    var chedktxt = '';
                    for (var i = 0; i < list.length; i++) {
                        if ($(list[i]).is(':checked')) {
                            if ($(list[i]).val() == "9999") {
                                chedkval += $(list[i]).val() + "#" + $('[svalue="' + $(list[i]).val() + '"][pid="' + $(list[i]).attr("fieldid") + '"]').find('input,textarea').val() + ',';
                                chedktxt += "其他#" + $('[svalue="' + $(list[i]).val() + '"][pid="' + $(list[i]).attr("fieldid") + '"]').find('input,textarea').val() + ',';
                            } else {
                                chedkval += $(list[i]).val() + ',';
                                chedktxt += $(list[i]).parent().find("label").text() + ',';
                            }
                        }
                        clildjson.InputValue = chedkval.substring(0, chedkval.length - 1);
                        clildjson.InputKey = chedktxt.substring(0, chedktxt.length - 1);
                    }
                    break;
                case 17:
                    clildjson.InputValue = list.find('select').eq(0).val() + ',' + list.find('select').eq(1).val();
                    break;
                case 18:
                    clildjson.InputValue = list.val();
                    break;
                case 19:
                    clildjson.InputValue = list.find('select').eq(0).val() + ',' + list.find('select').eq(1).val() + ',' + list.find('select').eq(2).val();
                    var a = "";
                    list.find('select').each(function (i) {
                        a = a + list.find("option[value = " + list.val() + "]").text() + ",";
                    });
                    a = a.substring(0, a.length - 1);
                    clildjson.InputKey = a;
                    break;
            }
            var isrepeat = false; //定义变量判断是否重复
            for (var i = 0; i < newjson.FieldCollection.length; i++) {
                if (newjson.FieldCollection[i].FieldID == clildjson.FieldID) {
                    isrepeat = true;//已经存在不需要重复添加
                }
            }
            if (!isrepeat) {
                newjson.FieldCollection.push(clildjson);
            }

        });
        infojson.ModuleCollection.push(newjson);
    });
    return infojson;
};

//初始化赋值
inputctr.public.getsubmit = function (data) {
    for (var i = 0; i < data.ModuleCollection.length; i++) {
        for (var j = 0; j < data.ModuleCollection[i].FieldCollection.length; j++) {
            var _thisFieldID = data.ModuleCollection[i].FieldCollection[j].FieldID;
            var _thisInputValue = data.ModuleCollection[i].FieldCollection[j].InputValue ? data.ModuleCollection[i].FieldCollection[j].InputValue : '';
            //var _thisInputGid = data.ModuleCollection[i].FieldCollection[j].gId;
            var _thisInputTableValue = data.ModuleCollection[i].FieldCollection[j].InputTableValue;
            var _thisList = $('[FieldID="' + _thisFieldID + '"]:visible');
            var _thisCurrentUnit = data.ModuleCollection[i].FieldCollection[j].CurrentUnit;
            var _thisInputKey = data.ModuleCollection[i].FieldCollection[j].InputKey;
            
            //文本 = 0,单选 = 1,多选 = 2,下拉 = 3,日期 = 4,多行文本 = 5,科学计数法 = 6,NxN = 7,NxNxN = 8,
            //表格 = 9, 时间 = 10,标题 = 11,生日 = 12,图片上传 = 13, 医院 = 14,药品 = 15,分层多选=16,省份城市=17，时间时分秒=18

            switch (parseInt(data.ModuleCollection[i].FieldCollection[j].FieldInputType)) {
                case 0:
                    var p1 = _thisList.next(".input-group-addon");
                    _thisList.val(_thisInputValue);
                    if (_thisInputValue == 'NA' || _thisInputValue == 'ND' || _thisInputValue == 'UK') {
                        _thisList.parents(".pre_td").find(".pcr").each(function () {
                            if ($(this).val() == _thisInputValue) {
                                $(this).attr("checked", true);
                                $(this).parents(".pre_td").find('input[type="text"]').each(function (i) {
                                    $(this).val(_thisInputValue).attr("readonly", "readonly");
                                });
                            }
                        });
                    }
                    if (p1) {
                        if (_thisCurrentUnit != "") {
                            if (p1.find("button").is("button")) {
                                p1.find(".btn-group button").text(_thisCurrentUnit);
                            } else {
                                //p1.text(_thisCurrentUnit);
                            }
                        }
                    }
                    break;
                case 1:
                    if (_thisInputValue.indexOf('9999#') >= 0) {
                        $('[FieldID="' + _thisFieldID + '"][value="' + _thisInputValue.split('#')[0] + '"]').attr('checked', true);
                        $('[svalue="' + _thisInputValue.split('#')[0] + '"][pid="' + _thisFieldID + '"]').find('input').val(_thisInputKey.split('#')[1]);
                        inputctr.cgsel($('[FieldID="' + _thisFieldID + '"][value="' + _thisInputValue.split('#')[0] + '"]:visible'));
                    } else {
                        if (_thisInputValue.lastIndexOf("#") == _thisInputValue.length - 1) {
                            _thisInputValue = _thisInputValue.substring(0, _thisInputValue.length - 1);
                        }
                        if (_thisInputValue == 'NA' || _thisInputValue == 'ND' || _thisInputValue == 'UK') {
                            var nnu = $('[FieldID="' + _thisFieldID + '"][class="na_nd_uk_hidden"]').parent(':visible').find('.na_nd_uk_hidden');
                            nnu.val(_thisInputValue);
                            nnu.parents(".poradios").find('.pcr').each(function () {
                                if ($(this).val() == _thisInputValue) {
                                    $(this).attr("checked", true);
                                    $(this).parent().siblings('.radio').find('input').prop({ disabled: "disabled", checked: false });
                                }
                            });
                        } else if (_thisInputValue != "") {
                            $('[FieldID="' + _thisFieldID + '"][value="' + _thisInputValue + '"]:visible').attr('checked', true);
                            inputctr.cgsel($('[FieldID="' + _thisFieldID + '"][value="' + _thisInputValue + '"]:visible'));
                        }
                    }
                    break;
                case 2:
                    if (_thisInputValue.indexOf('9999#') >= 0) {
                        var ck = _thisInputValue.split(',');
                        var ct = _thisInputKey.split(',');
                        for (var k = 0; k < ck.length; k++) {
                            if (ck[k].indexOf('9999#') >= 0) {
                                $('[svalue="' + ck[k].split('#')[0] + '"][pid="' + _thisFieldID + '"]').find('input').val(ct[k].split('#')[1]);
                            }
                            $('[FieldID="' + _thisFieldID + '"][value="' + ck[k].split('#')[0] + '"]').attr('checked', true);
                            inputctr.cgsel($('[FieldID="' + _thisFieldID + '"][value="' + ck[k].split('#')[0] + '"]:visible'));
                        }
                    } else {
                        if (_thisInputValue.lastIndexOf("#") == _thisInputValue.length - 1) {
                            _thisInputValue = _thisInputValue.substring(0, _thisInputValue.length - 1);
                        }
                        if (_thisInputValue == 'NA' || _thisInputValue == 'ND' || _thisInputValue == 'UK') {
                            var nnu = $('[FieldID="' + _thisFieldID + '"][class="na_nd_uk_hidden"]').parent(':visible').find('.na_nd_uk_hidden');
                            nnu.val(_thisInputValue);
                            nnu.parents(".pcheckbox").find('.pcr').each(function () {
                                if ($(this).val() == _thisInputValue) {
                                    $(this).attr("checked", true);
                                    $(this).parent().siblings('.checkbox').find('input').prop({ disabled: "disabled", checked: false });
                                }
                            });
                        } else {
                            var ck = _thisInputValue.split(',');
                            for (var k = 0; k < ck.length; k++) {
                                $('[FieldID="' + _thisFieldID + '"][value="' + ck[k] + '"]:visible').attr('checked', true);
                                inputctr.cgsel($('[FieldID="' + _thisFieldID + '"][value="' + ck[k] + '"]:visible'));
                            }
                        }
                    }
                    break;
                case 3:
                    _thisList.val(_thisInputValue);
                    inputctr.cgsel(_thisList);
                    break;
                case 4:
                    _thisList.val(_thisInputValue);
                    _thisList.datepicker('setDate', _thisInputValue);
                    break;
                case 5:
                    var getval = decodeURI(_thisInputValue);
                    getval = getval.replace(/<br\/>/g, "\n").replace(/&ldquo;/g, '"').replace(/&apos;/g, "'");
                    _thisList.val(getval);
                    //_thisList.val(_thisInputValue);
                    break;
                case 6:
                    _thisInputValue = parseInt(_thisInputValue);
                    if (_thisInputValue) {
                        _thisList.eq(0).val(inputctr.num2e(_thisInputValue).split(',')[0]);
                        _thisList.eq(1).val(inputctr.num2e(_thisInputValue).split(',')[1]);
                    }
                    var p2 = _thisList.eq(1).next(".input-group-addon");
                    if (p2) {
                        if (_thisCurrentUnit != "") {
                            if (p2.find("button").is("button")) {
                                p2.find(".btn-group button").text(_thisCurrentUnit);
                            } else {
                                //p2.text(_thisCurrentUnit);
                            }
                        }
                    }
                    break;
                case 7:
                    _thisList.eq(0).val(_thisInputValue.split(',')[0]);
                    _thisList.eq(1).val(_thisInputValue.split(',')[1]);
                    var p3 = _thisList.eq(1).next(".input-group-addon");
                    if (p3) {
                        if (_thisCurrentUnit != "") {
                            if (p3.find("button").is("button")) {
                                p3.find(".btn-group button").text(_thisCurrentUnit);
                            } else {
                                //p3.text(_thisCurrentUnit);
                            }
                        }
                    }
                    break;
                case 8:
                    _thisList.eq(0).val(_thisInputValue.split(',')[0]);
                    _thisList.eq(1).val(_thisInputValue.split(',')[1]);
                    _thisList.eq(2).val(_thisInputValue.split(',')[2]);
                    var p4 = _thisList.eq(2).next(".input-group-addon");
                    if (p4) {
                        if (_thisCurrentUnit != "") {
                            if (p4.find("button").is("button")) {
                                p4.find(".btn-group button").text(_thisCurrentUnit);
                            } else {
                                //p4.text(_thisCurrentUnit);
                            }
                        }
                    }
                    break;
                case 9:
                    if (!_thisInputTableValue) {
                        _thisInputTableValue = [];
                    }
                    var thead = $(_thisList.find('.thead')).find('th:not(:last)');
                    if (thead) {
                        for (var i2 = 0; i2 < _thisInputTableValue.length; i2++) {
                            var str = '<tr rowid=' + _thisInputTableValue[i2].rowid + '>';
                            for (var j2 = 0; j2 < thead.length ; j2++) {
                                if (_thisInputTableValue[i2].FieldCollection[j2].InputValue.indexOf('9999#') >= 0) {
                                    _thisInputTableValue[i2].FieldCollection[j2].InputValue = _thisInputTableValue[i2].FieldCollection[j2].InputValue;
                                    if (!_thisInputTableValue[i2].FieldCollection[j2].InputKey.split("#")[1]) {
                                        _thisInputTableValue[i2].FieldCollection[j2].InputKey = _thisInputTableValue[i2].FieldCollection[j2].InputKey.split("#")[0];
                                    } else {
                                        _thisInputTableValue[i2].FieldCollection[j2].InputKey = _thisInputTableValue[i2].FieldCollection[j2].InputKey.split("#")[1];
                                    }

                                }
                                str += '<td newtdid="' + $(thead[j2]).attr('tdid') + '" CurrentUnit="' + _thisInputTableValue[i2].FieldCollection[j2].CurrentUnit + '" FieldInputType="' + _thisInputTableValue[i2].FieldCollection[j2].FieldInputType + '" FieldName="' + _thisInputTableValue[i2].FieldCollection[j2].FieldName + '" InputTableValue="' + _thisInputTableValue[i2].FieldCollection[j2].InputTableValue + '" InputValue="' + _thisInputTableValue[i2].FieldCollection[j2].InputValue + '" InputKey="' + _thisInputTableValue[i2].FieldCollection[j2].InputKey + '">' + (!_thisInputTableValue[i2].FieldCollection[j2].InputKey ? _thisInputTableValue[i2].FieldCollection[j2].InputValue : _thisInputTableValue[i2].FieldCollection[j2].InputKey) + '</td>';
                            }
                            str += '<td class="pedit"><a href="javascript:;" class="pencil" onclick="inputctr.editRow(this)"><i class="fa fa-pencil"></i></a><a href="javascript:;" class="pdel" onclick="inputctr.delRow(this)"><i class="fa fa-trash-o"></i></a></td></tr>';

                            _thisList.find('.tbody tbody').append(str);
                        }
                    }
                    break;
                case 10:
                    _thisList.val(_thisInputValue);
                    break;
                case 11:
                    _thisList.val(_thisInputValue);
                    break;
                case 12:
                    _thisList.val(_thisInputValue);
                    _thisList.datepicker('setDate', _thisInputValue);
                    var r = _thisInputValue.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/);
                    if (r != null) {
                        var d = new Date(r[1], r[3] - 1, r[4]);
                        if (d.getFullYear() == r[1] && (d.getMonth() + 1) == r[3] && d.getDate() == r[4]) {
                            var Y = new Date().getFullYear();
                            _thisList.parent().find(".page span").html((Y - r[1]));
                        }
                    }
                    break;
                case 13:
                    _thisList.val(_thisInputValue);
                    break;
                case 14:
                    _thisList.val(_thisInputValue);
                    break;
                case 15:
                    _thisList.find('select').eq(0).val(_thisInputValue.split(',')[0]);
                    _thisList.find('select').eq(0).change();
                    inputctr.cgsel(_thisList.find('select').eq(0));
                    _thisList.find('select').eq(1).val(_thisInputValue.split(',')[1]);
                    _thisList.find('select').eq(1).change();
                    inputctr.cgsel(_thisList.find('select').eq(1));
                    break;
                case 16:
                    if (_thisInputValue.indexOf('9999#') >= 0) {
                        var ck = _thisInputValue.split(',');
                        var ct = _thisInputKey.split(',');
                        for (var k = 0; k < ck.length; k++) {
                            if (ck[k].indexOf('9999#') >= 0) {
                                $('[svalue="' + ck[k].split('#')[0] + '"][pid="' + _thisFieldID + '"]').find('input,textarea').val(ct[k].split('#')[1]);
                            }
                            $('[FieldID="' + _thisFieldID + '"][value="' + ck[k].split('#')[0] + '"]').attr('checked', true);
                            inputctr.cgsel($('[FieldID="' + _thisFieldID + '"][value="' + ck[k].split('#')[0] + '"]'));
                        }
                    } else {
                        if (_thisInputValue.lastIndexOf("#") == _thisInputValue.length - 1) {
                            _thisInputValue = _thisInputValue.substring(0, _thisInputValue.length - 1);
                        }
                        var ck = _thisInputValue.split(',');
                        for (var k = 0; k < ck.length; k++) {
                            $('[FieldID="' + _thisFieldID + '"][value="' + ck[k] + '"]:visible').attr('checked', true);
                            inputctr.cgsel($('[FieldID="' + _thisFieldID + '"][value="' + ck[k] + '"]:visible'));
                        }
                    }
                    break;
                case 17:
                    _thisList.find('select').eq(0).val(_thisInputValue.split(',')[0]);
                    _thisList.find('select').eq(0).change();
                    _thisList.find('select').eq(1).val(_thisInputValue.split(',')[1]);
                    _thisList.find('select').eq(1).change();
                    break;
                case 18:
                    _thisList.val(_thisInputValue);
                    break;
                case 19:
                    _thisList.find('select').eq(0).val(_thisInputValue.split(',')[0]);
                    _thisList.find('select').eq(0).change();
                    inputctr.cgsel(_thisList.find('select').eq(0));
                    _thisList.find('select').eq(1).val(_thisInputValue.split(',')[1]);
                    _thisList.find('select').eq(1).change();
                    inputctr.cgsel(_thisList.find('select').eq(1));
                    _thisList.find('select').eq(2).val(_thisInputValue.split(',')[2]);
                    _thisList.find('select').eq(2).change();
                    inputctr.cgsel(_thisList.find('select').eq(2));
                    break;
            }
        }
    }
};

//生成guID
function newguid() {
    var s = [];
    var hexDigits = "0123456789abcdefghigklmnopqrstuvwxyz";
    for (var i = 0; i < 36; i++) {
        s[i] = hexDigits.substr(Math.floor(Math.random() * 0x10), 1);
    }
    s[14] = "4"; // bits 12-15 of the time_hi_and_version field to 0010
    s[19] = hexDigits.substr((s[19] & 0x3) | 0x8, 1); // bits 6-7 of the clock_seq_hi_and_reserved to 01
    s[8] = s[13] = s[18] = s[23] = "-";

    var uuid = s.join("");
    return uuid;
}

//错误提示
inputctr.public.errinfo = function (a, b) {
    var info = '<p class="errinfo">' + b + '</p>';
    $(a).parents(".pre_td:eq(0)").append(info);
    if ($(a).is(".poradios,.pradio,.pocheckboxs,.pcheckbox")) {
        $(a).find("label").addClass("errborder");
    } else {
        $(a).addClass("errborder");
    }
};

//错误提示2
inputctr.public.errinfoTwo = function (a, b) {
    var info = '<p class="errinfo" style="color:orange;">' + b + '</p>';
    $(a).parents(".pre_td:eq(0)").append(info);
    if ($(a).is(".poradios,.pradio,.pocheckboxs,.pcheckbox")) {
        $(a).find("label").addClass("errborders");
    } else {
        $(a).addClass("errborders");
    }
};

//表格错误提示
inputctr.public.errinfoThr = function (a) {
    $(a).addClass("errborder");
};

//清除错误提示
inputctr.public.errifdel = function (a) {
    $(a).parents(".pre_td:eq(0)").find(".errinfo").remove();
    if ($(a).is(".poradios,.pradio,.pocheckboxs,.pcheckbox")) {
        $(a).find("label").removeClass("errborder errborders");
    } else {
        $(a).removeClass("errborder errborders");
    }
};

//获得当前时间
inputctr.public.getdatetime = function () {
    var date = new Date();
    var seperator1 = "-";
    var year = date.getFullYear();
    var month = date.getMonth() + 1;
    var strDate = date.getDate();
    var hour = date.getHours();
    var minute = date.getMinutes();
    var second = date.getSeconds();
    if (month >= 1 && month <= 9) {
        month = "0" + month;
    }
    if (strDate >= 0 && strDate <= 9) {
        strDate = "0" + strDate;
    }
    if (minute >= 1 && minute <= 9) {
        minute = "0" + minute;
    }
    if (second >= 0 && second <= 9) {
        second = "0" + second;
    }
    var currentdate = year + seperator1 + month + seperator1 + strDate + " " + hour + ":" + minute + ":" + second;
    return currentdate;
};