| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124 |
- /**
- * Compute the end date for productplan.
- *
- * @access public
- * @return void
- */
- function computeEndDate(e)
- {
- let delta = $('[name=delta]:checked').val();
- let beginDate = $('input[name=begin]').val();
- if(!beginDate || !delta) return;
- delta = currentDelta = parseInt(delta);
- beginDate = convertStringToDate(beginDate);
- if((delta == 7 || delta == 14) && (beginDate.getDay() == 1))
- {
- delta = (weekend == 2) ? (delta - 2) : (delta - 1);
- }
- let currentBeginDate = window.zui.formatDate(beginDate, 'yyyy-MM-dd');
- let endDate = formatDate(beginDate, delta - 1);
- $('[name=begin]').zui('datePicker').$.setValue(currentBeginDate);
- $('[name=end]').zui('datePicker').$.setValue(endDate);
- setTimeout(function(){$('[name=delta]').val(`${currentDelta}`)}, 0);
- }
- /**
- * Convert a date string like 2011-11-11 to date object in js.
- *
- * @param string $date
- * @access public
- * @return date
- */
- function convertStringToDate(dateString)
- {
- dateString = dateString.split('-');
- return new Date(dateString[0], dateString[1] - 1, dateString[2]);
- }
- /**
- * 给指定日期加上具体天数,并返回格式化后的日期.
- *
- * @param string dateString
- * @param int days
- * @access public
- * @return date
- */
- function formatDate(dateString, days)
- {
- const date = new Date(dateString);
- date.setDate(date.getDate() + days);
- const year = date.getFullYear();
- const month = String(date.getMonth() + 1).padStart(2, '0');
- const day = String(date.getDate()).padStart(2, '0');
- return `${year}-${month}-${day}`;
- }
- /**
- * Toggle date box.
- *
- * @access public
- * @return void
- */
- function toggleDateBox()
- {
- const beginPicker = $('#begin').zui('datePicker');
- if($('[name=future]').prop('checked'))
- {
- beginPicker.render({disabled: true});
- $('#end').attr('disabled', 'disabled').parents('.form-row').addClass('hidden');
- }
- else
- {
- beginPicker.render({disabled: false});
- $('#end').removeAttr('disabled').parents('.form-row').removeClass('hidden');
- }
- }
- /**
- * Load branches.
- *
- * @access public
- * @return void
- */
- function loadBranches(e)
- {
- let parentID = $(e.target).val();
- let currentBranches = $('select[name^=branch]').val() ? $('select[name^=branch]').val().toString() : '';
- $.get($.createLink('productplan', 'ajaxGetParentBranches', "productID=" + productID + "&parentID=" + parentID), function(data)
- {
- if(data)
- {
- data = JSON.parse(data);
- const $branchPicker = $('select[name^=branch]').zui('picker');
- $branchPicker.render({items: data, multiple: true});
- $branchPicker.$.setValue(currentBranches);
- }
- })
- }
- /**
- * Load title.
- *
- * @access public
- * @return void
- */
- function loadTitle(e)
- {
- if(parentPlanID) return;
- let branchIdList = $(e.target).val();
- if(!branchIdList) return;
- branchIdList = branchIdList.toString();
- $.get($.createLink('productplan', 'ajaxGetLast', "productID=" + productID + "&branch=" + branchIdList), function(data)
- {
- data = JSON.parse(data);
- let planTitle = data ? '(' + lastLang + ': ' + data.title + ')' : '';
- $('#lastTitleBox').text(planTitle);
- })
- }
|