修复内容

This commit is contained in:
2026-01-30 18:48:13 +08:00
parent 5fe5289e26
commit 76cfa6b278
25 changed files with 943 additions and 289 deletions

View File

@@ -200,57 +200,24 @@
<div class="chart-card">
<div class="chart-title">当月目标完成率</div>
<div style="margin-bottom: 20px;">
<div style="font-size: 14px; color: #666; margin-bottom: 10px;">本月销售目标: <span style="color: #4A70F4; font-weight: bold;">10万</span></div>
<div style="font-size: 14px; color: #666; margin-bottom: 10px;">
本月销售目标:
<span style="color: #4A70F4; font-weight: bold;" id="monthly-target-text">--</span>
</div>
<div class="progress-item">
<div class="progress-label">
<span>总体完成率</span>
<span style="color: #4A70F4; font-weight: bold;">84%</span>
<span style="color: #4A70F4; font-weight: bold;" id="overall-completion-text">--</span>
</div>
<div class="progress-bar-container">
<div class="progress-bar" style="width: 84%;"></div>
<div class="progress-bar" id="overall-completion-bar" style="width: 0%;"></div>
</div>
</div>
</div>
<div style="margin-top: 30px;">
<div class="chart-title" style="font-size: 14px; margin-bottom: 15px;">客服目标完成率(N个客服的目标陈列)</div>
<div id="staff-progress-list">
<!-- 客服进度条列表 -->
<div class="progress-item">
<div class="progress-label">
<span>啦啦</span>
<span>销售额: XXX | 百分比: xx% | 同比: xx%</span>
</div>
<div class="progress-bar-container">
<div class="progress-bar" style="width: 0%;"></div>
</div>
</div>
<div class="progress-item">
<div class="progress-label">
<span>小喵</span>
<span>销售额: XXX | 百分比: xx% | 同比: xx%</span>
</div>
<div class="progress-bar-container">
<div class="progress-bar" style="width: 0%;"></div>
</div>
</div>
<div class="progress-item">
<div class="progress-label">
<span>哆哆</span>
<span>销售额: XXX | 百分比: xx% | 同比: xx%</span>
</div>
<div class="progress-bar-container">
<div class="progress-bar" style="width: 0%;"></div>
</div>
</div>
<div class="progress-item">
<div class="progress-label">
<span>大猫</span>
<span>销售额: XXX | 百分比: xx% | 同比: xx%</span>
</div>
<div class="progress-bar-container">
<div class="progress-bar" style="width: 0%;"></div>
</div>
</div>
<!-- 客服进度条列表JS 根据数据库数据渲染) -->
</div>
</div>
</div>
@@ -263,8 +230,8 @@
<div class="layui-col-md6">
<div class="chart-card">
<div class="chart-title">每日销售趋势</div>
<div style="text-align: right; margin-bottom: 10px; color: #f56c6c; font-size: 14px;">
▼ 29.23% 上月同比
<div id="trend-compare-text" style="text-align: right; margin-bottom: 10px; color: #f56c6c; font-size: 14px;">
--
</div>
<div class="chart-container-large" id="daily-sales-trend-chart"></div>
</div>
@@ -296,52 +263,8 @@
<th>渠道</th>
</tr>
</thead>
<tbody>
<tr>
<td>总额</td>
<td class="empty-data">-</td>
<td class="empty-data">-</td>
<td class="empty-data">-</td>
<td class="empty-data">-</td>
<td class="empty-data">-</td>
<td class="empty-data">-</td>
</tr>
<tr>
<td>年卡</td>
<td class="empty-data">-</td>
<td class="empty-data">-</td>
<td class="empty-data">-</td>
<td class="empty-data">-</td>
<td class="empty-data">-</td>
<td class="empty-data">-</td>
</tr>
<tr>
<td>次卡</td>
<td class="empty-data">-</td>
<td class="empty-data">-</td>
<td class="empty-data">-</td>
<td class="empty-data">-</td>
<td class="empty-data">-</td>
<td class="empty-data">-</td>
</tr>
<tr>
<td>单次服务</td>
<td class="empty-data">-</td>
<td class="empty-data">-</td>
<td class="empty-data">-</td>
<td class="empty-data">-</td>
<td class="empty-data">-</td>
<td class="empty-data">-</td>
</tr>
<tr>
<td>其他服务</td>
<td class="empty-data">-</td>
<td class="empty-data">-</td>
<td class="empty-data">-</td>
<td class="empty-data">-</td>
<td class="empty-data">-</td>
<td class="empty-data">-</td>
</tr>
<tbody id="channel-month-table-body">
<!-- JS 动态渲染渠道月销售详情 -->
</tbody>
</table>
</div>
@@ -365,52 +288,8 @@
<th>龙里</th>
</tr>
</thead>
<tbody>
<tr>
<td>总额</td>
<td class="empty-data">-</td>
<td class="empty-data">-</td>
<td class="empty-data">-</td>
<td class="empty-data">-</td>
<td class="empty-data">-</td>
<td class="empty-data">-</td>
</tr>
<tr>
<td>年卡</td>
<td class="empty-data">-</td>
<td class="empty-data">-</td>
<td class="empty-data">-</td>
<td class="empty-data">-</td>
<td class="empty-data">-</td>
<td class="empty-data">-</td>
</tr>
<tr>
<td>次卡</td>
<td class="empty-data">-</td>
<td class="empty-data">-</td>
<td class="empty-data">-</td>
<td class="empty-data">-</td>
<td class="empty-data">-</td>
<td class="empty-data">-</td>
</tr>
<tr>
<td>单次服务</td>
<td class="empty-data">-</td>
<td class="empty-data">-</td>
<td class="empty-data">-</td>
<td class="empty-data">-</td>
<td class="empty-data">-</td>
<td class="empty-data">-</td>
</tr>
<tr>
<td>其他服务</td>
<td class="empty-data">-</td>
<td class="empty-data">-</td>
<td class="empty-data">-</td>
<td class="empty-data">-</td>
<td class="empty-data">-</td>
<td class="empty-data">-</td>
</tr>
<tbody id="region-month-table-body">
<!-- JS 动态渲染区域月销售详情 -->
</tbody>
</table>
</div>
@@ -441,6 +320,10 @@ layui.config({
newCustomers: parseInt('{$newCustomers|default=0}') || 0
};
// 仪表盘其它统计数据(目标、客服进度、渠道、趋势、区域等)
// 这里直接输出后端已经 json_encode 好的字符串,避免模板语法冲突
var dashboardData = {$dashboardData|raw} || {};
// 渲染统计数据
renderStatistics();
@@ -451,8 +334,13 @@ layui.config({
format: 'yyyy-MM-dd'
});
// 初始化所有图表(仅样式,不填充数据
// 初始化所有图表(使用数据库数据渲染
initCharts();
// 渲染目标完成率和客服进度条
renderTargetsAndStaff();
// 渲染渠道与区域明细表格
renderChannelAndRegionTables();
// 渲染统计数据
function renderStatistics() {
@@ -486,6 +374,99 @@ layui.config({
$('#customers-compare').html(formatCompare(statisticsData.customersCompare));
}
// 渲染销售目标、总体完成率和客服进度条
function renderTargetsAndStaff() {
if (!dashboardData) {
return;
}
// 销售目标与总体完成率
var target = dashboardData.monthlyTarget || 0;
var completion = dashboardData.overallCompletion || 0;
$('#monthly-target-text').text(target > 0 ? (target / 10000).toFixed(2) + ' 万' : '--');
$('#overall-completion-text').text(completion.toFixed ? completion.toFixed(2) + '%' : (completion + '%'));
$('#overall-completion-bar').css('width', (completion > 100 ? 100 : completion) + '%');
// 客服进度条
var list = $('#staff-progress-list');
list.empty();
if (dashboardData.staffProgress && dashboardData.staffProgress.length) {
dashboardData.staffProgress.forEach(function (item) {
var percentText = (item.percent || 0).toFixed(2) + '%';
var yoy = item.yoy || 0;
var yoyHtml;
if (yoy > 0) {
yoyHtml = '同比: <span style="color:#52c41a;">↑ ' + yoy.toFixed(2) + '%</span>';
} else if (yoy < 0) {
yoyHtml = '同比: <span style="color:#ff4d4f;">↓ ' + Math.abs(yoy).toFixed(2) + '%</span>';
} else {
yoyHtml = '同比: <span style="color:#999;">持平</span>';
}
var html = ''
+ '<div class="progress-item">'
+ ' <div class="progress-label">'
+ ' <span>' + (item.name || '未分配') + '</span>'
+ ' <span>销售额: ' + (item.sales || 0) + ' | 百分比: ' + percentText + ' | ' + yoyHtml + '</span>'
+ ' </div>'
+ ' <div class="progress-bar-container">'
+ ' <div class="progress-bar" style="width:' + (item.percent || 0) + '%;"></div>'
+ ' </div>'
+ '</div>';
list.append(html);
});
} else {
list.append('<div style="color:#999;font-size:12px;">暂无客服统计数据</div>');
}
}
// 渠道&区域月销售明细表格渲染(只处理“总额”这一行)
function renderChannelAndRegionTables() {
if (!dashboardData) {
return;
}
// ===== 渠道月销售详情(总额 / 年卡 / 次卡 / 单次 / 其它) =====
var channelBody = $('#channel-month-table-body');
channelBody.empty();
var channelHeaders = ['美团','公众号','抖音','员工','异业','渠道'];
var rowLabels = [
{key: 'total', text: '总额'},
{key: 'year', text: '年卡'},
{key: 'times', text: '次卡'},
{key: 'single',text: '单次服务'},
{key: 'other', text: '其他服务'}
];
var keyToCol = ['meituan','gzh','douyin','staff','yeye','other'];
rowLabels.forEach(function (row) {
var data = (dashboardData.channelDetail && dashboardData.channelDetail[row.key]) || {};
var tr = '<tr><td>' + row.text + '</td>';
keyToCol.forEach(function (colKey) {
var v = parseFloat(data[colKey] || 0).toFixed(2);
tr += '<td>' + v + '</td>';
});
tr += '</tr>';
channelBody.append(tr);
});
// ===== 区域月销售详情(总额 / 年卡 / 次卡 / 单次 / 其它) =====
var regionBody = $('#region-month-table-body');
regionBody.empty();
if (dashboardData.regions && dashboardData.regions.length) {
var regionNames = dashboardData.regions;
rowLabels.forEach(function (row) {
var rowData = (dashboardData.regionDetail && dashboardData.regionDetail[row.key]) || {};
var tr2 = '<tr><td>' + row.text + '</td>';
regionNames.forEach(function (rName) {
var val = parseFloat(rowData[rName] || 0).toFixed(2);
tr2 += '<td>' + val + '</td>';
});
tr2 += '</tr>';
regionBody.append(tr2);
});
}
}
function initCharts() {
// 月客户分析 - 饼图
var customerChart = echarts.init(document.getElementById('customer-analysis-chart'));
@@ -519,7 +500,7 @@ layui.config({
}]
});
// 月销售情况 - 饼图
// 月销售情况 - 饼图(使用数据库汇总结果)
var salesChart = echarts.init(document.getElementById('sales-situation-chart'));
salesChart.setOption({
tooltip: {
@@ -544,16 +525,18 @@ layui.config({
show: true,
formatter: '{b}: {c}'
},
data: [
{value: 8.2, name: '年卡销售', itemStyle: {color: '#4A70F4'}},
{value: 3.2, name: '次卡销售', itemStyle: {color: '#6DD047'}},
{value: 1.4, name: '单次服务', itemStyle: {color: '#F6A23F'}},
{value: 1.2, name: '其他服务', itemStyle: {color: '#87CEEB'}}
]
data: (dashboardData.salesSituation && dashboardData.salesSituation.length)
? dashboardData.salesSituation
: [
{value: 0, name: '单次服务', itemStyle: {color: '#F6A23F'}},
{value: 0, name: '年卡销量', itemStyle: {color: '#4A70F4'}},
{value: 0, name: '次卡销量', itemStyle: {color: '#6DD047'}},
{value: 0, name: '其它服务', itemStyle: {color: '#87CEEB'}}
]
}]
});
// 当月客户渠道分析 - 环形图
// 当月客户渠道分析 - 环形图(使用数据库统计的渠道订单数)
var channelChart = echarts.init(document.getElementById('channel-analysis-chart'));
channelChart.setOption({
tooltip: {
@@ -578,19 +561,13 @@ layui.config({
show: true,
formatter: '{b}: {d}%'
},
data: [
{value: 0, name: '美团'},
{value: 24, name: '公众号-企业客户'},
{value: 0, name: '抖音'},
{value: 0, name: '渠道'},
{value: 0, name: '员工'},
{value: 0, name: '异业'},
{value: 0, name: '普通客户'}
]
data: (dashboardData.channelPie && dashboardData.channelPie.length)
? dashboardData.channelPie
: []
}]
});
// 每日销售趋势 - 折线图
// 每日销售趋势 - 折线图(使用数据库按天汇总的数据)
var trendChart = echarts.init(document.getElementById('daily-sales-trend-chart'));
trendChart.setOption({
tooltip: {
@@ -605,7 +582,7 @@ layui.config({
xAxis: {
type: 'category',
boundaryGap: false,
data: []
data: dashboardData.trendDates || []
},
yAxis: {
type: 'value',
@@ -635,11 +612,21 @@ layui.config({
itemStyle: {
color: '#4A70F4'
},
data: []
data: dashboardData.trendValues || []
}]
});
// 渲染“上月同比”文字
var trendCompare = dashboardData.trendCompare || 0;
var trendTextDom = $('#trend-compare-text');
if (trendCompare > 0) {
trendTextDom.css('color', '#52c41a').html('▲ ' + trendCompare.toFixed(2) + '% 上月同比');
} else if (trendCompare < 0) {
trendTextDom.css('color', '#f56c6c').html('▼ ' + Math.abs(trendCompare).toFixed(2) + '% 上月同比');
} else {
trendTextDom.css('color', '#999').html('持平 上月同比');
}
// 区域月销售额 - 柱状图
// 区域月销售额 - 柱状图(根据地址简单按区域统计)
var regionalChart = echarts.init(document.getElementById('regional-sales-chart'));
regionalChart.setOption({
tooltip: {
@@ -656,7 +643,7 @@ layui.config({
},
xAxis: {
type: 'category',
data: ['区域1', '区域2', '区域3', '区域4', '区域5', '区域6', '区域7', '区域8']
data: dashboardData.regions || []
},
yAxis: {
type: 'value',
@@ -668,7 +655,7 @@ layui.config({
itemStyle: {
color: '#4A70F4'
},
data: [4668, 3775, 2912, 2200, 1259, 700, 403, 0]
data: dashboardData.regionTotals || []
}]
});

View File

@@ -298,43 +298,86 @@
setSelectFirst();
function setSelectFirst(default_id) {
console.log('setSelectFirst 被调用default_id:', default_id);
var category_select_html = '<option value="">请选择分类</option>';
var foundMatch = false;
for (var i in categorys) {
if (categorys[i]['level'] == 1) {
category_select_html += '<option value="' + categorys[i]['id'] + '">' + categorys[i]['name'] + '</option>';
var selected = '';
if (default_id && String(categorys[i]['id']) == String(default_id)) {
selected = ' selected';
foundMatch = true;
console.log('找到匹配的省份:', categorys[i]['name'], 'ID:', categorys[i]['id']);
}
category_select_html += '<option value="' + categorys[i]['id'] + '"' + selected + '>' + categorys[i]['name'] + '</option>';
}
}
$('select[name="first_category_id"]').html(category_select_html);
$('select[name="first_category_id"]').val(default_id);
if (default_id) {
$('select[name="first_category_id"]').val(String(default_id));
console.log('设置省份值:', String(default_id), '是否找到匹配:', foundMatch);
}
form.render('select');
}
function setSelectSecond(default_id, parent_id) {
console.log('setSelectSecond 被调用default_id:', default_id, 'parent_id:', parent_id);
parent_id = parent_id === undefined ? $('select[name="first_category_id"]').val() : parent_id;
if (!parent_id) {
console.log('setSelectSecond: parent_id 为空,返回');
return;
}
parent_id = String(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>';
var foundMatch = false;
for (var i in categorys) {
if (categorys[i]['parent_id'] == parent_id) {
category_select_html += '<option value="' + categorys[i]['id'] + '">' + categorys[i]['name'] + '</option>';
if (String(categorys[i]['parent_id']) == parent_id) {
var selected = '';
if (default_id && String(categorys[i]['id']) == String(default_id)) {
selected = ' selected';
foundMatch = true;
console.log('找到匹配的城市:', categorys[i]['name'], 'ID:', categorys[i]['id']);
}
category_select_html += '<option value="' + categorys[i]['id'] + '"' + selected + '>' + categorys[i]['name'] + '</option>';
}
}
$('select[name="second_category_id"]').html(category_select_html);
$('select[name="second_category_id"]').val(default_id);
if (default_id) {
$('select[name="second_category_id"]').val(String(default_id));
console.log('设置城市值:', String(default_id), '是否找到匹配:', foundMatch);
}
form.render('select');
}
function setSelectThird(default_id, parent_id) {
console.log('setSelectThird 被调用default_id:', default_id, 'parent_id:', parent_id);
parent_id = parent_id === undefined ? $('select[name="second_category_id"]').val() : parent_id;
if (!parent_id) {
console.log('setSelectThird: parent_id 为空,返回');
return;
}
parent_id = String(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>';
var foundMatch = false;
for (var i in categorys) {
if (categorys[i]['parent_id'] == parent_id) {
category_select_html += '<option value="' + categorys[i]['id'] + '">' + categorys[i]['name'] + '</option>';
if (String(categorys[i]['parent_id']) == parent_id) {
var selected = '';
if (default_id && String(categorys[i]['id']) == String(default_id)) {
selected = ' selected';
foundMatch = true;
console.log('找到匹配的区县:', categorys[i]['name'], 'ID:', categorys[i]['id']);
}
category_select_html += '<option value="' + categorys[i]['id'] + '"' + selected + '>' + categorys[i]['name'] + '</option>';
}
}
$('select[name="third_category_id"]').html(category_select_html);
$('select[name="third_category_id"]').val(default_id);
if (default_id) {
$('select[name="third_category_id"]').val(String(default_id));
console.log('设置区县值:', String(default_id), '是否找到匹配:', foundMatch);
}
form.render('select');
}
@@ -465,7 +508,7 @@
}
{notempty name='info'}
var goods_info= {$info|raw|default=''};
console.log(goods_info);
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']);
@@ -474,9 +517,89 @@
$('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']);
// 设置地区选择器,根据返回的 province、city、district 字段
// 注意需要检查值是否存在包括0的情况0是有效的ID值
var province_id = '';
var city_id = '';
var district_id = '';
// 检查province字段包括0值
if (goods_info['province'] !== undefined && goods_info['province'] !== null && goods_info['province'] !== '') {
province_id = goods_info['province'];
}
// 检查city字段包括0值
if (goods_info['city'] !== undefined && goods_info['city'] !== null && goods_info['city'] !== '') {
city_id = goods_info['city'];
}
// 检查district字段包括0值
if (goods_info['district'] !== undefined && goods_info['district'] !== null && goods_info['district'] !== '') {
district_id = goods_info['district'];
}
console.log('地区数据:', {
province: goods_info['province'],
city: goods_info['city'],
district: goods_info['district'],
province_id: province_id,
city_id: city_id,
district_id: district_id
});
// 初始化地区选择器的函数
function initRegionSelectors() {
if (province_id !== '') {
// 转换为字符串,确保类型匹配
province_id = String(province_id);
// 先设置省份
setSelectFirst(province_id);
// 等待省份选择器渲染完成后再设置城市
setTimeout(function() {
// 验证省份值是否设置成功
var selectedProvince = $('select[name="first_category_id"]').val();
console.log('已选省份ID:', selectedProvince, '期望:', province_id);
if (city_id !== '' && selectedProvince == province_id) {
city_id = String(city_id);
setSelectSecond(city_id, province_id);
// 等待城市选择器渲染完成后再设置区县
setTimeout(function() {
// 验证城市值是否设置成功
var selectedCity = $('select[name="second_category_id"]').val();
console.log('已选城市ID:', selectedCity, '期望:', city_id);
if (district_id !== '' && selectedCity == city_id) {
district_id = String(district_id);
setSelectThird(district_id, city_id);
setTimeout(function() {
var selectedDistrict = $('select[name="third_category_id"]').val();
console.log('已选区县ID:', selectedDistrict, '期望:', district_id);
// 最后重新渲染一次,确保所有选择器都正确显示
form.render('select');
}, 100);
} else {
form.render('select');
}
}, 300);
} else {
form.render('select');
}
}, 300);
} else {
form.render('select');
}
}
// 延迟执行,确保页面完全加载和选择器初始化完成
setTimeout(function() {
console.log('开始初始化地区选择器...');
initRegionSelectors();
}, 200);
setBrand(goods_info['channel_id']); //部门的修改
setBrandss(goods_info['gord_id']); //部门的修改

View File

@@ -73,12 +73,19 @@
height: 62px;
margin-bottom: 5px;
}
/* 退款状态标红样式 */
.refund-status-row {
background-color: #ffebee !important;
/* 退款状态绿色背景 */
.refunding-row {
background-color: #c8e6c9 !important;
}
.refund-status-row:hover {
background-color: #ffcdd2 !important;
.refunding-row:hover {
background-color: #a5d6a7 !important;
}
/* 同意退款后淡绿色背景 */
.order-status-4-row {
background-color: #e8f5e9 !important;
}
.order-status-4-row:hover {
background-color: #c8e6c9 !important;
}
</style>
@@ -206,6 +213,7 @@
<li data-type="1">已支付</li>
<li data-type="2">已退款</li>
<li data-type="3">拒退款</li>
<li data-type="66">已删除</li>
</ul>
<div class="layui-tab-item layui-show">
@@ -338,7 +346,11 @@
<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>
{{# if(d.del == 0){ }}
<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>
{{# } else { }}
<a class="layui-btn layui-btn-primary layui-btn-sm operation-btn" style="display: inline-block;background-color:#1E9FFF;color:#fff" lay-event="recover">恢复</a>
{{# } }}
{{# if(d.order_status == 1){ }}
<a class="layui-btn-primary layui-btn-sm" style="display: inline-block;" lay-event="delivery">发货</a>
{{# } }}
@@ -637,19 +649,36 @@
$($(".layui-table-fixed-r .layui-table-body tbody tr")[index]).height($(val).height());
});
// 如果 refund_status > 0整行标红显示
// 如果 order_status == 4同意退款整行淡绿色显示
// 如果 refund_status > 0 但 order_status != 4退款中整行绿色显示
if (res && res.data && res.data.length > 0) {
res.data.forEach(function(item, index) {
if (item.refund_status && parseInt(item.refund_status) > 0) {
// 给主表格行添加红色背景
var orderStatus = item.order_status ? parseInt(item.order_status) : 0;
var refundStatus = item.refund_status ? parseInt(item.refund_status) : 0;
// 同意退款后order_status == 4显示淡绿色
if (orderStatus == 4) {
// 给主表格行添加淡绿色背景
var $mainRow = $(".layui-table-main tbody tr").eq(index);
$mainRow.addClass('refund-status-row');
$mainRow.addClass('order-status-4-row');
// 给固定列的行也添加色背景
// 给固定列的行也添加淡绿色背景
var $fixedLeftRow = $(".layui-table-fixed-l .layui-table-body tbody tr").eq(index);
var $fixedRightRow = $(".layui-table-fixed-r .layui-table-body tbody tr").eq(index);
$fixedLeftRow.addClass('refund-status-row');
$fixedRightRow.addClass('refund-status-row');
$fixedLeftRow.addClass('order-status-4-row');
$fixedRightRow.addClass('order-status-4-row');
}
// 退款中refund_status > 0 但 order_status != 4显示绿色
else if (refundStatus > 0) {
// 给主表格行添加绿色背景
var $mainRow = $(".layui-table-main tbody tr").eq(index);
$mainRow.addClass('refunding-row');
// 给固定列的行也添加绿色背景
var $fixedLeftRow = $(".layui-table-fixed-l .layui-table-body tbody tr").eq(index);
var $fixedRightRow = $(".layui-table-fixed-r .layui-table-body tbody tr").eq(index);
$fixedLeftRow.addClass('refunding-row');
$fixedRightRow.addClass('refunding-row');
}
});
}
@@ -835,7 +864,7 @@
});
}
//取消订单
// 退款订单
if(obj.event === 'cancelss'){
layer.confirm('确认订单退款吗?', {
btn: ['确认','取消'] //按钮
@@ -860,7 +889,7 @@
}
//取消订单
// 删除订单逻辑删除del 设置为 1
if(obj.event === 'cancel'){
layer.confirm('确定删除订单的数据?', {
btn: ['确认','取消'] //按钮
@@ -882,6 +911,35 @@
});
}
// 恢复订单del 设置为 0
if(obj.event === 'recover'){
layer.confirm('确定恢复该订单吗?', {
btn: ['确认','取消'] //按钮
}, function(){
like.ajax({
url: '{:url("order/recover")}?id='+id
, type: 'get'
, success: function (res) {
if (res.code == 1) {
layui.layer.msg(res.msg, {
offset: '15px'
, icon: 1
, time: 1000
},function () {
table.reload('order-lists');
});
} else {
layui.layer.msg(res.msg || '恢复失败', {
offset: '15px'
, icon: 2
, time: 1500
});
}
},
});
});
}
//商家备注
if(obj.event === 'remarks') {
like.ajax({

View File

@@ -90,7 +90,9 @@
<button class="layui-btn layui-btn-sm layuiadmin-btn-ad layui-btn-primary " lay-submit
lay-filter="user-clear-search">清空查询
</button>
<button class="layui-btn layui-btn-sm layuiadmin-btn-ad layui-btn-normal" lay-submit
lay-filter="export-file">导出
</button>
</div>
</div>
@@ -161,7 +163,7 @@
form.on('submit(export-file)', function(data){
var field = data.field;
$.ajax({
url: '{:url("order/exportFile")}?type=' + listType,
url: '{:url("staff/exportWages")}',
type: 'get',
data: field,
dataType: 'json',
@@ -171,7 +173,7 @@
success: function(res) {
table.exportFile(res.data.exportTitle,res.data.exportData, res.data.exportExt, res.data.exportName);
},
timeout: 15000
timeout: 60000
});
layer.msg('导出中请耐心等待~');
});