mirror of
https://gitee.com/zoujingli/ThinkAdmin.git
synced 2025-04-06 03:58:04 +08:00
临时添加开发版本
This commit is contained in:
parent
2d6515f4dd
commit
3121df77c6
50
app/data/controller/Member.php
Normal file
50
app/data/controller/Member.php
Normal file
@ -0,0 +1,50 @@
|
||||
<?php
|
||||
|
||||
namespace app\data\controller;
|
||||
|
||||
use think\admin\Controller;
|
||||
|
||||
/**
|
||||
* 会员用户管理
|
||||
* Class Member
|
||||
* @package app\data\controller
|
||||
*/
|
||||
class Member extends Controller
|
||||
{
|
||||
/**
|
||||
* 绑定数据表
|
||||
* @var string
|
||||
*/
|
||||
private $table = 'DataMember';
|
||||
|
||||
/**
|
||||
* 会员用户管理
|
||||
* @auth true
|
||||
* @menu true
|
||||
* @throws \think\db\exception\DataNotFoundException
|
||||
* @throws \think\db\exception\DbException
|
||||
* @throws \think\db\exception\ModelNotFoundException
|
||||
*/
|
||||
public function index()
|
||||
{
|
||||
$this->title = '会员用户管理';
|
||||
$query = $this->_query($this->table);
|
||||
$query->like('phone,username|nickname#username');
|
||||
$query->whereRaw('nickname != "" or username != ""');
|
||||
$query->order('id desc')->equal('status')->dateBetween('create_at')->page();
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改会员状态
|
||||
* @auth true
|
||||
* @throws \think\db\exception\DbException
|
||||
*/
|
||||
public function state()
|
||||
{
|
||||
$this->_save($this->table, $this->_vali([
|
||||
'status.in:0,1' => '状态值范围异常!',
|
||||
'status.require' => '状态值不能为空!',
|
||||
]));
|
||||
}
|
||||
|
||||
}
|
@ -1,20 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace app\data\controller;
|
||||
|
||||
use think\admin\Controller;
|
||||
|
||||
/**
|
||||
* 商品规格管理
|
||||
* Class ShopGoodsSpec
|
||||
* @package app\data\controller
|
||||
*/
|
||||
class ShopGoodsSpec extends Controller
|
||||
{
|
||||
/**
|
||||
* 绑定数据表
|
||||
* @var string
|
||||
*/
|
||||
private $table = 'ShopGoodsSpec';
|
||||
|
||||
}
|
@ -2,9 +2,189 @@
|
||||
|
||||
namespace app\data\controller;
|
||||
|
||||
use app\data\service\OrderService;
|
||||
use think\admin\Controller;
|
||||
use think\exception\HttpResponseException;
|
||||
|
||||
/**
|
||||
* 订单数据管理
|
||||
* Class ShopOrder
|
||||
* @package app\data\controller
|
||||
*/
|
||||
class ShopOrder extends Controller
|
||||
{
|
||||
/**
|
||||
* 绑定数据表
|
||||
* @var string
|
||||
*/
|
||||
private $table = 'ShopOrder';
|
||||
|
||||
/**
|
||||
* 订单数据管理
|
||||
* @auth true
|
||||
* @menu true
|
||||
* @return \think\admin\helper\QueryHelper
|
||||
* @throws \think\db\exception\DataNotFoundException
|
||||
* @throws \think\db\exception\DbException
|
||||
* @throws \think\db\exception\ModelNotFoundException
|
||||
*/
|
||||
public function index()
|
||||
{
|
||||
$this->title = '订单数据管理';
|
||||
// 订单各状态数据统计
|
||||
$this->totals = [0 => 0, 1 => 0, 2 => 0, 3 => 0, 4 => 0, 5 => 0, 'all' => 0];
|
||||
$this->app->db->name($this->table)->fieldRaw('status,count(1) total')->group('status')->select()->map(function ($vo) {
|
||||
$this->totals[$vo['status']] = $vo['total'];
|
||||
$this->totals["all"] += $vo['total'];
|
||||
});
|
||||
// 订单列表查询
|
||||
$query = $this->_query($this->table)->dateBetween('create_at,payment_datetime')->equal('status,payment_status');
|
||||
$query->like('order_no,express_send_no,express_name,express_phone,express_province,express_city,express_area,express_address');
|
||||
$query->dateBetween('create_at,pay_datetime')->equal('status,pay_state');
|
||||
// 会员搜索查询
|
||||
$db = $this->_query('DataMember')->like('phone#member_phone,nickname#member_nickname')->db();
|
||||
if ($db->getOptions('where')) $query->whereRaw("mid in {$db->fieldRaw('id')->buildSql()}");
|
||||
// 推荐人搜索查询
|
||||
$db = $this->_query('DataMember')->like('phone#agent_phone,nickname#agent_nickname')->db();
|
||||
if ($db->getOptions('where')) $query->whereRaw("from in {$db->fieldRaw('id')->buildSql()}");
|
||||
// 列表选项卡
|
||||
$this->type = input('type', 'all');
|
||||
if (is_numeric($this->type)) $query->equal('status#type');
|
||||
// 分页排序处理
|
||||
if (isset($this->action) && $this->action === 'export') {
|
||||
return $query;
|
||||
} else {
|
||||
$query->order('id desc')->page();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出订单数据
|
||||
* @auth true
|
||||
* @throws \think\db\exception\DataNotFoundException
|
||||
* @throws \think\db\exception\DbException
|
||||
* @throws \think\db\exception\ModelNotFoundException
|
||||
*/
|
||||
public function export()
|
||||
{
|
||||
$this->action = 'export';
|
||||
$options = ['serialize' => serialize($this->index()->db()->getOptions())];
|
||||
$this->_queue('导出订单数据', OrderQueue::class, 0, $options, 0);
|
||||
}
|
||||
|
||||
/**
|
||||
* 订单列表处理
|
||||
* @param array $data
|
||||
* @throws \think\db\exception\DataNotFoundException
|
||||
* @throws \think\db\exception\DbException
|
||||
* @throws \think\db\exception\ModelNotFoundException
|
||||
*/
|
||||
protected function _index_page_filter(array &$data)
|
||||
{
|
||||
$mids = array_unique(array_merge(array_column($data, 'mid'), array_column($data, 'from_mid')));
|
||||
$members = $this->app->db->name('DataMember')->whereIn('id', $mids)->column('*', 'id');
|
||||
$orderNos = array_unique(array_column($data, 'order_no'));
|
||||
$goodsList = $this->app->db->name('ShopOrderItem')->whereIn('order_no', $orderNos)->select()->toArray();
|
||||
foreach ($data as &$vo) {
|
||||
[$vo['member'], $vo['from_member'], $vo['list']] = [[], [], []];
|
||||
$vo['member'] = isset($members[$vo['mid']]) ? $members[$vo['mid']] : [];
|
||||
$vo['from_member'] = isset($members[$vo['from_mid']]) ? $members[$vo['from_mid']] : [];
|
||||
foreach ($goodsList as $goods) if ($goods['order_no'] === $vo['order_no']) $vo['list'][] = $goods;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改快递管理
|
||||
* @auth true
|
||||
* @throws \think\db\exception\DataNotFoundException
|
||||
* @throws \think\db\exception\DbException
|
||||
* @throws \think\db\exception\ModelNotFoundException
|
||||
*/
|
||||
public function express()
|
||||
{
|
||||
if ($this->request->isGet()) {
|
||||
$where = ['is_deleted' => '0', 'status' => '1'];
|
||||
$query = $this->app->db->name('ShopExpressCompany')->where($where);
|
||||
$this->expressList = $query->order('sort desc,id desc')->select()->toArray();
|
||||
}
|
||||
$this->_form($this->table);
|
||||
}
|
||||
|
||||
/**
|
||||
* 快递追踪查询
|
||||
* @auth true
|
||||
*/
|
||||
public function expressQuery()
|
||||
{
|
||||
try {
|
||||
$data = $this->_vali([
|
||||
'code.require' => '快递公司不能为空!',
|
||||
'number.require' => '配送单号不能为空!',
|
||||
]);
|
||||
$this->result = OpenCuciService::instance()->track($data['code'], $data['number']);
|
||||
if (empty($this->result['code'])) $this->error($this->result['info']);
|
||||
$this->fetch();
|
||||
} catch (HttpResponseException $exception) {
|
||||
throw $exception;
|
||||
} catch (\Exception $exception) {
|
||||
$this->error($exception->getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 快递表单处理
|
||||
* @param array $vo
|
||||
* @throws \think\db\exception\DataNotFoundException
|
||||
* @throws \think\db\exception\DbException
|
||||
* @throws \think\db\exception\ModelNotFoundException
|
||||
*/
|
||||
protected function _express_form_filter(&$vo)
|
||||
{
|
||||
if ($this->request->isPost()) {
|
||||
$order = $this->app->db->name($this->table)->where(['id' => $vo['id']])->find();
|
||||
if (empty($order)) $this->error('订单查询异常,请稍候再试!');
|
||||
$map = ['code_1|code_2|code_3' => $vo['express_company_code']];
|
||||
$express = $this->app->db->name('ShopExpressCompany')->where($map)->find();
|
||||
if (empty($express)) $this->error('配送快递公司异常,请重新选择快递公司!');
|
||||
$vo['express_company_title'] = $express['title'];
|
||||
$vo['express_send_at'] = empty($order['express_send_at']) ? date('Y-m-d H:i:s') : $order['express_send_at'];
|
||||
$vo['express_state'] = '1';
|
||||
$vo['status'] = '4';
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 取消订单并创建售后单
|
||||
* @auth true
|
||||
* @throws \think\db\exception\DataNotFoundException
|
||||
* @throws \think\db\exception\DbException
|
||||
* @throws \think\db\exception\ModelNotFoundException
|
||||
*/
|
||||
public function cancel()
|
||||
{
|
||||
$map = $this->_vali(['order_no.require' => '订单编号不能为空!']);
|
||||
$order = $this->app->db->name($this->table)->where($map)->find();
|
||||
if (empty($order)) $this->error('订单查询异常');
|
||||
if (intval($order['status']) !== 3) $this->error('该订单不能发货!');
|
||||
[$rules, $data] = [[], ['type' => 3, 'refund_content' => '后台操作取消订单并申请退款', 'refund_images' => '']];
|
||||
foreach ($this->app->db->name("{$this->table}List")->where($map)->select()->toArray() as $item) {
|
||||
$rules[] = ['goods_id' => $item['goods_id'], 'goods_spec' => $item['goods_spec'], 'refund_number' => $item['number_goods']];
|
||||
}
|
||||
try {
|
||||
if (OrderService::instance()->refund($order['order_no'], $data, $rules)) {
|
||||
$this->app->db->name($this->table)->where($map)->update([
|
||||
'status' => 0,
|
||||
'cancel_state' => 1,
|
||||
'cancel_datetime' => date('Y-m-d H:i:s'),
|
||||
'cancel_description' => '后台操作取消并创建退款申请',
|
||||
]);
|
||||
$this->success('取消订单并创建退款申请成功!');
|
||||
}
|
||||
} catch (HttpResponseException $exception) {
|
||||
throw $exception;
|
||||
} catch (\Exception $exception) {
|
||||
$this->error($exception->getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
}
|
34
app/data/controller/ShopOrderSend.php
Normal file
34
app/data/controller/ShopOrderSend.php
Normal file
@ -0,0 +1,34 @@
|
||||
<?php
|
||||
|
||||
namespace app\data\controller;
|
||||
|
||||
use think\admin\Controller;
|
||||
|
||||
/**
|
||||
* 订单发货管理
|
||||
* Class ShopOrderSend
|
||||
* @package app\data\controller
|
||||
*/
|
||||
class ShopOrderSend extends Controller
|
||||
{
|
||||
/**
|
||||
* 绑定数据表
|
||||
* @var string
|
||||
*/
|
||||
private $table = 'ShopOrderSend';
|
||||
|
||||
/**
|
||||
* 订单发货管理
|
||||
* @auth true
|
||||
* @menu true
|
||||
* @throws \think\db\exception\DataNotFoundException
|
||||
* @throws \think\db\exception\DbException
|
||||
* @throws \think\db\exception\ModelNotFoundException
|
||||
*/
|
||||
public function index()
|
||||
{
|
||||
$query = $this->_query($this->table);
|
||||
$query->page();
|
||||
}
|
||||
|
||||
}
|
34
app/data/controller/ShopOrderService.php
Normal file
34
app/data/controller/ShopOrderService.php
Normal file
@ -0,0 +1,34 @@
|
||||
<?php
|
||||
|
||||
namespace app\data\controller;
|
||||
|
||||
use think\admin\Controller;
|
||||
|
||||
/**
|
||||
* 售后申请管理
|
||||
* Class ShopOrderService
|
||||
* @package app\data\controller
|
||||
*/
|
||||
class ShopOrderService extends Controller
|
||||
{
|
||||
/**
|
||||
* 绑定数据表
|
||||
* @var string
|
||||
*/
|
||||
private $table = 'ShopOrderService';
|
||||
|
||||
/**
|
||||
* 售后申请管理
|
||||
* @auth true
|
||||
* @menu true
|
||||
* @throws \think\db\exception\DataNotFoundException
|
||||
* @throws \think\db\exception\DbException
|
||||
* @throws \think\db\exception\ModelNotFoundException
|
||||
*/
|
||||
public function index()
|
||||
{
|
||||
$query = $this->_query($this->table);
|
||||
$query->page();
|
||||
}
|
||||
|
||||
}
|
73
app/data/service/OrderService.php
Normal file
73
app/data/service/OrderService.php
Normal file
@ -0,0 +1,73 @@
|
||||
<?php
|
||||
|
||||
namespace app\data\service;
|
||||
|
||||
use think\admin\Service;
|
||||
|
||||
/**
|
||||
* 订单数据服务
|
||||
* Class OrderService
|
||||
* @package app\data\service
|
||||
*/
|
||||
class OrderService extends Service
|
||||
{
|
||||
/**
|
||||
* 创建申请售后单
|
||||
* @param string $orderNo
|
||||
* @param array $data [type,refund_content,refund_images]
|
||||
* @param array $rules [[goods_id,goods_spec,refund_number]]
|
||||
* @return boolean
|
||||
* @throws \think\Exception
|
||||
* @throws \think\db\exception\DataNotFoundException
|
||||
* @throws \think\db\exception\DbException
|
||||
* @throws \think\db\exception\ModelNotFoundException
|
||||
*/
|
||||
public function refund(string $orderNo, array $data, array $rules = [])
|
||||
{
|
||||
[$all, $map] = [[], ['order_no' => $orderNo]];
|
||||
$order = $this->app->db->name('StoreOrder')->where($map)->find();
|
||||
$olist = $this->app->db->name('StoreOrderList')->where($map)->select()->toArray();
|
||||
$rlist = $this->app->db->name('StoreOrderRefund')->where($map)->whereIn('refund_status', [1, 2, 3])->select()->toArray();
|
||||
$discountRate = $order['pay_price'] / $order['price_discount'];
|
||||
if (count($olist) > 0) foreach ($olist as &$vo) {
|
||||
$vo['discount_unit_amount'] = $vo['discount_amount'] / $vo['number_goods'] * $discountRate;
|
||||
if (count($rlist) > 0) foreach ($rlist as $rule) {
|
||||
if ($vo['goods_id'] === $rule['goods_id'] && $vo['goods_spec'] === $rule['goods_spec']) {
|
||||
$vo['number_goods'] -= $rule['refund_number'];
|
||||
}
|
||||
}
|
||||
}
|
||||
// dump($olist);
|
||||
$data['group_no'] = CodeExtend::uniqidDate(18, "G");
|
||||
if (count($olist) > 0 && count($rules) > 0) foreach ($olist as &$vo) {
|
||||
foreach ($rules as $rule) if ($vo['goods_id'] === $rule['goods_id'] && $vo['goods_spec'] === $rule['goods_spec']) {
|
||||
if ($vo['number_goods'] - $rule['refund_number'] < 0) {
|
||||
throw new \think\Exception("订单商品数量异常!");
|
||||
}
|
||||
$data['mid'] = $vo['mid'];
|
||||
$data['order_no'] = $orderNo;
|
||||
$data['goods_id'] = $vo['goods_id'];
|
||||
$data['goods_sku'] = $vo['goods_sku'];
|
||||
$data['goods_title'] = $vo['goods_title'];
|
||||
$data['goods_logo'] = $vo['goods_logo'];
|
||||
$data['goods_spec'] = $vo['goods_spec'];
|
||||
$data['number_goods'] = $vo['number_goods'];
|
||||
$data['goods_price_total'] = $vo['goods_price_total'];
|
||||
$data['goods_price_market'] = $vo['goods_price_market'];
|
||||
$data['refund_no'] = CodeExtend::uniqidDate(18, 'R');
|
||||
$data['refund_rate'] = $discountRate;
|
||||
$data['refund_number'] = $rule['refund_number'];
|
||||
$data['refund_amount'] = $rule['refund_number'] * $vo['discount_unit_amount'];
|
||||
$data['refund_status'] = 1;
|
||||
$data['discount_amount'] = $vo['discount_amount'];
|
||||
// 支付金额处理
|
||||
if ($order['pay_price'] < $data['refund_amount']) {
|
||||
$data['refund_amount'] = $order['pay_price'];
|
||||
}
|
||||
$all[] = $data;
|
||||
}
|
||||
}
|
||||
if (empty($all)) throw new \think\Exception("没有需要处理的商品!");
|
||||
return $this->app->db->name('StoreOrderRefund')->strict(false)->insertAll($all) !== false;
|
||||
}
|
||||
}
|
61
app/data/view/member/index.html
Normal file
61
app/data/view/member/index.html
Normal file
@ -0,0 +1,61 @@
|
||||
{extend name="../../admin/view/main"}
|
||||
|
||||
{block name="content"}
|
||||
<div class="think-box-shadow">
|
||||
{include file='member/index_search'}
|
||||
<table class="layui-table margin-top-10" lay-skin="line">
|
||||
{notempty name='list'}
|
||||
<thead>
|
||||
<tr>
|
||||
<th class='list-table-check-td think-checkbox'>
|
||||
<label>
|
||||
<input data-auto-none data-check-target='.list-check-box' type='checkbox'>
|
||||
</label>
|
||||
</th>
|
||||
<th class='text-left nowrap'>姓名昵称</th>
|
||||
<th class='text-left nowrap'>会员手机</th>
|
||||
<th class='text-left nowrap'>会员状态</th>
|
||||
<th class='text-left nowrap'>注册时间</th>
|
||||
<th class='text-left nowrap'></th>
|
||||
</tr>
|
||||
</thead>
|
||||
{/notempty}
|
||||
<tbody>
|
||||
{foreach $list as $key=>$vo}
|
||||
<tr>
|
||||
<td class='list-table-check-td think-checkbox'>
|
||||
<label><input class="list-check-box" value='{$vo.id}' type='checkbox'></label>
|
||||
</td>
|
||||
<td class="text-left">
|
||||
{notempty name='vo.headimg'}
|
||||
<img alt="" style="width:32px;height:32px" data-tips-image class="inline-block margin-right-5" src="{$vo.headimg}">
|
||||
{/notempty}
|
||||
{if $vo.username || $vo.nickname}
|
||||
<div class="inline-block text-middle">
|
||||
姓名:{$vo.username|default='-'}<br>
|
||||
昵称:{$vo.nickname|default='-'}
|
||||
</div>
|
||||
{/if}
|
||||
</td>
|
||||
<td class="text-left">{$vo.phone|default='-'}</td>
|
||||
<td>
|
||||
{if $vo.status eq 0}<b class="color-red margin-right-5">已冻结</b>{/if}
|
||||
{if $vo.status eq 1}<b class="color-green margin-right-5">使用中</b>{/if}
|
||||
</td>
|
||||
<td>{$vo.create_at|default=''}</td>
|
||||
<td>
|
||||
{if auth("state") and $vo.status eq 1}
|
||||
<a class="layui-btn layui-btn-sm layui-btn-xs" data-action="{:url('state')}" data-value="id#{$vo.id};status#0">冻结账号</a>
|
||||
{/if}
|
||||
|
||||
{if auth("state") and $vo.status eq 0}
|
||||
<a class="layui-btn layui-btn-sm layui-btn-xs layui-btn-danger" data-action="{:url('state')}" data-value="id#{$vo.id};status#1">解冻账号</a>
|
||||
{/if}
|
||||
</td>
|
||||
</tr>
|
||||
{/foreach}
|
||||
</tbody>
|
||||
</table>
|
||||
{empty name='list'}<span class="notdata">没有记录哦</span>{else}{$pagehtml|raw|default=''}{/empty}
|
||||
</div>
|
||||
{/block}
|
41
app/data/view/member/index_search.html
Normal file
41
app/data/view/member/index_search.html
Normal file
@ -0,0 +1,41 @@
|
||||
<fieldset>
|
||||
<legend>条件搜索</legend>
|
||||
<form class="layui-form layui-form-pane form-search" action="{:request()->url()}" onsubmit="return false" method="get" autocomplete="off">
|
||||
<div class="layui-form-item layui-inline">
|
||||
<label class="layui-form-label">姓名昵称</label>
|
||||
<label class="layui-input-inline">
|
||||
<input name="username" value="{:input('username')}" placeholder="请输入姓名昵称" class="layui-input">
|
||||
</label>
|
||||
</div>
|
||||
<div class="layui-form-item layui-inline">
|
||||
<label class="layui-form-label">会员手机</label>
|
||||
<label class="layui-input-inline">
|
||||
<input name="phone" value="{:input('phone')}" placeholder="请输入会员手机" class="layui-input">
|
||||
</label>
|
||||
</div>
|
||||
<div class="layui-form-item layui-inline">
|
||||
<label class="layui-form-label">使用状态</label>
|
||||
<div class="layui-input-inline">
|
||||
<select class="layui-select" name="status">
|
||||
{foreach [''=>'-- 全部 --','0'=>'已冻结的会员','1'=>'使用中的会员'] as $k=>$v}
|
||||
{if $k.'' eq input('status')}
|
||||
<option selected value="{$k}">{$v}</option>
|
||||
{else}
|
||||
<option value="{$k}">{$v}</option>
|
||||
{/if}{/foreach}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-inline">
|
||||
<label class="layui-form-label">注册时间</label>
|
||||
<div class="layui-input-inline">
|
||||
<input data-date-range name="create_at" value="{:input('create_at','')}" placeholder="请选择注册时间" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-inline">
|
||||
<button class="layui-btn layui-btn-primary"><i class="layui-icon"></i> 搜 索</button>
|
||||
<button type="button" data-export-list class="layui-btn layui-btn-primary layui-hide"><i class="layui-icon layui-icon-export"></i> 导 出</button>
|
||||
</div>
|
||||
</form>
|
||||
<script>form.render()</script>
|
||||
</fieldset>
|
@ -1,10 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Title</title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
</body>
|
||||
</html>
|
@ -1,10 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Title</title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
</body>
|
||||
</html>
|
81
app/data/view/shop_order/express.html
Normal file
81
app/data/view/shop_order/express.html
Normal file
@ -0,0 +1,81 @@
|
||||
<form class="layui-form layui-card" action="{:request()->url()}" data-auto="true" method="post" autocomplete="off">
|
||||
<div class="layui-card-body padding-left-40">
|
||||
<fieldset>
|
||||
<legend><span class="layui-badge layui-bg-cyan">收货信息</span></legend>
|
||||
<div class="layui-form-item layui-row layui-col-space10">
|
||||
<label class="layui-col-xs6 relative block">
|
||||
<span class="color-green font-w7 label-required-prev">收货人姓名</span>
|
||||
<span class="color-desc margin-left-5">Consignee Name</span>
|
||||
<input class="layui-input" required placeholder="请输入收货姓名" name="express_name" value="{$vo.express_name|default=''}">
|
||||
</label>
|
||||
<label class="layui-col-xs6 relative block">
|
||||
<span class="color-green font-w7 label-required-prev">收货人手机</span>
|
||||
<span class="color-desc margin-left-5">Consignee's mobile phone</span>
|
||||
<input class="layui-input" required placeholder="请输入收货人手机" name="express_phone" value="{$vo.express_phone|default=''}">
|
||||
</label>
|
||||
<div class="layui-col-xs12 relative block">
|
||||
<span class="color-green font-w7 label-required-prev">收货所在区域</span>
|
||||
<span class="color-desc margin-left-5">( {$vo.express_province|default='--'} {$vo.express_city|default=''} {$vo.express_area|default=''} )</span>
|
||||
<div class="layui-row layui-col-space10">
|
||||
<label class="layui-col-xs4"><select class="layui-select block full-width" lay-ignore name="form_province"></select></label>
|
||||
<label class="layui-col-xs4"><select class="layui-select block full-width" lay-ignore name="form_city"></select></label>
|
||||
<label class="layui-col-xs4"><select class="layui-select block full-width" lay-ignore name="form_area"></select></label>
|
||||
</div>
|
||||
</div>
|
||||
<label class="layui-col-xs12 relative block">
|
||||
<span class="color-green font-w7 label-required-prev">收货详细地址</span>
|
||||
<span class="color-desc margin-left-5">( {$vo.express_address|default=""} )</span>
|
||||
<input name="express_address" required value='{$vo.express_address|default=""}' placeholder="请输入收货地址" class="layui-input">
|
||||
</label>
|
||||
</div>
|
||||
</fieldset>
|
||||
|
||||
<fieldset class="margin-top-20">
|
||||
<legend><span class="layui-badge layui-bg-cyan">快递信息</span> <a class="margin-left-10 layui-badge layui-bg-blue" data-express-query>快递跟踪</a></legend>
|
||||
<label class="layui-form-item relative block">
|
||||
<span class="color-green font-w7 label-required-prev">快递配送公司</span>
|
||||
<span class="color-desc margin-left-5">Express delivery company</span>
|
||||
<select data-express-code class="layui-select" name="express_company_code" lay-search>
|
||||
{foreach $expressList as $express}
|
||||
{if $vo.express_company_code eq $express.code_1}
|
||||
<option selected value="{$express.code_1}">{$express.title} ( {$express.code_1} )</option>
|
||||
{else}
|
||||
<option value="{$express.code_1}">{$express.title} ( {$express.code_1} )</option>
|
||||
{/if}
|
||||
{/foreach}
|
||||
</select>
|
||||
</label>
|
||||
<label class="layui-form-item relative block">
|
||||
<span class="color-green font-w7 label-required-prev">快递配送单号</span>
|
||||
<span class="color-desc margin-left-5">Express delivery number</span>
|
||||
<input data-express-number name="express_send_no" required value='{$vo.express_send_no|default=""}' placeholder="请输入快递配送单号" class="layui-input">
|
||||
</label>
|
||||
<label class="layui-form-item relative block">
|
||||
<span class="color-green font-w7 label-required-prev">快递配送描述</span>
|
||||
<span class="color-desc margin-left-5">Express delivery description</span>
|
||||
<textarea placeholder="请输入快递配送描述" class="layui-textarea" name="express_description">{$vo.express_description|default=""}</textarea>
|
||||
</label>
|
||||
</fieldset>
|
||||
</div>
|
||||
|
||||
<div class="hr-line-dashed"></div>
|
||||
{notempty name='vo.id'}<input type='hidden' value='{$vo.id}' name='id'>{/notempty}
|
||||
{notempty name='vo.order_no'}<input type='hidden' value='{$vo.order_no}' name='order_no'>{/notempty}
|
||||
|
||||
<div class="layui-form-item text-center">
|
||||
<button class="layui-btn" type='submit'>保存数据</button>
|
||||
<button class="layui-btn layui-btn-danger" type='button' data-confirm="确定要取消编辑吗?" data-close>取消编辑</button>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
require(['pcasunzips'], function () {
|
||||
new PCAS("form_province", "form_city", "form_area", '{$vo.express_province|default=""}', '{$vo.express_city|default=""}', '{$vo.express_area|default=""}');
|
||||
window.form.render();
|
||||
});
|
||||
$('[data-express-query]').on('click', function () {
|
||||
this.code = $('[data-express-code]').val();
|
||||
this.number = $('[data-express-number]').val();
|
||||
$.form.modal('{:url("expressQuery")}', {code: this.code, number: this.number})
|
||||
});
|
||||
</script>
|
||||
</form>
|
17
app/data/view/shop_order/express_query.html
Normal file
17
app/data/view/shop_order/express_query.html
Normal file
@ -0,0 +1,17 @@
|
||||
<div class="padding-25" style="max-height:450px;overflow:auto">
|
||||
{empty name='result.data'}
|
||||
<div>还没有快递记录哦!</div>
|
||||
{else}
|
||||
<ul class="layui-timeline">
|
||||
{foreach $result.data as $key=>$vo}
|
||||
<li class="layui-timeline-item">
|
||||
<i class="layui-icon layui-timeline-axis">{if $key eq 0 }{else}{/if}</i>
|
||||
<div class="layui-timeline-content layui-text">
|
||||
<strong class="layui-timeline-title">{$vo.time|format_datetime|default='--'}</strong>
|
||||
<p>{$vo.context|default='--'}</p>
|
||||
</div>
|
||||
</li>
|
||||
{/foreach}
|
||||
</ul>
|
||||
{/empty}
|
||||
</div>
|
132
app/data/view/shop_order/index.html
Normal file
132
app/data/view/shop_order/index.html
Normal file
@ -0,0 +1,132 @@
|
||||
{extend name="../../admin/view/main"}
|
||||
|
||||
{block name="content"}
|
||||
<div class="layui-tab layui-tab-card think-bg-white">
|
||||
<ul class="layui-tab-title notselect">
|
||||
{foreach ['all'=>'全部订单','2'=>'待支付的订单','3'=>'待发货的订单','4'=>'待收货的订单','5'=>'已完成的订单','0'=>'已取消的订单'] as $k=>$v}
|
||||
{php}$total=isset($totals[$k])?$totals[$k]:0;{/php}
|
||||
{if isset($type) and $type eq $k.''}
|
||||
<li data-open="{:url('index')}?type={$k}" class="layui-this">{$v} <sup class="layui-badge absolute border-radius">{$total}</sup></li>
|
||||
{else}
|
||||
<li data-open="{:url('index')}?type={$k}">{$v} <sup class="layui-badge absolute border-radius">{$total}</sup></li>
|
||||
{/if}
|
||||
{/foreach}
|
||||
</ul>
|
||||
<div class="layui-tab-content think-box-shadow">
|
||||
{include file='shop_order/index_search'}
|
||||
<table class="layui-table margin-top-10" lay-skin="line">
|
||||
{notempty name='list'}
|
||||
<thead>
|
||||
<tr>
|
||||
<th class='list-table-check-td think-checkbox'>
|
||||
<label><input data-auto-none data-check-target='.list-check-box' type='checkbox'></label>
|
||||
</th>
|
||||
<th style="width:360px">会员信息</th>
|
||||
<th style="width:360px">订单信息</th>
|
||||
<th>发货信息</th>
|
||||
<th>商品信息</th>
|
||||
</tr>
|
||||
</thead>
|
||||
{/notempty}
|
||||
<tbody>
|
||||
{foreach $list as $key=>$vo}
|
||||
<tr>
|
||||
<td class='list-table-check-td think-checkbox'>
|
||||
<label><input class="list-check-box" value='{$vo.id}' type='checkbox'></label>
|
||||
</td>
|
||||
<td class="nowrap relative">
|
||||
<div>
|
||||
<img data-tips-image style="width:35px;height:35px" src="{$vo.from_member.headimg|default='__ROOT__/static/theme/img/headimg.png'}" class="margin-right-5" alt="img">
|
||||
<div class="inline-block text-middle sub-span-blue">
|
||||
推荐会员:{$vo.from_member.nickname|default='--'}<br>
|
||||
推荐手机:<span>{$vo.from_member.phone|default='--'}</span>{notempty name='vo.from_member.vip_level'} [ <b class="color-red">VIP{$vo.from_member.vip_level}</b> ] <b class="color-red">{$vo.from_member.vip_title}</b>{/notempty}<br>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<img data-tips-image style="width:35px;height:35px" src="{$vo.member.headimg|default='__ROOT__/static/theme/img/headimg.png'}" class="margin-right-5" alt="img">
|
||||
<div class="inline-block text-middle sub-span-blue">
|
||||
会员昵称:{$vo.member.nickname|default='--'}<br>
|
||||
会员手机:<span>{$vo.member.phone|default='--'}</span>{notempty name='vo.member.vip_level'} [ <b class="color-red">VIP{$vo.member.vip_level}</b> ] <b class="color-red">{$vo.member.vip_title}</b>{/notempty}<br>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td class='nowrap'>
|
||||
<div class="inline-block margin-right-5 think-badge-middle notselect padding-left-5">
|
||||
{eq name='vo.status' value='0'}<span class="layui-badge layui-bg-gray" data-tips-text="{$vo.cancel_description}">已取消</span>{/eq}
|
||||
{eq name='vo.status' value='1'}<span class="layui-badge layui-bg-red">预订单</span>{/eq}
|
||||
{eq name='vo.status' value='2'}<span class="layui-badge layui-bg-orange">待付款</span>{/eq}
|
||||
{eq name='vo.status' value='3'}<span class="layui-badge layui-bg-black">待发货</span>{/eq}
|
||||
{eq name='vo.status' value='4'}<span class="layui-badge layui-bg-green">已发货</span>{/eq}
|
||||
{eq name='vo.status' value='5'}<span class="layui-badge layui-bg-blue">已完成</span>{/eq}
|
||||
</div>
|
||||
<div class="inline-block text-middle">
|
||||
订单单号:<span class="color-blue">{$vo.order_no|default=''}</span><br>
|
||||
订单金额:<b class="color-blue">{$vo.price_total+0}</b> 元<span class="color-blue">{if $vo.price_express>0}(含{$vo.price_express+0}元){else}(包邮){/if}</span>已支付 <strong class="color-blue">{$vo.pay_price+0}</strong> 元<br>
|
||||
下单时间:{$vo.create_at|format_datetime}<br>
|
||||
支付时间:{$vo.pay_datetime|format_datetime}{if $vo.pay_datetime}<span class="color-blue"> ({$vo.pay_type|default='-'})</span>{/if}<br>
|
||||
</div>
|
||||
</td>
|
||||
<td class="nowrap">
|
||||
收货信息:{$vo.express_name|default='--'}<span class="margin-left-5 color-blue">{$vo.express_phone}</span><br>
|
||||
收货地址:{$vo.express_province|default='--'}{$vo.express_city}{$vo.express_area}{$vo.express_address}<br>
|
||||
发货状态:{eq name='vo.express_state' value='0'}
|
||||
<span class="layui-badge layui-bg-black">未发货</span>
|
||||
{else}
|
||||
<span class="layui-badge layui-bg-blue">{$vo.express_company_title|default='--'}</span>
|
||||
<a data-title="{$vo.express_company_title}({$vo.express_send_no})" data-tips-text="快递追踪查询"
|
||||
data-modal="{:url('expressQuery')}?code={$vo.express_company_code}&number={$vo.express_send_no}"
|
||||
class="layui-badge layui-bg-gray margin-left-5">{$vo.express_send_no|default='--'}</a>
|
||||
{/eq}
|
||||
{if $vo.status eq 3}
|
||||
<a class=" margin-left-5" data-title="填写订单信息" data-modal="{:url('express')}?id={$vo.id}">填写发货</a>
|
||||
<!--{if auth('store/order/pushJushuitan') && isset($jushuitanType) and $jushuitanType > 0}-->
|
||||
<a class=" margin-left-5" data-confirm="确认要使用仓库发货吗?" data-load="{:url('pushJushuitan')}?order_no={$vo.order_no}">提交仓库</a>
|
||||
<!--{/if}-->
|
||||
<!--{if auth('cancel')}-->
|
||||
<a class=" margin-left-5" data-confirm="确认要取消并创建退款申请吗?" data-load="{:url('cancel')}?order_no={$vo.order_no}">取消并退款</a>
|
||||
<!--{/if}-->
|
||||
{elseif $vo.status eq 4}
|
||||
<a class=" margin-left-5" data-title="修改发货信息" data-modal="{:url('express')}?id={$vo.id}">修改发货</a>
|
||||
{/if}
|
||||
<br>
|
||||
发货时间:{$vo.express_send_at|format_datetime}<br>
|
||||
</td>
|
||||
<td class="nowrap">
|
||||
{foreach $vo.list as $g}
|
||||
<div>
|
||||
{if $g.vip_mod > 0 and $g.vip_level > $g.discount_vip}
|
||||
[ <b class="color-red">VIP{$g.discount_vip}</b> <b class="layui-icon font-s10 color-blue"></b> <b class="color-red">VIP{$g.vip_level}</b> ]
|
||||
{else}
|
||||
[ <b class="color-blue">VIP{$g.discount_vip}</b> ]
|
||||
{/if}
|
||||
{if $g.discount_rate<100.00}
|
||||
<b class="color-blue">享{$g.discount_rate+0}%折扣</b>
|
||||
<b class="color-red">x</b>
|
||||
{/if}
|
||||
<b class="color-blue">{$g.number_goods|default=0}件</b>
|
||||
<b class="color-red">x</b>
|
||||
<b class="color-blue">{$g.goods_price_market+0}元 </b>
|
||||
{$g.goods_title|default=''} <span class="color-green">( {$g.goods_spec|show_goods_spec})</span>
|
||||
</div>
|
||||
{/foreach}
|
||||
</td>
|
||||
</tr>
|
||||
{/foreach}
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
{empty name='list'}<span class="notdata">没有记录哦</span>{else}{$pagehtml|raw|default=''}{/empty}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<style>
|
||||
.think-badge-middle .layui-badge {
|
||||
width: 1em;
|
||||
height: 68px;
|
||||
padding-top: 5px;
|
||||
line-height: 21px;
|
||||
white-space: normal;
|
||||
vertical-align: middle;
|
||||
}
|
||||
</style>
|
||||
{/block}
|
135
app/data/view/shop_order/index_search.html
Normal file
135
app/data/view/shop_order/index_search.html
Normal file
@ -0,0 +1,135 @@
|
||||
<fieldset>
|
||||
<legend>条件搜索</legend>
|
||||
<form class="layui-form layui-form-pane form-search" action="{:request()->url()}" onsubmit="return false" method="get" autocomplete="off">
|
||||
<div class="layui-form-item layui-inline">
|
||||
<label class="layui-form-label">会员手机</label>
|
||||
<div class="layui-input-inline">
|
||||
<input name="member_phone" value="{:input('member_phone')}" placeholder="请输入会员手机" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-inline">
|
||||
<label class="layui-form-label">会员昵称</label>
|
||||
<div class="layui-input-inline">
|
||||
<input name="member_nickname" value="{:input('member_nickname')}" placeholder="请输入会员昵称" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-inline">
|
||||
<label class="layui-form-label">推荐手机</label>
|
||||
<div class="layui-input-inline">
|
||||
<input name="agent_phone" value="{:input('agent_phone')}" placeholder="请输入会员手机" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-inline">
|
||||
<label class="layui-form-label">推荐昵称</label>
|
||||
<div class="layui-input-inline">
|
||||
<input name="agent_nickname" value="{:input('agent_nickname')}" placeholder="请输入会员昵称" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-inline">
|
||||
<label class="layui-form-label">订单单号</label>
|
||||
<div class="layui-input-inline">
|
||||
<input name="order_no" value="{:input('order_no')}" placeholder="请输入订单单号" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-inline">
|
||||
<label class="layui-form-label">发货单号</label>
|
||||
<div class="layui-input-inline">
|
||||
<input name="express_send_no" value="{:input('express_send_no')}" placeholder="请输入发货单号" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-inline">
|
||||
<label class="layui-form-label">订单状态</label>
|
||||
<div class="layui-input-inline">
|
||||
<select class="layui-select" name="status">
|
||||
{foreach [''=>'- 全部订单 -','2'=>'待付款','3'=>'待发货','4'=>'已发货','5'=>'已完成'] as $k=>$v}
|
||||
{if input('status') eq $k.''}
|
||||
<option selected value="{$k}">{$v}</option>
|
||||
{else}
|
||||
<option value="{$k}">{$v}</option>
|
||||
{/if}
|
||||
{/foreach}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-inline">
|
||||
<label class="layui-form-label">付款状态</label>
|
||||
<div class="layui-input-inline">
|
||||
<select class="layui-select" name="pay_state">
|
||||
{foreach [''=>'- 全部订单 -','0'=>'未支付的订单','1'=>'已支付的订单'] as $k=>$v}
|
||||
{if input('pay_state') eq $k.''}
|
||||
<option selected value="{$k}">{$v}</option>
|
||||
{else}
|
||||
<option value="{$k}">{$v}</option>
|
||||
{/if}
|
||||
{/foreach}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-inline">
|
||||
<label class="layui-form-label">下单时间</label>
|
||||
<div class="layui-input-inline">
|
||||
<input data-date-range name="create_at" value="{:input('create_at')}" placeholder="请选择下单时间" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-inline">
|
||||
<label class="layui-form-label">支付时间</label>
|
||||
<div class="layui-input-inline">
|
||||
<input data-date-range name="pay_datetime" value="{:input('pay_datetime')}" placeholder="请选择支付时间" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-inline">
|
||||
<label class="layui-form-label">收货姓名</label>
|
||||
<div class="layui-input-inline">
|
||||
<input name="express_name" value="{:input('express_name')}" placeholder="请输入收货姓名" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-inline">
|
||||
<label class="layui-form-label">收货手机</label>
|
||||
<div class="layui-input-inline">
|
||||
<input name="express_phone" value="{:input('express_phone')}" placeholder="请输入收货手机" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-inline">
|
||||
<label class="layui-form-label">收货省份</label>
|
||||
<div class="layui-input-inline">
|
||||
<input name="express_province" value="{:input('express_province')}" placeholder="请输入收货省份" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-inline">
|
||||
<label class="layui-form-label">收货城市</label>
|
||||
<div class="layui-input-inline">
|
||||
<input name="express_city" value="{:input('express_city')}" placeholder="请输入收货城市" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-inline">
|
||||
<label class="layui-form-label">收货区域</label>
|
||||
<div class="layui-input-inline">
|
||||
<input name="express_area" value="{:input('express_area')}" placeholder="请输入收货区域" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-inline">
|
||||
<label class="layui-form-label">详细地址</label>
|
||||
<div class="layui-input-inline">
|
||||
<input name="express_address" value="{:input('express_address')}" placeholder="请输入详细地址" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-inline">
|
||||
<button class="layui-btn layui-btn-primary"><i class="layui-icon"></i> 搜 索</button>
|
||||
{if auth('export')}
|
||||
<button type="button" data-export-list class="layui-btn layui-btn-primary"><i class="layui-icon layui-icon-export"></i> 导 出</button>
|
||||
{/if}
|
||||
</div>
|
||||
</form>
|
||||
<script>
|
||||
window.form.render();
|
||||
</script>
|
||||
{if auth('export')}
|
||||
<script>
|
||||
$('[data-export-list]').on('click', function () {
|
||||
$.form.load('{:url("export")}?type={$type|default=""}', $(this).parents('form').serialize(), 'get', function (ret) {
|
||||
if (ret.code > 0) return $.loadQueue(ret.data), false;
|
||||
})
|
||||
});
|
||||
</script>
|
||||
{/if}
|
||||
</fieldset>
|
132
app/data/view/shop_order_send/index.html
Normal file
132
app/data/view/shop_order_send/index.html
Normal file
@ -0,0 +1,132 @@
|
||||
{extend name="../../admin/view/main"}
|
||||
|
||||
{block name="content"}
|
||||
<div class="layui-tab layui-tab-card think-bg-white">
|
||||
<ul class="layui-tab-title notselect">
|
||||
{foreach ['all'=>'全部订单','2'=>'待支付的订单','3'=>'待发货的订单','4'=>'待收货的订单','5'=>'已完成的订单','0'=>'已取消的订单'] as $k=>$v}
|
||||
{php}$total=isset($totals[$k])?$totals[$k]:0;{/php}
|
||||
{if isset($type) and $type eq $k.''}
|
||||
<li data-open="{:url('index')}?type={$k}" class="layui-this">{$v} <sup class="layui-badge absolute border-radius">{$total}</sup></li>
|
||||
{else}
|
||||
<li data-open="{:url('index')}?type={$k}">{$v} <sup class="layui-badge absolute border-radius">{$total}</sup></li>
|
||||
{/if}
|
||||
{/foreach}
|
||||
</ul>
|
||||
<div class="layui-tab-content think-box-shadow">
|
||||
{include file='shop_order_send/index_search'}
|
||||
<table class="layui-table margin-top-10" lay-skin="line">
|
||||
{notempty name='list'}
|
||||
<thead>
|
||||
<tr>
|
||||
<th class='list-table-check-td think-checkbox'>
|
||||
<label><input data-auto-none data-check-target='.list-check-box' type='checkbox'></label>
|
||||
</th>
|
||||
<th style="width:360px">会员信息</th>
|
||||
<th style="width:360px">订单信息</th>
|
||||
<th>发货信息</th>
|
||||
<th>商品信息</th>
|
||||
</tr>
|
||||
</thead>
|
||||
{/notempty}
|
||||
<tbody>
|
||||
{foreach $list as $key=>$vo}
|
||||
<tr>
|
||||
<td class='list-table-check-td think-checkbox'>
|
||||
<label><input class="list-check-box" value='{$vo.id}' type='checkbox'></label>
|
||||
</td>
|
||||
<td class="nowrap relative">
|
||||
<div>
|
||||
<img data-tips-image style="width:35px;height:35px" src="{$vo.from_member.headimg|default='__ROOT__/static/theme/img/headimg.png'}" class="margin-right-5" alt="img">
|
||||
<div class="inline-block text-middle sub-span-blue">
|
||||
推荐会员:{$vo.from_member.nickname|default='--'}<br>
|
||||
推荐手机:<span>{$vo.from_member.phone|default='--'}</span>{notempty name='vo.from_member.vip_level'} [ <b class="color-red">VIP{$vo.from_member.vip_level}</b> ] <b class="color-red">{$vo.from_member.vip_title}</b>{/notempty}<br>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<img data-tips-image style="width:35px;height:35px" src="{$vo.member.headimg|default='__ROOT__/static/theme/img/headimg.png'}" class="margin-right-5" alt="img">
|
||||
<div class="inline-block text-middle sub-span-blue">
|
||||
会员昵称:{$vo.member.nickname|default='--'}<br>
|
||||
会员手机:<span>{$vo.member.phone|default='--'}</span>{notempty name='vo.member.vip_level'} [ <b class="color-red">VIP{$vo.member.vip_level}</b> ] <b class="color-red">{$vo.member.vip_title}</b>{/notempty}<br>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td class='nowrap'>
|
||||
<div class="inline-block margin-right-5 think-badge-middle notselect padding-left-5">
|
||||
{eq name='vo.status' value='0'}<span class="layui-badge layui-bg-gray" data-tips-text="{$vo.cancel_description}">已取消</span>{/eq}
|
||||
{eq name='vo.status' value='1'}<span class="layui-badge layui-bg-red">预订单</span>{/eq}
|
||||
{eq name='vo.status' value='2'}<span class="layui-badge layui-bg-orange">待付款</span>{/eq}
|
||||
{eq name='vo.status' value='3'}<span class="layui-badge layui-bg-black">待发货</span>{/eq}
|
||||
{eq name='vo.status' value='4'}<span class="layui-badge layui-bg-green">已发货</span>{/eq}
|
||||
{eq name='vo.status' value='5'}<span class="layui-badge layui-bg-blue">已完成</span>{/eq}
|
||||
</div>
|
||||
<div class="inline-block text-middle">
|
||||
订单单号:<span class="color-blue">{$vo.order_no|default=''}</span><br>
|
||||
订单金额:<b class="color-blue">{$vo.price_total+0}</b> 元<span class="color-blue">{if $vo.price_express>0}(含{$vo.price_express+0}元){else}(包邮){/if}</span>已支付 <strong class="color-blue">{$vo.pay_price+0}</strong> 元<br>
|
||||
下单时间:{$vo.create_at|format_datetime}<br>
|
||||
支付时间:{$vo.pay_datetime|format_datetime}{if $vo.pay_datetime}<span class="color-blue"> ({$vo.pay_type|default='-'})</span>{/if}<br>
|
||||
</div>
|
||||
</td>
|
||||
<td class="nowrap">
|
||||
收货信息:{$vo.express_name|default='--'}<span class="margin-left-5 color-blue">{$vo.express_phone}</span><br>
|
||||
收货地址:{$vo.express_province|default='--'}{$vo.express_city}{$vo.express_area}{$vo.express_address}<br>
|
||||
发货状态:{eq name='vo.express_state' value='0'}
|
||||
<span class="layui-badge layui-bg-black">未发货</span>
|
||||
{else}
|
||||
<span class="layui-badge layui-bg-blue">{$vo.express_company_title|default='--'}</span>
|
||||
<a data-title="{$vo.express_company_title}({$vo.express_send_no})" data-tips-text="快递追踪查询"
|
||||
data-modal="{:url('expressQuery')}?code={$vo.express_company_code}&number={$vo.express_send_no}"
|
||||
class="layui-badge layui-bg-gray margin-left-5">{$vo.express_send_no|default='--'}</a>
|
||||
{/eq}
|
||||
{if $vo.status eq 3}
|
||||
<a class=" margin-left-5" data-title="填写订单信息" data-modal="{:url('express')}?id={$vo.id}">填写发货</a>
|
||||
<!--{if auth('store/order/pushJushuitan') && isset($jushuitanType) and $jushuitanType > 0}-->
|
||||
<a class=" margin-left-5" data-confirm="确认要使用仓库发货吗?" data-load="{:url('pushJushuitan')}?order_no={$vo.order_no}">提交仓库</a>
|
||||
<!--{/if}-->
|
||||
<!--{if auth('cancel')}-->
|
||||
<a class=" margin-left-5" data-confirm="确认要取消并创建退款申请吗?" data-load="{:url('cancel')}?order_no={$vo.order_no}">取消并退款</a>
|
||||
<!--{/if}-->
|
||||
{elseif $vo.status eq 4}
|
||||
<a class=" margin-left-5" data-title="修改发货信息" data-modal="{:url('express')}?id={$vo.id}">修改发货</a>
|
||||
{/if}
|
||||
<br>
|
||||
发货时间:{$vo.express_send_at|format_datetime}<br>
|
||||
</td>
|
||||
<td class="nowrap">
|
||||
{foreach $vo.list as $g}
|
||||
<div>
|
||||
{if $g.vip_mod > 0 and $g.vip_level > $g.discount_vip}
|
||||
[ <b class="color-red">VIP{$g.discount_vip}</b> <b class="layui-icon font-s10 color-blue"></b> <b class="color-red">VIP{$g.vip_level}</b> ]
|
||||
{else}
|
||||
[ <b class="color-blue">VIP{$g.discount_vip}</b> ]
|
||||
{/if}
|
||||
{if $g.discount_rate<100.00}
|
||||
<b class="color-blue">享{$g.discount_rate+0}%折扣</b>
|
||||
<b class="color-red">x</b>
|
||||
{/if}
|
||||
<b class="color-blue">{$g.number_goods|default=0}件</b>
|
||||
<b class="color-red">x</b>
|
||||
<b class="color-blue">{$g.goods_price_market+0}元 </b>
|
||||
{$g.goods_title|default=''} <span class="color-green">( {$g.goods_spec|show_goods_spec})</span>
|
||||
</div>
|
||||
{/foreach}
|
||||
</td>
|
||||
</tr>
|
||||
{/foreach}
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
{empty name='list'}<span class="notdata">没有记录哦</span>{else}{$pagehtml|raw|default=''}{/empty}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<style>
|
||||
.think-badge-middle .layui-badge {
|
||||
width: 1em;
|
||||
height: 68px;
|
||||
padding-top: 5px;
|
||||
line-height: 21px;
|
||||
white-space: normal;
|
||||
vertical-align: middle;
|
||||
}
|
||||
</style>
|
||||
{/block}
|
135
app/data/view/shop_order_send/index_search.html
Normal file
135
app/data/view/shop_order_send/index_search.html
Normal file
@ -0,0 +1,135 @@
|
||||
<fieldset>
|
||||
<legend>条件搜索</legend>
|
||||
<form class="layui-form layui-form-pane form-search" action="{:request()->url()}" onsubmit="return false" method="get" autocomplete="off">
|
||||
<div class="layui-form-item layui-inline">
|
||||
<label class="layui-form-label">会员手机</label>
|
||||
<div class="layui-input-inline">
|
||||
<input name="member_phone" value="{:input('member_phone')}" placeholder="请输入会员手机" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-inline">
|
||||
<label class="layui-form-label">会员昵称</label>
|
||||
<div class="layui-input-inline">
|
||||
<input name="member_nickname" value="{:input('member_nickname')}" placeholder="请输入会员昵称" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-inline">
|
||||
<label class="layui-form-label">推荐手机</label>
|
||||
<div class="layui-input-inline">
|
||||
<input name="agent_phone" value="{:input('agent_phone')}" placeholder="请输入会员手机" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-inline">
|
||||
<label class="layui-form-label">推荐昵称</label>
|
||||
<div class="layui-input-inline">
|
||||
<input name="agent_nickname" value="{:input('agent_nickname')}" placeholder="请输入会员昵称" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-inline">
|
||||
<label class="layui-form-label">订单单号</label>
|
||||
<div class="layui-input-inline">
|
||||
<input name="order_no" value="{:input('order_no')}" placeholder="请输入订单单号" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-inline">
|
||||
<label class="layui-form-label">发货单号</label>
|
||||
<div class="layui-input-inline">
|
||||
<input name="express_send_no" value="{:input('express_send_no')}" placeholder="请输入发货单号" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-inline">
|
||||
<label class="layui-form-label">订单状态</label>
|
||||
<div class="layui-input-inline">
|
||||
<select class="layui-select" name="status">
|
||||
{foreach [''=>'- 全部订单 -','2'=>'待付款','3'=>'待发货','4'=>'已发货','5'=>'已完成'] as $k=>$v}
|
||||
{if input('status') eq $k.''}
|
||||
<option selected value="{$k}">{$v}</option>
|
||||
{else}
|
||||
<option value="{$k}">{$v}</option>
|
||||
{/if}
|
||||
{/foreach}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-inline">
|
||||
<label class="layui-form-label">付款状态</label>
|
||||
<div class="layui-input-inline">
|
||||
<select class="layui-select" name="pay_state">
|
||||
{foreach [''=>'- 全部订单 -','0'=>'未支付的订单','1'=>'已支付的订单'] as $k=>$v}
|
||||
{if input('pay_state') eq $k.''}
|
||||
<option selected value="{$k}">{$v}</option>
|
||||
{else}
|
||||
<option value="{$k}">{$v}</option>
|
||||
{/if}
|
||||
{/foreach}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-inline">
|
||||
<label class="layui-form-label">下单时间</label>
|
||||
<div class="layui-input-inline">
|
||||
<input data-date-range name="create_at" value="{:input('create_at')}" placeholder="请选择下单时间" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-inline">
|
||||
<label class="layui-form-label">支付时间</label>
|
||||
<div class="layui-input-inline">
|
||||
<input data-date-range name="pay_datetime" value="{:input('pay_datetime')}" placeholder="请选择支付时间" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-inline">
|
||||
<label class="layui-form-label">收货姓名</label>
|
||||
<div class="layui-input-inline">
|
||||
<input name="express_name" value="{:input('express_name')}" placeholder="请输入收货姓名" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-inline">
|
||||
<label class="layui-form-label">收货手机</label>
|
||||
<div class="layui-input-inline">
|
||||
<input name="express_phone" value="{:input('express_phone')}" placeholder="请输入收货手机" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-inline">
|
||||
<label class="layui-form-label">收货省份</label>
|
||||
<div class="layui-input-inline">
|
||||
<input name="express_province" value="{:input('express_province')}" placeholder="请输入收货省份" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-inline">
|
||||
<label class="layui-form-label">收货城市</label>
|
||||
<div class="layui-input-inline">
|
||||
<input name="express_city" value="{:input('express_city')}" placeholder="请输入收货城市" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-inline">
|
||||
<label class="layui-form-label">收货区域</label>
|
||||
<div class="layui-input-inline">
|
||||
<input name="express_area" value="{:input('express_area')}" placeholder="请输入收货区域" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-inline">
|
||||
<label class="layui-form-label">详细地址</label>
|
||||
<div class="layui-input-inline">
|
||||
<input name="express_address" value="{:input('express_address')}" placeholder="请输入详细地址" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-inline">
|
||||
<button class="layui-btn layui-btn-primary"><i class="layui-icon"></i> 搜 索</button>
|
||||
{if auth('export')}
|
||||
<button type="button" data-export-list class="layui-btn layui-btn-primary"><i class="layui-icon layui-icon-export"></i> 导 出</button>
|
||||
{/if}
|
||||
</div>
|
||||
</form>
|
||||
<script>
|
||||
window.form.render();
|
||||
</script>
|
||||
{if auth('export')}
|
||||
<script>
|
||||
$('[data-export-list]').on('click', function () {
|
||||
$.form.load('{:url("export")}?type={$type|default=""}', $(this).parents('form').serialize(), 'get', function (ret) {
|
||||
if (ret.code > 0) return $.loadQueue(ret.data), false;
|
||||
})
|
||||
});
|
||||
</script>
|
||||
{/if}
|
||||
</fieldset>
|
132
app/data/view/shop_order_service/index.html
Normal file
132
app/data/view/shop_order_service/index.html
Normal file
@ -0,0 +1,132 @@
|
||||
{extend name="../../admin/view/main"}
|
||||
|
||||
{block name="content"}
|
||||
<div class="layui-tab layui-tab-card think-bg-white">
|
||||
<ul class="layui-tab-title notselect">
|
||||
{foreach ['all'=>'全部订单','2'=>'待支付的订单','3'=>'待发货的订单','4'=>'待收货的订单','5'=>'已完成的订单','0'=>'已取消的订单'] as $k=>$v}
|
||||
{php}$total=isset($totals[$k])?$totals[$k]:0;{/php}
|
||||
{if isset($type) and $type eq $k.''}
|
||||
<li data-open="{:url('index')}?type={$k}" class="layui-this">{$v} <sup class="layui-badge absolute border-radius">{$total}</sup></li>
|
||||
{else}
|
||||
<li data-open="{:url('index')}?type={$k}">{$v} <sup class="layui-badge absolute border-radius">{$total}</sup></li>
|
||||
{/if}
|
||||
{/foreach}
|
||||
</ul>
|
||||
<div class="layui-tab-content think-box-shadow">
|
||||
{include file='shop_order_service/index_search'}
|
||||
<table class="layui-table margin-top-10" lay-skin="line">
|
||||
{notempty name='list'}
|
||||
<thead>
|
||||
<tr>
|
||||
<th class='list-table-check-td think-checkbox'>
|
||||
<label><input data-auto-none data-check-target='.list-check-box' type='checkbox'></label>
|
||||
</th>
|
||||
<th style="width:360px">会员信息</th>
|
||||
<th style="width:360px">订单信息</th>
|
||||
<th>发货信息</th>
|
||||
<th>商品信息</th>
|
||||
</tr>
|
||||
</thead>
|
||||
{/notempty}
|
||||
<tbody>
|
||||
{foreach $list as $key=>$vo}
|
||||
<tr>
|
||||
<td class='list-table-check-td think-checkbox'>
|
||||
<label><input class="list-check-box" value='{$vo.id}' type='checkbox'></label>
|
||||
</td>
|
||||
<td class="nowrap relative">
|
||||
<div>
|
||||
<img data-tips-image style="width:35px;height:35px" src="{$vo.from_member.headimg|default='__ROOT__/static/theme/img/headimg.png'}" class="margin-right-5" alt="img">
|
||||
<div class="inline-block text-middle sub-span-blue">
|
||||
推荐会员:{$vo.from_member.nickname|default='--'}<br>
|
||||
推荐手机:<span>{$vo.from_member.phone|default='--'}</span>{notempty name='vo.from_member.vip_level'} [ <b class="color-red">VIP{$vo.from_member.vip_level}</b> ] <b class="color-red">{$vo.from_member.vip_title}</b>{/notempty}<br>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<img data-tips-image style="width:35px;height:35px" src="{$vo.member.headimg|default='__ROOT__/static/theme/img/headimg.png'}" class="margin-right-5" alt="img">
|
||||
<div class="inline-block text-middle sub-span-blue">
|
||||
会员昵称:{$vo.member.nickname|default='--'}<br>
|
||||
会员手机:<span>{$vo.member.phone|default='--'}</span>{notempty name='vo.member.vip_level'} [ <b class="color-red">VIP{$vo.member.vip_level}</b> ] <b class="color-red">{$vo.member.vip_title}</b>{/notempty}<br>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td class='nowrap'>
|
||||
<div class="inline-block margin-right-5 think-badge-middle notselect padding-left-5">
|
||||
{eq name='vo.status' value='0'}<span class="layui-badge layui-bg-gray" data-tips-text="{$vo.cancel_description}">已取消</span>{/eq}
|
||||
{eq name='vo.status' value='1'}<span class="layui-badge layui-bg-red">预订单</span>{/eq}
|
||||
{eq name='vo.status' value='2'}<span class="layui-badge layui-bg-orange">待付款</span>{/eq}
|
||||
{eq name='vo.status' value='3'}<span class="layui-badge layui-bg-black">待发货</span>{/eq}
|
||||
{eq name='vo.status' value='4'}<span class="layui-badge layui-bg-green">已发货</span>{/eq}
|
||||
{eq name='vo.status' value='5'}<span class="layui-badge layui-bg-blue">已完成</span>{/eq}
|
||||
</div>
|
||||
<div class="inline-block text-middle">
|
||||
订单单号:<span class="color-blue">{$vo.order_no|default=''}</span><br>
|
||||
订单金额:<b class="color-blue">{$vo.price_total+0}</b> 元<span class="color-blue">{if $vo.price_express>0}(含{$vo.price_express+0}元){else}(包邮){/if}</span>已支付 <strong class="color-blue">{$vo.pay_price+0}</strong> 元<br>
|
||||
下单时间:{$vo.create_at|format_datetime}<br>
|
||||
支付时间:{$vo.pay_datetime|format_datetime}{if $vo.pay_datetime}<span class="color-blue"> ({$vo.pay_type|default='-'})</span>{/if}<br>
|
||||
</div>
|
||||
</td>
|
||||
<td class="nowrap">
|
||||
收货信息:{$vo.express_name|default='--'}<span class="margin-left-5 color-blue">{$vo.express_phone}</span><br>
|
||||
收货地址:{$vo.express_province|default='--'}{$vo.express_city}{$vo.express_area}{$vo.express_address}<br>
|
||||
发货状态:{eq name='vo.express_state' value='0'}
|
||||
<span class="layui-badge layui-bg-black">未发货</span>
|
||||
{else}
|
||||
<span class="layui-badge layui-bg-blue">{$vo.express_company_title|default='--'}</span>
|
||||
<a data-title="{$vo.express_company_title}({$vo.express_send_no})" data-tips-text="快递追踪查询"
|
||||
data-modal="{:url('expressQuery')}?code={$vo.express_company_code}&number={$vo.express_send_no}"
|
||||
class="layui-badge layui-bg-gray margin-left-5">{$vo.express_send_no|default='--'}</a>
|
||||
{/eq}
|
||||
{if $vo.status eq 3}
|
||||
<a class=" margin-left-5" data-title="填写订单信息" data-modal="{:url('express')}?id={$vo.id}">填写发货</a>
|
||||
<!--{if auth('store/order/pushJushuitan') && isset($jushuitanType) and $jushuitanType > 0}-->
|
||||
<a class=" margin-left-5" data-confirm="确认要使用仓库发货吗?" data-load="{:url('pushJushuitan')}?order_no={$vo.order_no}">提交仓库</a>
|
||||
<!--{/if}-->
|
||||
<!--{if auth('cancel')}-->
|
||||
<a class=" margin-left-5" data-confirm="确认要取消并创建退款申请吗?" data-load="{:url('cancel')}?order_no={$vo.order_no}">取消并退款</a>
|
||||
<!--{/if}-->
|
||||
{elseif $vo.status eq 4}
|
||||
<a class=" margin-left-5" data-title="修改发货信息" data-modal="{:url('express')}?id={$vo.id}">修改发货</a>
|
||||
{/if}
|
||||
<br>
|
||||
发货时间:{$vo.express_send_at|format_datetime}<br>
|
||||
</td>
|
||||
<td class="nowrap">
|
||||
{foreach $vo.list as $g}
|
||||
<div>
|
||||
{if $g.vip_mod > 0 and $g.vip_level > $g.discount_vip}
|
||||
[ <b class="color-red">VIP{$g.discount_vip}</b> <b class="layui-icon font-s10 color-blue"></b> <b class="color-red">VIP{$g.vip_level}</b> ]
|
||||
{else}
|
||||
[ <b class="color-blue">VIP{$g.discount_vip}</b> ]
|
||||
{/if}
|
||||
{if $g.discount_rate<100.00}
|
||||
<b class="color-blue">享{$g.discount_rate+0}%折扣</b>
|
||||
<b class="color-red">x</b>
|
||||
{/if}
|
||||
<b class="color-blue">{$g.number_goods|default=0}件</b>
|
||||
<b class="color-red">x</b>
|
||||
<b class="color-blue">{$g.goods_price_market+0}元 </b>
|
||||
{$g.goods_title|default=''} <span class="color-green">( {$g.goods_spec|show_goods_spec})</span>
|
||||
</div>
|
||||
{/foreach}
|
||||
</td>
|
||||
</tr>
|
||||
{/foreach}
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
{empty name='list'}<span class="notdata">没有记录哦</span>{else}{$pagehtml|raw|default=''}{/empty}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<style>
|
||||
.think-badge-middle .layui-badge {
|
||||
width: 1em;
|
||||
height: 68px;
|
||||
padding-top: 5px;
|
||||
line-height: 21px;
|
||||
white-space: normal;
|
||||
vertical-align: middle;
|
||||
}
|
||||
</style>
|
||||
{/block}
|
135
app/data/view/shop_order_service/index_search.html
Normal file
135
app/data/view/shop_order_service/index_search.html
Normal file
@ -0,0 +1,135 @@
|
||||
<fieldset>
|
||||
<legend>条件搜索</legend>
|
||||
<form class="layui-form layui-form-pane form-search" action="{:request()->url()}" onsubmit="return false" method="get" autocomplete="off">
|
||||
<div class="layui-form-item layui-inline">
|
||||
<label class="layui-form-label">会员手机</label>
|
||||
<div class="layui-input-inline">
|
||||
<input name="member_phone" value="{:input('member_phone')}" placeholder="请输入会员手机" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-inline">
|
||||
<label class="layui-form-label">会员昵称</label>
|
||||
<div class="layui-input-inline">
|
||||
<input name="member_nickname" value="{:input('member_nickname')}" placeholder="请输入会员昵称" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-inline">
|
||||
<label class="layui-form-label">推荐手机</label>
|
||||
<div class="layui-input-inline">
|
||||
<input name="agent_phone" value="{:input('agent_phone')}" placeholder="请输入会员手机" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-inline">
|
||||
<label class="layui-form-label">推荐昵称</label>
|
||||
<div class="layui-input-inline">
|
||||
<input name="agent_nickname" value="{:input('agent_nickname')}" placeholder="请输入会员昵称" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-inline">
|
||||
<label class="layui-form-label">订单单号</label>
|
||||
<div class="layui-input-inline">
|
||||
<input name="order_no" value="{:input('order_no')}" placeholder="请输入订单单号" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-inline">
|
||||
<label class="layui-form-label">发货单号</label>
|
||||
<div class="layui-input-inline">
|
||||
<input name="express_send_no" value="{:input('express_send_no')}" placeholder="请输入发货单号" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-inline">
|
||||
<label class="layui-form-label">订单状态</label>
|
||||
<div class="layui-input-inline">
|
||||
<select class="layui-select" name="status">
|
||||
{foreach [''=>'- 全部订单 -','2'=>'待付款','3'=>'待发货','4'=>'已发货','5'=>'已完成'] as $k=>$v}
|
||||
{if input('status') eq $k.''}
|
||||
<option selected value="{$k}">{$v}</option>
|
||||
{else}
|
||||
<option value="{$k}">{$v}</option>
|
||||
{/if}
|
||||
{/foreach}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-inline">
|
||||
<label class="layui-form-label">付款状态</label>
|
||||
<div class="layui-input-inline">
|
||||
<select class="layui-select" name="pay_state">
|
||||
{foreach [''=>'- 全部订单 -','0'=>'未支付的订单','1'=>'已支付的订单'] as $k=>$v}
|
||||
{if input('pay_state') eq $k.''}
|
||||
<option selected value="{$k}">{$v}</option>
|
||||
{else}
|
||||
<option value="{$k}">{$v}</option>
|
||||
{/if}
|
||||
{/foreach}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-inline">
|
||||
<label class="layui-form-label">下单时间</label>
|
||||
<div class="layui-input-inline">
|
||||
<input data-date-range name="create_at" value="{:input('create_at')}" placeholder="请选择下单时间" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-inline">
|
||||
<label class="layui-form-label">支付时间</label>
|
||||
<div class="layui-input-inline">
|
||||
<input data-date-range name="pay_datetime" value="{:input('pay_datetime')}" placeholder="请选择支付时间" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-inline">
|
||||
<label class="layui-form-label">收货姓名</label>
|
||||
<div class="layui-input-inline">
|
||||
<input name="express_name" value="{:input('express_name')}" placeholder="请输入收货姓名" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-inline">
|
||||
<label class="layui-form-label">收货手机</label>
|
||||
<div class="layui-input-inline">
|
||||
<input name="express_phone" value="{:input('express_phone')}" placeholder="请输入收货手机" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-inline">
|
||||
<label class="layui-form-label">收货省份</label>
|
||||
<div class="layui-input-inline">
|
||||
<input name="express_province" value="{:input('express_province')}" placeholder="请输入收货省份" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-inline">
|
||||
<label class="layui-form-label">收货城市</label>
|
||||
<div class="layui-input-inline">
|
||||
<input name="express_city" value="{:input('express_city')}" placeholder="请输入收货城市" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-inline">
|
||||
<label class="layui-form-label">收货区域</label>
|
||||
<div class="layui-input-inline">
|
||||
<input name="express_area" value="{:input('express_area')}" placeholder="请输入收货区域" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-inline">
|
||||
<label class="layui-form-label">详细地址</label>
|
||||
<div class="layui-input-inline">
|
||||
<input name="express_address" value="{:input('express_address')}" placeholder="请输入详细地址" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-inline">
|
||||
<button class="layui-btn layui-btn-primary"><i class="layui-icon"></i> 搜 索</button>
|
||||
{if auth('export')}
|
||||
<button type="button" data-export-list class="layui-btn layui-btn-primary"><i class="layui-icon layui-icon-export"></i> 导 出</button>
|
||||
{/if}
|
||||
</div>
|
||||
</form>
|
||||
<script>
|
||||
window.form.render();
|
||||
</script>
|
||||
{if auth('export')}
|
||||
<script>
|
||||
$('[data-export-list]').on('click', function () {
|
||||
$.form.load('{:url("export")}?type={$type|default=""}', $(this).parents('form').serialize(), 'get', function (ret) {
|
||||
if (ret.code > 0) return $.loadQueue(ret.data), false;
|
||||
})
|
||||
});
|
||||
</script>
|
||||
{/if}
|
||||
</fieldset>
|
Loading…
x
Reference in New Issue
Block a user