/** * 初始*/ initData = function () { LoadData(); LoadPage(); BindEvent(); ProcesField(); ResetShowType(); BuildSumDiv(); if (window.taskid == '') { $("#SumDiv").remove(); } } /** * 核价信息数据*/ var PriceReview = {}; /** * 加载数据*/ function LoadData() { var sysid = window.sysid; // 主表数据 $.ajax({ url: "/ERP/Erp_PriceReview/GetBizPageData?sysid=" + sysid , async: false , cache: false , dataType: "json", success: function (data) { PriceReview = data; } }); } /** * 加载页面绑定数据*/ function LoadPage() { // 绑定主表数据 $("[name='erp_price_review.code']").val(PriceReview.code); $("[name='erp_price_review.title']").val(PriceReview.title); $("[name='erp_price_review.date_start']").val(JsonDateToDate(PriceReview.date_start).Format('yyyy-MM-dd')); $("[name='erp_price_review.date_end']").val(JsonDateToDate(PriceReview.date_end).Format('yyyy-MM-dd')); if (window.sysid == '') { $("[name='erp_price_review.project_id']").prepend(''); $("[name='erp_price_review.project_id']").find("option:contains('请选择')").attr("selected", true); $("[name='erp_price_review.supplier_id']").prepend(''); $("[name='erp_price_review.supplier_id']").find("option:contains('请选择')").attr("selected", true); $("[name='erp_price_review.date_start']").val(''); $("[name='erp_price_review.date_end']").val(''); } else { $("[name='erp_price_review.project_id']").val(PriceReview.project_id); $("[name='erp_price_review.supplier_id']").val(PriceReview.supplier_id); } $("[name='erp_price_review.project_id']").trigger("chosen:updated"); $("[name='erp_price_review.supplier_id']").trigger("chosen:updated"); $("[name='erp_price_review.remark']").val(PriceReview.remark); // 绑定子表数据 $.each(PriceReview.Children, function (i, r) { $('#girdtable .body').eq(i).find("[name='erp_price_review_dtl.materielinfo_code']").val(r.materielinfo_code); $('#girdtable .body').eq(i).find("[name='erp_price_review_dtl.materielinfo_name']").val(r.materielinfo_name); $('#girdtable .body').eq(i).find("[name='erp_price_review_dtl.specification']").val(r.specification); $('#girdtable .body').eq(i).find("[name='erp_price_review_dtl.unit']").val(r.unit); $('#girdtable .body').eq(i).find("[name='erp_price_review_dtl.count']").val(r.count); $('#girdtable .body').eq(i).find("[name='erp_price_review_dtl.original_amount']").val(r.original_amount); $('#girdtable .body').eq(i).find("[name='erp_price_review_dtl.original_no_taxrate_amount']").val(r.original_no_taxrate_amount); $('#girdtable .body').eq(i).find("[name='erp_price_review_dtl.new_price']").val(r.new_price); $('#girdtable .body').eq(i).find("[name='erp_price_review_dtl.new_price']").attr("jsonData", ' ' + JSON.stringify(r) + ''); $('#girdtable .body').eq(i).find("[name='erp_price_review_dtl.new_amount']").val(r.new_amount); $('#girdtable .body').eq(i).find("[name='erp_price_review_dtl.new_no_taxrate_amount']").val(r.new_no_taxrate_amount); $('#girdtable .body').eq(i).find("[name='erp_price_review_dtl.differ_amount']").val(r.differ_amount); $('#girdtable .body').eq(i).find("[name='erp_price_review_dtl.differ_no_taxrate_amount']").val(r.differ_no_taxrate_amount); if (i + 1 != PriceReview.Children.length) { if (window.taskid == '') { $(".subtradd_js").click(); } } }); } /** * 加载子表数据*/ function LoadDtl() { var projectId = $("[name='erp_price_review.project_id']").val(); var supplierId = $("[name='erp_price_review.supplier_id']").val(); var dateStart = $("[name='erp_price_review.date_start']").val(); var dateEnd = $("[name='erp_price_review.date_end']").val(); if (projectId == '' || supplierId == '' || dateStart == '' || dateEnd == '') { return false; } $('#girdtable .body').remove(); $("#SumDiv").remove(); $.ajax({ url: '/ERP/Erp_PriceReview/GetDtlForPage', data: { ProjectId: projectId, SupplierId: supplierId, DateStart: dateStart, DateEnd: dateEnd }, async: true, type: 'POST', success: function (data) { if (data.Result != true) { layer.alert(data.Message); } else { if (data.DataInfo.length>0) { // 绑定子表数据 $.each(data.DataInfo, function (i, r) { if (i + 1 <= data.DataInfo.length) { $(".subtradd_js").click(); } $('#girdtable .body').eq(i).find("[name='erp_price_review_dtl.materielinfo_code']").val(r.materielinfo_code); $('#girdtable .body').eq(i).find("[name='erp_price_review_dtl.materielinfo_name']").val(r.materielinfo_name); $('#girdtable .body').eq(i).find("[name='erp_price_review_dtl.specification']").val(r.specification); $('#girdtable .body').eq(i).find("[name='erp_price_review_dtl.unit']").val(r.unit); $('#girdtable .body').eq(i).find("[name='erp_price_review_dtl.count']").val(r.count); $('#girdtable .body').eq(i).find("[name='erp_price_review_dtl.original_amount']").val(r.original_amount); $('#girdtable .body').eq(i).find("[name='erp_price_review_dtl.original_no_taxrate_amount']").val(r.original_no_taxrate_amount); $('#girdtable .body').eq(i).find("[name='erp_price_review_dtl.new_price']").val(r.new_price); $('#girdtable .body').eq(i).find("[name='erp_price_review_dtl.new_price']").attr("jsonData", ' ' + JSON.stringify(r) + ''); $('#girdtable .body').eq(i).find("[name='erp_price_review_dtl.new_amount']").val('待计算'); $('#girdtable .body').eq(i).find("[name='erp_price_review_dtl.new_no_taxrate_amount']").val('待计算'); $('#girdtable .body').eq(i).find("[name='erp_price_review_dtl.differ_amount']").val('待计算'); $('#girdtable .body').eq(i).find("[name='erp_price_review_dtl.differ_no_taxrate_amount']").val('待计算'); }); BuildSumDiv(); } else { layer.alert("没有符合条件的混凝土入库单!"); } } }, }); } /** * * 计算子表数据 * @param {Number} i 行索引 */ function CalculatePriceReviewDtl(i) { $('#girdtable .body').eq(i).find("[name='erp_price_review_dtl.new_amount']").val('计算中...'); $('#girdtable .body').eq(i).find("[name='erp_price_review_dtl.new_no_taxrate_amount']").val('计算中...'); $('#girdtable .body').eq(i).find("[name='erp_price_review_dtl.differ_amount']").val('待计算'); $('#girdtable .body').eq(i).find("[name='erp_price_review_dtl.differ_no_taxrate_amount']").val('计算中...'); var rowData = JSON.parse($('#girdtable .body').eq(i).find("[name='erp_price_review_dtl.new_price']").attr("jsonData")); rowData.new_price = $('#girdtable .body').eq(i).find("[name='erp_price_review_dtl.new_price']").val(); $.ajax({ url: '/ERP/Erp_PriceReview/CalculatePriceReviewDtl', data: rowData, async: true, type: 'POST', success: function (data) { debugger; if (data.Result != true) { layer.alert(data.Message); } else { // 绑定子表数据 var r = data.DataInfo; $('#girdtable .body').eq(i).find("[name='erp_price_review_dtl.new_amount']").val(r.new_amount); $('#girdtable .body').eq(i).find("[name='erp_price_review_dtl.new_no_taxrate_amount']").val(r.new_no_taxrate_amount); $('#girdtable .body').eq(i).find("[name='erp_price_review_dtl.differ_amount']").val(r.differ_amount); $('#girdtable .body').eq(i).find("[name='erp_price_review_dtl.differ_no_taxrate_amount']").val(r.differ_no_taxrate_amount); //删除已经有的信息 $('#girdtable .body').eq(i).find('[name="erp_price_review_dtl.relation_id"]').remove(); $('#girdtable .body').eq(i).find('[name="erp_price_review_dtl.differ_no_taxrate_amount_dtl"]').remove(); var fieldName = 'relation_id'; var fieldValue = r.relation_id; var hiddenHtml = ''; fieldName = 'differ_no_taxrate_amount_dtl'; fieldValue = r.differ_no_taxrate_amount_dtl; hiddenHtml += ''; $('#girdtable .body').eq(i).find("[name='erp_price_review_dtl.materielinfo_code']").after(hiddenHtml); $('#girdtable .body').eq(i).find("[name='erp_price_review_dtl.new_amount']").attr("jsonData", '' + JSON.stringify(r) + ''); BuildSumDiv(); } }, beforeSend: function () { layer.closeAll(); parent.layer.closeAll(); } }); } /** * 处理一些特殊字段*/ function ProcesField() { /* * 把页面上没展示的字段 对应生成出隐藏框 * 这样可以在提交的时候在表单里面取得到 */ $.each(PriceReview, function (i, v) { if (!$("input[name='erp_price_review." + i + "']").length > 0) { v = v == null ? "" : v; var hiddenHtml = ''; $("[name='erp_price_review.orderNum']").after(hiddenHtml); } }); $.each(PriceReview.Children, function (itemIndex, itmeData) { $.each(itmeData, function (i, v) { if (!$('#girdtable .body').eq(itemIndex).find("[name='erp_price_review_dtl." + i + "']").length > 0) { v = v == "null" ? "" : v; var hiddenHtml = ''; $("[name='erp_price_review_dtl.materielinfo_code']").eq(itemIndex).after(hiddenHtml); } }); }); } /** * 重置展现方式(隐藏一下东西什么什么的)*/ function ResetShowType() { $(".subtradd_js").hide(); $(".subtrdel_js").hide(); } /** * 绑定框框的事件*/ function BindEvent() { $("[name='erp_price_review.date_start'],[name='erp_price_review.end'],[name='erp_price_review.project_id'],[name='erp_price_review.supplier_id']").change(function () { LoadDtl(); }); $("[name='erp_price_review_dtl.new_price']").change(function () { var index = $("#girdtable .body [name='" + this.name + "']").index(this); CalculatePriceReviewDtl(index); }); $("[name='erp_price_review_dtl.new_price']").keyup(function () { $(this).val($(this).val().toString().match(/^\d+(?:\.\d{0,8})?/)); }); $("[name='erp_price_review_dtl.new_price']").mouseover(function () { if ($(this).attr("jsonData") == undefined || $(this).attr("jsonData") == '') { return false; } var rowData = JSON.parse($(this).attr("jsonData")); var price = accDiv(rowData.original_amount, rowData.count); var msg = '原平均含税单价:' + price; layer.tips(msg, this, { tips: [3, '#4284c69e'], time: 3000 }); }); $("[name='erp_price_review_dtl.materielinfo_code']").css({ "color": "cornflowerblue", "cursor": "pointer" }); $("[name='erp_price_review_dtl.materielinfo_code']").parent("td").click(function () { var jsonDataStr = $(this).parent().children().find("[name='erp_price_review_dtl.new_price']").attr("jsonData"); if (jsonDataStr == undefined || jsonDataStr == '') { return false; } var rowData = JSON.parse(jsonDataStr); var relationIdArry = rowData.relation_id.split('^'); var inOrderDtlIds = ''; $.each(relationIdArry, function (i, v) { inOrderDtlIds += v.split('_')[1]; if (i + 1 < relationIdArry.length) { inOrderDtlIds += '^'; } }); var url = '/erp/Erp_inorder/indetail?InOrderDtlIds=' + inOrderDtlIds + '&differ_no_taxrate_amount_dtl=' + rowData.differ_no_taxrate_amount_dtl; appendTabByUrl(url, "入库单明细"); }); window.onresize = function () { BuildSumDiv(); }; } /** * 构建合计行*/ BuildSumDiv = function () { //$("#girdtable") $("#SumDiv").remove(); var htmlString = '