添加网站文件

This commit is contained in:
2025-12-22 13:59:40 +08:00
commit 117aaf83d1
19468 changed files with 2111999 additions and 0 deletions

View File

@@ -0,0 +1,253 @@
{layout name="layout2" /}
<style>
.layui-form-label {
color: #6a6f6c;
width: 100px;
}
.layui-input-block {
margin-left: 130px;
}
.tips{
color: red;
}
.goods-li {
float: left;
opacity: 1;
position: relative;
}
.goods-img {
width: 80px;
height: 80px;
padding: 4px;
}
.goods-img-del-x {
position: absolute;
z-index: 100;
top: -4px;
right: -2px;
width: 20px;
height: 20px;
font-size: 16px;
line-height: 16px;
color: #fff;
text-align: center;
cursor: pointer;
background: hsla(0, 0%, 60%, .6);
border-radius: 10px;
}
.category{
display: none;
}
</style>
<div class="layui-form" lay-filter="layuiadmin-form-user_level" id="layuiadmin-form-user_level" style="padding: 20px 30px 0 0;">
<div style="margin-bottom: 10px;">
<label class="layui-form-label">选择服务套餐:</label>
<div class="layui-input-inline">
<a class="layui-btn layui-btn-normal select-goods" >选择服务套餐</a>
</div>
</div>
<div class="layui-form-item links goods-tips">
<label class="layui-form-label"></label>
<div class="layui-input-block ">
<input type="hidden" name="goods_id" value="">
<table id="goods_list" class="layui-table" lay-size="sm">
<colgroup>
<col width="40px">
</colgroup>
<thead>
<tr style="background-color: #f3f5f9">
<th style="width: 120px;text-align: center">商品信息</th>
<th style="width: 60px;text-align: center">套餐次数</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">选择用户:</label>
<div class="layui-input-block" >
<select name="user_id" xm-select="user_id" xm-select-search="" verify-msg="订单绑定用户不能为空" lay-filter="search_position" xm-select-search-type="dl" xm-select-skin="normal">
<option value="">请选择客户信息</option>
{foreach $user as $item }
<option value="{$item.id}">{$item.contact} {$item.telephone}</option>
{/foreach}
</select>
</div>
</div>
<div class="layui-form-item" >
<label class="layui-form-label"><span class="tips">*</span>支付金额:</label>
<div class="layui-col-sm4" style="width: 80%;">
<input type="number" name="total_amount" lay-verify="required" lay-verType="tips" placeholder="请输入订单的金额" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-form-item" style="font-weight: 600;">
<label class="layui-form-label"><span class="tips">*</span>订单来源:</label>
<div class="layui-col-sm4" style="width: 80%;">
<select name="channel_id" id="channel_id" lay-filter="search_position" lay-verify="required" lay-verType="tips" switch-tab="0">
<option value="">请选择订单来源</option>
{foreach $ordertype as $item}
<option value="{$item.id}">{$item.name}</option>
{/foreach}
</select>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">订单类型:</label>
<div class="layui-input-block">
<input type="radio" name="order_ysck" title="已收款" value=""0 lay-filter="link" >
<input type="radio" name="order_ysck" title="应收款" value="1" lay-filter="link" checked="turn">
</div>
</div>
<div class="layui-form-item link page" style="display: none;">
<div class="layui-form-item">
<label class="layui-form-label">选择付款:</label>
<div class="layui-input-block">
<select name="gord_id" id="gord_id">
<option value="">请选择选择付款</option>
{foreach $collection as $item}
<option value="{$item.id}">{$item.cqname}</option>
{/foreach}
</select>
</div>
</div>
</div>
<div class="layui-form-item layui-hide">
<input type="button" lay-submit lay-filter="add-user_group-submit" id="add-user_group-submit" value="确认">
</div>
</div>
<style>
.layui-form-label {
width: 100px;
}
.layui-input-block {
margin-left: 130px;
}
</style>
<link rel="stylesheet" href="/static/plug/formSelects/formSelects-v4.css" />
<script src="/static/plug/formSelects/formSelects-v4.js" type="text/javascript" charset="utf-8"></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
, laydate = layui.laydate;
//监听搜索
form.on('submit(user-search)', function(data){
var field = data.field;
//执行重载
table.reload('user-lists', {
where: field,
page: {
curr: 1 //重新从第 1 页开始
}
});
});
//日期时间范围
laydate.render({
elem: '#start_time'
,type: 'datetime'
,trigger: 'click'
});
//日期时间范围
laydate.render({
elem: '#end_time'
,type: 'datetime'
,trigger: 'click'
});
form.verify({
custom_required: function (value, item) {
if (!value) {
switchTab($(item).attr('switch-tab'));
return $(item).attr('verify-msg');
}
}
});
form.on('radio(link)', function (data) {
var value = data.value;
$('.link').hide();
switch (value) {
case '1':
$('.page').show();
break;
case '2':
$('.page').show();
$('.url-tips').show();
break;
case '3':
$('.url').show();
$('.url-tips').show();
break;
}
})
//清空查询
form.on('submit(user-clear-search)', function(){
$('#keyword_type').val('sn');
$('#keyword').val(''); //清空输入框
$('#level').val(''); //清空输入框
$('#group_id').val(''); //清空输入框
$('#start_time').val(''); //清空输入框
$('#end_time').val(''); //清空输入框
form.render('select');
//刷新列表
table.reload('user-lists', {
where: [],
page: {
curr: 1 //重新从第 1 页开始
}
});
});
// 导出
$(document).on('click','.select-goods',function () {
layer.open({
type: 2
,title: '选择套餐服务商品'
,content: '{:url("goods/gooslist")}'
,area: ['90%', '90%']
,btn: ['确认', '取消']
,yes: function(index, layero){
var data = window["layui-layer-iframe" + index].callbackdata();
if(data.length){
$('#goods_list tbody').remove();
var goods = data[0];
var goods_html = '<tr>\n' +
' <td style="text-align: center"><img class="image-show" width="80px" height="80px" src="'+goods.image+'">'+goods.name+'</td>\n' +
' <td style="text-align: center">'+goods.code+'次数</td>\n' +
' </tr>';
$('#goods_list').prev().val(goods.id);
$('#goods_list').append(goods_html);
$('.goods').show();
}
}
})
})
});
</script>

View File

@@ -0,0 +1,123 @@
{layout name="layout2" /}
<style>
.layui-form-label {
color: #6a6f6c;
width: 100px;
}
.layui-input-block {
margin-left: 130px;
}
.tips{
color: red;
}
.goods-li {
float: left;
opacity: 1;
position: relative;
}
.goods-img {
width: 80px;
height: 80px;
padding: 4px;
}
.goods-img-del-x {
position: absolute;
z-index: 100;
top: -4px;
right: -2px;
width: 20px;
height: 20px;
font-size: 16px;
line-height: 16px;
color: #fff;
text-align: center;
cursor: pointer;
background: hsla(0, 0%, 60%, .6);
border-radius: 10px;
}
</style>
<div class="layui-form" lay-filter="layuiadmin-form-user_level" id="layuiadmin-form-user_level" style="padding: 20px 30px 0 0;">
<div class="layui-form-item">
<label class="layui-form-label"><span class="tips">*</span>跟踪人员:</label>
<div class="layui-input-inline" style="width: 350px;">
<select id="admin_id" name="admin_id" style="width: 350px;">
<option value="" selected>默认无归属</option>
{foreach $admin_user as $item }
<option value="{$item.id}">{$item.name}</option>
{/foreach}
</select>
</div>
</div>
<div class="layui-form-item layui-hide">
<input type="button" lay-submit lay-filter="adjust_level-submit" id="adjust_level-submit" value="确认">
</div>
</div>
<style>
.layui-form-label {
width: 100px;
}
.layui-input-block {
margin-left: 130px;
}
</style>
<link rel="stylesheet" href="/static/plug/formSelects/formSelects-v4.css" />
<script src="/static/plug/formSelects/formSelects-v4.js" type="text/javascript" charset="utf-8"></script>
<script>
layui.config({
version:"{$front_version}",
base: '/static/plug/layui-admin/dist/layuiadmin/' //静态资源所在路径
}).extend({
index: 'lib/index' //主入口模块
}).use(['index', 'form','like'], function(){
var $ = layui.$
,form = layui.form
,like = layui.like
,formSelects = layui.formSelects
;
//上传图片
like.imageUpload('.goods-img-add', function (uri, element) {
if(uri.length>1){
layer.msg('最多最能选中1张图片');
return;
}
var html = '<div class="goods-li">\n' +
'<img class="goods-img" ' +
'src="' + uri[0] + '">' +
'<a class="goods-img-del-x" style="display: none">x</a>' +
'</div>';
element.prev().val(like.getUrlFileName(uri[0], '{$storageUrl}'));
element.parent().append(html);
element.css('display','none');
}, true);
//删除图片
$(document).on('click', '.goods-img-del-x', function () {
$(this).parent().siblings('input').val('');
$(this).parent().prev().css('display','block');
$(this).parent().remove();
});
//显示图片
$(document).on('click', '.goods-img', function () {
var image = $(this).attr('src');
like.showImg(image,600);
});
// 删除按钮的显示与隐藏
$(document).on('mouseover', '.goods-img', function () {
$(this).next().show();
});
$(document).on('mouseout', '.goods-img', function () {
$(this).next().hide();
});
$(document).on('mouseover', '.goods-img-del-x', function () {
$(this).show();
});
$(document).on('mouseout', '.goods-img-del-x', function () {
$(this).hide();
});
//三级联动
formSelects.value('privilege',select_id);
})
</script>

View File

@@ -0,0 +1,123 @@
{layout name="layout2" /}
<style>
.layui-form-label {
color: #6a6f6c;
width: 100px;
}
.layui-input-block {
margin-left: 130px;
}
.tips{
color: red;
}
.goods-li {
float: left;
opacity: 1;
position: relative;
}
.goods-img {
width: 80px;
height: 80px;
padding: 4px;
}
.goods-img-del-x {
position: absolute;
z-index: 100;
top: -4px;
right: -2px;
width: 20px;
height: 20px;
font-size: 16px;
line-height: 16px;
color: #fff;
text-align: center;
cursor: pointer;
background: hsla(0, 0%, 60%, .6);
border-radius: 10px;
}
</style>
<div class="layui-form" lay-filter="layuiadmin-form-user_level" id="layuiadmin-form-user_level" style="padding: 20px 30px 0 0;">
<div class="layui-form-item">
<label class="layui-form-label"><span class="tips">*</span>订单渠道:</label>
<div class="layui-input-inline" style="width: 350px;">
<select id="channel_id" name="channel_id" style="width: 350px;">
<option value="" selected>默认订单无渠道</option>
{foreach $channel as $item }
<option value="{$item.id}">{$item.name}</option>
{/foreach}
</select>
</div>
</div>
<div class="layui-form-item layui-hide">
<input type="button" lay-submit lay-filter="adjust_level-submit" id="adjust_level-submit" value="确认">
</div>
</div>
<style>
.layui-form-label {
width: 100px;
}
.layui-input-block {
margin-left: 130px;
}
</style>
<link rel="stylesheet" href="/static/plug/formSelects/formSelects-v4.css" />
<script src="/static/plug/formSelects/formSelects-v4.js" type="text/javascript" charset="utf-8"></script>
<script>
layui.config({
version:"{$front_version}",
base: '/static/plug/layui-admin/dist/layuiadmin/' //静态资源所在路径
}).extend({
index: 'lib/index' //主入口模块
}).use(['index', 'form','like'], function(){
var $ = layui.$
,form = layui.form
,like = layui.like
,formSelects = layui.formSelects
;
//上传图片
like.imageUpload('.goods-img-add', function (uri, element) {
if(uri.length>1){
layer.msg('最多最能选中1张图片');
return;
}
var html = '<div class="goods-li">\n' +
'<img class="goods-img" ' +
'src="' + uri[0] + '">' +
'<a class="goods-img-del-x" style="display: none">x</a>' +
'</div>';
element.prev().val(like.getUrlFileName(uri[0], '{$storageUrl}'));
element.parent().append(html);
element.css('display','none');
}, true);
//删除图片
$(document).on('click', '.goods-img-del-x', function () {
$(this).parent().siblings('input').val('');
$(this).parent().prev().css('display','block');
$(this).parent().remove();
});
//显示图片
$(document).on('click', '.goods-img', function () {
var image = $(this).attr('src');
like.showImg(image,600);
});
// 删除按钮的显示与隐藏
$(document).on('mouseover', '.goods-img', function () {
$(this).next().show();
});
$(document).on('mouseout', '.goods-img', function () {
$(this).next().hide();
});
$(document).on('mouseover', '.goods-img-del-x', function () {
$(this).show();
});
$(document).on('mouseout', '.goods-img-del-x', function () {
$(this).hide();
});
//三级联动
formSelects.value('privilege',select_id);
})
</script>

View File

@@ -0,0 +1,205 @@
{layout name="layout2" /}
<style>
.div-flex {
display: flex;
align-items: center;
justify-content: left;
}
.layui-form-label {
width: 100px;
}
.width-160 {
width: 200px;
}
.layui-table th {
text-align: center;
}
.table-margin {
margin-left: 50px;
margin-right: 50px;
text-align: center;
}
.image {
height: 80px;
width: 80px;
}
</style>
<div class="layui-card-body" >
<!--基本信息-->
<div class="layui-form" lay-filter="layuiadmin-form-express" id="layuiadmin-form-express" >
<input type="hidden" name="order_id" value="{$detail.id}">
<div class="layui-form-item">
<fieldset class="layui-elem-field layui-field-title">
<legend>房屋信息</legend>
</fieldset>
</div>
<div class="layui-form-item div-flex">
<label class="layui-form-label ">客户姓名:</label>
<div class="width-160">{$detail.consignee}</div>
<label class="layui-form-label ">手机号:</label>
<div class="width-160">{$detail.mobile}</div>
<label class="layui-form-label ">房屋地址:</label>
<div class="width-160">{$detail.address}</div>
</div>
<div class="layui-form-item">
<fieldset class="layui-elem-field layui-field-title">
<legend>服务套餐</legend>
</fieldset>
</div>
<div class="layui-form-item table-margin">
<table class="layui-table">
<colgroup>
<col width="250">
<col width="100">
<col width="100">
<col width="100">
</colgroup>
<thead>
<tr>
<th>商品信息</th>
<th>价格(元)</th>
<th>数量</th>
<th>小计(元)</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<div style="text-align: left">
<div class="layui-col-md3">
<img src="{$detail.goods_image}" class="image-show image">
</div>
<div class="layui-col-md9">
<p style="margin-top: 10px">{$detail.goods_name}</p>
<br>
<p>1</p>
</div>
</div>
</td>
<td>¥{$detail.goods_price}</td>
<td>1</td>
<td>{$detail.order_amount}</td>
</tr>
</tbody>
</table>
</div>
<div class="layui-form-item">
<fieldset class="layui-elem-field layui-field-title">
<legend>快递配送</legend>
</fieldset>
</div>
<div class="layui-form-item div-flex">
<label class="layui-form-label ">配送方式:</label>
<div>
<input type="radio" name="send_type" lay-filter="express" value="1" title="快递配送" checked>
<input type="radio" name="send_type" lay-filter="express" value="2" title="无需快递">
</div>
</div>
<div class="layui-form-item div-flex select-express">
<label class="layui-form-label ">选择快递:</label>
<div>
<select name="shipping_id" lay-verify="required">
{foreach $express as $k => $v}
<option value="{$v.id}">{$v.name}</option>
{/foreach}
</select>
</div>
</div>
<div class="layui-form-item div-flex select-express" >
<label class="layui-form-label ">快递单号:</label>
<div>
<input type="text" name="invoice_no" placeholder="请输入快递单号" autocomplete="off"
class="layui-input">
</div>
</div>
<div class="layui-form-item div-flex ">
<div class="layui-input-block ">
<input type="button" class="layui-btn layui-btn-sm layui-btn-normal width_160" lay-submit lay-filter="send" id="send" value="发货">
<button type="button" class="layui-btn layui-btn-sm layui-btn-primary width_160 " id="back">返回</button>
</div>
</div>
</div>
</div>
<script type="text/javascript">
//注意:选项卡 依赖 element 模块,否则无法进行功能性操作
layui.config({
version:"{$front_version}",
base: '/static/plug/layui-admin/dist/layuiadmin/' //静态资源所在路径
}).extend({
index: 'lib/index' //主入口模块
}).use(['index', 'element', 'jquery', 'like', 'form'], function () {
var $ = layui.$
, form = layui.form;
var like = layui.like;
//主图放大
$(document).on('click', '.image-show', function () {
var src = $(this).attr('src');
like.showImg(src,600);
});
form.on('radio(express)', function (data) {
var checked = data.value;
if (checked == 1) {
$('.select-express').show();
} else {
$('.select-express').hide();
}
});
$('#back').click(function () {
var index=parent.layer.getFrameIndex(window.name); //获取当前窗口的name
parent.layer.close(index);
parent.layui.table.reload('order-lists');
return true;
});
//发货
form.on('submit(send)', function (data) {
var field = data.field;
like.ajax({
url: '{:url("order/deliveryHandle")}'
, data: field
, type: 'post'
, success: function (res) {
if (res.code == 1) {
layui.layer.msg(res.msg, {
offset: '15px'
, icon: 1
, time: 1000
},function () {
var index = parent.layer.getFrameIndex(window.name);
parent.location.reload();
parent.layer.close(index);
});
}
},
});
})
});
</script>

View File

@@ -0,0 +1,254 @@
{layout name="layout2" /}
<style>
.div-flex {
display: flex;
align-items: center;
justify-content: left;
}
.width-160 {
width: 200px;
}
.layui-table th {
text-align: center;
}
.table-margin{
margin-left: 50px;
margin-right: 50px;
text-align: center;
}
.image{
height:80px;
width: 80px;
}
.mt50{
margin-left: 50px;
}
</style>
<div class="layui-card-body" >
<!--基本信息-->
<div class="layui-form" lay-filter="layuiadmin-form-order" id="layuiadmin-form-order" >
<input type="hidden" class="order_id" name="order_id" value="{$detail.id}">
<div class="layui-form-item">
<fieldset class="layui-elem-field layui-field-title">
<legend>订单信息</legend>
</fieldset>
</div>
<div class="layui-form-item div-flex">
<label class="layui-form-label ">订单编号:</label>
<div class="width-160">{$detail.order_sn}</div>
<label class="layui-form-label ">订单类型:</label>
<div class="width-160">
{$detail.type}
</div>
<label class="layui-form-label ">下单时间:</label>
<div class="width-160">{$detail.create_time}</div>
</div>
<div class="layui-form-item div-flex">
<label class="layui-form-label ">支付状态:</label>
<div class="width-160">
{$detail.pay_status}
</div>
</div>
<div class="layui-form-item div-flex">
<label class="layui-form-label ">客户名字:</label>
<div class="width-160">{$detail.consignee}</div>
<label class="layui-form-label ">手机号:</label>
<div class="width-160">{$detail.mobile}</div>
<label class="layui-form-label ">房屋地址:</label>
<div class="width-160">{$detail.address}</div>
</div>
<div class="layui-form-item">
<fieldset class="layui-elem-field layui-field-title">
<legend>套餐信息</legend>
</fieldset>
</div>
<div class="layui-form-item table-margin">
<table class="layui-table">
<colgroup>
<col width="250">
<col width="100">
<col width="100">
<col width="100">
</colgroup>
<thead>
<tr>
<th>商品信息</th>
<th>价格(元)</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<div style="text-align: left">
<div class="layui-col-md3">
<img src="{$detail.goods_image}" class="image-show image" >
</div>
<div class="layui-col-md9">
<p style="margin-top: 10px">{$detail.goods_name}</p>
</div>
</div>
</td>
<td style="text-align: left">
<p>商品金额:¥{$detail.goods_price}</p>
<p>运费金额:¥{$detail.shipping_price}</p>
<p style="color: red">优惠金额:¥{$detail.discount_amount}</p>
<p style="color: red">积分抵扣:¥{$detail.integral_amount | default = 0}</p>
<p>应付金额:¥{$detail.order_amount}</p>
</td>
</tr>
</tbody>
</table>
</div>
<div class="layui-form-item">
<fieldset class="layui-elem-field layui-field-title">
<legend>客户备注</legend>
</fieldset>
</div>
<div class="layui-form-item table-margin">
<textarea class="layui-textarea" disabled>{$detail.order_remarks}</textarea>
</div>
</div>
</div>
<script type="text/javascript">
//注意:选项卡 依赖 element 模块,否则无法进行功能性操作
layui.config({
version:"{$front_version}",
base: '/static/plug/layui-admin/dist/layuiadmin/' //静态资源所在路径
}).extend({
index: 'lib/index' //主入口模块
}).use(['index', 'element', 'jquery', 'like'], function () {
var $ = layui.$;
var like = layui.like;
//主图放大
$(document).on('click', '.image-show', function () {
var src = $(this).attr('src');
like.showImg(src,600);
});
$('#back').click(function () {
var index=parent.layer.getFrameIndex(window.name); //获取当前窗口的name
parent.layer.close(index);
parent.layui.table.reload('order-lists');
return true;
});
//取消订单
$('#cancel').click(function () {
var order_id = $('.order_id').val();
layer.confirm('确认取消订单吗?', {
btn: ['确认','取消'] //按钮
}, function(){
like.ajax({
url: '{:url("order/cancel")}'
, data: {'order_id': order_id}
, type: 'post'
, success: function (res) {
if (res.code == 1) {
layui.layer.msg(res.msg, {
offset: '15px'
, icon: 1
, time: 1000
},function () {
location.reload();
});
}
}
});
});
});
//删除订单
$('#del').click(function () {
var order_id = $('.order_id').val();
layer.confirm('删除后订单将消失,确认删除订单吗?', {
btn: ['确认','取消'] //按钮
}, function(){
like.ajax({
url: '{:url("order/del")}'
, data: {'order_id': order_id}
, type: 'post'
, success: function (res) {
if (res.code == 1) {
layui.layer.msg(res.msg, {
offset: '15px'
, icon: 1
, time: 1000
},function () {
location.reload();
});
}
}
});
});
});
//退款
$('#refund').click(function () {
var order_id = $('.order_id').val();
layer.msg('暂不可退');
});
//发货
$('#delivery').click(function () {
var id = $('.order_id').val();
layer.open({
type: 2
,title: '订单发货'
,content: '{:url("order/delivery")}?id='+id
,area: ['90%', '90%']
,yes: function(index, layero){
}
})
});
//确认收货
$('#confirm').click(function () {
var id = $('.order_id').val();
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 () {
location.reload();
});
}
},
});
});
});
});
</script>

View File

@@ -0,0 +1,491 @@
{layout name="layout2" /}
<link rel="stylesheet" href="/static/admin/css/goods.css" media="all">
<div class="">
<div class="layui-tab-content layui-form">
<div class="layui-tab-item goods-content layui-show">
<div class="layui-card-body" pad15>
<div lay-filter="">
<div class="layui-form-item">
<label class="layui-form-label"><span class="form-label-asterisk">*</span>客户名称:</label>
<input type="hidden" id="id" name="id">
<div class="layui-input-block">
<input type="text" name="name" lay-verify="custom_required" lay-verType="tips"
autocomplete="off"
switch-tab="0" verify-msg="请输入用户的姓名" placeholder="请输入用户名称"
class="layui-input" >
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">用户电话:</label>
<div class="layui-input-block">
<input type="text" name="phone" lay-verType="tips" verify-msg="请输入用户电话号码" placeholder="请输入用户联系电话" autocomplete="off" switch-tab="0" class="layui-input" readonly="readonly">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">支付状态:</label>
<div class="layui-input-block">
<input type="radio" name="pay_status" value="0" title="已收款" >
<input type="radio" name="pay_status" value="1" title="应收款">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label" style="margin-top: 10px;">收款渠道:</label>
<div class="layui-col-sm4" style="width: 80%; margin-top: 10px;">
<select name="gord_id" lay-verType="tips" switch-tab="0" verify-msg="请选择渠道来源">
<option value="">请选择选择付款</option>
</select>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label" style="margin-top: 10px;">渠道来源:</label>
<div class="layui-col-sm4" style="width: 80%; margin-top: 10px;">
<select name="brand_id" lay-verType="tips" switch-tab="0" verify-msg="请选择渠道来源">
<option value="">请选择渠道来源</option>
</select>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label"><span class="form-label-asterisk">*</span>房屋地址:</label>
<div class="layui-input-inline">
<select name="first_category_id" lay-filter="first_category" lay-verify="custom_required"
lay-verType="tips" switch-tab="0" verify-msg="请选择地区">
<option value="">请选择地区</option>
</select>
</div>
<div class="layui-input-inline">
<select name="second_category_id" lay-filter="second_category" lay-verify="custom_required"
lay-verType="tips" switch-tab="0" verify-msg="请选择地区">
<option value="">请选择地区</option>
</select>
</div>
<div class="layui-input-inline">
<select name="third_category_id" lay-filter="third_category" lay-verify="custom_required"
lay-verType="tips" switch-tab="0" verify-msg="请选择地区">
<option value="">请选择地区</option>
</select>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">订单单价:</label>
<div class="layui-input-block">
<input type="text" name="total_amount" lay-verType="tips" autocomplete="off" switch-tab="0" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">联系地址:</label>
<div class="layui-input-block">
<input type="text" name="address" id="demo1" lay-verType="tips" autocomplete="off" switch-tab="0" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">位置精度:</label>
<div class="layui-input-inline" style="width: 20%;">
<input type="text" name="store_longitude" class="layui-input" placeholder="请输入经度" value="" id="lon" lay-filter="lon" >
</div>
<label class="layui-form-label">位置维度:</label>
<div class="layui-input-inline" style="width: 20%;">
<input type="text" name="store_latitude" class="layui-input" placeholder="请输入经度" value="" id="lat" lay-filter="lat" >
</div>
</div>
<div id="tMap" class="layui-hide" style="padding: 10px;margin-left: 3%; width: 100%;">
<div class="layui-form layuimini-form">
<div class="layui-form-item">
<div class="layui-input-inline">
<input type="text" name="search_key" id="search_key" class="layui-input" placeholder="请输入地名" >
</div>
<button class="layui-btn layui-btn-normal layui-btn-sm searchKey" >查询</button>
</div>
</div>
<div id="maplocation" style="width:1080px;height:400px;"></div>
</div>
<style>
body .layui-ext-yourskin .layui-layer-btn0{
border: 1px solid #dedede;
background-color:#fff;
color: #333;
}
body .layui-ext-yourskin .layui-layer-btn1{
background-color:#1E9FFF;
border-color:#1E9FFF;
color: #fff;
}
</style>
</div>
</div>
</div>
<div class="layui-form-item layui-hide">
<input type="button" lay-submit lay-filter="adjust_user-submit" id="adjust_user-submit" value="确认">
</div>
</div>
</div>
<script charset="utf-8" src="https://map.qq.com/api/gljs?v=1.exp&libraries=service&key=EVOBZ-VX7YU-QKJVR-BVESA-AVFT3-7JBWG"></script>
<!--<script charset="utf-8" src="https://map.qq.com/api/js?v=2.exp&key=EVOBZ-VX7YU-QKJVR-BVESA-AVFT3-7JBWG&libraries=drawing,geometry,place,convertor,visualization"></script>-->
<script type="text/javascript">
//注意:选项卡 依赖 element 模块,否则无法进行功能性操作
var dragstart = 0;
var swop_element_ed = -1;
var create_table_by_spec = null;
var spec_table_data = [];
var spec_value_temp_id_number = 0;
var geocoder = null
var lat_lng = null
var map = null
layui.config({
version:"{$front_version}",
base: '/static/plug/layui-admin/dist/layuiadmin/' //静态资源所在路径
}).extend({
index: 'lib/index' //主入口模块
}).use(['index', 'element', 'jquery', 'like', 'likeedit'], function () {
var $ = layui.$;
var like = layui.like;
var form = layui.form;
var likeedit = layui.likeedit;
$('.first_ratio').bind('input propertychange', function() {
var that = $(this);
var value = that.val();
format(that,value)
});
$(document).on('click','#lon',function(){
if(!$("#demo1").val()){
layer.msg('请先填写客户所在地址', { icon: 5, anim: 6 });
return false;
}
var markers = [];
function addMarker(latlng){
markers.updateGeometries([
{
id: 'main',
position: latlng, // 将得到的坐标位置用点标记标注在地图上
},
]);
}
$("#tMap").removeClass('layui-hide');
layer.open({
type:1,
area:["800px","600px"],
title:"地图标识",
btn: ['取消','确定'],
skin: 'layui-ext-yourskin',
content:layui.jquery('#tMap'),
success:function(){
if(!map){
map = new TMap.Map('maplocation', {
zoom: 14,
center: new TMap.LatLng(39.986785, 116.301012),
});
markers = new TMap.MultiMarker({
map: map,
geometries: [],
});
map.on('click', function(event) {
lat_lng = event.latLng
addMarker(event.latLng);
});
geocoder = new TMap.service.Geocoder();
searchService = {
search:function(name){
geocoder.getLocation({ address:name })
.then((result) => {
console.log(result,999)
lat_lng = result.result.location
addMarker( result.result.location)
// markers.updateGeometries([
// {
// id: 'main',
// position: result.result.location, // 将得到的坐标位置用点标记标注在地图上
// },
// ]);
map.setCenter(result.result.location);
$('#lon').val(result.result.location.lng)
$('#lat').val(result.result.location.lat)
// 显示坐标数值
});
}
}
}
} ,
yes: function(index, layero){
console.log(lat_lng,99)
//do something
layer.close(index); //如果设定了yes回调需进行手工关闭
},
btn2:function(index){
layer.close(index)
console.log(lat_lng,88)
if(lat_lng){
$('#lon').val(lat_lng.lng)
$('#lat').val(lat_lng.lat)
}
},
cancel: function(index, layero){
//if(confirm('确定要关闭么')){ //只有当点击confirm框的确定时该层才会关闭
document.getElementById("tMap").style.display="none";//通过设置display属性可以使div隐藏后释放占用的页面空间
layer.close(index)
// }
return false;
} //这里content是一个普通的String
});
$(document).on('click','.searchKey',function(){
var search_key=$("#search_key").val();
var search_key=$("#search_key").val();
searchService.search(search_key);
// searchService.setLocation(search_key);
// searchService.search(search_key);
})
});
//渲染品牌
var brands = {$brand_lists | raw};
setBrand();
function setBrand(default_id) {
var brand_select_html = '<option value="">请选择渠道来源</option>';
for (var i in brands) {
brand_select_html += '<option value="' + brands[i]['id'] + '">' + brands[i]['name'] + '</option>';
}
$('select[name="brand_id"]').html(brand_select_html);
$('select[name="brand_id"]').val(default_id);
form.render('select');
}
//渲染收款渠道
var gord = {$gord_id | raw};
setBrandss();
function setBrandss(default_id) {
var gord_select_html = '<option value="">请选择收款渠道</option>';
for (var i in gord) {
gord_select_html += '<option value="' + gord[i]['id'] + '">' + gord[i]['cqname'] + '</option>';
}
$('select[name="gord_id"]').html(gord_select_html);
$('select[name="gord_id"]').val(default_id);
form.render('select');
}
//地区分类
var categorys = {$category_lists | raw};
setSelectFirst();
function setSelectFirst(default_id) {
var category_select_html = '<option value="">请选择分类</option>';
for (var i in categorys) {
if (categorys[i]['level'] == 1) {
category_select_html += '<option value="' + categorys[i]['id'] + '">' + categorys[i]['name'] + '</option>';
}
}
$('select[name="first_category_id"]').html(category_select_html);
$('select[name="first_category_id"]').val(default_id);
form.render('select');
}
function setSelectSecond(default_id, parent_id) {
parent_id = parent_id === undefined ? $('select[name="first_category_id"]').val() : parent_id;
$('select[name="second_category_id"]').html('<option value="">请选择分类</option>');
$('select[name="third_category_id"]').html('<option value="">请选择分类</option>');
var category_select_html = '<option value="">请选择分类</option>';
for (var i in categorys) {
if (categorys[i]['parent_id'] == parent_id) {
category_select_html += '<option value="' + categorys[i]['id'] + '">' + categorys[i]['name'] + '</option>';
}
}
$('select[name="second_category_id"]').html(category_select_html);
$('select[name="second_category_id"]').val(default_id);
form.render('select');
}
function setSelectThird(default_id, parent_id) {
parent_id = parent_id === undefined ? $('select[name="second_category_id"]').val() : parent_id;
$('select[name="third_category_id"]').html('<option value="">请选择分类</option>');
var first_category_id = $('select[name="first_category_id"]').val();
var category_select_html = '<option value="">请选择分类</option>';
for (var i in categorys) {
if (categorys[i]['parent_id'] == parent_id) {
category_select_html += '<option value="' + categorys[i]['id'] + '">' + categorys[i]['name'] + '</option>';
}
}
$('select[name="third_category_id"]').html(category_select_html);
$('select[name="third_category_id"]').val(default_id);
form.render('select');
}
form.on('select(first_category)', function (data) {
setSelectSecond('', data.value);
});
form.on('select(second_category)', function (data) {
setSelectThird('', data.value);
});
//------------------------价格库存----------------------------------
//显示或隐藏规格项删除按钮
$(document).on('mouseenter', '.goods-spec-value', function () {
$(this).find('.goods-spec-value-del-x').show();
});
$(document).on('mouseleave', '.goods-spec-value', function () {
$(this).find('.goods-spec-value-del-x').hide();
});
//多规格图片
like.imageUpload('.goods-spec-img-add', function (uris, element) {
if(uris.length>1){
layer.msg('最多最能选中1张图片');
return;
}
element.hide();
var key = element.parent().parent().parent().attr('spec-value-temp-ids');
spec_table_data["spec_image[]"+key] = uris[0];//保存图片地址
$(element).parent().html('<input name="spec_image[]" type="hidden" value="' + like.getUrlFileName(uris[0], '{$storageUrl}') + '"><a class="goods-spec-img-del-x">x</a><img class="goods-spec-img" src="' + uris[0] + '">');
});
$(document).on('mouseenter', '.goods-spec-img-div', function () {
$(this).find('.goods-spec-img-del-x').show();
});
$(document).on('mouseleave', '.goods-spec-img-div', function () {
$(this).find('.goods-spec-img-del-x').hide();
});
$(document).on('click', '.goods-spec-img-del-x', function () {
var key = 'spec_image[]' + $(this).parent().parent().parent().attr('spec-value-temp-ids');
$(this).parent().html('<input type="hidden" name="spec_image[]"><img src="/static/common/image/plug/goods-lists-add-image.png" class="goods-spec-img-add">');
spec_table_data[key] = '';
});
$(document).on('click', '.goods-spec-img', function () {
like.showImg($(this).attr('src'),600);
});
//规格生成表格
createTableBySepc = function () {
if ($('.goods-spec').size() <= 0) {
$('#more-spec-lists').hide();
return;
}
$('#more-spec-lists').show();
var table_title = [];
var table_data = [];
var spec_value_temp_arr = [];
var i = 0;
var th_html = $('#template-spec-table-th').html();
var tr_html = $('#template-spec-table-tr').html();
//遍历规格项目
$('.goods-spec').each(function () {
var spec_name = $(this).find('.spec_name').first().val();
if (isEmptyString(spec_name)) {
return true;
}
table_title[i] = spec_name;
table_data[i] = [];
spec_value_temp_arr[i] = [];
var j = 0;
$(this).find('.goods-spec-value .goods-spec-value-input').each(function () {
var spec_value = $(this).val();
var spec_value_temp_id = $(this).attr('spec-value-temp-id');
if (isEmptyString(spec_value)) {
return true;
}
table_data[i][j] = spec_value;
spec_value_temp_arr[i][j] = spec_value_temp_id;
j++;
});
i++;
});
table_html = '';
//表格头部组装
spec_th_html = '';
for (var i in table_title) {
spec_th_html += '<th>' + table_title[i] + '</th>';
}
table_html = th_html.replace('{spec_th}', spec_th_html);
spec_value_temp_arr = cartesianProduct(spec_value_temp_arr);
table_data = cartesianProduct(table_data);
for (var i in table_data) {
var spec_tr_html = '';
var tr_name_arr = [];
var specs = '';
if (Array.isArray(table_data[i])) {
//根据规格创建tr的id
var spec_value_temp_ids = '';
for(var j in spec_value_temp_arr[i]){
spec_value_temp_ids += spec_value_temp_arr[i][j]+',';
}
spec_value_temp_ids = spec_value_temp_ids.substring(0, spec_value_temp_ids.lastIndexOf(','));
spec_tr_html += '<tr spec-value-temp-ids="'+spec_value_temp_ids+'">';
for (var j in table_data[i]) {
spec_tr_html += '<td>' + table_data[i][j] + '</td>';
tr_name_arr[j] = table_data[i][j];
specs += table_data[i][j].replace(',', '') + ',';
}
} else {
var spec_value_temp_ids = spec_value_temp_arr[i];
spec_tr_html = '<tr spec-value-temp-ids="'+spec_value_temp_ids+'">';
spec_tr_html += '<td>' + table_data[i] + '</td>';
specs += table_data[i].replace(',', '') + ',';
}
specs = specs.substring(0, specs.lastIndexOf(','));
spec_table_data["spec_value_str[]"+spec_value_temp_ids] = specs;
spec_tr_html += '<td style="display: none"><input type="hidden" name="spec_value_str[]" value="' + specs + '"><input type="hidden" name="item_id[]" value=""></td>';
table_html += tr_html.replace('{spec_td}', spec_tr_html);
}
$('#more-spec-lists-table').html(table_html);
setTableValue();
}
{notempty name='info'}
var goods_info= {$info|raw|default=''};
console.log(goods_info);
$('input[name="id"]').val(goods_info['id']);
$('input[name="address"]').val(goods_info['address']);
$('input[name="total_amount"]').val(goods_info['total_amount']);
$('input[name="name"]').val(goods_info['consignee']);
$('input[name="phone"]').val(goods_info['mobile']);
$('input[name="store_latitude"]').val(goods_info['lng']);
$('input[name="store_longitude"]').val(goods_info['lat']);
setSelectFirst(goods_info['province']);
setSelectSecond(goods_info['city']);
setSelectThird(goods_info['district']);
setBrand(goods_info['channel_id']); //部门的修改
setBrandss(goods_info['gord_id']); //部门的修改
$('input[name="areas"]').val(goods_info['areas']);
$("input[name=pay_status][value="+goods_info['pay_zd']+"]").prop("checked",true);
form.render();
{/notempty}
//------------------------编辑页面----------------------------------
});
</script>

View File

@@ -0,0 +1,182 @@
{layout name="layout2" /}
<style>
.div-flex {
display: flex;
align-items: center;
justify-content: left;
}
.width-160 {
width: 200px;
}
.layui-table th {
text-align: center;
}
.table-margin {
margin-left: 50px;
margin-right: 50px;
text-align: center;
}
.image {
height: 80px;
width: 80px;
}
.mt50 {
margin-left: 50px;
}
</style>
<div class="layui-card-body" >
<!--基本信息-->
<div class="layui-form" lay-filter="layuiadmin-form-express" id="layuiadmin-form-express" >
<input type="hidden" name="order_id" value="{$detail.id}">
<div class="layui-form-item">
<fieldset class="layui-elem-field layui-field-title">
<legend>快递信息</legend>
</fieldset>
</div>
{empty name="$detail.shipping"}
<div class="layui-form-item div-flex">
<label class="layui-form-label"></label>
<div class="width-160">暂无物流信息</div>
</div>
{else/}
<div class="layui-form-item div-flex">
<label class="layui-form-label ">发货时间:</label>
<div class="width-160">{$detail.shipping.create_time_text | default= "未知"}</div>
{if condition = "$detail.shipping.send_type eq 1"}
<label class="layui-form-label ">快递方式:</label>
<div class="width-160">{$detail.shipping.shipping_name | default="未知"}</div>
<label class="layui-form-label ">快递单号:</label>
<div class="width-160">{$detail.shipping.invoice_no | default= "未知"}</div>
{else/}
<label class="layui-form-label ">配送方式:</label>
<div class="width-160">无需快递</div>
{/if}
</div>
{/empty}
<div class="layui-form-item">
<fieldset class="layui-elem-field layui-field-title">
<legend>商品信息</legend>
</fieldset>
</div>
<div class="layui-form-item table-margin">
<table class="layui-table">
<colgroup>
<col width="250">
<col width="100">
<col width="100">
<col width="100">
</colgroup>
<thead>
<tr>
<th>商品信息</th>
<th>价格(元)</th>
<th>数量</th>
<th>小计(元)</th>
</tr>
</thead>
<tbody>
{foreach $detail.order_goods as $k => $goods}
<tr>
<td>
<div style="text-align: left">
<div class="layui-col-md3">
<img src="{$goods.goods_image}" class="image-show image">
</div>
<div class="layui-col-md9">
<p style="margin-top: 10px">{$goods.goods_name}</p>
<br>
<p>{$goods.spec_value}</p>
</div>
</div>
</td>
<td>¥{$goods.goods_price}</td>
<td>{$goods.goods_num}</td>
<td>{$goods.total_price}</td>
</tr>
{/foreach}
</tbody>
</table>
</div>
<div class="layui-form-item">
<fieldset class="layui-elem-field layui-field-title">
<legend>物流轨迹</legend>
</fieldset>
</div>
<div class="layui-form-item table-margin">
<table class="layui-table">
<colgroup>
<col>
</colgroup>
<thead>
<tr >
<th colspan="3">轨迹</th>
</tr>
</thead>
<tbody>
{foreach $detail.shipping.traces as $k => $item}
<tr>
{if is_array($item)}
{foreach $item as $k1 => $value}
<td>{$value}</td>
{/foreach}
{else /}
<td>{$item}</td>
{/if}
</tr>
{/foreach}
</tbody>
</table>
</div>
<div class="layui-form-item div-flex ">
<div class="layui-input-block ">
<button type="button" class="layui-btn layui-btn-sm layui-btn-primary width_160 " id="back">返回</button>
</div>
</div>
</div>
</div>
<script type="text/javascript">
//注意:选项卡 依赖 element 模块,否则无法进行功能性操作
layui.config({
version:"{$front_version}",
base: '/static/plug/layui-admin/dist/layuiadmin/' //静态资源所在路径
}).extend({
index: 'lib/index' //主入口模块
}).use(['index', 'element', 'jquery', 'like', 'form'], function () {
var $ = layui.$
, form = layui.form;
var like = layui.like;
//主图放大
$(document).on('click', '.image-show', function () {
var src = $(this).attr('src');
like.showImg(src,600);
});
$('#back').click(function () {
var index=parent.layer.getFrameIndex(window.name); //获取当前窗口的name
parent.layer.close(index);
parent.layui.table.reload('order-lists');
return true;
});
});
</script>

View File

@@ -0,0 +1,908 @@
{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_amount_change lt 0" } style="color: #009688" {elseif condition="$num.order_amount_change egt 0" } style="color: #FA2828" {/if}>{$num.order_amount_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("order/lists")}?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")}?id='+id
, 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>

View File

@@ -0,0 +1,729 @@
{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;background-color:#fff">
<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_amount_change lt 0" } style="color: #009688" {elseif condition="$num.order_amount_change egt 0" } style="color: #FA2828" {/if}>{$num.order_amount_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">
<select name="search_key">
<option value="mobile">客户手机号码</option>
<option value="order_sn">销售单号</option>
<option value="consignee">客户名称</option>
</select>
</div>
</div>
<div class="layui-inline">
<input type="text" name="keyword" id="keyword" placeholder="请输入搜索内容"
autocomplete="off" class="layui-input">
</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>
<option value="1">已开票</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>
<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">
<div style="padding-bottom: 10px;">
<button class="layui-btn layui-btn-sm layuiadmin-btn-user {$view_theme_color}" lay-submit lay-filter="send_coupon">增加服务订单</button>
</div>
<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>
{{# if(d.order_status == 4){ }}
{{# } }}
<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="remarks">备注</a>
{{# if(d.order_status <= 1){ }}
<a class="layui-btn-primary layui-btn-sm" style="display: inline-block;" lay-event="cancel">退款</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="user">
<img src="{{d.user.avatar}}" style="height:80px;width: 80px" class="image-show">
<div class="layui-input-inline" style="text-align: left;">
<p>会员编号:{{d.user.sn}}</p>
<p style="width: 180px;text-overflow:ellipsis;overflow: hidden">会员昵称:{{d.user.nickname}}</p>
<p>会员等级:{{d.user_level}}</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/exportFilesuser")}?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("order/userorder")}?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',width:260}
, {field: 'order_goods', title: '商品信息', align: 'center',templet:'#goods',width:320}
, {field: 'total_amount', title: '支付信息', align: 'center',templet:'#amount',width:180}
, {field: 'order_remarks', title: '备注信息', align: 'center',width:130}
, {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 === '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 === 'cancel'){
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 === '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>