590 lines
25 KiB
HTML
590 lines
25 KiB
HTML
{layout name="layout1" /}
|
||
<style>
|
||
.layui-table-cell {
|
||
height:auto;
|
||
}
|
||
.goods-content>div:not(:last-of-type) {
|
||
border-bottom:1px solid #DCDCDC;
|
||
}
|
||
.goods-data::after{
|
||
display: block;
|
||
content: '';
|
||
clear: both;
|
||
}
|
||
.goods_name_hide{
|
||
overflow:hidden;
|
||
white-space:nowrap;
|
||
text-overflow: ellipsis;
|
||
}
|
||
.operation-btn {
|
||
margin: 5px;
|
||
}
|
||
.table-operate{
|
||
text-align: left;
|
||
font-size:14px;
|
||
padding:0 5px;
|
||
height:auto;
|
||
overflow:visible;
|
||
text-overflow:inherit;
|
||
white-space:normal;
|
||
word-break: break-all;
|
||
}
|
||
</style>
|
||
|
||
<div class="layui-fluid">
|
||
<div class="layui-card">
|
||
<div class="layui-card-body">
|
||
<div class="layui-collapse like-layui-collapse" lay-accordion="" style="border:1px dashed #c4c4c4">
|
||
<div class="layui-colla-item">
|
||
<h2 class="layui-colla-title like-layui-colla-title" style="background-color: #fff">操作提示</h2>
|
||
<div class="layui-colla-content layui-show">
|
||
<p>*客户预约家政的服务。</p>
|
||
<p>*订单状态有等待派单,服务中订单,售后服务订单,已完成,已关闭。</p>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="layui-tab layui-tab-card" lay-filter="tab-all">
|
||
|
||
<ul class="layui-tab-title">
|
||
<li data-type='' class="layui-this">全部</li>
|
||
<li data-type="0">等派单</li>
|
||
<li data-type="1">服务中</li>
|
||
<li data-type="2">售后中</li>
|
||
<li data-type="3">已完成</li>
|
||
</ul>
|
||
|
||
<div class="layui-tab-item layui-show">
|
||
<div class="layui-card">
|
||
<div class="layui-form layui-card-header layuiadmin-card-header-auto">
|
||
<div class="layui-form-item">
|
||
<div class="layui-row">
|
||
<div class="layui-inline" style="width: 24%;">
|
||
<label class="layui-form-label">订单编号:</label>
|
||
<div class="layui-input-block">
|
||
<input type="text" name="order_sn" id="order_sn" placeholder="请输入订单编号"
|
||
autocomplete="off" class="layui-input">
|
||
</div>
|
||
</div>
|
||
|
||
<div class="layui-inline" style="width: 24%;">
|
||
<label class="layui-form-label">客户名称:</label>
|
||
<div class="layui-input-block">
|
||
<input type="text" name="consignee" id="consignee" placeholder="请输入客户名称"
|
||
autocomplete="off" class="layui-input">
|
||
</div>
|
||
</div>
|
||
|
||
<div class="layui-inline" style="width: 24%;">
|
||
<label class="layui-form-label">手机号码:</label>
|
||
<div class="layui-input-block">
|
||
<input type="text" name="phone" id="phone" placeholder="请输入客户手机号码"
|
||
autocomplete="off" class="layui-input">
|
||
</div>
|
||
</div>
|
||
<div class="layui-inline" style="width: 24%;">
|
||
<label class="layui-form-label">订单地区:</label>
|
||
<div class="layui-input-block">
|
||
<select name="area_id" id="order_type">
|
||
<option value="">全部</option>
|
||
<option value="520102">南明区</option>
|
||
<option value="520103">云岩区</option>
|
||
<option value="520111">花溪区</option>
|
||
<option value="520112">乌当区</option>
|
||
<option value="520113">白云区</option>
|
||
<option value="520115">观山湖区</option>
|
||
<option value="520122">息烽县</option>
|
||
<option value="520123">修文县</option>
|
||
<option value="520181">清镇市</option>
|
||
</select>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="layui-inline" style="width: 24%;">
|
||
<label class="layui-form-label">订单来源:</label>
|
||
<div class="layui-input-block">
|
||
<select name="channel_id" id="channel_id">
|
||
<option value="">全部</option>
|
||
{foreach $order_source as $item => $val}
|
||
<option value="{$val.id}">{$val.name}</option>
|
||
{/foreach}
|
||
</select>
|
||
</div>
|
||
</div>
|
||
|
||
|
||
<div class="layui-inline" style="width: 24%;">
|
||
<label class="layui-form-label">订单状态:</label>
|
||
<div class="layui-input-block">
|
||
<select name="status" id="status">
|
||
<option value="">全部</option>
|
||
<option value="0">等派单</option>
|
||
<option value="2">服务中</option>
|
||
<option value="3">售后中</option>
|
||
<option value="1">已完成</option>
|
||
</select>
|
||
</div>
|
||
</div>
|
||
<div class="layui-inline" style="width: 24%;">
|
||
<label class="layui-form-label">是否超时:</label>
|
||
<div class="layui-input-block">
|
||
<select name="delivery_type" id="delivery_type">
|
||
<option value="">全部</option>
|
||
<option value="0">是</option>
|
||
<option value="1">否</option>
|
||
</select>
|
||
</div>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
|
||
<div class="layui-row">
|
||
|
||
<div class="layui-inline">
|
||
<label class="layui-form-label">创建时间:</label>
|
||
<div class="layui-input-inline">
|
||
<div class="layui-input-inline" >
|
||
<input type="text" name="start_time" class="layui-input" id="start_time"
|
||
placeholder="" autocomplete="off">
|
||
</div>
|
||
</div>
|
||
<div class="layui-input-inline" style="margin-right: 5px;width: 20px;">
|
||
<label class="layui-form-mid">至</label>
|
||
</div>
|
||
<div class="layui-input-inline">
|
||
<input type="text" name="end_time" class="layui-input" id="end_time"
|
||
placeholder="" autocomplete="off">
|
||
</div>
|
||
</div>
|
||
|
||
<div class="layui-inline">
|
||
<button class="layui-btn layui-btn-sm layuiadmin-btn-ad {$view_theme_color}" lay-submit
|
||
lay-filter="order-search">查询
|
||
</button>
|
||
<button class="layui-btn layui-btn-sm layuiadmin-btn-ad layui-btn-primary " lay-submit
|
||
lay-filter="order-clear-search">清空查询
|
||
</button>
|
||
<button class="layui-btn layui-btn-sm layuiadmin-btn-ad layui-btn-primary " lay-submit
|
||
lay-filter="export-file">导出
|
||
</button>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="layui-card-body">
|
||
<table id="order-lists" lay-filter="order-lists"></table>
|
||
|
||
|
||
<script type="text/html" id="image">
|
||
<img src="{{d.image}}" style="height:80px;width: 80px" class="image-show">
|
||
</script>
|
||
|
||
<script type="text/html" id="order-operation" >
|
||
<div class="table-operate">
|
||
|
||
|
||
{{# if(d.static == 0){ }}
|
||
<a class="layui-btn layui-btn-normal layui-btn-sm" style="background-color: #16b777;" id="transit" lay-event="transit">回复数据</a>
|
||
{{# }else{ }}
|
||
<a class="layui-btn layui-btn-normal layui-btn-sm" style="background-color: brown;"lay-event="del" id="del">删除订单</a>
|
||
{{#} }}
|
||
|
||
|
||
</div>
|
||
</script>
|
||
|
||
<!--门店信息-->
|
||
<script type="text/html" id="shop">
|
||
<p>{{d.shop.name}}</p>
|
||
</script>
|
||
|
||
<!--订单信息-->
|
||
<script type="text/html" id="order">
|
||
<div style="text-align: left">
|
||
<p>订单编号:{{d.order_sn}}</p>
|
||
<p>服务编号:{{d.order_sn}}</p>
|
||
<p>订单类型:{{d.ordertype}}</p>
|
||
<p>预约时间:{{d.createtime}}</p>
|
||
<p>订单来源:{{d.orderchannel}}</p>
|
||
</div>
|
||
</script>
|
||
<!--会员信息-->
|
||
<script type="text/html" id="user">
|
||
|
||
<div style="text-align:left">
|
||
<p>80005238-{{d.referrer_nickname}}-{{d.referrer_mobile}} </p>
|
||
<p>派单地址:贵州省观山区金融城2023号</p>
|
||
<p style="height:20px"></p>
|
||
<p>距离:0.4KM</p>
|
||
<p>保洁接单时间:2023.10.11</p>
|
||
<p>保洁服务时间:2023.10.11</p>
|
||
<p>保洁状态:已请假</p>
|
||
</div>
|
||
|
||
|
||
|
||
</script>
|
||
|
||
<!--客户信息-->
|
||
<script type="text/html" id="delivery">
|
||
<div style="text-align: left">
|
||
<p>客户姓名:{{d.consignee}}</p>
|
||
<p>手机号码:{{d.phone}}</p>
|
||
<p>服务地址:{{d.address}}</p>
|
||
<p>房屋面积:{{d.square}}平方</p>
|
||
</div>
|
||
<div style="text-align: left;margin-top:10px">
|
||
<p>固定排期:</p>
|
||
<p>服务频率:</p>
|
||
</div>
|
||
</script>
|
||
|
||
<!--客户信息-->
|
||
<script type="text/html" id="time">
|
||
<div style="text-align: left">
|
||
<p>日期:{{d.createtime}}</p>
|
||
<p>时间:星期三 上午9:00-12:00</p>
|
||
<p>加时:{{d.addtime}}小时</p>
|
||
</div>
|
||
</script>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<script>
|
||
layui.config({
|
||
version:"{$front_version}",
|
||
base: '/static/plug/layui-admin/dist/layuiadmin/' //静态资源所在路径
|
||
}).extend({
|
||
index: 'lib/index' //主入口模块
|
||
}).use(['index', 'table', 'like', 'laydate'], function () {
|
||
var $ = layui.$
|
||
, form = layui.form
|
||
, table = layui.table
|
||
, like = layui.like
|
||
, element = layui.element
|
||
, laydate = layui.laydate;
|
||
var listType = '';
|
||
|
||
//图片放大
|
||
$(document).on('click', '.image-show', function () {
|
||
var src = $(this).attr('src');
|
||
like.showImg(src,600);
|
||
});
|
||
|
||
//监听搜索
|
||
form.on('submit(order-search)', function (data) {
|
||
var field = data.field;
|
||
//执行重载
|
||
table.reload('order-lists', {
|
||
where: field,
|
||
page: {
|
||
curr: 1
|
||
}
|
||
});
|
||
});
|
||
//清空查询
|
||
form.on('submit(order-clear-search)', function () {
|
||
$('#keyword').val('');
|
||
$('#order_status').val('');
|
||
$('#goods_name').val('');
|
||
$('#pay_way').val('');
|
||
$('#order_type').val('');
|
||
$('#order_source').val('');
|
||
$('#start_time').val('');
|
||
$('#end_time').val('');
|
||
$('#delivery_type').val('');
|
||
form.render('select');
|
||
//刷新列表
|
||
table.reload('order-lists', {
|
||
where: [],
|
||
page: {
|
||
curr: 1
|
||
}
|
||
});
|
||
});
|
||
|
||
// 导出
|
||
form.on('submit(export-file)', function(data){
|
||
var field = data.field;
|
||
$.ajax({
|
||
url: '{:url("order/exportFile")}?type=' + listType,
|
||
type: 'get',
|
||
data: field,
|
||
dataType: 'json',
|
||
error: function() {
|
||
layer.msg('导出超时,请稍后再试!');
|
||
},
|
||
success: function(res) {
|
||
table.exportFile(res.data.exportTitle,res.data.exportData, res.data.exportExt, res.data.exportName);
|
||
},
|
||
timeout: 15000
|
||
});
|
||
layer.msg('导出中请耐心等待~');
|
||
});
|
||
|
||
//日期时间范围
|
||
laydate.render({
|
||
elem: '#start_time'
|
||
,type: 'datetime'
|
||
,trigger: 'click'
|
||
});
|
||
|
||
|
||
laydate.render({
|
||
elem: '#end_time'
|
||
,type: 'datetime'
|
||
,trigger: 'click'
|
||
});
|
||
|
||
//获取列表
|
||
getList(listType);
|
||
//切换列表
|
||
element.on('tab(tab-all)', function (data) {
|
||
$('#keyword').val('');
|
||
$('#order_status').val('');
|
||
$('#goods_name').val('');
|
||
$('#pay_way').val('');
|
||
$('#order_type').val('');
|
||
$('#start_time').val('');
|
||
$('#end_time').val('');
|
||
$('#delivery_type').val('');
|
||
form.render('select');
|
||
listType = $(this).attr('data-type');
|
||
getList(listType);
|
||
if (listType !== ''){
|
||
$('.order_status').hide();
|
||
}else {
|
||
$('.order_status').show();
|
||
}
|
||
});
|
||
|
||
function getList(type) {
|
||
table.render({
|
||
elem: '#order-lists'
|
||
, url: '{:url("Ordersel/Orderselists")}?type=' + type
|
||
, cols: [[
|
||
{field:'id',title: 'id',width:80,align: 'center'}
|
||
, {field: 'order', title: '订单信息', align: 'center',templet:'#order',}
|
||
, {field: 'delivery', title: '客户信息', align: 'center',templet:'#delivery'}
|
||
, {field: 'order_status_text', title: '服务时间', align: 'center',templet:'#time',width:210}
|
||
, {field: 'user', title: '家政人员', templet:'#user',width:300}
|
||
, {fixed: 'right', title: '操作', width: 160, align: 'center', toolbar: '#order-operation'}
|
||
]]
|
||
, page: true
|
||
, text: {none: '暂无数据!'}
|
||
, parseData: function (res) {
|
||
return {
|
||
"code": res.code,
|
||
"msg": res.msg,
|
||
"count": res.data.count,
|
||
"data": res.data.lists,
|
||
};
|
||
}
|
||
,done: function(res, curr, count){
|
||
// 解决操作栏因为内容过多换行问题
|
||
$(".layui-table-main tr").each(function (index, val) {
|
||
$($(".layui-table-fixed-l .layui-table-body tbody tr")[index]).height($(val).height());
|
||
$($(".layui-table-fixed-r .layui-table-body tbody tr")[index]).height($(val).height());
|
||
});
|
||
}
|
||
});
|
||
}
|
||
|
||
//监听工具条
|
||
table.on('tool(order-lists)', function (obj) {
|
||
var id = obj.data.id;
|
||
if(obj.event === 'detail'){
|
||
layer.open({
|
||
type: 2
|
||
,title: '订单详情'
|
||
,content: '{:url("Ordersel/Orderinfo")}?id='+id
|
||
,area: ['85%', '80%']
|
||
,yes: function(index, layero){
|
||
table.reload('order-lists');
|
||
}
|
||
})
|
||
}
|
||
//删除订单
|
||
if(obj.event === 'transit'){
|
||
layer.confirm('确定恢复订单数据吗?', {
|
||
btn: ['确认','取消'] //按钮
|
||
}, function(){
|
||
like.ajax({
|
||
url: '{:url("Ordersel/date")}'
|
||
, data: {'order_id': id}
|
||
, type: 'post'
|
||
, success: function (res) {
|
||
if (res.code == 1) {
|
||
layui.layer.msg(res.msg, {
|
||
offset: '15px'
|
||
, icon: 1
|
||
, time: 1000
|
||
},function () {
|
||
table.reload('order-lists');
|
||
});
|
||
}
|
||
},
|
||
});
|
||
});
|
||
}
|
||
|
||
//编辑订单
|
||
if(obj.event === 'edit'){
|
||
var index = layer.open({
|
||
type: 2
|
||
,title: '编辑订单'
|
||
,content: '{:url("Ordersel/edit")}?id=' +id
|
||
,area: ['90%', '90%']
|
||
,btn: ['保存', '取消']
|
||
,maxmin: true
|
||
,yes: function(index, layero){
|
||
var iframeWindow = window['layui-layer-iframe'+ index]
|
||
,submitID = 'add-user_level-submit'
|
||
,submit = layero.find('iframe').contents().find('#'+ submitID);
|
||
//监听提交
|
||
iframeWindow.layui.form.on('submit('+ submitID +')', function(data){
|
||
var field = data.field;
|
||
like.ajax({
|
||
url:'{:url("Ordersel/edit")}',
|
||
data:field,
|
||
type:"post",
|
||
success:function(res)
|
||
{
|
||
if(res.code == 1)
|
||
{
|
||
layui.layer.msg(res.msg, {
|
||
offset: '15px'
|
||
, icon: 1
|
||
, time: 1000
|
||
});
|
||
layer.close(index); //关闭弹层
|
||
table.reload('user_level-lists'); //数据刷新
|
||
}
|
||
}
|
||
});
|
||
});
|
||
|
||
submit.trigger('click');
|
||
}
|
||
});
|
||
}
|
||
|
||
//发货
|
||
if(obj.event === 'delivery'){
|
||
layer.open({
|
||
type: 2
|
||
,title: '订单发货'
|
||
,content: '{:url("order/delivery")}?id='+id
|
||
,area: ['90%', '90%']
|
||
,yes: function(index, layero){
|
||
|
||
}
|
||
})
|
||
}
|
||
|
||
//物流信息
|
||
if(obj.event === 'express'){
|
||
layer.open({
|
||
type: 2
|
||
,title: '订单发货'
|
||
,content: '{:url("order/express")}?id='+id
|
||
,area: ['90%', '90%']
|
||
,yes: function(index, layero){
|
||
|
||
}
|
||
})
|
||
}
|
||
|
||
|
||
//确认收货
|
||
if(obj.event === 'confirm'){
|
||
layer.confirm('确认订单商品已收货吗?', {
|
||
btn: ['确认','取消'] //按钮
|
||
}, function(){
|
||
like.ajax({
|
||
url: '{:url("order/confirm")}'
|
||
, data: {'order_id': id}
|
||
, type: 'post'
|
||
, success: function (res) {
|
||
if (res.code == 1) {
|
||
layui.layer.msg(res.msg, {
|
||
offset: '15px'
|
||
, icon: 1
|
||
, time: 1000
|
||
},function () {
|
||
table.reload('order-lists');
|
||
});
|
||
}
|
||
},
|
||
});
|
||
});
|
||
}
|
||
|
||
//商家备注
|
||
if(obj.event === 'remarks') {
|
||
|
||
like.ajax({
|
||
url: '{:url("order/remarks")}'
|
||
, data: {'id': id}
|
||
, type: 'get'
|
||
, success: function (res) {
|
||
if (res.code === 1) {
|
||
layer.prompt({title: '备注信息', formType: 2, value: res.data.order_remarks}, function(value, index){
|
||
layer.close(index);
|
||
like.ajax({
|
||
url: '{:url("order/remarks")}'
|
||
, data: {'id': id, "order_remarks": value }
|
||
, type: 'post'
|
||
, success: function (res) {
|
||
if (res.code === 1) {
|
||
layui.layer.msg(res.msg, {
|
||
offset: '15px'
|
||
, icon: 1
|
||
, time: 1000
|
||
});
|
||
}
|
||
}
|
||
});
|
||
|
||
});
|
||
}
|
||
}
|
||
});
|
||
|
||
}
|
||
|
||
|
||
if(obj.event ==='print'){
|
||
layer.confirm('确定要打印订单吗?', function(index){
|
||
like.ajax({
|
||
url:'{:url("order/orderPrint")}',
|
||
data:{id:id},
|
||
type:"post",
|
||
success:function(res)
|
||
{
|
||
if(res.code == 1)
|
||
{
|
||
layui.layer.msg(res.msg, {
|
||
offset: '15px'
|
||
, icon: 1
|
||
, time: 1000
|
||
});
|
||
layer.close(index); //关闭弹层
|
||
table.reload('printer-lists'); //数据刷新
|
||
}
|
||
}
|
||
});
|
||
layer.close(index);
|
||
|
||
|
||
})
|
||
|
||
}
|
||
});
|
||
});
|
||
</script> |