加减日期的方法
function addDate(date,days){
var d=new Date(date);
d.setDate(d.getDate()+days);
var m=d.getMonth()+1;
return d.getFullYear()+'-'+m+'-'+d.getDate();
}
全部代码
<% layout('/layouts/default.html', {title: '周用胶订单管理', libs: ['validate','dataGrid']}){ %>
<div class="main-content" xmlns="http://www.w3.org/1999/html">
<div class="box box-main">
<div class="box-header with-border">
<div class="box-title">
<i class="fa icon-note"></i> ${text(ygPrWeekorder.isNewRecord ? '新增周用胶订单' : '编辑周用胶订单')}
</div>
<div class="box-tools pull-right">
<button type="button" class="btn btn-box-tool" data-widget="collapse"><i class="fa fa-minus"></i></button>
</div>
</div>
<#form:form id="inputForm" model="${ygPrWeekorder}" action="${ctx}/ygprweekorder/ygPrWeekorder/save" method="post" autocomplete="off" class="form-horizontal">
<div class="box-body">
<div class="form-unit">${text('基本信息')}</div>
<#form:hidden path="id"/>
<div class="row">
<div class="col-xs-6 hidden">
<div class="form-group">
<label class="control-label col-sm-4" title="">
<span class="required hide">*</span> ${text('是否审核')}:<i class="fa icon-question hide"></i></label>
<div class="col-sm-8">
<#form:select path="fischeck" dictType="sys_yes_no" defaultValue ="0" blankOption="true" class="form-control" />
</div>
</div>
</div>
<div class="col-xs-6 hidden">
<div class="form-group">
<label class="control-label col-sm-4" title="">
<span class="required hide">*</span> ${text('是否同步')}:<i class="fa icon-question hide"></i></label>
<div class="col-sm-8">
<#form:select path="fissync" dictType="sys_yes_no" defaultValue ="0" blankOption="true" class="form-control" />
</div>
</div>
</div>
<div class="col-xs-4">
<div class="form-group">
<label class="control-label col-sm-4" title="">
<span class="required hide">*</span> ${text('单据编号')}:<i class="fa icon-question hide"></i></label>
<div class="col-sm-8">
<#form:hidden path="fisshowcustomer" maxlength="5" />
<#form:input path="forderno" maxlength="255" class="form-control" placeholder="保存时自动生成" readOnly="true"/>
</div>
</div>
</div>
<div class="col-xs-4" id="custinfo">
<div class="form-group">
<label class="control-label col-sm-4" title="">
<span class="required">*</span> ${text('客户')}:<i class="fa icon-question hide"></i></label>
<div class="col-sm-8">
<div class="input-group">
<#form:hidden path="fcustomerid" class="required" />
<#form:hidden path="fcustomernumber" class="required" />
<#form:input path="fcustomer" class="form-control required" type="text" readonly="true" style="background-color:#fff" onclick="customerSelect()"/>
<span class="input-group-btn"><a href="javascript:customerSelect()" class ="btn btn-default" ><i class="fa fa-search"></i></a></span>
</div>
</div>
</div>
</div>
<div class="col-xs-4">
<div class="form-group">
<label class="control-label col-sm-4" title="">
<span class="required hide">*</span> ${text('金蝶单号')}:<i class="fa icon-question hide"></i></label>
<div class="col-sm-8">
<#form:input path="fkingdeeno" maxlength="255" class="form-control" placeholder="同步金蝶后生成" readOnly="true"/>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-xs-4">
<div class="form-group">
<label class="control-label col-sm-4" title="">
<span class="required">*</span> ${text('类型')}:<i class="fa icon-question hide"></i></label>
<div class="col-sm-8">
<#form:select path="ftype" dictType="week_order_type" defaultValue ="XSDD03_SYS" blankOption="true" class="form-control required" />
</div>
</div>
</div>
<div class="col-xs-4">
<div class="form-group">
<label class="control-label col-sm-4" title="">
<span class="required">*</span> ${text('订单状态')}:<i class="fa icon-question hide"></i></label>
<div class="col-sm-8">
<#form:select path="forderstatus" dictType="week_order_status" onchange = "changeYearMonthWeek()" defaultValue ="0" blankOption="true" class="form-control required" />
</div>
</div>
</div>
<div class="col-xs-4">
<div class="form-group">
<label class="control-label col-sm-4" title="">
<span class="required">*</span> ${text('订单日期')}:<i class="fa icon-question hide"></i></label>
<div class="col-sm-8">
<#form:input path="fdate" readonly="true" maxlength="20" class="form-control laydate required disabled"
dataFormat="date" data-type="date" data-format="yyyy-MM-dd"/>
</div>
</div>
</div>
<div class="col-xs-4">
<div class="form-group hidden">
<label class="control-label col-sm-4" title="">
<span class="required">*</span> ${text('加工段数')}:<i class="fa icon-question hide"></i></label>
<div class="col-sm-8">
<#form:select path="peoductnum" dictType="productnum_type" blankOption="true" class="form-control" />
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-xs-4">
<div class="form-group">
<label class="control-label col-sm-4" title="">
<span class="required">*</span> ${text('年度')}:<i class="fa icon-question hide"></i></label>
<div class="col-sm-8">
<#form:input path="yeardu" maxlength="5" readOnly="true" class="form-control digits required"/>
</div>
</div>
</div>
<div class="col-xs-4">
<div class="form-group">
<label class="control-label col-sm-4" title="">
<span class="required">*</span> ${text('月度')}:<i class="fa icon-question hide"></i></label>
<div class="col-sm-8">
<#form:input path="monthdu" maxlength="5" readOnly="true" class="form-control digits required"/>
</div>
</div>
</div>
<div class="col-xs-4">
<div class="form-group">
<label class="control-label col-sm-4" title="">
<span class="required">*</span> ${text('周度')}:<i class="fa icon-question hide"></i></label>
<div class="col-sm-8">
<#form:input path="weekdu" maxlength="5" readOnly="true" class="form-control digits required"/>
</div>
</div>
</div>
<div class="col-xs-4">
<div class="form-group">
<label class="control-label col-sm-4" title="">
<span class="required hide">*</span> ${text('备注')}:<i class="fa icon-question hide"></i></label>
<div class="col-sm-8">
<#form:textarea path="remarks" rows="1" maxlength="255" class="form-control"/>
</div>
</div>
</div>
<!--<div class="col-xs-4">
<div class="form-group">
<label class="control-label col-sm-4" title="">
<span class="required">*</span> ${text('单据日期')}:<i class="fa icon-question hide"></i></label>
<div class="col-sm-8">
<#form:input path="fdate" maxlength="255" readOnly="true" class="form-control required"/>
</div>
</div>
</div>-->
</div>
<h4 class="form-unit">${text('订单明细')}
<a href="#" id="packageSellectBtn" class="btn btn-primary btn-sm mt10 mb10" onclick="materialSelect()"><i class="fa fa-folder-open"></i> ${text('选择物料')}</a></h4>
<div class="ml10 mr10 table-form">
<table id="ygPrWeekorderentryDataGrid"></table>
<% if (hasPermi('ygprweekorder:ygPrWeekorder:edit')){ %>
<a href="#" id="ygPrWeekorderentryDataGridAddRowBtn" class="btn btn-primary btn-sm mt10 mb10 hide"><i class="fa fa-plus"></i> ${text('增行')}</a>
<% } %>
</div>
<p style="color: red">如有急需订单,请修改交货日期,并在备注中注明。</p>
</div>
<div class="box-footer">
<div class="row">
<div class="col-sm-offset-2 col-sm-10">
<% if (hasPermi('ygprweekorder:ygPrWeekorder:edit')){ %>
<button type="submit" class="btn btn-sm btn-primary" id="btnSubmit"><i class="fa fa-check"></i> ${text('保 存')}</button>
<% } %>
<button type="button" class="btn btn-sm btn-default" id="btnCancel" onclick="js.closeCurrentTabPage()"><i class="fa fa-reply-all"></i> ${text('关 闭')}</button>
</div>
</div>
</div>
</#form:form>
</div>
</div>
<% } %>
<script type="application/javascript">
document.onkeydown = function (e) {
if (e.keyCode==13){
const inputs = document.getElementsByName('fcount');
var t = $("input:focus");
inputs.forEach((input, index) => {
if (t[0] === input) {
if(index !== (inputs.length - 1)) {
inputs[index + 1].focus();
}
}
});
e.preventDefault();
}
}
function addDate(date,days){
var d=new Date(date);
d.setDate(d.getDate()+days);
var m=d.getMonth()+1;
return d.getFullYear()+'-'+m+'-'+d.getDate();
}
function getWeek (dateTime) {
var temp_ms = dateTime.getTime();
let temptTime = new Date(temp_ms);
let weekday = temptTime.getDay() & 7;
temptTime.setDate(temptTime.getDate() - weekday + 1 + 5);
let firstDay = new Date(temptTime.getFullYear(), 0, 1);
let dayOfWeek = firstDay.getDay();
let spendDay = 1;
if (dayOfWeek != 0) {
spendDay = 7 - dayOfWeek + 1;
}
let yearOfW = temptTime.getFullYear();
firstDay = new Date(yearOfW, 0, 1 + spendDay);
let d = Math.ceil((temptTime.valueOf() - firstDay.valueOf()) / 86400000);
let res = Math.ceil(d / 7) + 1;
let weekOfNow = res.toString();
return weekOfNow;
}
function changeYearMonthWeek(){
var os = $("#forderstatus").val()
if (os==0){
var date = new Date;
var day = date.getDay();
date.setDate(date.getDate() + (1 + 7 - date.getDay()) % 7);
var y = date.getYear();
var m = date.getMonth()+1;
var d = date.getDate();
$("#yeardu").val(date.getFullYear());
$("#monthdu").val(m);
$("#weekdu").val(getWeek(date));
if (d<10){
d = "0"+d;
}
$("#fdate").val(date.getFullYear()+"-"+m+"-"+d);
}else if (os == 1){
var date = new Date;
var y = date.getYear();
var m = date.getMonth()+1;
var d = date.getDate();
$("#yeardu").val(date.getFullYear());
$("#monthdu").val(m);
$("#weekdu").val(getWeek(date));
if (d<10){
d = "0"+d;
}
$("#fdate").val(date.getFullYear()+"-"+m+"-"+d);
}else {
js.showMessage("请至少选择一种状态");
}
var orderdate = $("#fdate").val();
var senddate = addDate(orderdate,7);
var dataList = $('#ygPrWeekorderentryDataGrid').dataGrid('getDataIDs');
for(var i=0; i<dataList.length; i++){
$("#"+ dataList[i] +"_fdate").val(senddate);
}
}
function getPrice(id){
var rowId = id.split("_")[0];
var custid=$("#fcustomerid").val();
var productnum=$("#"+ rowId +"_productnum").val();
var fmertid=$("#"+ rowId +"_fmertid").val();
var fdate11=$("#fdate").val();
if(custid && fmertid && productnum){
$.ajax({
url: "${ctx}/ygprweekorder/ygPrWeekorder/findpriceByCust?custid="+custid+"&materialid="+fmertid+"&productnum="+productnum +"&ftype=3"+"&fdate="+fdate11,
async: false,
success: function(data){
if(data.length != 0){
$("#"+ rowId+"_fprice").val(data["0"].fprice);
}else{
$("#"+ rowId+"_fprice").val("");
}
var c = $("#"+ rowId+"_fcount").val();
if (c){
$("#"+ rowId+"_fsumprice").val(c*$("#"+ rowId+"_fprice").val());
}
}
})
}
}
function getSumPrice(id){
var rowId = id.split("_")[0];
var productnum=$("#"+ rowId +"_productnum").val();
if (!productnum){
js.showMessage("请选择加工段数"+productnum)
}
var price=$("#"+ rowId +"_fprice").val();
var fcount=$("#"+ rowId +"_fcount").val();
if (price||price){
var res=price*fcount;
$("#"+ rowId +"_fsumprice").val(res);
}
}
</script>
<script>
$("#ygPrWeekorderentryDataGrid").dataGrid({
data: ${toJson(ygPrWeekorder.ygPrWeekorderentryList)},
datatype: "local",
autoGridHeight: function(){return 'auto'},
columnModel: [
{header:'状态', name:'status', editable:true, hidden:true},
{header:'主键', name:'id', editable:true, hidden:true},
{header:'${text("主表id")}', name:'parentid.id', editable:true, hidden:true},
{header:'${text("胶料id")}', name:'fmertid', editable:true, hidden:true},
{header:'${text('胶料编码')}', name:'fmertnumber', width:130, editable:true, edittype:'text', editoptions:{'maxlength':'200', 'class':'form-control required','readonly':'true','style':'background:transparent;border:0px'}},
{header:'${text('胶料名称')}', name:'fmertnume', width:130, editable:true, edittype:'text', editoptions:{'maxlength':'200', 'class':'form-control','readonly':'true','style':'background:transparent;border:0px'}},
{header:'${text('单位')}', name:'material.funitname', width:80, editable:true, edittype:'text', editoptions:{'maxlength':'50', 'class':'form-control','readonly':'true','style':'background:transparent;border:0px'}},
{header:'${text('加工段数')}', name:'productnum',class:'form-control required' , width:120,
editable:true, edittype:'select', editoptions:{'class':'form-control required','onchange':'getPrice(id)',
items: $.merge([{dictLabel:' ',dictValue:''}], ${@DictUtils.getDictListJson('productnum_type')}),
itemLabel: 'dictLabel', itemValue: 'dictValue', dataInit: function(element){
$(element).select2().on("change",function(){$(this).resetValid()});
}
}
},
{header:'${text('数量')}', name:'fcount', width:120,class:'digits', editable:true, edittype:'text', editoptions:{'maxlength':'64', 'onchange':'getSumPrice(id)','class':'form-control required digits'}},
{header:'${text('单价')}', name:'fprice',class:'form-control required' ,width:120, editable:true, edittype:'text', editoptions:{'maxlength':'64','onchange':'getSumPrice(id)', 'class':'form-control required'}},
{header:'${text('金额')}', name:'fsumprice', width:120,class:'required' , editable:true, edittype:'text', editoptions:{'readonly':'true','maxlength':'64', 'class':'form-control required'}},
{header:'${text("交货日期")}', name:'fdate', width:150,
formatter:'date', formatoptions:{srcformat:'Y-m-d H:i:s',newformat:'Y-m-d'},
editable:true, edittype:'text', editoptions:{'class':'form-control Wdate required', 'readonly':'true',
dataInit: function(element){
laydate.render({elem:element, type:'date', format:'yyyy-MM-dd', done: function(){
}});
}
}},
{header:'${text('备注')}', name:'remarks',class:'form-control' ,width:120, editable:true, edittype:'text', editoptions:{'maxlength':'64', 'class':'form-control'}},
{header:'${text("操作")}', name:'actions', width:80, align:'center', formatter: function(val, obj, row, act){
var actions = [];
if (val == 'new'){
actions.push('<a href="#" onclick="js.confirm(\'${text("你确认要删除这条数据吗?")}\', function(){$(\'#ygPrWeekorderentryDataGrid\').dataGrid(\'delRowData\',\''+obj.rowId+'\')});return false;"><i class="fa fa-trash-o"></i></a> ');
}else{
actions.push('<a href="#" onclick="js.confirm(\'${text("你确认要删除这条数据吗?")}\', function(){$(\'#ygPrWeekorderentryDataGrid\').dataGrid(\'setRowData\',\''+obj.rowId+'\',null,{display:\'none\'});$(\'#'+obj.rowId+'_status\').val(\''+Global.STATUS_DELETE+'\');});return false;"><i class="fa fa-trash-o"></i></a> ');
}
return actions.join('');
}, editoptions: {defaultValue: 'new'}}
],
editGrid: true,
editGridInitRowNum: 0,
editGridAddRowBtn: $('#ygPrWeekorderentryDataGridAddRowBtn'),
editGridAddRowBtnToHeader: false,
editGridAddRowInitData: {id: '', status: Global.STATUS_NORMAL},
editGridInputFormListName: 'ygPrWeekorderentryList',
editGridInputFormListAttrs: 'status,id,parentid.id,fmertid,fmertnumber,remarks,fdate,fmertnume,funit,fcount,fprice,fsumprice,productnum,',
ajaxSuccess: function(data){
var c =$("#fisshowcustomer").val()
if (c!=''){
$("#custinfo").hide()
}
changeYearMonthWeek();
}
});
</script>
<script>
$("#inputForm").validate({
submitHandler: function(form){
js.ajaxSubmitForm($(form), function(data){
js.showMessage(data.message);
if(data.result == Global.TRUE){
js.closeCurrentTabPage(function(contentWindow){
contentWindow.page();
});
}
}, "json");
}
});
</script>
<script>
function customerSelect() {
top.customerSelectCallBack = customerSelectCallBack;
shareSelect('客户选择', '${ctx}/base/customer/select');
}
var G_RowID;
function materialSelect(){
if ($("#fcustomerid").val()==""||$("#fcustomerid").val()==undefined){
js.showMessage("请先选择客户!");
return;
}
top.materialMultiSelectCallBack=materialMultiSelectCallBack;
top.layer.open({
type:2,
title:'物料选择',
shadeClose: true,
shade: 0.3,
area: ['93%', '86%'],
maxmin: true,
closeBtn: 1,
content:["${ctx}/base/material/selectList?multi=1&fdefaultcustomernumber="+$("#fcustomernumber").val(), 'yes'],
cancle: function() {
}
});
}
function shareSelect(title, url) {
top.layer.open({
type: 2,
title: title,
shadeClose: true,
shade: 0.3,
area: ['93%', '86%'],
maxmin: true,
closeBtn: 1,
content: [url, 'yes']
});
}
function customerSelectCallBack(data) {
$("#fcustomerid").val(data.id);
$("#fcustomer").val(data.fshortname);
$("#fcustomernumber").val(data.fnumber);
}
function materialMultiSelectCallBack(datas) {
var data = [];
for(var i = 0;i<datas.length;i++){
var flag = false;
var dataList = $('#ygPrWeekorderentryDataGrid').dataGrid('getDataIDs');
for(var j = 0;j<dataList.length; j++){
var t =$('#'+dataList[j]+'_fmertnumber').val();
if(datas[i].materialid == t){
flag = true;
}
}
if(!flag){
data.push(datas[i]);
}
}
var orderdate = $("#fdate").val();
var senddate = addDate(orderdate,7);
for(var i=0; i<data.length; i++){
document.getElementById("ygPrWeekorderentryDataGridAddRowBtn").click();
var dataList = $('#ygPrWeekorderentryDataGrid').dataGrid('getDataIDs');
G_RowID = dataList[dataList.length-1];
$("#"+ G_RowID +"_fmertnumber").val(data[i].fnumber);
$("#"+ G_RowID +"_fmertnume").val(data[i].fname);
$("#"+ G_RowID +"_fmertid").val(data[i].id);
$("#"+ G_RowID +"_material_funitname").val(data[i].funitname);
$("#"+ G_RowID +"_fdate").val(senddate);
}
}
$("#inputForm").validate({
submitHandler: function (form) {
js.ajaxSubmitForm($(form), function (data) {
js.showMessage(data.message);
if (data.result == Global.TRUE) {
js.closeCurrentTabPage(function (contentWindow) {
contentWindow.page();
});
}
}, "json");
}
});
</script>