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

680 lines
28 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="" lay-accordion="" style="display: flex;justify-content: space-between;">
<div>服务单号:{$info.order_sn}</div>
<div>客户信息:{$info.consignee} {$info.mobile}</div>
<div>订单总次数:总次数{$info.number} 已使用{$info.ysycs} 待使用{$info.sycs} 暂停{$info.ztcs}</div>
<div>订单总金额:{$info.total_amount}元</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>
</ul>
<div class="layui-tab-item layui-show">
<div class="layui-card">
<div class="layui-card-body">
<table id="order-lists" lay-filter="order-lists"></table>
<script type="text/html" id="order-operation" >
<div class="table-operate">
<a class=" layui-btn-primary layui-btn-sm " lay-event="reserva" style="display: inline-block;">改约</a>
{{# if(d.status==3){}}
<a class="layui-btn-primary layui-btn-sm" lay-event="delsd" style="display: inline-block; margin-top:10px;color:chocolate">取消</a>
{{# }else{ }}
<a class="layui-btn-primary layui-btn-sm" lay-event="del" style="display: inline-block; margin-top:10px">暂停</a>
{{# } }}
{{# if(d.lock==1){}}
<a class="layui-btn-primary layui-btn-sm" lay-event="unlock" style="display: inline-block; margin-top:10px;color:chocolate">解锁</a>
{{# }
else{ }}
<a class="layui-btn-primary layui-btn-sm " lay-event="lock" style="display: inline-block; margin-top:10px">锁定</a>
{{# } }}
<a class="layui-btn-primary layui-btn-sm " lay-event="complete" style="display: inline-block; margin-top:10px">完成</a>
<a class="layui-btn-primary layui-btn-sm" lay-event="delss" style="display: inline-block;margin-top:-2px">删除</a>
<a class="layui-btn-primary layui-btn-sm " lay-event="remarksd" style="display: inline-block; margin-top:10px">备注</a>
<a class="layui-btn layui-btn-danger layui-btn-sm " lay-event="log" style="display: inline-block;margin-top:10px">日志</a>
</div>
</script>
</div>
</div>
</div>
</div>
</div>
</div>
<!--订单信息-->
<script type="text/html" id="order">
<div style="text-align: left">
<p>用户ID{{d.staff_id}}保洁姓名{{d.staff_name}}</p>
<p>电话{{d.staff_mobile}}</p>
<p>员工类型:保洁师</p>
<p>出行工具:公交车</p>
<p>保洁状态:
{{# if(d.staff_static==0){}} 等待保洁师确认
{{# }
else if(d.staff_static==1) { }}
服务之中 {{# } else{ }} 服务已经完成
{{# } }}
</div>
</script>
<script type="text/html" id="userinfo">
<div style="text-align:left">
<p>服务单号:{{d.fworder_sn}}</p>
</div>
</script>
<script type="text/html" id="adder">
<div style="text-align:left">
<p>{{d.autotime}} {{d.xq}} {{d.addtime}}
</p>
<p>距离{{d.km}} KM</p>
<p style="height:10px"></p>
<p>服务开始时间:2023.10.11</p>
<p>服务结束时间:2023.10.11</p>
<p>加时:{{d.timeadd}}小时</p>
<p>距离上门时间:{{d.jldate}}</p>
</p>
</div>
</script>
<script type="text/html" id="delivery">
<div style="text-align: left">
<p>客户姓名:{{d.consignee}}</p>
<p>手机号码:{{d.mobile}}</p>
<p>房屋地址:{{d.address}}</p>
</div>
</script>
<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 = '';
//监听搜索
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
}
});
});
//日期时间范围
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("Orderautomatic/infolist")}?order_sn='+'{$info.order_sn}'
, cols: [[
{field:'id',title: 'id',width:80,align: 'center',}
, {field: 'phone', title: '服务单号', width:240, align: 'center',templet:'#userinfo'}
, {field: 'delivery', title: '客户信息', align: 'center',templet:'#delivery',width:180}
, {field: 'adder', title: '上门时间',templet:'#adder',width:340,}
, {field: 'order', title: '服务人员', align: 'center', templet:'#order',width:240}
,{field: 'total_order_amount', title: '状态', templet:function (res) {
var status = res.status;
if (status==0) {
return '<div > <i class="fa fa-circle"></i>等待服务</div>';
}else if(status==3){
return '<div > <i class="fa fa-circle"></i>已暂停服务</div>';
}
else{
return '<div style="color:#f75444"> <i class="fa fa-circle"></i> 已服务</div>';
}
}
}
,{field: 'remark', title: '备注信息', align: 'center',}
, {fixed: 'right', title: '操作', width: 140, 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.list,
};
}
,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 status=obj.data.status;
if(obj.event == 'log'){
var order_sn = obj.data.id;
layer.open({
type: 2
,title: '订单的操作记录'
,content: '{:url("Orderautomatic/orderlog")}?id='+order_sn
,area: ['65%', '65%']
,yes: function(index, layero){
}
})
return
}
if(status==1){
layui.layer.msg('订单已经完成,无法修改订单的状态', {
offset: '15px'
, icon: 2
, time: 1000
},
)
return
};
if(obj.event === 'reserva'){
var status=obj.data.lock;
if(status==1){
layui.layer.msg('请联系管理员解锁订单', {
offset: '15px'
, icon: 2
, time: 1000
},
)
return
};
var id = obj.data.id;
layer.open({
type: 2
,title: '修改订单预约的时间'
,content: '{:url("Orderautomatic/eitdata")}?id='+id
,area: ['55%', '60%']
,btn: ['确定', '取消']
,yes: function(index, layero){
var iframeWindow = window['layui-layer-iframe'+ index]
,submit = layero.find('iframe').contents().find('#edit-submits');
//监听提交
iframeWindow.layui.form.on('submit(edit-submits)', function(data){
var field = data.field;
if(data.field.end_time==""){
layui.layer.msg('服务日期不能为空', {
offset: '15px'
, icon: 2
, time: 1000
});
return;
}
$.ajax({
url:'{:url("Orderautomatic/eitdata")}?id='+id,
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('order-lists'); //数据刷新
}
}
});
});
submit.trigger('click');
}
})
}
//暂停订单执行
if(obj.event === 'del'){
var status=obj.data.status;
if(status==1){
layui.layer.msg('订单已经完成,无法修改订单状态', {
offset: '15px'
, icon: 2
, time: 1000
},
)
return
};
var id = obj.data.id;
layer.confirm('暂停后订单将不执行,确认暂停订单吗?', {
btn: ['确认','取消'] //按钮
}, function(){
like.ajax({
url: '{:url("Orderautomatic/dels")}?id='+id
, 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 === 'lock'){
var id = obj.data.id;
layer.confirm('锁定订单后不是超级管理员不能解锁订单?', {
btn: ['确认','取消'] //按钮
}, function(){
like.ajax({
url: '{:url("Orderautomatic/lock")}?id='+id
, 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 === 'unlock'){
var id = obj.data.id;
layer.confirm('锁定订单后不是超级管理员不能解锁订单?', {
btn: ['确认','取消'] //按钮
}, function(){
like.ajax({
url: '{:url("Orderautomatic/unlock")}?id='+id
, 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 === 'delss'){
var status=obj.data.status;
if(status==1){
layui.layer.msg('订单已经完成,无法删除订单', {
offset: '15px'
, icon: 2
, time: 1000
},
)
return
};
var id = obj.data.id;
layer.confirm('请注意操作订单,订单日志记录更新?',{
btn: ['确认','取消'] //按钮
}, function(){
like.ajax({
url: '{:url("Orderautomatic/delss")}?id='+id
, 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 === 'delss'){
var ids = obj.data.id;
layer.confirm('请注意操作订单,订单日志记录更新?',{
btn: ['确认','取消'] //按钮
}, function(){
like.ajax({
url: '{:url("Orderautomatic/delss")}?id='+id
, 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 === 'complete'){
var status=obj.data.status;
if(status==1){
layui.layer.msg('订单已经完成,无法修改状态', {
offset: '15px'
, icon: 2
, time: 1000
},
)
return
};
var id = obj.data.id;
layer.confirm('请注意操作订单,订单日志记录更新?',{
btn: ['确认','取消'] //按钮
}, function(){
like.ajax({
url: '{:url("Orderautomatic/complete")}?id='+id
, 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 status=obj.data.lock;
var id=obj.data.id;
if(status==1){
layui.layer.msg('请联系管理员解锁订单', {
offset: '15px'
, icon: 2
, time: 1000
},
)
return
};
var index = layer.open({
type: 2
,title: '增加排单预约'
,content: '{:url("Orderautomatic/staff")}?id='+id
,area: ['30%', '60%']
,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("Orderautomatic/staff")}?id='+id,
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('order-lists'); //数据刷新
}
}
});
});
submit.trigger('click');
}
});
}
//取消暂停服务
if(obj.event === 'delsd'){
var status=obj.data.status;
if(status==1){
layui.layer.msg('订单已经完成,无法修改暂停', {
offset: '15px'
, icon: 2
, time: 1000
},
)
return
};
var id = obj.data.id;
layer.confirm('取消暂停后订单将继续执行,确认取消暂停订单吗?', {
btn: ['确认','取消'] //按钮
}, function(){
like.ajax({
url: '{:url("Orderautomatic/delsd")}?id='+id
, 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 === 'remarksd'){
var id = obj.data.id;
like.ajax({
url: '{:url("Orderautomatic/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("Orderautomatic/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
});
table.reload('order-lists');
layer.close(index); //关闭弹层
table.reload('user_level-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
});
table.reload('order-lists');
layer.close(index); //关闭弹层
table.reload('user_level-lists'); //数据刷新
}
}
});
});
}
}
});
}
});
});
</script>