HEX
Server: nginx/1.28.1
System: Linux 10-41-63-61 6.8.0-31-generic #31-Ubuntu SMP PREEMPT_DYNAMIC Sat Apr 20 00:40:06 UTC 2024 x86_64
User: www (1001)
PHP: 7.4.33
Disabled: passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv
Upload Files
File: /www/wwwroot/www.snodshop.com/Admin/Tpl/Order/admin.html
{:W("Main",array('module'=>MODULE_NAME,'action'=>ACTION_NAME,'do'=>$_GET['do']))}
<style>
.sms-send a{display:inline-block;margin:2px -2px;}
.button{margin-left:5px;padding:3px;border-radius:2px;background:#00c3af;color:#fff;border:none;cursor:pointer;font-size:12px;}
.button:hover{opacity:0.8;}
</style>
<div class="layout-main">    
    <div id="breadclumb" class="box">
        <h3><strong>{:lang('breadclumb_colon')}</strong>{:lang(MODULE_NAME)}<span></span>{:lang('order_list')}</h3>
    </div>
    <div id="CooperationMain" class="box clear-fix">   
        <div class="layout-block-header">
            <form action="__SELF__" method="get" id="searchform">
            	<input type="hidden" name="s" value="{$Think.const.MODULE_NAME}" />
				<input type="hidden" name="a" value="{$Think.const.ACTION_NAME}" />
				<input type="hidden" name="channel_id" value="{$_GET['channel_id']}" />
                <label>{:lang('order_search_colon')}</label>
				<select name="fields">
					<php>$fields=array('order_no'=>lang('order_number'),'delivery_no'=>lang('delivery_number'),'qudaonum'=>'渠道单号','item_sn'=>lang('item_number'),'item_name'=>lang('item_name'),'item_aliasname'=>'商品别名','name'=>lang('customer_realname'),'mobile'=>lang('customer_mobile'),'address'=>'详细地址','channel_id'=>lang('channel'),'add_ip'=>lang('下单IP'),);</php>
					<volist name="fields" id="vo">
					<option value="{$key}" <eq name="_GET.fields" value="$key">selected='selected'</eq>>{$vo}</option>
					</volist>
				</select>
                <input type="text" name="keyword" value="{$_GET['keyword']|trim}" class="ui-text" autocomplete="off" size="40">
                <button type="submit" class="btn btn-ok">{:lang('search')}</button>
				<button type="submit" class="btn" name="akmallExcel">{:lang('export_order')}</button>
				
				<div class="search-list filter clear-fix">
                    <label>{:lang('booking_time_colon')}</label>
                    <input type="text" name="time_start" value="{$_GET['time_start']|trim}" size="18" class="ui-text Wdate" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss'});">{:lang('to')}<input type="text" name="time_end" value="{$_GET['time_end']|trim}" size="18" class="ui-text Wdate" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss'});">
			
					<select name="pageSize">
						<php>$pageSize=array('25','50','100','500');</php>
						<volist name="pageSize" id="vo">
							<option value="{$vo}" <eq name="vo" value="$_GET['pageSize']">selected</eq>>每页显示{$vo}条</option>
						</volist>
					</select>
					<select name="user_id">
						<php>$users=M('User')->where("status=1")->select();</php>
						<option value="">选择用户</option>
						<volist name="users" id="vo">
							<option value="{$vo.id}" <eq name="vo.id" value="$_GET['user_id']">selected</eq>>{$vo.username}</option>
						</volist>
					</select>
                </div>
				
				<div class="search-list filter clear-fix">
					<div class="title">{:lang('order_status_colon')}</div>
					<div class="all"><q onclick="searchButtun('#status','')" <if condition="!is_numeric($_GET['status'])">class="select_item"</if>>所有</q></div>
					<div class="division">|</div>
					<div class="scope"><volist name="status" id="vo"><q onclick="searchButtun('#status','{$key}')" <if condition="is_numeric($_GET['status']) && $_GET['status'] eq $key">class="select_item"</if>>{$vo.name|strip_tags}({$vo.count})</q></volist></div>
					<input type="hidden" name="status" id="status" value="{$_GET.status}">
				</div>
			
				<div class="search-list filter clear-fix">
					<div class="title">{:lang('payment_colon')}</div>
					<div class="all"><q onclick="searchButtun('#payment','')" <if condition="empty($_GET['payment'])">class="select_item"</if>>所有</q></div>
					<div class="division">|</div>
					<div class="scope"><volist name=":C('PAYMENT')" id="vo"><q onclick="searchButtun('#payment','{$key}')" <if condition="$_GET['payment'] eq $key">class="select_item"</if>>{$vo.name|strip_tags}</q></volist></div>
					<input type="hidden" name="payment" id="payment" value="{$_GET.payment}">
				</div>
				
				
            </form>
        </div>
        
		<form action="{:U('Order/deleteAll')}" method="post" id="deleteform">
        <div class="ui-table">
            <div class="ui-table-body ui-table-body-hover">
                <table cellpadding="0" cellspacing="0" width="100%" >
                    <thead>
                        <tr class="ui-table-head">
                            <th class="ui-table-hcell" width="15"><input type="checkbox" id="check_box" onclick="$.Select.All(this,'id[]');" ></th>
                            <th class="ui-table-hcell" width="85">{:lang('id_/_order_number')}</th>
                            <th class="ui-table-hcell">{:lang('order_info')}</th>
                            <th class="ui-table-hcell" >
								{:lang('customer_info')}
								<button type="button" class="button" id="getReply">获取回复短信</button>
							</th>
                            <th class="ui-table-hcell" width="60">{:lang('amount_price')}</th>
							<th class="ui-table-hcell" width="80">
								{:lang('status')}
								<button type="button" class="button" id="uploadExpress" title="批量上传物流单号到TrackingMore。仅上传发货状态,且没有上传过的订单">&nbsp;&uarr;&nbsp;</button>
								<button type="button" class="button" id="updateExpress" title="批量从TrackingMore更新物流信息。批量更新只能抓取30天内上传的订单">&nbsp;&darr;&nbsp;</button>
							</th>
                            <th class="ui-table-hcell" width="80">{:lang('remark')}</th>
                            <th class="ui-table-hcell" width="85">{:lang('time')}</th>
                            <th class="ui-table-hcell" width="100">{:lang('action')}</th>
                        </tr>
                    </thead>
                    <tbody>
						<php>$payment = C('PAYMENT');</php>
                        <volist name="list" id="vo">
                        <tr id="row-{$vo.id}">
                            <td>
								<input type="checkbox" name="id[]" value="{$vo.id}" onclick="$.Select.This(this);">
								<p class="sms-send">
									<empty name="vo['sent'][0]">
									<a href="javascript:;" class="send-0" onclick="smsSend('{$vo.id}',0,0)" title="下单通知未发送"><img src="__PUBLIC__/Assets/img/false.png"></a>
									<else />
									<a href="javascript:;" class="send-0" onclick="smsSend('{$vo.id}',0,1)" title="下单通知已发送"><img src="__PUBLIC__/Assets/img/true.png"></a>
									</empty>
									
									<empty name="vo['sent'][1]">
									<a href="javascript:;" class="send-1" onclick="smsSend('{$vo.id}',1,0)" title="支付通知未发送"><img src="__PUBLIC__/Assets/img/false.png"></a>
									<else />
									<a href="javascript:;" class="send-1" onclick="smsSend('{$vo.id}',1,1)" title="支付通知已发送"><img src="__PUBLIC__/Assets/img/true.png"></a>
									</empty>
									
									<empty name="vo['sent'][3]">
									<a href="javascript:;" class="send-3" onclick="smsSend('{$vo.id}',3,0)" title="发货通知未发送"><img src="__PUBLIC__/Assets/img/false.png"></a>
									<else />
									<a href="javascript:;" class="send-3" onclick="smsSend('{$vo.id}',3,1)" title="发货通知已发送"><img src="__PUBLIC__/Assets/img/true.png"></a>
									</empty>
								</p>
							</td>
                            <td>
								<gt name="vo.num" value="1">
								<a href="{:U('Order/index',array('mobile'=>$vo['mobile']))}" title="同手机号重复订单" style='display:inline-block;background:#ff9800;padding:1px 8px;font-size:10px;border-radius:4px;color:#fff'>{$vo.num}</a>
								</gt>
								<!-- 同一个ip的重复订单  -->
								<gt name="vo.ipnum" value="1">
								<a href="{:U('Order/index',array('add_ip'=>$vo['add_ip']))}" title="同 IP 重复订单" style='display:inline-block;background:#ff3d00;padding:1px 8px;font-size:10px;border-radius:4px;color:#fff'>{$vo.ipnum}</a>
								</gt>
								<eq name="vo.device" value="2"> M<else /> PC</eq><br />
								ID:{$vo.id}<br />{$vo.order_no}<br />
							</td>
                            <td> 
								<div style="float:left;">
								<notempty name="vo.item_aliasname">【商品别名】<span style='color:#ff9800'>{$vo.item_aliasname}</span></notempty>
								<p>【商品编号】<a href="{:U('Order/index',array('item_id'=>$vo['item_id']))}">{$vo.item_sn}</a></p>
								<p>【商品名称】<a href="{$host}index.php?m=Order&id={$vo.item_sn}&uid={$_SESSION['user']['id']}&tpl=detail" target="_blank">{$vo.item_name}</a></p>
								<notempty name="vo.item_params"><p>【商品套餐】{$vo.item_params}</p></notempty>
								<php>
									$item_extends = json_decode($vo['item_extends'],true);
									if(!empty($item_extends)){
										foreach($item_extends as $key=>$val){ 
											$val = is_array($val)?implode('#',$val):$val;
											echo "<p>【".$key."】$val</p>"; 
										}
									}
								</php>
								<notempty name="vo.channel_id"><p>【推广渠道】{$vo.channel_id}</p></notempty>
								</div>
							</td>
                            <td>
								<p style='color:#f00'>【用户】{$vo.user_id|getFields="User","username",###}</p>
								<notempty name="vo.name">【姓名】{$vo.name}<br></notempty>
								<notempty name="vo.idnum">【身份证】{$vo.idnum}<br></notempty>
								<notempty name="vo.mobile">【手机】<a href="{:U('Order/index',array('mobile'=>$vo['mobile']))}">{$vo.mobile}</a><br></notempty>
								<notempty name="vo.mail">【邮箱】{$vo.mail}<br></notempty>
								<notempty name="vo.address">【地址】{$vo.region} {$vo.address}<br></notempty>
								<notempty name="vo.zcode">【邮编】{$vo.zcode}<br></notempty>
								<notempty name="vo.weixin">【微信】{$vo.weixin}<br></notempty>
								<notempty name="vo.receive">
									<volist name="vo.receive" id="li">
									<p style="color:#f00">【{$li.receive_time} 回复】{$li.receive_content}</p>
									</volist>
								</notempty>
							</td>
                            <td>{$vo.quantity}/<b class="alert">{$vo.total_price|floatval}</b></td>
                            <td>
								<div style="background-color:#ffe5b6;padding:5px;border: #ffe5b6 solid 1px;">
								{$payment[$vo['payment']]['name']}
								<p>{:status($vo['status'],'text',C('order_status'))}</p>
								<!--select name="select" class="status-select" data-id="{$vo.id}" data-status="{$vo.status}"></select-->
								</div>
								<div style="background-color:#fff9ee;padding:5px;border: #ffe5b6 solid 1px;">
								{:experss($vo['delivery_name'],$vo['delivery_no'],$vo['id'],$vo['order_no'])}
								<p class="ui-validityshower-info" style="font-size:9px;">{$vo['delivery_no']}</p>
								<p>{:status($vo['delivery_status'],'text',C('delivery_status'))}</p>
								</div>
							</td>
							
                            <td>
								<php>
									echo $vo['remark'];
								</php>
							</td>
                            <td>{$vo.add_time|date="y-m-d H:i",###}</td>
                            <td class="action">
                                <a <if condition="in_array('orderModify',$_SESSION['user']['auth'])">href="{:U('Order/'.ACTION_NAME,array('do'=>'modify','id'=>$vo['id'],'status'=>$_GET['status']))}"<else/>href="javascript:;" class="grey"</if>>修改</a>|
								<a <if condition="in_array('orderModify',$_SESSION['user']['auth'])">href="javascript:del('{$vo.id}');"<else/>href="javascript:;" class="grey"</if>>删除</a>
								
								
								<notempty name="vo.url">
									<p style="margin-top:5px;">
										<volist name="vo.url" id="url"><a href="{$url|trim}" target="_blank">采购{$i}</a></volist>
									</p>
								</notempty>
							</td>
                        </tr>
                        </volist>
                    </tbody>
                </table>
            </div>
        </div>
          
        <div class="ui-pager-bar clearfix" style="padding-left:10px;">
			<div class="float-left">
				<input type="hidden" name="model" value="{$Think.MODULE_NAME}">
				<input type="checkbox" id="check_box" onclick="$.Select.All(this,'id[]');" >选择/反选 
				<!--input type="button" name="del" value="批量删除" class="btn" onclick="delConfirm()"-->
				<input type="hidden" name="del" value="1">
				<input type="button" value="批量操作" class="btn btn-ok" onclick="batch()">
			</div>
			<div class="ui-pager" style="float:right">{$page}</div>
		</div>
		
		</form>
</div><!--.box-->
<script type="text/javascript" src="__PUBLIC__/Assets/js/My97DatePicker/WdatePicker.js"></script>
<script type="text/javascript">
$(function(){
	$('#getReply').on('click',function(){
		$.ajax({
			url:"{:U('Order/getReply')}",
			type:'get',
			dataType:'json',
			success:function(ret){
				$.alert(ret.info,ret.status,function(){
					if(ret.status=='1')window.location.reload();
				});
			}
		})
	})
	
	$('.status-select').on('change',function(){
		var id = $(this).attr('data-id');
		var status = $(this).val();
		$.ajax({
			url:"{:U('Order/modify')}",
			type:'post',
			data:{id:id,change_status:status},
			dataType:'json',
			success:function(ret){
				$.alert(ret.info,ret.status,function(){
					//if(ret.status=='1')window.location.reload();
				});
			}
		})
	})
})
function delConfirm(){
	$.confirm('是否要删除?',function(){ 
		$('#deleteform').submit();
	},true);
}
function del(id){
	$.confirm('是否要删除?',function(){ 
		$.ajax({
			url:"{:U('Order/proccess')}",
			data:{'do':'del','id':id},
			type:'get',
			dataType:'json',
			success:function(ret){
				$.alert(ret.info,ret.status);
				if(ret.status=='1'){ $('#row-'+id).remove(); }
			}
		})
	},true);
}
function smsSend(id,order_status,send_status){
	var msg = send_status==1?'是否重新发送短信通知?':'是否发送短信通知?';
	$.confirm(msg,function(){ 
		$.ajax({
			url:"{:U('Order/smsSend')}",
			data:{order_id:id,order_status:order_status,send_status:send_status},
			type:'get',
			dataType:'json',
			success:function(ret){
				$.alert(ret.info,ret.status);
			}
		})
	},true);
}
function batch(){
	var id = new Array();
	$('tbody input:checkbox:checked').each(function() {
		id.push($(this).val());
	});
	$.open("{:U('Order/batch')}&id="+id,{title:'批量操作',width:850,height:400})

}
//订单上传TrackingMore
$(function(){
	$('#uploadExpress').on('click',function(){
		$.ajax({
			url:"{:U('Order/uploadExpress')}",
			success:function(track){
				$.alert(track.info,track.status,function(){
					window.location.reload();
				});
			}
		})
	})
})
//物流跟踪
$(function(){
	$('#updateExpress').on('click',function(){
		$.ajax({
			url:"{:U('Order/updateExpress')}",
			success:function(track){
				$.alert(track.info,track.status,function(){
					window.location.reload();
				});
			}
		})
	})
})

function traceExpress(com,num,order_id,order_no){
	var url = "?m=Order&a=traceExpress&com="+com+"&num="+num+"&order_id="+order_id+"&order_no="+order_no;
	$.open(url,{title:'物流跟踪',width:650,height:500})
}
</script>
{:W("Foot")}