var fun = { init: function () { commSelect.area_Pl_BA_LinkedSelect("#select_block","#select_park","#select_area"); fun.dateInit(); //收费员初始化 fun.tollperInit(); fun.monthdateInit(); fun.createTableData(); // fun.createparkTableData(); fun.initSummaryFeeData(); }, //收费员下拉框 tollperInit:function () { var data = fun.getChargerMsg(); var htmls = ''; var html = ''; var chargerCodes = []; for (var i = 0; i < data.length; i++) { chargerCodes.push(data[i].chargerCode); html += ""; } var chargerCodesStr = JSON.stringify(chargerCodes); htmls = '' + html; $("#auditoftoll-parktoller").empty(); $("#auditoftoll-parktoller").append(htmls); $('#auditoftoll-parktoller').selectpicker('render'); }, //获取接口收费员信息 getChargerMsg: function () { var plNo = ""; var chargers = ""; var req = { baseRequest: {pageNum: 1, pageSize: 0}, plNo: plNo, parkAreaCode: "", groupCode: "", onduty: "", status: "", nameOrNo: "", orgId:fn.getOrgId(), sysCode: sysComm.sysCode }; var opt = { async: false, data: JSON.stringify(req), method: "POST", url: dataUrl.util.queryCashierListInfo(), success: function (res) { if (res.code == '8888') { chargers = JSON.stringify(res.data.rows); } } } sysAjax(opt); return JSON.parse(chargers); }, //时间初始化 dateInit: function () { $('#auditoftoll-daterange-btnsta').val(moment().subtract('days', 1).format('YYYY-MM-DD')); $('#auditoftoll-daterange-btnend').val(moment().subtract('days', 1).format('YYYY-MM-DD')); //开始日期 $("#auditoftoll-daterange-btnsta").datetimepicker({ endDate: moment().subtract('days', 1).format('YYYY-MM-DD'), format: 'yyyy-mm-dd', autoclose: true, startView: 2, minView: 2, forceParse: false, locale: "zh-CN", language: 'zh-CN', pickerPosition: "bottom-right" }); //结束日期 $("#auditoftoll-daterange-btnend").datetimepicker({ endDate: moment().subtract('days', 0).format('YYYY-MM-DD'), //startDate:startVal, format: 'yyyy-mm-dd', weekStart: 1, autoclose: true, startView: 2, minView: 2, forceParse: false, locale: "zh-CN", language: 'zh-CN', pickerPosition: "bottom-right" }) }, monthdateInit: function () { /** 月 时间初始化 **/ $('#auditoftoll-monthdaterange-btnsta').val(moment().subtract('months', 1).format('YYYY-MM')); //开始日期 $("#auditoftoll-monthdaterange-btnsta").datetimepicker({ endDate: moment().subtract('months', 1).format('YYYY-MM'), format: 'yyyy-mm', autoclose: true, startView: 3, //maxDate:moment().subtract('months', 3), minView: 3, forceParse: false, locale: "zh-CN", language: 'zh-CN', pickerPosition: "bottom-right" }) }, /*获取查询参数*/ queryParamForBillManage: function () { var chargerCodes = JSON.parse($("#auditoftoll-parktoller").val()); if (chargerCodes.length < 0 || chargerCodes == null || chargerCodes == undefined || chargerCodes.length < 1 || chargerCodes.length > 1) { chargerCodes = []; } var plNos = JSON.parse($("#select_park").val()); if (plNos == null || plNos == undefined || plNos.length < 1) { plNos.push("-1X"); } var berthRangeNos = JSON.parse($("#select_area").val()); if (berthRangeNos == null || berthRangeNos == undefined || berthRangeNos.length < 1 || berthRangeNos.length > 1) { berthRangeNos=[]; } /**统计分类 1、日 2、 月**/ var timeType = 1; /*开始时间*/ var beginTime; /*结束时间*/ var endTime; timeType = $("#queryType").val(); if (1 == parseInt(timeType)) { //日 beginTime = $("#auditoftoll-daterange-btnsta").val(); endTime = $("#auditoftoll-daterange-btnend").val(); endTime = endTime + " 23:59:59"; beginTime = beginTime + " 00:00:00"; } else { timeType = 2; beginTime = $("#auditoftoll-monthdaterange-btnsta").val() + "-01 00:00:00"; endTime = $("#auditoftoll-monthdaterange-btnsta").val(); var dates = endTime.split("-"); if (dates[1] == '02') { endTime = endTime + "-28 23:59:59"; } else if (dates[1] == '01' || dates[1] == '03' || dates[1] == '05' || dates[1] == '07' || dates[1] == '08' || dates[1] == '10' || dates[1] == '12') { endTime = endTime + "-31 23:59:59"; } else { endTime = endTime + "-30 23:59:59"; } } beginTime = beginTime == null || beginTime.length == 0 ? null : new Date((beginTime).replace(/-/g, "/")); endTime = endTime == null || endTime.length == 0 ? null : new Date((endTime).replace(/-/g, "/")); var req = { plNos: plNos, berthRangeNos:berthRangeNos, sourceCodes: chargerCodes, beginTime: beginTime, endTime: endTime, sysCode :sysComm.sysCode }; //console.log(req); return req; }, //card 4个 initSummaryFeeData:function(){ $("#all_totalNum").text("0"); $("#park_inNum").text("0"); $("#park_outNum").text("0"); $("#park_qfNum").text("0"); $("#all_sfNum").text("0"); $("#wx_sfNum").text("0"); $("#alipay_sfNum").text("0"); $("#xj_sfNum").text("0"); $("#yue_sfNum").text("0"); $("#all__distotalFee").text("0.00"); $("#park_wxFee").text("0.00"); $("#park_alipayFee").text("0.00"); $("#park_xjFee").text("0.00"); $("#park_yueFee").text("0.00"); $("#park_bjFee").text("0.00"); $("#all_payFee").text("0%"); $("#park_yspayFee").text("0.00"); $("#park_sspayFee").text("0.00"); $("#park_qfpayFee").text("0.00"); $("#park_yhpayFee").text("0.00"); var req=fun.queryParamForBillManage(); var opt = { method: 'post', url: dataUrl.util.queryChargerIncomeStatisticTotal(), data: JSON.stringify(req), contentType: 'application/json; charset=utf-8', dataType: 'json', success: function (res) { console.log(res); if (res.code == '8888') { var data=res.data; if(data !=null){ $("#all_totalNum").text(commonObj.numberFormatter(data.parkOutOunt)); $("#park_inNum").text(commonObj.numberFormatter(data.parkInOunt)); $("#park_outNum").text(commonObj.numberFormatter(data.parkOutOunt)); $("#park_qfNum").text(commonObj.numberFormatter(data.arrearageCount)); $("#all_sfNum").text(commonObj.numberFormatter(data.wxCount+data.aliCount+data.cashCount+data.balanceCount)); $("#wx_sfNum").text(commonObj.numberFormatter(data.wxCount)); $("#alipay_sfNum").text(commonObj.numberFormatter(data.aliCount)); $("#xj_sfNum").text(commonObj.numberFormatter(data.cashCount)); $("#yue_sfNum").text(commonObj.numberFormatter(data.balanceCount)); $("#all__distotalFee").text(commonObj.moneyFormatter(data.subTotalFee)); $("#park_wxFee").text(commonObj.moneyFormatter(data.wxFee)); $("#park_alipayFee").text(commonObj.moneyFormatter(data.aliFee)); $("#park_xjFee").text(commonObj.moneyFormatter(data.cashFee)); $("#park_yueFee").text(commonObj.moneyFormatter(data.balanceFee)); $("#park_bjFee").text(commonObj.moneyFormatter(data.backFee)); $("#all_payFee").text(fun.ratioFormatter(data.subTotalFee,data.totalFee)); $("#park_yspayFee").text(commonObj.moneyFormatter(data.totalFee)); $("#park_sspayFee").text(commonObj.moneyFormatter(data.subTotalFee)); $("#park_qfpayFee").text(commonObj.moneyFormatter(data.arrearageFee)); $("#park_yhpayFee").text(commonObj.moneyFormatter(data.dicountFee)); } } } }; sysAjax(opt); }, createTableData: function () { $('#auditoftolltable').bootstrapTable('destroy').bootstrapTable({ striped: true, //表格显示条纹 pagination: true, //启动分页 pageNumber: 1, //当前第几页 // showColumns: true, pageSize: 10, //每页显示的记录数 pageList: [10, 15, 20], //记录数可选列表 sidePagination: 'server', //表示服务端分页 queryParamsType: 'limit', method: 'POST', //请求方法 // fixedColumns: true, // fixedNumber: 1, // leftFixedColumns: true, // leftFixedNumber: 3, //rightFixedColumns: true, //rightFixedNumber: 1, // selectItemName: 'personCustName', paginationPreText: '<', paginationNextText: '>', ajax: tableLoadRequest, //自定义ajax加载数据 uniqueId: 'id', columns: [ [ { field: 'chargerCode', title: '编号', align: 'left', rowspan: 2, valign: "middle", }, { field: 'chargerName', title: '姓名', align: 'left', rowspan: 2, valign: "middle", }, { field: 'plName', title: '车场名称', align: 'left', rowspan: 2, valign: "middle", }, { field: 'berthRangeName', title: '泊位区间', align: 'left', rowspan: 2, valign: "middle", }, { field: 'totalFee', title: '停车次数', valign: "middle", align: 'center', colspan: 4, rowspan: 1, width: '10%', }, { field: 'totalFee', title: '收费次数', valign: "middle", align: 'center', colspan: 4, rowspan: 1, width: '10%', }, { field: 'totalFee', title:'应收金额', valign: "middle", align: "left", rowspan: 2, formatter: commonObj.moneyFormatter }, { field: '', title: '欠费金额', valign: "middle", align: 'center', colspan: 2, rowspan: 1, //width: '10%', //formatter: commonObj.moneyFormatter }, { field: '', title:'实收金额', valign: "middle", align: "center", colspan: 8, rowspan: 1, //formatter: commonObj.moneyFormatter }, { field: 'dicountFee', title: '优惠金额', align: 'left', rowspan: 2, width: '10%', valign: "middle", formatter: commonObj.moneyFormatter }, // { // field: 'dicountFee', // title: '收费率', // valign: "middle", // align: 'left', // rowspan: 2, // width: '10%', // formatter: fun.rateFormatter // }, { field: 'dicountFee', title: '欠费率', valign: "middle", align: 'left', rowspan: 2, width: '10%', formatter: fun.arreargeRateFormatter }, { field: 'dicountFee', title: '线上支付率', valign: "middle", align: 'left', rowspan: 2, width: '10%', formatter: fun.onLinePayRateFormatter }, ], [ { field: 'parkInOunt', title: '进场次数', width: '10%', align: "left", formatter: commonObj.numberFormatter }, { field: 'parkOutOunt', title: '出场次数', width: '10%', align: "left", formatter: commonObj.numberFormatter }, { field: 'arrearageCountOn', title: '18点之前欠费次数', width: '10%', align: "left", formatter: commonObj.numberFormatter }, { field: 'arrearageCountOff', title: '18点之后欠费次数', width: '10%', align: "left", formatter: commonObj.numberFormatter }, { field: 'wxCount', title: '微信', width: '10%', align: "left", formatter: commonObj.numberFormatter }, { field: 'aliCount', title: '支付宝', width: '10%', align: "left", formatter: commonObj.numberFormatter }, { field: 'cashCount', title: '现金', width: '10%', align: "left", formatter: commonObj.numberFormatter }, { field: 'balanceCount', title: '余额', width: '10%', align: "left", formatter: commonObj.numberFormatter }, { field: 'arrearageFeeOn', title: '18点之前欠费金额', width: '10%', align: "left", formatter: commonObj.moneyFormatter }, { field: 'arrearageFeeOff', title: '18点之后欠费金额', width: '10%', align: "left", formatter: commonObj.moneyFormatter }, { field: 'wxFee', title: '微信', width: '10%', align: "left", formatter: commonObj.moneyFormatter }, { field: 'aliFee', title: '支付宝', width: '10%', align: "left", formatter: commonObj.moneyFormatter }, { field: 'cashFee', title: '现金', width: '10%', align: "left", formatter: commonObj.moneyFormatter }, { field: 'balanceFee', title: '余额', width: '10%', align: "left", formatter: commonObj.moneyFormatter }, { field: 'appBackFee', title: 'APP补缴', width: '10%', align: "left", formatter: commonObj.moneyFormatter }, { field: 'pdaBackFee', title: 'PDA补缴', width: '10%', align: "left", formatter: commonObj.moneyFormatter }, { field: 'backFee', title: '总补缴', width: '10%', align: "left", formatter: commonObj.moneyFormatter }, { field: 'subTotalFee', title: '小计', width: '10%', align: "left", formatter:commonObj.moneyFormatter }, ], ] }); }, createparkTableData: function () { $('#auditoftolltable').bootstrapTable('destroy').bootstrapTable({ striped: true, //表格显示条纹 pagination: true, //启动分页 pageNumber: 1, //当前第几页 // showColumns: true, pageSize: 10, //每页显示的记录数 pageList: [10, 15, 20], //记录数可选列表 sidePagination: 'server', //表示服务端分页 queryParamsType: 'limit', method: 'POST', //请求方法 // fixedColumns: true, // fixedNumber: 1, // leftFixedColumns: true, // leftFixedNumber: 3, //rightFixedColumns: true, //rightFixedNumber: 1, // selectItemName: 'personCustName', paginationPreText: '<', paginationNextText: '>', ajax: parkTableLoadRequest, //自定义ajax加载数据 uniqueId: 'id', columns: [ [ { field: 'plName', title: '车场名称', align: 'left', rowspan: 2, valign: "middle", }, { field: 'totalFee', title: '停车次数', valign: "middle", align: 'center', colspan: 4, rowspan: 1, width: '10%', }, { field: 'totalFee', title: '收费次数', valign: "middle", align: 'center', colspan: 4, rowspan: 1, width: '10%', }, { field: 'totalFee', title:'应收金额', valign: "middle", align: "left", rowspan: 2, formatter: commonObj.moneyFormatter }, { field: '', title: '欠费金额', valign: "middle", align: 'center', colspan: 2, rowspan: 1, //width: '10%', //formatter: commonObj.moneyFormatter }, { field: '', title:'实收金额', valign: "middle", align: "center", colspan: 8, rowspan: 1, //formatter: commonObj.moneyFormatter }, { field: 'dicountFee', title: '优惠金额', align: 'left', rowspan: 2, width: '10%', valign: "middle", formatter: commonObj.moneyFormatter }, // { // field: 'dicountFee', // title: '收费率', // valign: "middle", // align: 'left', // rowspan: 2, // width: '10%', // formatter: fun.rateFormatter // }, { field: 'dicountFee', title: '欠费率', valign: "middle", align: 'left', rowspan: 2, width: '10%', formatter: fun.arreargeRateFormatter }, { field: 'dicountFee', title: '线上支付率', valign: "middle", align: 'left', rowspan: 2, width: '10%', formatter: fun.onLinePayRateFormatter }, ], [ { field: 'parkInOunt', title: '进场次数', width: '10%', align: "left", formatter: commonObj.numberFormatter }, { field: 'parkOutOunt', title: '出场次数', width: '10%', align: "left", formatter: commonObj.numberFormatter }, { field: 'arrearageCountOn', title: '18点之前欠费次数', width: '10%', align: "left", formatter: commonObj.numberFormatter }, { field: 'arrearageCountOff', title: '18点之后欠费次数', width: '10%', align: "left", formatter: commonObj.numberFormatter }, { field: 'wxCount', title: '微信', width: '10%', align: "left", formatter: commonObj.numberFormatter }, { field: 'aliCount', title: '支付宝', width: '10%', align: "left", formatter: commonObj.numberFormatter }, { field: 'cashCount', title: '现金', width: '10%', align: "left", formatter: commonObj.numberFormatter }, { field: 'balanceCount', title: '余额', width: '10%', align: "left", formatter: commonObj.numberFormatter }, { field: 'arrearageFeeOn', title: '18点之前欠费金额', width: '10%', align: "left", formatter: commonObj.moneyFormatter }, { field: 'arrearageFeeOff', title: '18点之后欠费金额', width: '10%', align: "left", formatter: commonObj.moneyFormatter }, { field: 'wxFee', title: '微信', width: '10%', align: "left", formatter: commonObj.moneyFormatter }, { field: 'aliFee', title: '支付宝', width: '10%', align: "left", formatter: commonObj.moneyFormatter }, { field: 'cashFee', title: '现金', width: '10%', align: "left", formatter: commonObj.moneyFormatter }, { field: 'balanceFee', title: '余额', width: '10%', align: "left", formatter: commonObj.moneyFormatter }, { field: 'appBackFee', title: 'APP补缴', width: '10%', align: "left", formatter: commonObj.moneyFormatter }, { field: 'pdaBackFee', title: 'PDA补缴', width: '10%', align: "left", formatter: commonObj.moneyFormatter }, { field: 'backFee', title: '总补缴', width: '10%', align: "left", formatter: commonObj.moneyFormatter }, { field: 'subTotalFee', title: '小计', width: '10%', align: "left", formatter:commonObj.moneyFormatter }, ], ] }); }, rateFormatter:function(value,row,index){ if(row.totalFee == null || row.totalFee < 1){ return '0.00%'; } return ((row.subTotalFee/(row.totalFee<1?1:row.totalFee))*100).toFixed(2)+'%'; }, ratioFormatter:function(value1,value2){ return ((value1/(value2<1?1:value2))*100).toFixed(2)+'%'; }, //新增欠费率和线上支付率 arreargeRateFormatter:function(value,row,index){ var totalCount = row.parkOutOunt - row.arrearageCountOff; // var totalCount = row.wxCount+row.aliCount+row.cashCount+row.balanceCount - row.arrearageCountOff; if(totalCount == undefined ||totalCount == null || totalCount < 1){ return '0.00%'; } //欠费率 = 18点前欠费订单数/总订单数(不包括补缴订单数量、18点后批量出场订单数)。 var arreargeCount = row.arrearageCountOn; return (((arreargeCount<1?0:arreargeCount)/(totalCount<1?1:totalCount))*100).toFixed(2)+'%'; }, onLinePayRateFormatter:function(value,row,index){ var totalCount = row.parkOutOunt - row.arrearageCountOff; // var totalCount = row.wxCount+row.aliCount+row.cashCount+row.balanceCount - row.arrearageCountOff; if(totalCount == undefined || totalCount == null || totalCount < 1){ return '0.00%'; } //线上支付率 = 微信、支付宝、余额支付订单数(不包括补缴订单)/总订单数(不包括补缴订单数、18点后批量出场订单数)。 var onLineCount = (row.wxCount + row.aliCount + row.balanceCount); return (((onLineCount<1?0:onLineCount)/(totalCount<1?1:totalCount))*100).toFixed(2)+'%'; } }; fun.init(); //查询 documentBindFunc.on('click', '#auditoftoll-queryBtn', function () { fun.createTableData(); fun.initSummaryFeeData(); }); //切换 搜索部分 是否生效 documentBindFunc.on('click', "#auditoftoll-toptab div.ITD-graynav-topbar", function () { var index = $(this).index(); $(this).addClass('ITD-graynav-topbaractive').siblings('div').removeClass('ITD-graynav-topbaractive'); //console.log(index); //切换完后,调用查询表格 // fun.createTableData(); }); //日月切换 点击事件 //日 点击 documentBindFunc.on('click', '#auditoftolldayType', function () { $('.auditoftoll-choosedateday').removeClass('display-none'); $('.auditoftoll-choosedatemonth').addClass('display-none'); $('#queryType').attr('data-value', '1'); $("#queryType").val(1); fun.createTableData(); fun.initSummaryFeeData(); }); //月 点击 documentBindFunc.on('click', '#auditoftollmonthType', function () { $('.auditoftoll-choosedatemonth').removeClass('display-none'); $('.auditoftoll-choosedateday').addClass('display-none'); $('#queryType').attr('data-value', '2'); $("#queryType").val(2); fun.createTableData(); fun.initSummaryFeeData(); }); //切换 全部 有差异 无差异 $('#tab-btn-wrap li').on('click', function () { //因后面逻辑需要,一定要线切换 tabAction 样式, 然后在调用 对应的函数 $(this).addClass('tabAction').siblings().removeClass('tabAction'); var tabIndex = $('#tab-btn-wrap li.tabAction').index(); if (tabIndex == 0) { fun.createTableData(); }else { fun.createparkTableData(); } // inexpfun.inexpcreateTableData(); }); /** * 自定义table AJAX请求 * @param {Object} params */ function tableLoadRequest(params) { var req = fun.queryParamForBillManage(); //设置请求参数 var pageNum = (params.data.offset / params.data.limit) + 1; //条件查询 req.baseRequest = { pageNum: pageNum, pageSize: params.data.limit }; var opt = { method: 'post', url: dataUrl.util.queryChargerIncomeStatisticList(), data: JSON.stringify(req), contentType: 'application/json; charset=utf-8', dataType: 'json', success: function (res) { console.log(res); if (res.code == '8888') { params.success(res.data); } } }; sysAjax(opt); } /** * 自定义table AJAX请求 * @param {Object} params */ function parkTableLoadRequest(params) { var req = fun.queryParamForBillManage(); //设置请求参数 var pageNum = (params.data.offset / params.data.limit) + 1; //条件查询 req.baseRequest = { pageNum: pageNum, pageSize: params.data.limit }; var opt = { method: 'post', url: dataUrl.util.queryChargerIncomeStatisticListForPark(), data: JSON.stringify(req), contentType: 'application/json; charset=utf-8', dataType: 'json', success: function (res) { console.log(res); if (res.code == '8888') { params.success(res.data); } } }; sysAjax(opt); } //导出 var InterValObj; //timer变量,控制时间 var count = 8; //间隔函数,1秒执行 var curCount;//当前剩余秒数 function sendMessage() { curCount = count; //设置button效果,开始计时 $("#auditoftoll_repBtn").attr("disabled", "true"); $(".ITD-export-btn").css("width", "138px"); $("#auditoftoll_repBtn").val(curCount + "秒后可再次导出"); InterValObj = window.setInterval(SetRemainTime, 1000); //启动计时器,1秒执行一次 } //timer处理函数 function SetRemainTime() { if (curCount == 0) { window.clearInterval(InterValObj);//停止计时器 $("#auditoftoll_repBtn").removeAttr("disabled");//启用按钮 $(".ITD-export-btn").css("width", "72px"); $("#auditoftoll_repBtn").val("导出"); } else { curCount--; $("#auditoftoll_repBtn").val(curCount + "秒后可再次导出"); } } //导出excle documentBindFunc.on('click','#auditoftoll_repBtn',function (){ //获取table所有行数据 var parkLot = $("#auditoftolltable").bootstrapTable('getData'); //获取table总条数 var numTotal = $("#auditoftolltable").bootstrapTable('getOptions').totalRows; //提示 无数据不导出 if(parkLot.length<1){ $('.ITD-alertmodel-contentmsg').text('无数据可导出!'); $('#ITD-tipsmodel').modal('show'); setTimeout(function () { $('.ITD-alertmodel-contentmsg').text(''); $('#ITD-tipsmodel').modal('hide'); },3000); return false; } //超1万条 缩短查询范围 if(numTotal>10000){ $('.ITD-alertmodel-contentmsg').text('数据量过大,请缩小查询范围!'); $('#ITD-tipsmodel').modal('show'); setTimeout(function () { $('.ITD-alertmodel-contentmsg').text(''); $('#ITD-tipsmodel').modal('hide'); },3000); return false; } //执行倒计时函数 sendMessage(); var req = fun.queryParamForBillManage(); var beginTime = DateUtils.long2String(req.beginTime, 7); var endTime = DateUtils.long2String(req.endTime, 7); var orgId = fn.getOrgId(); var url = dataUrl.util.exportChargerIncomeStatisticList(); var forms = exportIncomeDetailFormforauditoftoll(url, beginTime, endTime, req.sourceCodes, req.sysCode,orgId, req.plNos, req.berthRangeNos ); forms.submit(); }); function exportIncomeDetailFormforauditoftoll(url, beginTime, endTime, sourceCodes, sysCode,orgId,plNos,berthRangeNos ) { var form = document.createElement("form"); form.style.display = 'none'; form.action = url; form.method = "post"; document.body.appendChild(form); var input = document.createElement("input"); //input.type = "hidden"; input.name = "beginTime"; input.value = beginTime; form.appendChild(input); var input2 = document.createElement("input"); input2.name = "endTime"; input2.value = endTime; form.appendChild(input2); var input3 = document.createElement("input"); input3.name = "sourcCodes"; input3.value = sourceCodes; form.appendChild(input3); var input4 = document.createElement("input"); input4.name = "sysCode"; input4.value = sysCode; form.appendChild(input4); var input16 = document.createElement("input"); input16.name = "orgId"; input16.value = orgId; form.appendChild(input16); var input17 = document.createElement("input"); input17.name = "plNos"; input17.value = plNos; form.appendChild(input17); var input18 = document.createElement("input"); input18.name = "berthRangeNos"; input18.value = berthRangeNos; form.appendChild(input18); return form; };