| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647 | <%@ page contentType="text/html;charset=UTF-8" %><%@ include file="/webpage/include/taglib.jsp"%><html><head>    <title>合同管理</title>    <meta name="decorator" content="default"/>    <script type="text/javascript" src="${ctxStatic}/helloweba_editable-select/jquery.editable-select.min.js"></script>    <script type="text/javascript" src="${ctxStatic}/iCheck/icheck.min.js"></script>    <script type="text/javascript" src="${ctxStatic}/layui/layui.js"></script>    <link rel='stylesheet' type="text/css" href="${ctxStatic}/helloweba_editable-select/jquery.editable-select.min.css"/>    <link rel='stylesheet' type="text/css" href="${ctxStatic}/layui/css/layui.css"/>    <style>        #projectDesc-error{            left:0;            top:82px;        }        .layui-layer-dialog{            background: #ff0000;        }        td input{            margin-left:-10px !important;            height: 42px !important;        }    </style>    <script type="text/javascript">        var validateForm;        var isMasterClient = true;//是否是主委托方        var clientCount = 0;        function doSubmit(i){//回调函数,在编辑和保存动作时,供openDialog调用提交表单。            $("#inputForm").submit();            return true;        }        $(document).ready(function() {            var radioVal ;            validateForm = $("#inputForm").validate({                submitHandler: function(form){                    loading('正在提交,请稍等...');                    form.submit();                },                errorContainer: "#messageBox",                errorPlacement: function(error, element) {                    $("#messageBox").text("输入有误,请先更正。");                    if (element.is(":checkbox")||element.is(":radio")||element.parent().is(".input-append")){                        error.appendTo(element.parent().parent());                    } else {                        error.insertAfter(element);                    }                }            });            <%--$('#scaleType').editableSelect({--%>            <%--effects: 'slide'--%>            <%--});--%>            <%--$('#scaleType').val("${projectRecords.scaleType}")--%>            <%--$('#scaleUnit').editableSelect({--%>            <%--effects: 'slide'--%>            <%--});--%>            <%--$('#scaleUnit').val("${projectRecords.scaleUnit}")--%>            $("input[name='ext']").on('ifChecked',function(event){                radioVal = $(this).val();                if(radioVal == 0){                    //有合同状态                    $("#divv2 input").val("");                    // $("#workClientLinkmanList tr").remove();                    $("#divv").show();                    $("#divv3").show();                }else{                    $("#divv input").val('');                    $("#divv2 input").val("");                    $("#divv3 input").val("");                    // $("#workClientLinkmanList tr").remove();                    $("#divv").hide();                    $("#divv3").hide();                    $("#linkmanId").val("");                }            });            //自动选择合同状态            if ($("#projectName").val() != null) {                if ($("#contractName").val() == "") {                    $("#ext1").iCheck("check");                }            }            $('#areaId').on("change", function () {                var areaId = $("#areaId").val();                $("#province").val('');                $("#city").val('');                $("#county").val('');                $.ajax({                    type : "POST",                    url : "${ctx}/sys/area/getParent",                    data : {'areaId':areaId},                    //请求成功                    success : function(result) {                        var pro = result.province;                        var city = result.city;                        var county  = result.county;                        if(pro != '') {                            $("#province").val(pro);                        }                        if(city != '') {                            $("#city").val(city);                        }                        if(county != '') {                            $("#county").val(county);                        }                    },                });            })        });        function setValuee(obj){            var successRows = 0;            ss = $("#workClientLinkmanList tr").length;            for (var i = 0; i < obj.length; i++) {                //没有重复的客户id,就可以插入                var canInsert = true;                for (var j = 0; j < ss; j++) {                    var cid = $("#workClientLinkmanList" + j + "_id").val();                    if(cid == obj[i].id){                        canInsert = false;                        // console.log("重复!!");                        break;                    }                }                if(canInsert==true){                    var idArr = $("#workClientLinkmanList tr:visible .clientId");                    if (obj[i].id != '' && !hasInArr(obj[i].id, idArr)) {                        addRow("#workClientLinkmanList", workClientLinkmanRowIdx, workClientLinkmanTpl, obj[i]);                        workClientLinkmanRowIdx = workClientLinkmanRowIdx + 1;                        successRows++;                    }                }            }            clientCount=successRows+clientCount;            // console.log("success==="+successRows);            // console.log("clientCount==="+clientCount);            //如果主委托方还没有设置,则将第一个客户设置为主委托方            if(obj[0].name != null){                if(isMasterClient){                    $("#contractClientName").val(obj[0].clientId.name);                    isMasterClient = false;                }            }        }        function hasInArr(id,idArr) {            for(var i=0;i<idArr.length;i++){                if(id==$(idArr[i]).val()){                    return true;                }            }            return false;        }        function existLinkman(id,length) {            for (var i=0;i<length;i++) {                var val = $('#workClientLinkmanList'+i+'_id').val();                if(id==val){                    return true;                }            }            return false;        }        function insertTitle(tValue){            var files = $("#attachment_file")[0].files;            for(var i = 0;i<files.length;i++) {                var file = files[i];                var attachmentId = $("#id").val();                var attachmentFlag = "134";                /*console.log(file);*/                var timestamp=new Date().getTime();                var storeAs = "attachment-file/projectRecords/"+timestamp+"/"+file['name'];                var uploadPath="http://gangwan-app.oss-cn-hangzhou.aliyuncs.com/"+storeAs;/*将这段字符串存到数据库即可*/                var divId = "_attachment";                $("#addFile"+divId).show();                multipartUploadWithSts(storeAs, file,attachmentId,attachmentFlag,uploadPath,divId,0);}        }        function addFile() {            $("#attachment_file").click();        }        function addRow(list, idx, tpl, row){            bornTemplete(list, idx, tpl, row, idx);        }        function bornTemplete(list, idx, tpl, row, idx1){            $(list).append(Mustache.render(tpl, {                idx: idx, delBtn: true, row: row,                order:idx1 + 1            }));            $(list+idx).find("select").each(function(){                $(this).val($(this).attr("data-value"));            });            $(list+idx).find("input[type='checkbox'], input[type='radio']").each(function(){                var ss = $(this).attr("data-value").split(',');                for (var i=0; i<ss.length; i++){                    if($(this).val() == ss[i]){                        $(this).attr("checked","checked");                    }                }            });        }        function formatNum(obj) {            var val = $(obj).val();            if(val==null||val==''|| isNaN(val))return;            var money = parseFloat((val + "").replace(/[^\d\.-]/g, "")).toFixed(2) + "";            var l = money.split(".")[0].split("").reverse(),                r = money.split(".")[1];            t = "";            for(i = 0; i < l.length; i ++ )            {                t += l[i] + ((i + 1) % 3 == 0 && (i + 1) != l.length ? "," : "");            }            $(obj).val(t.split("").reverse().join("") + "." + r);        }    </script></head><body><div class="single-form">    <div class="container">        <sys:message content="${message}"/>        <form:form id="inputForm" modelAttribute="constructionContract" action="${ctx}/project/constructionContract/save" method="post" class="form-horizontal">            <form:hidden path="id"/>            <input type="hidden" id="programIdId" name="projectId" value="">        <div class="form-group layui-row first">                <div class="form-group-label"><h2>合同信息</h2></div>                <div class="layui-item layui-col-sm6">                    <label class="layui-form-label"><span class="require-item">*</span>项目名称:</label>                    <div class="layui-input-block with-icon">                        <sys:gridselectProjcontent url="${ctx}/project/constructionContract/selectcontent" id="programId" name="program.id"  value="${constructionContract.program.id}"  title="选择项目名称" labelName="program.name"                                                   labelValue="${constructionContract.program.name}" cssClass="form-control layui-input required" projectId="${constructionContract.projectId}" type="31" fieldLabels="" fieldKeys="" searchLabel="${fns:urlEncode('项目名称')}" searchKey="" ></sys:gridselectProjcontent>                    </div>                </div>                <div class="layui-item layui-col-sm6">                    <label class="layui-form-label"><span class="require-item">*</span>合同名称:</label>                    <div class="layui-input-block">                        <form:input path="contractName" htmlEscape="false"    class="form-control layui-input required"/>                    </div>                </div>                <div class="layui-item layui-col-sm6">                    <label class="layui-form-label"><span class="require-item">*</span>合同编号:</label>                    <div class="layui-input-block">                        <form:input path="cnumber" htmlEscape="false"    class="form-control layui-input required"/>                    </div>                </div>                <div class="layui-item layui-col-sm6">                    <label class="layui-form-label"><span class="require-item">*</span>合同分类:</label>                    <div class="layui-input-block">                        <form:select path="contCate" class="form-control layui-input required">                            <option value="" label=""/>                            <c:forEach items="${fns:getDictList('content_contract_type')}" var="item">                                <optgroup value="${item.value}" label="${item.label}"/>                                <c:set var="typename" value="content_contract_type_${item.value}"></c:set>                                <form:options items="${fns:getDictList(typename)}" itemValue="value" itemLabel="label"/>                            </c:forEach>                        </form:select>                    </div>                </div>                <div class="layui-item layui-col-sm6">                    <label class="layui-form-label"><span class="require-item">*</span>合同属性:</label>                    <div class="layui-input-block">                        <form:select path="contAttr" class="form-control layui-input required">                            <form:option value="" label=""/>                            <form:options items="${fns:getMainDictList('content_contract_attr')}" itemLabel="label" itemValue="value" htmlEscape="false"/>                        </form:select>                    </div>                </div>                <div class="layui-item layui-col-sm6">                    <label class="layui-form-label"><span class="require-item">*</span>发包人:</label>                    <div class="layui-input-block">                        <form:input path="lettingAgent" htmlEscape="false"    class="form-control layui-input required"/>                    </div>                </div>                <div class="layui-item layui-col-sm6">                    <label class="layui-form-label"><span class="require-item">*</span>承包人:</label>                    <div class="layui-input-block">                        <form:input path="contractor" htmlEscape="false"    class="form-control layui-input required"/>                    </div>                </div>            </div>            <div class="form-group layui-row lw12">                <div class="form-group-label"><h2>详情信息</h2></div>                <div class="layui-item layui-col-sm6">                    <label class="layui-form-label"><span class="require-item">*</span>签约日期:</label>                    <div class="layui-input-block">                        <input id="signDate" name="signDate" type="text" maxlength="20" class="laydate-icondate form-control layui-input layer-date laydate-icon required"                               value="<fmt:formatDate value="${constructionContract.signDate}" pattern="yyyy-MM-dd"/>"/>                    </div>                </div>                <div class="layui-item layui-col-sm6">                    <label class="layui-form-label">生效日期:</label>                    <div class="layui-input-block">                        <input id="effectDate" name="effectDate" type="text" maxlength="20" class="laydate-icondate form-control layui-input layer-date laydate-icon "                               value="<fmt:formatDate value="${constructionContract.effectDate}" pattern="yyyy-MM-dd"/>"/>                    </div>                </div>                <div class="layui-item layui-col-sm6">                    <label class="layui-form-label ">目标成本(元):</label>                    <div class="layui-input-block">                        <input name="titularAmt" htmlEscape="false"  value="<fmt:formatNumber value="${constructionContract.titularAmt}" pattern="#,##0.00#"/>" class="form-control layui-input number"/>                    </div>                </div>                <div class="layui-item layui-col-sm6">                    <label class="layui-form-label double-line"><span class="require-item">*</span>有效合同金额(元):</label>                    <div class="layui-input-block">                        <input name="trueAmt" htmlEscape="false"  value="<fmt:formatNumber value="${constructionContract.trueAmt}" pattern="#,##0.00#"/>" class="form-control layui-input number required"/>                    </div>                </div>                <div class="layui-item layui-col-sm6">                    <label class="layui-form-label">保修金比例(%):</label>                    <div class="layui-input-block">                        <form:input path="pledgePercent" htmlEscape="false"    class="form-control layui-input  number"/>                    </div>                </div>                <div class="layui-item layui-col-sm6">                    <label class="layui-form-label"><span class="require-item">*</span>合同开工日期:</label>                    <div class="layui-input-block">                        <input id="startWorkDate" name="startWorkDate" type="text" maxlength="20" class="laydate-icondate form-control layui-input layer-date laydate-icon required"                               value="<fmt:formatDate value="${constructionContract.startWorkDate}" pattern="yyyy-MM-dd"/>"/>                    </div>                </div>                <div class="layui-item layui-col-sm6">                    <label class="layui-form-label">合同竣工日期:</label>                    <div class="layui-input-block">                        <input id="endWorkDate" name="endWorkDate" type="text" maxlength="20" class="laydate-icondate form-control layui-input layer-date laydate-icon "                               value="<fmt:formatDate value="${constructionContract.endWorkDate}" pattern="yyyy-MM-dd"/>"/>                    </div>                </div>                <div class="layui-item layui-col-sm6">                    <label class="layui-form-label">止付比例(%):</label>                    <div class="layui-input-block">                        <form:input path="stopPercent" htmlEscape="false"    class="form-control layui-input  number"/>                    </div>                </div>                <div class="layui-item layui-col-sm6">                    <label class="layui-form-label">止付金额:</label>                    <div class="layui-input-block">                        <input name="stopAmt" htmlEscape="false"  value="<fmt:formatNumber value="${constructionContract.stopAmt}" pattern="#,##0.00#"/>"  class="form-control layui-input  number"/>                    </div>                </div>                <div class="layui-item layui-col-sm6">                    <label class="layui-form-label"><span class="require-item">*</span>合同执行状态:</label>                    <div class="layui-input-block">                        <form:select path="status" class="form-control layui-input required">                            <form:option value="" label=""/>                            <form:options items="${fns:getDictList('content_contract_status')}" itemLabel="label" itemValue="value" htmlEscape="false"/>                        </form:select>                    </div>                </div>            </div>            <div class="form-group layui-row lw12">                <div class="form-group-label"><h2>履约保证金</h2></div>                <div class="layui-item layui-col-sm6">                    <label class="layui-form-label">支付方式:</label>                    <div class="layui-input-block">                        <form:input path="payType" htmlEscape="false"    class="form-control layui-input "/>                    </div>                </div>                <div class="layui-item layui-col-sm6">                    <label class="layui-form-label"><span class="require-item">*</span>支付金额:</label>                    <div class="layui-input-block">                        <input name="payAmt" htmlEscape="false"  value="<fmt:formatNumber value="${constructionContract.payAmt}" pattern="#,##0.00#"/>" class="form-control layui-input required number"/>                    </div>                </div>                <div class="layui-item layui-col-sm6">                    <label class="layui-form-label">开始日期:</label>                    <div class="layui-input-block">                        <input id="startDate" name="startDate" type="text" maxlength="20" class="laydate-icondate form-control layui-input layer-date laydate-icon "                               value="<fmt:formatDate value="${constructionContract.startDate}" pattern="yyyy-MM-dd"/>"/>                    </div>                </div>                <div class="layui-item layui-col-sm6">                    <label class="layui-form-label">结束日期:</label>                    <div class="layui-input-block">                        <input id="endDate" name="endDate" type="text" maxlength="20" class="laydate-icondate form-control layui-input layer-date laydate-icon "                               value="<fmt:formatDate value="${constructionContract.endDate}" pattern="yyyy-MM-dd"/>"/>                    </div>                </div>            </div>            <div class="form-group layui-row">                <div class="form-group-label"><h2>附件信息</h2></div>                <div class="layui-item nav-btns">                    <a id="attachment_btn" class="nav-btn nav-btn-add" title="添加附件"  onclick="addFile()"><i class="fa fa-plus"></i> 添加附件</a>                </div>                <div id="addFile_attachment" style="display: none" class="upload-progress">                    <span id="fileName_attachment" ></span>                    <b><span id="baifenbi_attachment" ></span></b>                    <div class="progress">                        <div id="jindutiao_attachment" class="progress-bar" style="width: 0%" aria-valuenow="0">                        </div>                    </div>                </div>                <input id="attachment_file" type="file" name="attachment_file" multiple="multiple" style="display: none;" onChange="if(this.value)insertTitle(this.value);"/>                <span id="attachment_title"></span>                <div class="layui-item layui-col-xs12 form-table-container">                    <table id="listAttachment" class="table table-bordered table-condensed details">                        <thead>                        <tr>                                <%-- <th>序号</th>--%>                            <th width="25%">文件</th>                            <th width="25%">上传人</th>                            <th width="25%">上传时间</th>                            <th width="150px">操作</th>                        </tr>                        </thead>                        <tbody id="file_attachment">                        <c:forEach items="${constructionContract.workAttachments}" var = "workClientAttachment" varStatus="status">                            <tr class="trIdAdds">                                    <%-- <td>${status.index + 1}</td>--%>                                <c:choose>                                    <c:when test="${fn:containsIgnoreCase(workClientAttachment.attachmentName,'jpg')                                                           or fn:containsIgnoreCase(workClientAttachment.attachmentName,'png')                                                           or fn:containsIgnoreCase(workClientAttachment.attachmentName,'gif')                                                           or fn:containsIgnoreCase(workClientAttachment.attachmentName,'bmp')                                                           or fn:containsIgnoreCase(workClientAttachment.attachmentName,'jpeg')}">                                        <td><img src="${workClientAttachment.url}" width="50" height="50" onclick="openDialogView('预览','${ctx}/sys/picturepreview/picturePreview?url=${workClientAttachment.url}','90%','90%')" alt="${workClientAttachment.attachmentName}">                                    </c:when>                                    <c:otherwise>                                        <c:choose>                                            <c:when test="${fn:containsIgnoreCase(workClientAttachment.attachmentName,'pdf')}">                                                <td><a class="attention-info" href="javascript:void(0)" onclick="preview('预览','${workClientAttachment.url}','90%','90%','1')">${workClientAttachment.attachmentName}</a></td>                                            </c:when>                                            <c:otherwise>                                                <td><a class="attention-info" href="javascript:void(0)" onclick="preview('预览','${workClientAttachment.url}','90%','90%')">${workClientAttachment.attachmentName}</a></td>                                            </c:otherwise>                                        </c:choose>                                    </c:otherwise>                                </c:choose>                                <td>${workClientAttachment.createBy.name}</td>                                <td><fmt:formatDate value="${workClientAttachment.createDate}" type="both"/></td>                                <td class="op-td">                                    <div class="op-btn-box" >                                        <a href="javascript:location.href='${ctx}/workfullmanage/workFullManage/downLoadAttach?file='+encodeURIComponent(encodeURIComponent('${workClientAttachment.url}'));" class="op-btn op-btn-download"><i class="fa fa-download"></i> 下载</a>                                        <a href="javascript:void(0)" onclick="deleteFileFromAliyun(this,'${ctx}/sys/workattachment/deleteFileFromAliyun?url=${workClientAttachment.url}&id=${workClientAttachment.id}&type=2','addFile')" class="op-btn op-btn-delete" ><i class="fa fa-trash"></i> 删除</a>                                    </div>                                </td>                            </tr>                        </c:forEach>                        </tbody>                    </table>                </div>            </div>        </form:form>        <%--<form id="termForm" action="#" onsubmit="return false;" method="post" class="form-horizontal">            <div class="form-group layui-row lw12">                <div class="form-group-label"><h2>合同条款</h2></div>                <div class="layui-item nav-btns">                    <a href="javascript:void(0)" onclick="addRowTerm('#termTableList',termIdx,termTpl)" class="nav-btn nav-btn-add" ><i class="fa fa-plus"></i> 新增</a>                </div>                <table id="termsTable" class="table table-bordered table-condensed can-edit">                    <thead>                    <tr>                        <th class="hide"></th>                        <th>摘要项</th>                        <th>摘要内容</th>                        <th>对应条款序号</th>                        <th>操作</th>                    </tr>                    </thead>                    <tbody id="termTableList">                    </tbody>                </table>            </div>        </form>--%>        <script type="text/template" id="termTpl">//<!--        <tr id="termList{{idx}}">            <td class="hide">                <input id="termList{{idx}}_id" subName="id" class="contentDetail" type="hidden" value="{{row.id}}"/>                <input id="termList{{idx}}_delFlag" subName="delFlag" class="contentDetail" type="hidden" value="0"/>                <input id="termList{{idx}}_contractId" subName="contractId" class="contentDetail" type="hidden" value="{{row.contractId}}"/>            </td>            <td>                <input id="termList{{idx}}_title" subName="title"  value="{{row.title}}" type="text" class="form-control contentDetail"/>            </td>            <td>                <input id="termList{{idx}}_content" subName="content" value="{{row.content}}" type="text" class="form-control contentDetail"/>            </td>            <td>                <input id="termList{{idx}}_tnumber" subName="tnumber" value="{{row.tnumber}}" type="text" class="form-control contentDetail"/>            </td>            <td class="text-center op-td">                        <a href=javascript:void(0); onclick="delRow(this, '#termList{{idx}}')"   class="op-btn op-btn-delete"><i class="fa fa-trash"></i> 取消</a>            </td>        </tr>//-->        </script>    </div></div><script type="text/javascript">    var termIdx = 0, termTpl = $("#termTpl").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g,"");    var validateForm;    var validateForm2;    jQuery.validator.addMethod("percent", function(value, element) {        var length = value.length;        var phone = /^(100|[1-9]?\d(\.\d\d?)?)%$/;        return this.optional(element) || (phone.test(value));    }, "请填写正确的百分数");    $(document).ready(function() {        validateForm = $("#subForm").validate({            errorContainer: "#messageBox",            errorPlacement: function(error, element) {                $("#messageBox").text("输入有误,请先更正。");                if (element.is(":checkbox")||element.is(":radio")||element.parent().is(".input-append")){                    error.appendTo(element.parent().parent());                } else {                    error.insertAfter(element);                }            }        });        validateForm2 = $("#termForm").validate({            errorContainer: "#messageBox",            errorPlacement: function(error, element) {                $("#messageBox").text("输入有误,请先更正。");                if (element.is(":checkbox")||element.is(":radio")||element.parent().is(".input-append")){                    error.appendTo(element.parent().parent());                } else {                    error.insertAfter(element);                }            }        });        laydate.render({            elem: '#signDate', //目标元素。由于laydate.js封装了一个轻量级的选择器引擎,因此elem还允许你传入class、tag但必须按照这种方式 '#id .class'            event: 'focus' //响应事件。如果没有传入event,则按照默认的click        });        laydate.render({            elem: '#effectDate', //目标元素。由于laydate.js封装了一个轻量级的选择器引擎,因此elem还允许你传入class、tag但必须按照这种方式 '#id .class'            event: 'focus' //响应事件。如果没有传入event,则按照默认的click        });        laydate.render({            elem: '#startWorkDate', //目标元素。由于laydate.js封装了一个轻量级的选择器引擎,因此elem还允许你传入class、tag但必须按照这种方式 '#id .class'            event: 'focus' //响应事件。如果没有传入event,则按照默认的click        });        laydate.render({            elem: '#endWorkDate', //目标元素。由于laydate.js封装了一个轻量级的选择器引擎,因此elem还允许你传入class、tag但必须按照这种方式 '#id .class'            event: 'focus' //响应事件。如果没有传入event,则按照默认的click        });        laydate.render({            elem: '#startDate', //目标元素。由于laydate.js封装了一个轻量级的选择器引擎,因此elem还允许你传入class、tag但必须按照这种方式 '#id .class'            event: 'focus' //响应事件。如果没有传入event,则按照默认的click        });        laydate.render({            elem: '#endDate', //目标元素。由于laydate.js封装了一个轻量级的选择器引擎,因此elem还允许你传入class、tag但必须按照这种方式 '#id .class'            event: 'focus' //响应事件。如果没有传入event,则按照默认的click        });        var data = ${fns:toJson(workContentContractinfo.termList)};        if(data!=null) {            for (var i = 0; i < data.length; i++) {                addRowTerm('#termTableList', termIdx, termTpl, data[i]);            }        }    });    function addRowTerm(list, idx, tpl, row){        bornTemplete(list, idx, tpl, row, idx);        termIdx +=1;    }    function bornTemplete(list, idx, tpl, row, idx1){        var idx1 = $("#termTableList tr").length +1;        $(list).append(Mustache.render(tpl, {            idx: idx, delBtn: true, row: row,            order:idx1 + 1, idx1:idx1        }));        $(list+idx).find("select").each(function(){            $(this).val($(this).attr("data-value"));        });        $(list+idx).find("input[type='checkbox'], input[type='radio']").each(function(){            var ss = $(this).attr("data-value").split(',');            for (var i=0; i<ss.length; i++){                if($(this).val() == ss[i]){                    $(this).attr("checked","checked");                }            }        });    }    function delRow(obj, prefix,idx){        var id = $(prefix+"_id");        var delFlag = $(prefix+"_delFlag");        if(id.val()==null||id.val()==''){            $(obj).parent().parent().remove();        }else {            delFlag.val("1");            $(obj).parent().parent().hide();        }    }    function genDetailStr(){        var contractJson = $("#subForm").serializeJson();        var termJson = genTermJson();        if(termJson!=null){            console.log(termJson);            contractJson["termList"]=JSON.parse(termJson);        }        console.log(contractJson);        return JSON.stringify(contractJson);    }    function genTermJson(){        var costList = $("#termTableList tr");        if(costList.length==0){            return null;        }        var contentStr = "[";        for(var j=0; j<costList.length;j++){            contentStr+="{"            var idstr = $(costList[j]).attr("id");            var detail = $("tr[id="+idstr+"] .contentDetail");            for(var i=0; i<detail.length;i++){                contentStr+='"'                contentStr+=$(detail[i]).attr("subName");                contentStr+='"'                contentStr+=":";                contentStr+='"'                contentStr+=$(detail[i]).val();                contentStr+='"'                if(i!=detail.length-1){                    contentStr+=","                }            }            contentStr+="}"            if(j!=costList.length-1){                contentStr+=","            }        }        contentStr += "]";        return contentStr;    }    function genSecondDetailStr(){        return '';    }</script></body></html>
 |