系统业务需要
表格table的数据,根据用户的选择来加载的
append()方法
拼接元素
function selectAssayItem(el, id) {
var sampBizModeId = $(el).closest("tr").find("td[columnname='sampBizModeId']").text();
var testObjectId = $(el).closest("tr").find("td[columnname='testObjectId']").text();
if (!sampBizModeId) {
$.app.alert({
title: "警告",
message: "请先选择检测对象!"
});
return;
}
var url = ctx + "/biz/assay/assay-order/select-assay-item?sampleId=" + id + "&testObjectId=" + testObjectId + "&sampBizModeId=" + sampBizModeId;
$.app.modalDialog("选择检测项目", url, {
width: 980, height: 650,
ok: function (modal) {
if ($('#table-fxxmmx').find("tbody tr").length == 0) {
$.app.alert({
title: "提示",
message: "请选择需要检测的项目"
});
return;
}
//获取form的所有字段和值
var selectItemTableData = getTableContent($('#table-fxxmmx'));
//获取化验项目
var assayItemNames = "";
var assayItems = JSON.parse(selectItemTableData);
$.each(assayItems, function (j, item) {
if (assayItemNames == "") {
assayItemNames += item['assayItemName'];
} else {
assayItemNames += "," + item['assayItemName'];
}
});
var money = $('#shoufeijine').val();
//获取选择的组合项目ids
var selectItemCateIds = "";
var checkbox = $.table.getAllSelectedCheckbox($("#table-zhxm"));
if (checkbox.length) {
var arr = checkbox.serializeArray();
$.each(arr, function (i, item) {
if (selectItemCateIds == "") {
selectItemCateIds += item.value;
} else {
selectItemCateIds += "," + item.value;
}
});
}
//把选择的数据写入表格中
$(el).parent().parent().find('td').each(function (i, td) {
if ($(td).attr('columnname')) {
if ($(td).attr('columnname') == 'selectItemTableData') {//化验项目table数据
$(td).html('');
$(td).append(selectItemTableData);
} else if ($(td).attr('columnname') == 'totalCost') {
$(td).html('');
$(td).append(money);
} else if ($(td).attr('columnname') == 'assayItemNames') {//化验项目中文名称
$(td).html('');
$(td).append(assayItemNames);
} else if ($(td).attr('columnname') == 'selectItemCateIds') {//选择的化验项目分组
$(td).html('');
$(td).append(selectItemCateIds);
}
}
});
$.app.cancelModelDialog();
// $.table.initCheckbox($('#sampleTable'));
//选择完化验项目之后需要重新遍历表格的化验费用 写入委托单的表单中
var assayCostCount = 0;
$('#sampleTable').find("tbody tr").each(function (i, item) {
$.each(item.childNodes, function (j, item) {
var columnName = $(item).attr("columnName");
if (columnName == "totalCost") {
var value = item.innerHTML;
if (value) {
assayCostCount += parseFloat(value);
}
}
});
});
$("#assayCostCount").val(assayCostCount);
$("#sampRegAmount").val($('#sampleTable').find("tbody tr").length);//样品数量
},
showAfter: function () { //回写已经选择的化验项目信息
var selectItemTableData = "";
var money = "";
var selectItemCateIds = "";
//把选择的数据写入表格中
$(el).parent().parent().find('td').each(function (i, td) {
if ($(td).attr('columnname')) {
if ($(td).attr('columnname') == 'selectItemTableData') {//化验项目table数据
selectItemTableData = $(td).html();
} else if ($(td).attr('columnname') == 'totalCost') {
money = $(td).html();
} else if ($(td).attr('columnname') == 'selectItemCateIds') {
selectItemCateIds = $(td).html();
}
}
});
if (selectItemTableData != "") {
$("#shoufeijine").val(money);
var jcxmTrs = $("#table-jcxm").find("tbody tr");
var jsonData = JSON.parse(selectItemTableData);
//遍历单项表格 然后把包括在分组中的化验项目勾上
jcxmTrs.each(function (i, tr) {
var itemId = $(tr).find("td[columnname='id']").html();
for (var i = 0, len = jsonData.length; i < len; i++) {
if (itemId == jsonData[i].assayBizItemId) {
var cb = $(tr).find(":checkbox");
cb.prop("checked", true);
}
}
});
//添加已经选择的化验项目
$("#table-fxxmmx tbody").html('');
$.each(jsonData, function (j, item) {
var checked = "";
if (item.reportable == 1) {
checked = 'checked="checked"';
} else {
checked = '';
}
var tr = $('<tr></tr>');
var td0 = '<td columnName="reportable" class="check"><input name="ids" type="checkbox" ' + checked + ' ></td>';
var td1 = $('<td columnName="assayItemName" ></td>').append(item.assayItemName);
var dataValue ="";
var dataName = "";
if (item.assayStandard) {
dataValue = item.assayStandard;
dataName = item.assayStandardName;
}
var td2 = $('<td columnName="assayStandard" data-dataId="'+item.assayItemNo+'"></td>').append('<a href="#" data-dataId="'+item.assayItemNo+'" data-value="'+dataValue+'" >' + dataName + '</a>'); /*检测标准*/
var td3 = $('<td columnName="settSum"></td>').append(item.settSum != null ? item.settSum : item.assayItemCost);
var td4 = $('<td columnName="assayBizItemId" style="display: none"></td>').append(item.assayBizItemId);
var td5 = $('<td columnName="bizItemId" style="display: none"></td>').append(item.assayItemNo);
var a = $('<a href="#" onclick="del(this);"><i class="icon-trash"></i> </a>');
var td6 = $('<td style="text-align: center"></td>').append(a);
tr.append(td0).append(td1).append(td2).append(td3).append(td4).append(td5);//.append(td6);
// 添加保存的样品信息到表格
$("#table-fxxmmx tbody").append(tr);
if (item.assayBizItemCharge) {
money += item.assayBizItemCharge;
}
});
$.table.initCheckbox($('#table-fxxmmx'));
}
if (selectItemCateIds != "") {
var zhxmTrs = $("#table-zhxm").find("tbody tr");
// 遍历单项表格 然后把包括在分组中的化验项目勾上
zhxmTrs.each(function (i, tr) {
var itemId = $(tr).find("td[columnname='id']").html();
if (selectItemCateIds.indexOf(itemId) != -1) {
var cb = $(tr).find(":checkbox");
cb.prop("checked", true);
}
});
}
}
});
}