mirror of
https://gitee.com/ShopeX/OMS
synced 2026-03-22 18:35:35 +08:00
267 lines
9.9 KiB
HTML
267 lines
9.9 KiB
HTML
<!--
|
|
Copyright 2012-2026 ShopeX (https://www.shopex.cn)
|
|
|
|
Licensed under the Apache License, Version 2.0 (the "License");
|
|
you may not use this file except in compliance with the License.
|
|
You may obtain a copy of the License at
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
Unless required by applicable law or agreed to in writing, software
|
|
distributed under the License is distributed on an "AS IS" BASIS,
|
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
See the License for the specific language governing permissions and
|
|
limitations under the License.
|
|
-->
|
|
|
|
<div class="data-action" id="dataAction" style="padding:5px;">
|
|
<table width="100%" cellpadding="0" cellspacing="0" border="0">
|
|
<tr>
|
|
<{if $type_display == "true"}>
|
|
<td align="left" nowrap="nowrap">
|
|
<{foreach from=$typeData key=type_key item=type_item}>
|
|
<{$type_item.lab}>:
|
|
<{if $type_item.type eq 'select'}>
|
|
<select name="<{$type_key}>" id="<{$type_key}>"<{if $report != "month"}> style="max-width:90px;_width:90px;"<{/if}>>
|
|
<{foreach from=$type_item.data key=key item=item}>
|
|
<option value="<{$key}>" <{if $type_selected.$type_key == $key}>selected="selected"<{/if}>><{$item}></option>
|
|
<{/foreach}>
|
|
</select>
|
|
<{elseif $type_item.type eq 'text'}>
|
|
<input type="text" name="<{$type_key}>" size="6" value="<{$type_selected.$type_key}>">
|
|
<{/if}>
|
|
<{/foreach}>
|
|
|
|
|
|
<label><{t}>时间段:<{/t}></label>
|
|
<{if $report != "month"}>
|
|
<{input type="date" vtype="date" name="time_from" style="width:66px; font-family:arial;" value=$time_from install_time=$install_time }><{t}>至<{/t}>
|
|
<{input type="date" vtype="date" name="time_to" style="width:66px; font-family:arial;" value=$time_to}>
|
|
<{/if}>
|
|
<{button class="filterBtn btn-thirdly" label=$___eccommon="确定"|t:'eccommon'}>
|
|
</td>
|
|
<{/if}>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
|
|
<script>
|
|
(function(){
|
|
//if($E('.num')) $E('.num').innerHTML+=' 数据非及时显示,当天数据请于第二天查看';
|
|
var _finder = finderGroup['<{$name}>'],
|
|
dataAction= $('dataAction'),
|
|
data_ipt=$$(dataAction.getElements('input[name^=time_]'),dataAction.getElements('select')),
|
|
from=dataAction.getElement('input[name=time_from]'),
|
|
to=dataAction.getElement('input[name=time_to]');
|
|
|
|
if(_finder&&_finder.form){
|
|
fdoc = document.createDocumentFragment();
|
|
data_ipt.each(function(ipt){
|
|
fdoc.appendChild(new Element('input[type=hidden]', {'name': ipt.name, value: ipt.value}));
|
|
});
|
|
_finder.form.appendChild(fdoc);
|
|
}
|
|
|
|
data_ipt.addEvent('change',function(e){
|
|
if(_finder&&_finder.form){
|
|
var ipt=$E('input[name='+this.name+']',_finder.form);
|
|
if(ipt)ipt.value=this.value;
|
|
}
|
|
});
|
|
|
|
<{if $report == "month"}>
|
|
var today=new Date();
|
|
$$('select.date_select').each(function(item){
|
|
/* $A(item.options).each(function(opt,i){
|
|
if(opt.text==today.getFullYear() || opt.text==today.getMonth()+1) opt.selected=true;
|
|
}); */
|
|
item.addEvent('change',function(){
|
|
setDate(this.get('id').split('_')[0]);
|
|
});
|
|
});
|
|
|
|
setDate();
|
|
|
|
function setDate(){
|
|
var arguments=arguments.length===0 ? ['from','to'] : arguments;
|
|
$A(arguments).each(function(item){
|
|
dataAction.getElement('input[name=time_'+item+']').value=$(item+'_year').options[$(item+'_year').selectedIndex].text+'-'+$(item+'_month').options[$(item+'_month').selectedIndex].text+'-01';
|
|
});
|
|
}
|
|
<{/if}>
|
|
|
|
$$('.select-tabs a').addEvent('click',function(e){
|
|
e.stop();
|
|
W.page(this.href,{data:'report='+this.type,method:"post"});
|
|
});
|
|
|
|
function setChartData(flag,e){
|
|
if(!check_data(from,to))return;
|
|
var params=dataAction.toQueryString(),
|
|
itemcur=$E('.chart-view .chart-item-cur');
|
|
dataAction.store('_data',params);
|
|
if(flag&&itemcur&&$E('iframe',itemcur)) $E('iframe',itemcur).src+='&'+params;
|
|
if(flag) url='index.php?app=<{$env.get.app}>&ctl=<{$env.get.ctl}>&act=<{$env.get.act}>';
|
|
else url=e.target.href||e.target.getParent().href;
|
|
W.page(url, {data:params, method:'post',onComplete:function(){
|
|
if(_finder) _finder.filter.value=params;
|
|
}});
|
|
}
|
|
if($('select_shop')) $('select_shop').addEvent('change',function(e){setChartData(true);});
|
|
dataAction.getElement('.filterBtn').addEvent('click',function(e){setChartData(true);});
|
|
|
|
var packet=$('finder-packet-<{$name}>');
|
|
if(packet) packet.addEvent("click",function(e){
|
|
if(e.target.tagName.toLowerCase()=="a" || e.target.getParent().tagName.toLowerCase()=="a"){
|
|
e.stop();
|
|
setChartData(false,e);
|
|
}
|
|
});
|
|
|
|
<{if $report == "month"}>
|
|
function check_data(from,to){
|
|
if(Date.parse(to.value.replace(/-/gi,"/"))<Date.parse(from.value.replace(/-/gi,"/"))){
|
|
return MessageBox.error('<{t}>选择开始时间必须早于结束时间<{/t}>');
|
|
}
|
|
return true;
|
|
}
|
|
<{else}>
|
|
function check_data(from,to){
|
|
var data=[],
|
|
_return=[from,to].every(function(el){
|
|
if(!/^(19|20)[0-9]{2}-([1-9]|0[1-9]|1[012])-([1-9]|0[1-9]|[12][0-9]|3[01])+$/.test(el.value)){
|
|
new MessageBox('<{t}>请录入日期格式yyyy-mm-dd<{/t}>',{type:'error',autohide:true});
|
|
el.focus();
|
|
return false;
|
|
}
|
|
data.push(Date.parse(el.value.replace(/-/gi,"/")));
|
|
return true;
|
|
});
|
|
|
|
if(!_return)return null;
|
|
if(data[1]<data[0]){
|
|
return MessageBox.error('<{t}>选择开始时间必须早于结束时间<{/t}>');
|
|
}
|
|
|
|
<{if $date_check}>
|
|
var install_time = $('dataAction').getElement('input[name=time_from]').get('install_time').toInt();
|
|
if(data[0]<install_time){
|
|
return MessageBox.error('<{t}> 查询起始时间不得早于成本计算时间<{/t}>');
|
|
}
|
|
|
|
var enable = false;
|
|
new Request({url:'index.php?app=tgstockcost&ctl=stocksummary&act=checkedDate',method:'post',async:false,data:{date_from:from.value,date_to:to.value},
|
|
onComplete:function(result){
|
|
result = JSON.decode(result);
|
|
if(result == 'time_less') {
|
|
return MessageBox.error('<{t}> 查询起始时间不得早于成本计算时间!<{/t}>');
|
|
}else if(result == 'time_cross'){
|
|
return MessageBox.error('<{t}> 切换了成本法,不能跨时间查询!<{/t}>');
|
|
}
|
|
|
|
enable = true;
|
|
}
|
|
}).send();
|
|
return enable;
|
|
<{else}>
|
|
return true;
|
|
<{/if}>
|
|
}
|
|
|
|
<{/if}>
|
|
|
|
var dataBtn=dataAction.getElements('.dataBtn');
|
|
dataBtn.each(function(el,i){
|
|
if(el.get('time_from')==from.value && el.get('time_to')==to.value)
|
|
el.addClass('btn-fourthly-cur');
|
|
el.addEvent('click',function(e){
|
|
from.value=this.get('time_from');
|
|
to.value=this.get('time_to');
|
|
/* ['time_from','time_to'].each(function(v){
|
|
* dataAction.getElements('input[name='+v+']').value=this.get(v);
|
|
* },this); */
|
|
dataAction.getElement('.filterBtn').fireEvent('click');
|
|
});
|
|
});
|
|
|
|
if($ES('.large .span-auto').length)
|
|
$ES('.large .span-auto').each(function(el){
|
|
el.store('tip:title',el.get('title')).store('tip:text',el.get('info'));
|
|
Xtip.attach(el);
|
|
});
|
|
})();
|
|
|
|
|
|
window.addEvent('domready',function(e){
|
|
var lazyload = new LazyLoad();
|
|
if($E('.chart-tabs li')) new ItemAgg($ES('.chart-tabs li'),$ES('.chart-view .chart-items'),{
|
|
activeName:'current',
|
|
itemsClass:'chart-item-cur',
|
|
onActive:function(tab,item){
|
|
lazyload.loadCustomLazyData(item,'textarea');
|
|
var iframe=item.getElement('iframe'),
|
|
src=item.retrieve('_src',iframe.src),
|
|
params=$('dataAction').retrieve('_data','');
|
|
if(window.ie||iframe.retrieve('_params','')!=params){
|
|
iframe.src=src+params;
|
|
iframe.store('_params',params);
|
|
}
|
|
}
|
|
});
|
|
if($E('.finder-action .export')) $E('.finder-action .export').addEvent('click',function(e){
|
|
e.stop();
|
|
var target = this.get('target'),options = JSON.decode(target);
|
|
new Dialog(this.get('href'),$extend({
|
|
ajaxoptions:{
|
|
data:$('dataAction').toQueryString(),
|
|
method: 'post'
|
|
},
|
|
onClose:function(){
|
|
if((_finder=finderGroup['<{$name}>'])) _finder.refresh();
|
|
}
|
|
},options));
|
|
});
|
|
|
|
if($E('.chart-view') && $E('.finder-options')){
|
|
var closeBtn = $('btn_close_charts') || new Element('div.span-auto',{html:'<a id="btn_close_charts" href="javascript:void(0);">收起图形</a>'}).inject($E('.finder-options'));
|
|
if(window.ie7) $E('.finder-options').style.cssText = 'width:auto;float:right;';
|
|
var closedEl = $E('.chart-view');
|
|
closeBtn.getElement('a').addEvent('click',function(){
|
|
if(closedEl.isDisplay()){
|
|
closedEl.hide();
|
|
this.set('text','展开图形');
|
|
}
|
|
else{
|
|
closedEl.show();
|
|
var iframe=$E('.chart-view .chart-item-cur iframe'),
|
|
params=$('dataAction').toQueryString();
|
|
if(iframe && (window.ie||iframe.retrieve('_params','')!=params)){
|
|
iframe.src += params;
|
|
iframe.store('_params',params);
|
|
}
|
|
this.set('text','收起图形');
|
|
}
|
|
window.fireEvent('resize');
|
|
});
|
|
}
|
|
});
|
|
</script>
|
|
<{if $detail_hidden < 1}>
|
|
<style>
|
|
.new_style{
|
|
background-position: 0 10px;padding-left: 35px;
|
|
}
|
|
</style>
|
|
<div class="large">
|
|
<div class="ColColorOrange clearfix">
|
|
<{foreach from=$detail key=key item=item name="info"}>
|
|
<span class="f-12 new_style"><{$key}>:</span><strong class="f-18" style='width:90px;display:inline-block;'><{$item.value}></strong>
|
|
|
|
<{if $item.br == true}>
|
|
<br/><br/>
|
|
<{/if}>
|
|
<{/foreach}>
|
|
</div>
|
|
</div>
|
|
<{/if}>
|