Files
duolamaojiazhen/application/admin/view/ordersel/orderselists.html
2025-12-22 13:59:40 +08:00

590 lines
25 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{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>