/*补充合同表单Js*/
var htKeyId;
var currentUserName = "";
var $classfy;
var $ztype;
var tabIndex;
var $childTable;
/*初始执行*/
initData = function () {
htKeyId = getQueryVariable("keyid");
if (window.sysid === '' && htKeyId != undefined && htKeyId !== "") {
$.ajax({
url: "/Replenish/InitDataByNum?sysid=" + htKeyId,
async: false,
cache: false,
dataType: "json",
success: function (data) {
currentUserName = data.CurrentUserName;
window.initItems = data;
window.childrenItems = data.Children;
$classfy = data.Classfy;
$ztype = data.Type;
var $data = data.Children;
/*业务主表数据加载*/
for (var name in data) {
if (name !== "children") {
var $value = data[name];
if ($value != null && $value !== '') {
var $control = $(".main [field='" + name + "']");
var $controltype = $control.prop("tagName");
if ($controltype != null && $controltype !== '') {
$type = $control.attr("type");
if ($type !== "radio" && $type !== "checkbox") {
$(".main [field='" + name + "']").val($value);
}
if ($type === "radio") {
$(".main [field='" + name + "'][value='" + $value + "']").attr("checked", "checked");
}
if ($type === "checkbox") {
var $items = $(".main [field='" + name + "']");
var $arr = $value.split(",");
$.each($items, function (index, obj) {
var value = $(obj).attr("value");
if (contains($arr, value))
$(obj).attr("checked", "checked");
});
}
}
}
}
}
/*业务字表数据加载*/
if ($data != null && $data.length > 0) {
var $table = $('#girdtable');
$table.find(".body").remove();
$.each($data, function (index, item) {
var $tabelContent = InitTabBodyByData($children.columns, item);
$table.append($tabelContent);
});
$childTable = $children.columns[0].table;
}
}
});
var $title = "";
switch ($ztype) {
case "1":
$title = "主材采购";
break;
case "3":
$title = "施工费/措施费";
break;
case "4":
$title = "房产采购";
break;
case "5":
$title = "机械设备";
break;
case "6":
$title = "固定资产/周转材料";
break;
case "8":
$title = "行政办公设备/行政车辆";
break;
case "9":
$title = "设备维修/改装";
break;
case "10":
$title = "桩机配件采购";
break;
case "11":
$title = "设备部劳务班组费用";
break;
case "13":
$title = "运输费用";
break;
}
$("#txtTitle").html($title + "补充合同");
$("#oa_contractpretrial_Title").val($title + "补充合同(" + currentUserName + ")");
var $pcontrol = $('');
$(".main").append($pcontrol);
reloadAuthority();
} else {
var $pcontrol = $('');
$(".main").append($pcontrol);
$("#oa_contractpretrial_PartyBId").val(initItems.PartyBId);
var $title = "";
switch (initItems.Type) {
case "1":
$title = "主材采购";
break;
case "3":
$title = "施工费/措施费";
break;
case "4":
$title = "房产采购";
break;
case "5":
$title = "机械设备";
break;
case "6":
$title = "固定资产/周转材料";
break;
case "8":
$title = "行政办公设备/行政车辆";
break;
case "9":
$title = "设备维修/改装";
break;
case "10":
$title = "桩机配件采购";
break;
case "11":
$title = "设备部劳务班组费用";
break;
case "13":
$title = "运输费用";
break;
}
$("#txtTitle").html($title + "补充合同");
}
$(".subtradd_js").hide();
}
//构建表格行
function InitTabBodyByData(columns, item) {
var $row = $('
');
$.each(columns, function (index, obj) {
var $dfvalue = item[obj.field];
switch (obj.type) {
case "input":
$row.append(InitTableTextByData(obj, $dfvalue));
break;
case "combox":
$row.append(renderTableComboxByData(obj, $dfvalue));
break;
case "datetime":
$row.append(renderTableDatetimeByData(obj, $dfvalue));
break;
}
});
var $keyvalue = item["id"];
if ($keyvalue == '' || $keyvalue == undefined)
$keyvalue = item["Id"];
if ($keyvalue == '' || $keyvalue == undefined)
$keyvalue = item["ID"];
if (window.IsFirstStep)
var $hidden = $(' | ');
else $hidden = $(' | ');
$row.append($hidden);
return $row;
}
//初始化表格文本框
function InitTableTextByData(control, dfvalue) {
var $row = $(' | ');
var $control = $('');
if (!!$control && !!control.verify && control.verify !== "") {
$control.attr('isvalid', 'yes').attr('checkexpession', control.verify);
}
if (dfvalue !== undefined && dfvalue != null) {
$control.attr('value', dfvalue);
$control.attr('maxvalue', dfvalue);
}
$row.append($control);
return $row;
}
//选择供应商
$(document).on("click", "input[name='oa_contractpretrial.PartyB']", function () {
layer.open({
type: 2,
title: '供应商单位',
shadeClose: true,
shade: 0.4,
area: ['90%', '90%'],
content: "/oa/General/company"
});
});
//供应商赋值
setCompanyInfo = function (id, name, userName, Phone, BankName, BankDeposit, BankAccount) {
$('input[name="oa_contractpretrial.PartyBId"]').val(id);
$('input[name="oa_contractpretrial.PartyB"]').val(name);
$('input[name="oa_contractpretrial.PartyBDeputy"]').val(userName);
layer.closeAll();
}
$(document).ready(function () {
$(".grid").on("blur", "#oa_contractpretrialdtl_TotalPrice", function () {
countmoney();
});
$(".grid").on("blur", "#oa_contractpretrialdtl_UnitPrice", function () {
totalcompute();
});
$(".grid").on("blur", "#oa_contractpretrialdtl_Quantity", function () {
totalcompute();
});
$(".grid").on("change", "#oa_contractpretrialdtl_TaxRate", function () {
var $trindex = $(this).closest("tr").index();//行索引
var $value = $(this).val();
var $unitPrice = $('#girdtable').find('tr:eq("' + $trindex + '")').find("#oa_contractpretrialdtl_UnitPrice").val();
var $taxPrice = (parseFloat($unitPrice) / (1 + parseFloat($value) / 100) * (parseFloat($value) / 100)).toFixed(2);
var $nonTaxPrice = ($unitPrice - $taxPrice).toFixed(2);
if ($nonTaxPrice > 0)
$('#girdtable').find('tr:eq("' + $trindex + '")').find("#oa_contractpretrialdtl_NonTaxPrice").val($nonTaxPrice);
});
});
//计算金额
totalcompute = function () {
var total = 0;
$('.grid').find("table .body").each(function () {
var $price = $(this).find("#oa_contractpretrialdtl_UnitPrice").val();
var $count = $(this).find("#oa_contractpretrialdtl_Quantity").val();
var $value = $(this).find("select[name='oa_contractpretrialdtl.TaxRate']").val();
if ($count > 0 && $price)
total += parseFloat($price) * parseFloat($count);
var $taxPrice = (parseFloat($price) / (1 + parseFloat($value) / 100) * (parseFloat($value) / 100)).toFixed(2);
var $nonTaxPrice = ($price - $taxPrice).toFixed(2);
if ($nonTaxPrice > 0)
$(this).find("#oa_contractpretrialdtl_NonTaxPrice").val($nonTaxPrice);
});
$("#oa_contractpretrial_Amount").val(total);
}
//计算金额
countmoney = function () {
var total = 0;
$('.grid').find("table .body").each(function () {
var price = $(this).find("#oa_contractpretrialdtl_TotalPrice").val();
if (price > 0)
total += parseInt(price);
});
$("#oa_contractpretrial_Amount").val(total);
}
//删除字表行
deleteMethod = function () {
countmoney();
totalcompute();
}
//获取URL参数
getQueryVariable = function (parameter) {
var query = window.location.search.substring(1);
var vars = query.split("&");
for (var i = 0; i < vars.length; i++) {
var pair = vars[i].split("=");
if (pair[0] === parameter) { return pair[1]; }
}
return "";
}
//表单权限
reloadAuthority = function () {
$.each(window.authorize, function (index, obj) {
if (obj.Status === 0)//编辑
{
$("[name='" + obj.Field + "']").removeAttr("disabled").addClass("edit");
}
if (obj.Status === 1)//只读
{
$("[name='" + obj.Field + "']").attr("disabled", "disabled");
}
if (obj.Status === 2)//隐藏
{
if ($("[name='" + obj.Field + "']").closest("td").length > 0) {
var $tdindex = $("[name='" + obj.Field + "']").closest("td").index();//列索引
$('#girdtable tr').find('td:eq("' + $tdindex + '")').hide();
}
}
});
setTimeout("initDateTime()", 500);
}