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

906 lines
40 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;
}
.tips {
float: right;
padding: 0 10px;
margin-top: 10px;
height: 20px;
line-height: 20px;
font-size: 12px;
color: #3A91FB;
border-radius: 30px;
border: 1px #3A91FB solid;
background: #eaf3ff;
}
.header-font{
font-size: 20px
}
.layui-card .data-all {
display: flex;
justify-content: space-between;
margin-top: 20px;
}
.layui-card .text-style {
font-size: 16px;
}
.header-time{
margin-left: 20px
}
.layadmin-shortcut .shortcut-list {
padding: 30px 0;
display: flex;
flex-wrap: wrap;
}
.layadmin-shortcut .shortcut-list li {
min-width: 100px;
margin-bottom: 20px;
width: 12.5%;
}
.layadmin-shortcut .shortcut-list .icon{
width: 62px;
height: 62px;
margin-bottom: 5px;
}
</style>
<div class="layui-fluid">
<div class="layui-card">
<div class="layui-card-body" style="padding:0px; ">
<div style="padding:0px;background-color:#f2f2f2;height:210px">
<div class="layui-row layui-col-space15">
<div class="layui-col-sm2">
<div class="layui-card">
<div class="layui-card-header">
订单销售额(元)
<span class="tips">今日</span>
</div>
<div class="layui-card-body layuiadmin-card-list">
<p class="layuiadmin-big-font" style="color:#FF5722">{$num.order_amount_today}</p>
<p>昨日:<span class="text-style">{$num.order_amount_yesterday}</span>
<span class="text-style" {if condition="$num.order_past_change lt 0" } style="color: #009688" {elseif condition="$num.order_past_change egt 0" } style="color: #FA2828" {/if}>{$num.order_past_change}</span>
</p>
<div class="data-all">订单销售额(月)<div class="text-style">{$num.order_amount_all}</div></div>
</div>
</div>
</div>
<div class="layui-col-sm2" style="margin-left:0px">
<div class="layui-card">
<div class="layui-card-header">
已收款金额(元)
<span class="tips">今日</span>
</div>
<div class="layui-card-body layuiadmin-card-list">
<p class="layuiadmin-big-font" style="color:#FF5722">{$num.order_past_today}</p>
<p>昨日:<span class="text-style">{$num.order_past_yesterday}</span>
<span class="text-style" {if condition="$num.order_past_change lt 0" } style="color: #009688" {elseif condition="$num.order_past_change egt 0" } style="color: #FA2828" {/if}>{$num.order_past_change}</span>
</p>
<div class="data-all">已收款金额(月)<div class="text-style">{$num.order_past_all}</div></div>
</div>
</div>
</div>
<div class="layui-col-sm2">
<div class="layui-card">
<div class="layui-card-header">
未收款金额(元)
<span class="tips">当月</span>
</div>
<div class="layui-card-body layuiadmin-card-list">
<p class="layuiadmin-big-font" style="color:#FF5722">{$num.order_not_today}</p>
<p>昨日:<span class="text-style">{$num.order_not_yesterday}</span>
<span class="text-style" {if condition="$num.order_not_change lt 0" } style="color: #009688" {elseif condition="$num.order_not_change egt 0" } style="color: #FA2828" {/if}>{$num.order_not_change}</span>
</p>
<div class="data-all">未收款金额<div class="text-style">{$num.order_not_all}</div></div>
</div>
</div>
</div>
<div class="layui-col-sm2" style="margin-left:0px">
<div class="layui-card">
<div class="layui-card-header">
订单数量(笔)
<span class="tips">今日</span>
</div>
<div class="layui-card-body layuiadmin-card-list">
<p class="layuiadmin-big-font" style="color:#FF5722">{$num.order_num_today}</p>
<p>昨日:<span class="text-style">{$num.order_num_yesterday}</span>
<span class="text-style" {if condition="$num.order_num_change lt 0" } style="color: #009688" {elseif condition="$num.order_num_change egt 0" } style="color: #FA2828" {/if}>{$num.order_num_change}</span></p>
</p>
<div class="data-all">订单数量(月)<div class="text-style">{$num.order_num_all}</div></div>
</div>
</div>
</div>
<div class="layui-col-sm2" style="margin-left:0px">
<div class="layui-card">
<div class="layui-card-header">
订单退单金额(元)
<span class="tips">当月</span>
</div>
<div class="layui-card-body layuiadmin-card-list">
<p class="layuiadmin-big-font">111</p>
<p>昨日:<span class="text-style">111</span>
<span class="text-style">+1113</span></p>
<div class="data-all">退款金额(月)<div class="text-style">11</div></div>
</div>
</div>
</div>
<div class="layui-col-sm2" style="margin-left:0px">
<div class="layui-card">
<div class="layui-card-header">
订单退单数量(笔)
<span class="tips">今日</span>
</div>
<div class="layui-card-body layuiadmin-card-list">
<p class="layuiadmin-big-font">111</p>
<p>昨日:<span class="text-style">111</span>
<span class="text-style">+1113</span></p>
<div class="data-all">订单退款数量(月)<div class="text-style">11</div></div>
</div>
</div>
</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">
<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">
<label class="layui-form-label">客户姓名:</label>
<div class="layui-input-block">
<input type="text" name="name" id="name" placeholder="请输入客户的姓名"
autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">客服电话:</label>
<div class="layui-input-block">
<input type="text" name="mobile" id="mobile" placeholder="请输入客户电话"
autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">订单归属:</label>
<div class="layui-input-block">
<select name="order_type" id="order_type">
<option value="">全部</option>
<option value="0">未归属</option>
</select>
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">账款状态:</label>
<div class="layui-input-block">
<select name="order_ysck" id="order_ysck">
<option value="">全部</option>
<option value="0">已收账款</option>
<option value="1">未收账款</option>
</select>
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">订单渠道:</label>
<div class="layui-input-block">
<select name="channel_id" id="channel_id">
<option value="">全部</option>
{foreach $ceenl as $item }
<option value="{$item.id}">{$item.name}</option>
{/foreach}
</select>
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">套餐商品:</label>
<div class="layui-input-block">
<select name="goods_id" id="gooods_id">
<option value="">全部</option>
{foreach $goods as $item }
<option value="{$item.id}">{$item.name}</option>
{/foreach}
</select>
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">订单归属:</label>
<div class="layui-input-block">
<select name="admin_id" id="admin_id">
<option value="">全部</option>
{foreach $admin as $item }
<option value="{$item.id}">{$item.name}</option>
{/foreach}
</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="order-operation" >
<div class="table-operate">
<a class="layui-btn-primary layui-btn-sm" lay-event="detail" " style="display: inline-block;">详情</a>
<a class="layui-btn layui-btn-primary layui-btn-sm operation-btn" lay-event="edit">修改</a>
<a class="layui-btn-primary layui-btn-sm" lay-event="channel" style="display: inline-block;">渠道</a>
<a class="layui-btn layui-btn-primary layui-btn-sm operation-btn" lay-event="remarks">备注</a>
<a class="layui-btn-primary layui-btn-sm" style="display: inline-block;" lay-event="allocation"> 分配</a>
<a class="layui-btn layui-btn-primary layui-btn-sm operation-btn" style="display: inline-block;background-color:#fd4634;color:#fff" lay-event="cancel">删除</a>
{{# if(d.order_status == 1){ }}
<a class="layui-btn-primary layui-btn-sm" style="display: inline-block;" lay-event="delivery">发货</a>
{{# } }}
<a class="layui-btn-primary layui-btn-sm" style="display: inline-block;" lay-event="cancelss">退款</a>
{{# if(d.order_status == 2){ }}
<a class="layui-btn-primary layui-btn-sm" style="display: inline-block; background-color:#fd4634;color:#fff" lay-event="confirm">完成</a>
{{# } }}
</div>
</script>
<script type="text/html" id="image">
<img src="{{d.image}}" style="height:80px;width: 80px" class="image-show">
</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.create_time}}</p>
<p>订单来源:{{d.channel}}</p>
<p>收款方式{{d.gord_name}}</p>
{{# if(d.pay_zd == 0){ }}
<p style="color:#fe0707">支付状态
已收款
</p>
{{# } }}
{{# if(d.pay_zd == 1){ }}
<p style="color:#3A91FB">支付状态
未收账款
</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 type="text/html" id="amount">
<div style="text-align: left">
<p>商品金额:{{d.goods_price}}</p>
<p>优惠金额:{{d.discount_amount}}</p>
<p>实付金额:{{d.order_amount}}</p>
<p>支付方式:
{{# if(d.pay_way == 3){ }}
余额支付
{{# } }}
{{# if(d.pay_way == 1){ }}
微信支付
{{# } }}
{{# if(d.pay_way == 2){ }}
支付宝支付
{{# } }}
</p>
</div>
</script>
<!--商品信息-->
<script type="text/html" id="goods">
<div class="goods-content">
<div style="text-align: left;" class="goods-data">
<div class="layui-input-inline layui-col-md8" style="padding-top: 15px;">
<span class="layui-col-md7">商品名称{{d.goods_name }}</span>
<br>
<span class="layui-col-md7">服务次数{{d.code}}次数</span>
</div>
<img src="{{d.goods_image}}" style="height:80px;width: 80px" class="image-show">
</div>
</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(send_coupon)', function(data){
layer.open({
type: 2
,title: '增加服务订单'
,content: '{:url("order/add")}'
,area: ['70%', '85%']
,btn: ['确定', '取消']
,yes: function(index, layero){
var iframeWindow = window['layui-layer-iframe'+ index]
,submitID = 'user_group-submit'
,submit = layero.find('iframe').contents().find("#add-user_group-submit");
//监听提交
iframeWindow.layui.form.on('submit(add-user_group-submit)', function(data){
var field = data.field;
like.ajax({
url:'{:url("order/add")}',
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');
}
});
});
// 导出
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("Clasorder/cleaning")}?type=' + type
, cols: [[
{field:'id',title: 'id',width:60,align: 'center'}
, {field: 'order', title: '销售单信息', align: 'center',templet:'#order',width:230}
, {field: 'delivery', title: '客户基本信息', align: 'center',templet:'#delivery'}
, {field: 'order_goods', title: '商品信息', align: 'center',templet:'#goods',width:320}
, {field: 'total_amount', title: '支付信息', align: 'center',templet:'#amount',width:180}
, {field: 'admin_id', title: '订单归属人', align: 'center',width:180}
, {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("order/detail")}?id='+id
,area: ['90%', '90%']
,yes: function(index, layero){
table.reload('order-lists');
}
})
}
if(obj.event === 'allocation'){
var id = obj.data.id;
layer.open({
type: 2
,title: '修改订单归属人'
,content: '{:url("order/allocation")}?id='+id
,area: ['50%', '50%']
,btn: ['确定', '取消']
,yes: function(index, layero){
var iframeWindow = window['layui-layer-iframe'+ index]
,submit = layero.find('iframe').contents().find('#adjust_level-submit');
//监听提交
iframeWindow.layui.form.on('submit(adjust_level-submit)', function(data){
var field = data.field;
$.ajax({
url:'{:url("order/allocation")}?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');//数据刷新
}else{
layer.msg(res.msg, {
offset: '15px'
, icon: 2
, time: 1000
});
}
}
});
});
submit.trigger('click');
}
})
}
//修改订单的渠道
if(obj.event === 'channel'){
var id = obj.data.id;
layer.open({
type: 2
,title: '修改订单渠道'
,content: '{:url("order/channel")}?id='+id
,area: ['50%', '50%']
,btn: ['确定', '取消']
,yes: function(index, layero){
var iframeWindow = window['layui-layer-iframe'+ index]
,submit = layero.find('iframe').contents().find('#adjust_level-submit');
//监听提交
iframeWindow.layui.form.on('submit(adjust_level-submit)', function(data){
var field = data.field;
$.ajax({
url:'{:url("order/channel")}?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');//数据刷新
}else{
layer.msg(res.msg, {
offset: '15px'
, icon: 2
, time: 1000
});
}
}
});
});
submit.trigger('click');
}
})
}
//删除订单
if(obj.event === 'del'){
layer.confirm('删除后订单将消失,确认删除订单吗?', {
btn: ['确认','取消'] //按钮
}, function(){
like.ajax({
url: '{:url("order/del")}'
, 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 === '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 === 'cancelss'){
layer.confirm('确认订单退款吗?', {
btn: ['确认','取消'] //按钮
}, function(){
like.ajax({
url: '{:url("order/cancel")}'
, 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 === 'cancel'){
layer.confirm('确定删除订单的数据?', {
btn: ['确认','取消'] //按钮
}, function(){
like.ajax({
url: '{:url("order/del")}'
, 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 ==='edit'){
layer.open({
type: 2
,title: '修改服务订单'
,content: '{:url("order/eidt")}?id='+id
,area: ['70%', '85%']
,btn: ['确定', '取消']
,yes: function(index, layero){
var iframeWindow = window['layui-layer-iframe'+ index]
,submitID = 'user_group-submit'
,submit = layero.find('iframe').contents().find("#adjust_user-submit");
//监听提交
iframeWindow.layui.form.on('submit(adjust_user-submit)', function(data){
var field = data.field;
like.ajax({
url:'{:url("order/eidt")}',
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');
}
});
}
});
});
</script>