$paytype = 0; //获取href里面的参数 function getUrlParam(name) { var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); //构造一个含有目标参数的正则表达式对象 var r = window.location.search.substr(1).match(reg); //匹配目标参数 if (r != null) return unescape(r[2]); return null; //返回参数值 } var listtypeoptions = []; var type = 0; var setpaytype = function (ntype) { switch (ntype) { case 41: $paytype = 1; $('#txtTitle').html('项目主材付款单'); break; case 42: $paytype = 2; $('#txtTitle').html('项目辅材付款单'); break; case 43: $paytype = 3; $('#txtTitle').html('项目施工费/措施费付款单'); break; case 45: $paytype = 4; $('#txtTitle').html('房产付款单'); break; case 46: $paytype = 5; $('#txtTitle').html('机械设备付款单'); break; case 47: $paytype = 6; $('#txtTitle').html('固定资产/周转材料付款单'); break; case 51: $paytype = 7; $('#txtTitle').html('周转材料付款单'); break; case 48: $paytype = 8; $('#txtTitle').html('行政办公设备/车辆付款单'); break; case 49: $paytype = 9; $('#txtTitle').html('设备维修/改装付款单'); break; case 52: $paytype = 10; $('#txtTitle').html('桩机配件采购付款单'); break; case 50: $paytype = 11; $('#txtTitle').html('设备部劳务班组费用付款单'); break; case 54: $paytype = 13; $('#txtTitle').html('运输费用付款单'); break; case 4801: $paytype = 801; $('#txtTitle').html('行政办公设备付款单'); break; case 4802: $paytype = 802; $('#txtTitle').html('行政车辆付款单'); break; case 4803: $paytype = 803; $('#txtTitle').html('电脑/打印机/会议系统付款单'); break; case 4901: $paytype = 901; $('#txtTitle').html('设备委外维修付款单'); break; case 4902: $paytype = 902; $('#txtTitle').html('设备改造付款单'); break; } } // 金额转大写 var changeMoneyToChinese = function (money) { //汉字的数字 var cnNums = new Array('零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖'); //基本单位 var cnIntRadice = new Array('', '拾', '佰', '仟'); //对应整数部分扩展单位 var cnIntUnits = new Array('', '万', '亿', '兆'); //对应小数部分单位 var cnDecUnits = new Array('角', '分', '毫', '厘'); //整数金额时后面跟的字符 var cnInteger = '整'; //整型完以后的单位 var cnIntLast = '元'; //最大处理的数字 var maxNum = 999999999999999.9999; //金额整数部分 var integerNum; //金额小数部分 var decimalNum; //输出的中文金额字符串 var chineseStr = ''; //分离金额后用的数组,预定义 var parts; if (money == '') { return ''; } money = parseFloat(money); if (money >= maxNum) { //超出最大处理数字 toastr.warning("付款总额超出最大范围"); return ''; } if (money == 0) { chineseStr = cnNums[0] + cnIntLast + cnInteger; return chineseStr; } //转换为字符串 money = money.toString(); if (money.indexOf('.') == -1) { integerNum = money; decimalNum = ''; } else { parts = money.split('.'); integerNum = parts[0]; decimalNum = parts[1].substr(0, 4); } //获取整型部分转换 if (parseInt(integerNum, 10) > 0) { var zeroCount = 0; var IntLen = integerNum.length; for (var i = 0; i < IntLen; i++) { var n = integerNum.substr(i, 1); var p = IntLen - i - 1; var q = p / 4; var m = p % 4; if (n == '0') { zeroCount++; } else { if (zeroCount > 0) { chineseStr += cnNums[0]; } //归零 zeroCount = 0; chineseStr += cnNums[parseInt(n)] + cnIntRadice[m]; } if (m == 0 && zeroCount < 4) { chineseStr += cnIntUnits[q]; } } chineseStr += cnIntLast; } //小数部分 if (decimalNum != '') { var decLen = decimalNum.length; for (var i = 0; i < decLen; i++) { var n = decimalNum.substr(i, 1); if (n != '0') { chineseStr += cnNums[Number(n)] + cnDecUnits[i]; } } } if (chineseStr == '') { chineseStr += cnNums[0] + cnIntLast + cnInteger; } else if (decimalNum == '') { chineseStr += cnInteger; } return chineseStr; } //获取默认单据号与名称 var getusername = function (type) { if ($.trim(sysid) == '') { $.ajax({ url: "/oa/General/GetLoad", async: false, cache: false, dataType: "json", success: function (data) { $('input[name="fm_otherexpenditureinfo.Code"]').val(data.orderCode); $('select[name="fm_otherexpenditureinfo.DepartmentID"]').val(data.deptid); $('select[name="fm_otherexpenditureinfo.DepartmentID"]').trigger("chosen:updated"); switch (type) { case 41: $('input[name="fm_otherexpenditureinfo.Title"]').val('项目主材付款(' + data.username + ')'); break; case 42: $('input[name="fm_otherexpenditureinfo.Title"]').val('项目辅材付款(' + data.username + ')'); break; case 43: $('input[name="fm_otherexpenditureinfo.Title"]').val('项目施工费/措施费付款(' + data.username + ')'); break; case 44: $('input[name="fm_otherexpenditureinfo.Title"]').val('办公消耗品付款(' + data.username + ')'); break; case 45: $('input[name="fm_otherexpenditureinfo.Title"]').val('房产付款(' + data.username + ')'); break; case 46: $('input[name="fm_otherexpenditureinfo.Title"]').val('机械设备付款(' + data.username + ')'); break; case 47: $('input[name="fm_otherexpenditureinfo.Title"]').val('固定资产/周转材料付款(' + data.username + ')'); break; case 48: $('input[name="fm_otherexpenditureinfo.Title"]').val('行政办公设备/车辆付款(' + data.username + ')'); break; case 49: $('input[name="fm_otherexpenditureinfo.Title"]').val('设备维修/改装付款(' + data.username + ')'); break; case 50: $('input[name="fm_otherexpenditureinfo.Title"]').val('设备部劳务班组费用付款(' + data.username + ')'); break; case 51: $('input[name="fm_otherexpenditureinfo.Title"]').val('周转材料付款(' + data.username + ')'); break; case 52: $('input[name="fm_otherexpenditureinfo.Title"]').val('桩机配件采购付款(' + data.username + ')'); break; case 54: $('input[name="fm_otherexpenditureinfo.Title"]').val('运输费付款(' + data.username + ')'); break; case 4801: $('input[name="fm_otherexpenditureinfo.Title"]').val('行政办公设备付款(' + data.username + ')'); break; case 4802: $('input[name="fm_otherexpenditureinfo.Title"]').val('行政车辆付款(' + data.username + ')'); break; case 4803: $('input[name="fm_otherexpenditureinfo.Title"]').val('电脑/打印机/会议系统付款(' + data.username + ')'); break; case 4901: $('input[name="fm_otherexpenditureinfo.Title"]').val('设备委外维修付款(' + data.username + ')'); break; case 4902: $('input[name="fm_otherexpenditureinfo.Title"]').val('设备改造付款(' + data.username + ')'); break; } } }); } } var orderCode = ''; //选择供应商后绑定数据 var setCompanyInfo = function (id, name, UserName, Phone, BankName, BankDeposit, BankAccount) { $('#fm_otherexpenditureinfo_IncomeUnitID').val(id); $('#fm_otherexpenditureinfo_IncomeUnitName').val(name); $('#fm_otherexpenditureinfo_AccountOpenBankAccount').val(BankName); $('#fm_otherexpenditureinfo_CashBankName').val(BankDeposit); $('#fm_otherexpenditureinfo_ReceivablesAccount').val(BankAccount); loadOrders(); layer.closeAll(); } //收入单位选择 var getcompanyinfo = function () { layer.open({ type: 2, title: '收款单位', shadeClose: true, shade: 0.4, area: ['90%', '90%'], content: "/oa/General/company" }); } var showorder = function (orderCode) { if($.trim(orderCode)!='') { $.ajax({ url: '/oa/General/GetOrderUrl?ordercode=' + orderCode, async: false, cache: false, dataType: "json", success: function (data) { appendTabByUrl(data, "查看单据详情"); } }); } } //加载项目和供应商之间的订单信息 var loadOrders = function () { var projectid = $.trim($('#fm_otherexpenditureinfo_ProjectID').val()); var PartyBId = $.trim($('#fm_otherexpenditureinfo_IncomeUnitID').val()); $('.subtradd_js').hide(); $('#girdtable').find('.body').remove(); if (projectid != '' && PartyBId != '' && projectid != '0' && PartyBId != '0') { $.ajax({ url: '/oa/General/GetOrdersByProjectAndGYS?fktype=' + type + '&type=' + $paytype + '&&projectid=' + projectid + '&&PartyBId=' + PartyBId, async: false, cache: false, dataType: "json", success: function (data) { var html = ''; if (data.length > 0) { $.each(data, function (i, r) { $('.subtradd_js').click(); $('#girdtable').find('.body').eq(i).find('input[name="fm_otherexpenditureinfo_dtl.ExpenditureTypeName"]').val(r.orderCode); $('#girdtable').find('.body').eq(i).find('input[name="fm_otherexpenditureinfo_dtl.ExpenditureTypeName"]').removeAttr('disabled'); $('#girdtable').find('.body').eq(i).find('input[name="fm_otherexpenditureinfo_dtl.ExpenditureTypeName"]').attr('readonly', 'readonly'); $('#girdtable').find('.body').eq(i).find('input[name="fm_otherexpenditureinfo_dtl.ExpenditureTypeName"]').attr('onclick', 'showorder(\'' + r.orderCode + '\')'); $('#girdtable').find('.body').eq(i).find('input[name="fm_otherexpenditureinfo_dtl.ExpenditureTypeName"]').css({ 'background': 'WhiteSmoke', 'cursor': 'pointer' }); $('#girdtable').find('.body').eq(i).find('input[name="fm_otherexpenditureinfo_dtl.Remarks"]').val(r.remark); $('#girdtable').find('.body').eq(i).find('input[name="fm_otherexpenditureinfo_dtl.ExpenditureNotContainTaxAmount"]').val(r.balance); }); } countmoney(); } }); } } function JsonDateToDate(jsondate) { var date = new Date(parseInt(jsondate.replace("/Date(", "").replace(")/", ""), 10)); return date; } Date.prototype.Format = function (formatStr) { var str = formatStr; var Week = ['日', '一', '二', '三', '四', '五', '六']; var mt = this.getMonth() + 1; str = str.replace(/yyyy|YYYY/, this.getFullYear()); str = str.replace(/yy|YY/, (this.getYear() % 100) > 9 ? (this.getYear() % 100).toString() : '0' + (this.getYear() % 100)); str = str.replace(/MM/, mt > 9 ? mt : '0' + mt); str = str.replace(/M/g, mt); str = str.replace(/w|W/g, Week[this.getDay()]); str = str.replace(/dd|DD/, this.getDate() > 9 ? this.getDate().toString() : '0' + this.getDate()); str = str.replace(/d|D/g, this.getDate()); str = str.replace(/hh|HH/, this.getHours() > 9 ? this.getHours().toString() : '0' + this.getHours()); str = str.replace(/h|H/g, this.getHours()); str = str.replace(/mm/, this.getMinutes() > 9 ? this.getMinutes().toString() : '0' + this.getMinutes()); str = str.replace(/m/g, this.getMinutes()); str = str.replace(/ss|SS/, this.getSeconds() > 9 ? this.getSeconds().toString() : '0' + this.getSeconds()); str = str.replace(/s|S/g, this.getSeconds()); return str; } //选择计算金额 $(document).on('change', $('input[name="fm_otherexpenditureinfo_dtl.ExpenditureNotContainTaxAmount"]'), function (i, r) { countmoney(); }); //计算总金额 var countmoney = function () { var count = 0; $.each($('input[name="fm_otherexpenditureinfo_dtl.ExpenditureNotContainTaxAmount"]'), function () { var val = $.trim($(this).val()); val = isNaN(val) ? 0 : val; val = val == '' ? 0 : parseFloat(val); count += val; }); $('input[name="fm_otherexpenditureinfo.TotalExpenditure"]').val(count); $('input[name="fm_otherexpenditureinfo.CapitalizationTotalExpenditure"]').val(changeMoneyToChinese(count)); } ///数据加载 var initData = function () { $('.subtradd_js').hide(); var url = window.location.href; type = parseInt(getUrlParam('type')); if ($.trim(sysid) != '' && initItems != null) { type = parseInt(initItems.ExpenditureBusinessTypeID); } if (type == 42) { $('#fm_otherexpenditureinfo_SettlementNumber').parent().parent().remove(); } setpaytype(type); var ExpenditureBusinessTypeName = $('#txtTitle').html().replace('付款单', ''); if (sysid != '' && initItems != null) { ExpenditureBusinessTypeName = initItems.ExpenditureBusinessTypeName; } var inputs = ''; inputs += ''; $('input[name="fm_otherexpenditureinfo.Code"]').after(inputs); inputs = ''; $('input[name="fm_otherexpenditureinfo.Code"]').after(inputs); var SettlementMethodName = (initItems != null && $.trim(initItems.SettlementMethodName) != '') ? initItems.SettlementMethodName : $('select[name="fm_otherexpenditureinfo.SettlementMethodID"]').find('option:eq(0)').text(); inputs = ''; $('select[name="fm_otherexpenditureinfo.SettlementMethodID"]').after(inputs); $('select[name="fm_otherexpenditureinfo.SettlementMethodID"]').bind('change', function () { var text = $(this).find('option:selected').text(); $('input[name="fm_otherexpenditureinfo.SettlementMethodName"]').val(text); }); inputs = ''; $('#fm_otherexpenditureinfo_ProjectID').after(inputs); if ($.trim(initItems.ProjectName) != '') { $('input[name="fm_otherexpenditureinfo.ProjectName"]').val(initItems.ProjectName); } inputs = ''; $('#fm_otherexpenditureinfo_IncomeUnitName').after(inputs); if ($.trim(initItems.IncomeUnitID) != '') { $('input[name="fm_otherexpenditureinfo.IncomeUnitID"]').val(initItems.IncomeUnitID); } $('input[name="fm_otherexpenditureinfo.IsInPlan"]:eq(0)').attr("value", '1'); $('input[name="fm_otherexpenditureinfo.IsInPlan"]:eq(1)').attr("value", '2'); if ($.trim(sysid) != '' && initItems != null) { var sprintbtn = '表单打印'; sprintbtn += '审核意见打印'; $('#txtTitle').append(sprintbtn); } getusername(type); //绑定收款单位改变触发事件 $('#fm_otherexpenditureinfo_IncomeUnitName').bind('focus', function () { getcompanyinfo(); }); //绑定项目改变触发事件 $('#fm_otherexpenditureinfo_ProjectID').bind('change', function () { var projectname = $('#fm_otherexpenditureinfo_ProjectID').find('option:selected').text(); $('#fm_otherexpenditureinfo_ProjectName').val(projectname); loadOrders() }); if ($.trim(sysid) == '') { loadOrders(); } ///给查看时给订单明细中采购单号添加点击事件 $('input[name="fm_otherexpenditureinfo_dtl.ExpenditureTypeName"]').removeAttr('disabled'); $('input[name="fm_otherexpenditureinfo_dtl.ExpenditureTypeName"]').attr('readonly', 'readonly'); $('input[name="fm_otherexpenditureinfo_dtl.ExpenditureTypeName"]').css({ 'background': 'WhiteSmoke', 'cursor': 'pointer' }); $('input[name="fm_otherexpenditureinfo_dtl.ExpenditureTypeName"]').bind('click', function () { var order = $(this).val(); showorder(order); }); }