mirror of
https://gitee.com/ShopeX/OMS
synced 2026-03-23 02:45:33 +08:00
242 lines
9.1 KiB
HTML
242 lines
9.1 KiB
HTML
<!--
|
|
Copyright 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>
|
|
<td colspan="5">
|
|
<label>账单日期: </label>
|
|
<{if $report != "month"}>
|
|
<{input type="date" vtype="date" name="time_from" id="time_from" style="width:100px; font-family:arial;" value=$time_from}> 至
|
|
<{input type="date" vtype="date" name="time_to" id="time_to" style="width:100px; font-family:arial;" value=$time_to}>
|
|
<{/if}>
|
|
|
|
<label>选择店铺:</label>
|
|
<select name="shop_id" id="shop_id">
|
|
<option value="0">全部</option>
|
|
<{foreach from=$shopdata item=val}>
|
|
<option value="<{$val.shop_id}>" <{if $shop_id == $val.shop_id}>selected="selected"<{/if}> ><{$val.name}></option>
|
|
<{/foreach}>
|
|
</select>
|
|
|
|
<label>匹配状态:</label>
|
|
<select name="bill_status" id="bill_status">
|
|
<option value="all" <{if $bill_status == 'all'}>selected="selected"<{/if}> >全部</option>
|
|
<option value="succ" <{if $bill_status == 'succ'}>selected="selected"<{/if}> >成功</option>
|
|
<option value="fail" <{if $bill_status == 'fail'}>selected="selected"<{/if}> >失败</option>
|
|
</select>
|
|
|
|
<label>业务类型:</label>
|
|
<input class="x-input" type="text" name="trade_type" value="<{$env.post.trade_type}>">
|
|
<br>
|
|
<br>
|
|
<!--<label>具体类别:</label>
|
|
<select name="bill_category" id="bill_category">
|
|
<option value="all">全部</option>
|
|
<{foreach from=$billCategory item=val}>
|
|
<option value="<{$val.bill_category}>" <{if $env.post.bill_category == $val.bill_category}>selected="selected"<{/if}> ><{$val.bill_category}></option>
|
|
<{/foreach}>
|
|
</select>
|
|
<br>-->
|
|
<select name="search_key" >
|
|
<option <{if $search_key == 'order_bn'}>selected="selected"<{/if}> value="order_bn">订单号</option>
|
|
<option <{if $search_key == 'trade_no'}>selected="selected"<{/if}> value="trade_no">业务流水号</option>
|
|
<option <{if $search_key == 'financial_no'}>selected="selected"<{/if}> value="financial_no">财务流水号</option>
|
|
<option <{if $search_key == 'out_trade_no'}>selected="selected"<{/if}> value="out_trade_no">商户订单号</option>
|
|
</select> :
|
|
|
|
<input class="form-input" type="text" name="search_value" value="<{$search_value}>" style="width:300px;">
|
|
|
|
|
|
<{button class="filterBtn btn-thirdly" label='确定'}>
|
|
|
|
</td>
|
|
</tr>
|
|
|
|
|
|
|
|
</table>
|
|
</div>
|
|
|
|
<{if $detail_hidden < 1}>
|
|
<!-- detail start -->
|
|
<div class="large">
|
|
<{include file="analysis/detail.html" app="eccommon"}>
|
|
</div>
|
|
<!-- detail end -->
|
|
<{/if}>
|
|
|
|
<{if $graph_hidden < 1}>
|
|
<!-- graph start -->
|
|
<table class="chart-view">
|
|
<tr><td valign="top">
|
|
<{include file="analysis/graph.html" app="eccommon"}>
|
|
</td></tr>
|
|
</table>
|
|
<!-- graph end -->
|
|
<{/if}>
|
|
|
|
<{if $rank_html}>
|
|
<!-- rank start -->
|
|
<table class="chart-view">
|
|
<tr>
|
|
<td valign="top">
|
|
<{$rank_html}>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
<!-- rank end -->
|
|
<{/if}>
|
|
|
|
<script>
|
|
(function(){
|
|
//if($E('.num')) $E('.num').innerHTML+=' 数据非及时显示,当天数据请于第二天查看';
|
|
var _finder = finderGroup['<{$name}>'],
|
|
dataAction= $('dataAction'),
|
|
data_ipt=$$(dataAction.getElements('input[name^=time_]'),dataAction.getElements('select'),dataAction.getElements('input[name=trade_type]')),
|
|
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('选择开始时间必须早于结束时间');
|
|
}
|
|
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('请录入日期格式yyyy-mm-dd',{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('选择开始时间必须早于结束时间');
|
|
}
|
|
return _return;
|
|
}
|
|
<{/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){
|
|
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));
|
|
});
|
|
});
|
|
</script>
|