From 4ee42556139749bf6f29d47b912da0be6c37da2a Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Thu, 15 May 2025 11:29:39 +0800
Subject: [PATCH] feat(mall): 添加商品 SKU静态属性价格字段
---
src/main/resources/templates/febs/views/modules/votesActivity/orderList.html | 118 ++++++++++++++++++++++++++++++++++++++++++----------------
1 files changed, 85 insertions(+), 33 deletions(-)
diff --git a/src/main/resources/templates/febs/views/modules/votesActivity/orderList.html b/src/main/resources/templates/febs/views/modules/votesActivity/orderList.html
index b79498b..48408fe 100644
--- a/src/main/resources/templates/febs/views/modules/votesActivity/orderList.html
+++ b/src/main/resources/templates/febs/views/modules/votesActivity/orderList.html
@@ -16,12 +16,14 @@
<div class="layui-inline">
<label class="layui-form-label layui-form-label-sm">状态</label>
<div class="layui-input-inline">
- <select name="status">
+ <select name="state">
<option value="">请选择</option>
<option value="1">待支付</option>
<option value="2">待使用</option>
<option value="3">已使用</option>
<option value="4">售后</option>
+ <option value="5">已评价</option>
+ <option value="7">已失效</option>
</select>
</div>
</div>
@@ -42,6 +44,9 @@
</div>
<div class="layui-btn layui-btn-sm layui-btn-primary febs-button-green-plain table-action" id="reset">
<i class="layui-icon"></i>
+ </div>
+ <div class="layui-btn layui-btn-sm layui-btn-primary febs-button-blue-plain table-action" id="export" title="导出">
+ <i class="layui-icon"></i>
</div>
</div>
</div>
@@ -78,6 +83,9 @@
2: {title: '待使用', color: 'orange'},
3: {title: '已使用', color: 'green'},
4: {title: '售后', color: 'red'},
+ 5: {title: '已评价', color: 'black'},
+ 6: {title: '删除', color: 'black'},
+ 7: {title: '已失效', color: 'black'},
}[d.state];
}}
<span class="layui-badge febs-bg-{{state.color}}">{{ state.title }}</span>
@@ -98,7 +106,7 @@
1: {title: '余额', color: 'blue'},
2: {title: '微信', color: 'green'},
3: {title: '积分', color: 'orange'},
- 4: {title: '免费', color: 'red'},
+ 0: {title: '免费', color: 'red'},
}[d.payType];
}}
<span class="layui-badge febs-bg-{{payType.color}}">{{ payType.title }}</span>
@@ -120,6 +128,7 @@
$view = $('#febs-activity-order'),
$query = $view.find('#query'),
$reset = $view.find('#reset'),
+ $export= $view.find('#export'),
$searchForm = $view.find('form'),
sortObject = {field: 'phone', type: null},
tableIns;
@@ -171,47 +180,77 @@
// 初始化表格操作栏各个按钮功能
table.on('toolbar(orderActivityTable)', function (obj) {
- console.log("触发事件:", obj.event); // 调试信息
let event = obj.event;
let id = obj.config.id;
let checkStatus = table.checkStatus(id);
- if(event === 'checkOrder'){
+
+ if (event === 'checkOrder') {
let data = checkStatus.data;
- let ids = [];
- for(let i = 0;i < data.length;i++){
- if(data[i].state != 2){
- febs.alert.warn('请选择待使用的订单');
- return;
- }else{
- ids.push(data[i].id);
- }
- }
- console.log(ids);
- if(ids == null || ids == ""){
+
+ // 校验 data 是否为空或未定义
+ if (!Array.isArray(data) || data.length === 0) {
febs.alert.warn('请选择需要核销的订单');
return;
}
- $.ajax({
- 'url':ctx + 'admin/happyActivity/checkOrder',
- 'type':'post',
- 'dataType':'json',
- 'headers' : {'Content-Type' : 'application/json;charset=utf-8'}, //接口json格式
- 'traditional': true,//ajax传递数组必须添加属性
- 'data':ids,
- 'success':function (data) {
- if(data.code==200){
- febs.alert.success('操作成功');
- $query.click();
- }else{
- febs.alert.warn(data.message);
- }
- },
- 'error':function () {
- febs.alert.warn('服务器繁忙');
+
+ let ids = [];
+ let hasInvalidOrder = false;
+
+ // 遍历数据,筛选符合条件的订单
+ for (let i = 0; i < data.length; i++) {
+ if (data[i].state !== 2) {
+ hasInvalidOrder = true;
+ break; // 提前中断循环,避免无意义的继续遍历
+ } else {
+ ids.push(data[i].id);
}
- })
+ }
+
+ if (hasInvalidOrder) {
+ febs.alert.warn('请选择待使用的订单');
+ return;
+ }
+
+ if (ids.length === 0) { // 正确判断数组是否为空
+ febs.alert.warn('请选择需要核销的订单');
+ return;
+ }
+
+ // 封装 AJAX 请求为独立函数
+ function sendCheckOrderRequest(ids, successCallback, errorCallback) {
+ $.ajax({
+ url: ctx + 'admin/happyActivity/checkOrder', // 硬编码路径建议提取为配置项
+ type: 'post',
+ dataType: 'json',
+ headers: { 'Content-Type': 'application/json;charset=utf-8' },
+ traditional: true,
+ data: JSON.stringify(ids), // 确保传递的是 JSON 格式
+ success: function (response) {
+ if (response.code === 200) {
+ successCallback(response);
+ } else {
+ errorCallback(response.message);
+ }
+ },
+ error: function (xhr, status, error) {
+ errorCallback(`服务器繁忙: ${error}`); // 捕获具体错误信息
+ }
+ });
+ }
+
+ // 调用封装的请求函数
+ sendCheckOrderRequest(ids,
+ function onSuccess(response) {
+ febs.alert.success('操作成功');
+ $query.click();
+ },
+ function onError(message) {
+ febs.alert.warn(message);
+ }
+ );
}
});
+
function initorderActivityTable() {
@@ -239,6 +278,19 @@
});
}
+ // 导出功能
+ $export.on('click', function () {
+ var params = getQueryParams();
+ let activityId = $searchForm.find("select[name='activityId']").val();
+ //如果活动ID为空,弹出提示请选择活动
+ if (activityId == null || activityId == '') {
+ febs.alert.warn('请选择活动');
+ return;
+ }
+ var queryString = Object.keys(params).map(key => `${key}=${encodeURIComponent(params[key])}`).join('&');
+ window.location.href = ctx + 'admin/happyActivity/exportOrderList?' + queryString;
+ });
+
// 查询按钮
$query.on('click', function () {
var params = $.extend(getQueryParams(), {field: sortObject.field, order: sortObject.type});
--
Gitblit v1.9.1