Browse Source

[feat] 售后管理

按照万材要求,基础资料员工报销单新增导出功能,支持部分行和全部行导出,导出更多数据
新增导出所有和选择导出后端接口
新增 导出基础资料报销单明细方法
新增根据基础资料报销单集合方法
新增导出基础资料报销单明细
修复,报销单分页查询多余的异常抛出问题
dev
liuxiaoxu 2 days ago
parent
commit
5f981e23f9
  1. 27
      ruoyi-admin/src/main/java/com/ruoyi/system/controller/BaseExpenseAccountController.java
  2. 114
      ruoyi-admin/src/main/java/com/ruoyi/system/domain/Vo/ExportBaseExpenseAccountVo.java
  3. 4
      ruoyi-admin/src/main/java/com/ruoyi/system/mapper/BaseExpenseAccountChildMapper.java
  4. 5
      ruoyi-admin/src/main/java/com/ruoyi/system/mapper/BaseExpenseAccountMapper.java
  5. 18
      ruoyi-admin/src/main/java/com/ruoyi/system/service/IBaseExpenseAccountService.java
  6. 111
      ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/BaseExpenseAccountServiceImpl.java
  7. 8
      ruoyi-admin/src/main/resources/mapper/system/BaseExpenseAccountChildMapper.xml
  8. 8
      ruoyi-admin/src/main/resources/mapper/system/BaseExpenseAccountMapper.xml
  9. 28
      ruoyi-admin/src/main/resources/templates/system/baseExpense/baseExpense.html

27
ruoyi-admin/src/main/java/com/ruoyi/system/controller/BaseExpenseAccountController.java

@ -20,14 +20,16 @@ import com.ruoyi.common.core.redis.RedisCache;
import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.MoneyUtils; import com.ruoyi.common.utils.MoneyUtils;
import com.ruoyi.common.utils.ShiroUtils; import com.ruoyi.common.utils.ShiroUtils;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.file.FileDownloadUtils; import com.ruoyi.common.utils.file.FileDownloadUtils;
import com.ruoyi.financial.service.IFinacialExpenseService; import com.ruoyi.financial.service.IFinacialExpenseService;
import com.ruoyi.process.general.service.IProcessService; import com.ruoyi.process.general.service.IProcessService;
import com.ruoyi.remind.service.RemindService; import com.ruoyi.remind.service.RemindService;
import com.ruoyi.system.domain.BaseExpenseAccountChild; import com.ruoyi.system.domain.BaseExpenseAccountChild;
import com.ruoyi.system.domain.BaseExpenseConfirmAmount; import com.ruoyi.system.domain.BaseExpenseConfirmAmount;
import com.ruoyi.system.domain.Vo.BaseEmpRequisiteOrderVO;
import com.ruoyi.system.domain.Vo.BaseExpenseAccountVo; import com.ruoyi.system.domain.Vo.BaseExpenseAccountVo;
import com.ruoyi.system.domain.Vo.ExportBaseEmpRequisiteOrderVO;
import com.ruoyi.system.domain.Vo.ExportBaseExpenseAccountVo;
import com.ruoyi.system.service.*; import com.ruoyi.system.service.*;
import org.activiti.engine.RuntimeService; import org.activiti.engine.RuntimeService;
import org.activiti.engine.TaskService; import org.activiti.engine.TaskService;
@ -41,6 +43,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap; import org.springframework.ui.ModelMap;
import org.springframework.util.ResourceUtils; import org.springframework.util.ResourceUtils;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import com.ruoyi.common.annotation.Log; import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.enums.BusinessType;
@ -113,7 +116,7 @@ public class BaseExpenseAccountController extends BaseController
@RequiresPermissions("system:baseExpense:list") @RequiresPermissions("system:baseExpense:list")
@PostMapping("/list") @PostMapping("/list")
@ResponseBody @ResponseBody
public TableDataInfo list(BaseExpenseAccountVo baseExpenseAccount) throws Exception { public TableDataInfo list(BaseExpenseAccountVo baseExpenseAccount){
startPage(); startPage();
List<BaseExpenseAccountVo> list = baseExpenseAccountService.selectBaseExpenseAccountList(baseExpenseAccount); List<BaseExpenseAccountVo> list = baseExpenseAccountService.selectBaseExpenseAccountList(baseExpenseAccount);
return getDataTable(list); return getDataTable(list);
@ -126,10 +129,22 @@ public class BaseExpenseAccountController extends BaseController
@Log(title = "报销单", businessType = BusinessType.EXPORT) @Log(title = "报销单", businessType = BusinessType.EXPORT)
@PostMapping("/export") @PostMapping("/export")
@ResponseBody @ResponseBody
public AjaxResult export(BaseExpenseAccountVo baseExpenseAccount) throws Exception { public AjaxResult export(BaseExpenseAccountVo baseExpenseAccount, String ids){
List<BaseExpenseAccountVo> list = baseExpenseAccountService.selectBaseExpenseAccountList(baseExpenseAccount);
ExcelUtil<BaseExpenseAccountVo> util = new ExcelUtil<BaseExpenseAccountVo>(BaseExpenseAccountVo.class); if (StringUtils.isEmpty(ids)){
return util.exportExcel(list, "报销单数据"); List<BaseExpenseAccountVo> list = baseExpenseAccountService.selectBaseExpenseAccountListByObject(baseExpenseAccount);
List<ExportBaseExpenseAccountVo> exportBaseExpenseAccountVoS = baseExpenseAccountService.exportBaseExpenseAccountList(list);
ExcelUtil<ExportBaseExpenseAccountVo> util = new ExcelUtil<ExportBaseExpenseAccountVo>(ExportBaseExpenseAccountVo.class);
return util.exportExcel(exportBaseExpenseAccountVoS, "报销单数据");
}else {
String[] expenseCodes = ids.split(",");
List<BaseExpenseAccountVo> list = baseExpenseAccountService.selectBaseExpenseAccountByCodes(expenseCodes);
List<ExportBaseExpenseAccountVo> exportBaseExpenseAccountVoS = baseExpenseAccountService.exportBaseExpenseAccountList(list);
ExcelUtil<ExportBaseExpenseAccountVo> util = new ExcelUtil<ExportBaseExpenseAccountVo>(ExportBaseExpenseAccountVo.class);
return util.exportExcel(exportBaseExpenseAccountVoS, "报销单数据");
}
} }
@RequiresPermissions("system:baseExpense:export") @RequiresPermissions("system:baseExpense:export")

114
ruoyi-admin/src/main/java/com/ruoyi/system/domain/Vo/ExportBaseExpenseAccountVo.java

@ -0,0 +1,114 @@
package com.ruoyi.system.domain.Vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
/**
* 导出报销单明细
* */
@Data
public class ExportBaseExpenseAccountVo
{
/** 报销单编号 */
@Excel(name = "报销单编号")
private String expenseCode;
/** 部门 */
@Excel(name = "部门")
private String deptName;
/** 岗位 */
@Excel(name = "岗位")
private String postName;
/** 姓名 */
@Excel(name = "姓名")
private String fullName;
/** 报销方式 个人报销 0,公转报销 1 */
@Excel(name = "报销方式",dictType = "sys_base_expense_method")
private String expenseMethod;
/** 是否是委外/采购采销 */
@Excel(name = "是否是委外/采购采销",dictType = "sys_whether")
private String isPurchaseOutsource;
/** 供应商ID */
@Excel(name = "供应商ID")
private String supplierCode;
/** 对公收款方 */
@Excel(name = "对公收款方")
private String corporatePayee;
/** 对公收款账户 */
@Excel(name = "对公收款账户")
private String corporateReceivingAccount;
/** 对公开户行 */
@Excel(name = "对公开户行")
private String publicAccountBanks;
/** 申请人 */
@Excel(name = "申请人")
private String applyUser;
/** 使用状态 */
@Excel(name = "使用状态",dictType = "useStatus")
private String useStatus;
/** 上级审核状态 */
@Excel(name = "上级审核状态",dictType = "auditStatus")
private String auditStatus;
/** 总经理审核状态 */
@Excel(name = "总经理审核状态",dictType = "auditStatus")
private String managerAuditStatus;
/** 财务审核状态(0待审核,1审核通过,2审核拒绝,3待打款,4已打款) */
@Excel(name = "财务审核状态",dictType = "financial_expense_status")
private String financeAuditStatus;
/** 成本类型 */
@Excel(name = "成本类型")
private String costType;
/** 成本小类 */
@Excel(name = "成本小类")
private String costSmallType;
/** 用途 */
@Excel(name = "用途")
private String purpose;
/** 金额 */
@Excel(name = "金额")
private BigDecimal amounts;
/** 报销时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "报销时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date expenseTime;
/** 出差单号 */
@Excel(name = "出差单号")
private String evectionCode;
/** 采购单号 */
@Excel(name = "采购单号")
private String purchaseCode;
/** 委外单号 */
@Excel(name = "委外单号")
private String outsourceCode;
}

4
ruoyi-admin/src/main/java/com/ruoyi/system/mapper/BaseExpenseAccountChildMapper.java

@ -124,4 +124,8 @@ public interface BaseExpenseAccountChildMapper
*/ */
public int deleteBaseExpenseAccountChildByExpenseCodes(String[] expenseCodes); public int deleteBaseExpenseAccountChildByExpenseCodes(String[] expenseCodes);
/**
* 根据报销单编号查询报销单子类
* */
List<BaseExpenseAccountChild> selectBaseExpenseAccountChildListByCodeList(List<String> collectExpenseCodes);
} }

5
ruoyi-admin/src/main/java/com/ruoyi/system/mapper/BaseExpenseAccountMapper.java

@ -107,4 +107,9 @@ public interface BaseExpenseAccountMapper
public Integer deleteBaseExpenseAccountByExpenseCode(String expenseCode); public Integer deleteBaseExpenseAccountByExpenseCode(String expenseCode);
BaseExpenseAccount selectBaseExpenseAccountByCode(String expenseCode); BaseExpenseAccount selectBaseExpenseAccountByCode(String expenseCode);
/**
* 通过报销单编号查询报销单明细
* */
List<BaseExpenseAccountVo> selectBaseExpenseAccountByCodes(String[] expenseCodes);
} }

18
ruoyi-admin/src/main/java/com/ruoyi/system/service/IBaseExpenseAccountService.java

@ -6,6 +6,7 @@ import java.util.Set;
import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.system.domain.BaseExpenseAccount; import com.ruoyi.system.domain.BaseExpenseAccount;
import com.ruoyi.system.domain.Vo.BaseExpenseAccountVo; import com.ruoyi.system.domain.Vo.BaseExpenseAccountVo;
import com.ruoyi.system.domain.Vo.ExportBaseExpenseAccountVo;
import org.activiti.engine.runtime.ProcessInstance; import org.activiti.engine.runtime.ProcessInstance;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
@ -33,7 +34,7 @@ public interface IBaseExpenseAccountService
*/ */
// public List<BaseExpenseAccountVo> selectBaseExpenseAccountList(BaseExpenseAccount baseExpenseAccount); // public List<BaseExpenseAccountVo> selectBaseExpenseAccountList(BaseExpenseAccount baseExpenseAccount);
public List<BaseExpenseAccountVo> selectBaseExpenseAccountList(BaseExpenseAccountVo baseExpenseAccount) throws Exception; public List<BaseExpenseAccountVo> selectBaseExpenseAccountList(BaseExpenseAccountVo baseExpenseAccount);
/** /**
* 新增报销单 * 新增报销单
@ -98,4 +99,19 @@ public interface IBaseExpenseAccountService
// 获取当前登录名下可看用户列表 // 获取当前登录名下可看用户列表
Set<String> userLimitedList(Set<String> roleKeys, SysUser curUser); Set<String> userLimitedList(Set<String> roleKeys, SysUser curUser);
/**
* 导出报销单明细
* */
List<ExportBaseExpenseAccountVo> exportBaseExpenseAccountList(List<BaseExpenseAccountVo> list);
/**
* 通过报销单编号查询报销单明细
* */
List<BaseExpenseAccountVo> selectBaseExpenseAccountByCodes(String[] expenseCodes);
/**
* 通过报销单对象查询报销单明细
* */
List<BaseExpenseAccountVo> selectBaseExpenseAccountListByObject(BaseExpenseAccountVo baseExpenseAccount);
} }

111
ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/BaseExpenseAccountServiceImpl.java

@ -2,6 +2,7 @@ package com.ruoyi.system.service.impl;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.*; import java.util.*;
import java.util.function.Function;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import com.github.pagehelper.Page; import com.github.pagehelper.Page;
@ -22,6 +23,8 @@ import com.ruoyi.system.domain.BaseExpenseAccountChild;
import com.ruoyi.system.domain.Vo.BaseEmpRequisiteOrderVO; import com.ruoyi.system.domain.Vo.BaseEmpRequisiteOrderVO;
import com.ruoyi.system.domain.Vo.BaseExpenseAccountVo; import com.ruoyi.system.domain.Vo.BaseExpenseAccountVo;
import com.ruoyi.system.domain.Vo.BaseRequisitioningOrderVo; import com.ruoyi.system.domain.Vo.BaseRequisitioningOrderVo;
import com.ruoyi.system.domain.Vo.ExportBaseExpenseAccountVo;
import com.ruoyi.system.mapper.BaseExpenseAccountChildMapper;
import com.ruoyi.system.mapper.SysDeptMapper; import com.ruoyi.system.mapper.SysDeptMapper;
import com.ruoyi.system.mapper.SysUserMapper; import com.ruoyi.system.mapper.SysUserMapper;
import com.ruoyi.system.service.IBaseExpenseAccountChildService; import com.ruoyi.system.service.IBaseExpenseAccountChildService;
@ -59,6 +62,9 @@ public class BaseExpenseAccountServiceImpl implements IBaseExpenseAccountService
@Autowired @Autowired
private IBaseExpenseAccountChildService baseExpenseAccountChildService; private IBaseExpenseAccountChildService baseExpenseAccountChildService;
@Autowired
private BaseExpenseAccountChildMapper baseExpenseAccountChildMapper;
@Autowired @Autowired
private SysUserMapper userMapper; private SysUserMapper userMapper;
@ -97,6 +103,23 @@ public class BaseExpenseAccountServiceImpl implements IBaseExpenseAccountService
return baseExpenseAccountVo; return baseExpenseAccountVo;
} }
/**
* 通过报销单编号查询报销单明细
* */
@Override
public List<BaseExpenseAccountVo> selectBaseExpenseAccountByCodes(String[] expenseCodes) {
return baseExpenseAccountMapper.selectBaseExpenseAccountByCodes(expenseCodes);
}
/**
* 通过报销单对象查询报销单明细
* */
@Override
public List<BaseExpenseAccountVo> selectBaseExpenseAccountListByObject(BaseExpenseAccountVo baseExpenseAccount) {
return baseExpenseAccountMapper.selectBaseExpenseAccountList(baseExpenseAccount);
}
/** /**
* 查询报销单列表 * 查询报销单列表
* *
@ -104,7 +127,7 @@ public class BaseExpenseAccountServiceImpl implements IBaseExpenseAccountService
* @return 报销单 * @return 报销单
*/ */
@Override @Override
public List<BaseExpenseAccountVo> selectBaseExpenseAccountList(BaseExpenseAccountVo baseExpenseAccount) throws Exception { public List<BaseExpenseAccountVo> selectBaseExpenseAccountList(BaseExpenseAccountVo baseExpenseAccount) {
SysUser curUser = ShiroUtils.getSysUser(); SysUser curUser = ShiroUtils.getSysUser();
Long userId = curUser.getUserId(); Long userId = curUser.getUserId();
Set<String> roleKeys = roleService.selectRoleKeys(userId); Set<String> roleKeys = roleService.selectRoleKeys(userId);
@ -592,4 +615,90 @@ public class BaseExpenseAccountServiceImpl implements IBaseExpenseAccountService
} }
return curUserName; return curUserName;
} }
/**
* 导出报销单明细
* */
@Override
public List<ExportBaseExpenseAccountVo> exportBaseExpenseAccountList(List<BaseExpenseAccountVo> list) {
// 获取所有的报销单编号
List<String> collectExpenseCodes = list.stream()
.map(BaseExpenseAccountVo::getExpenseCode)
.collect(Collectors.toList());
// 根据报销单编号查询对应的明细列表
List<BaseExpenseAccountChild> baseExpenseAccountChildren = baseExpenseAccountChildMapper.selectBaseExpenseAccountChildListByCodeList(collectExpenseCodes);
// 创建一个 BaseExpenseAccountVo 的 Map,键为报销单编号
Map<String, BaseExpenseAccountVo> baseExpenseAccountVoMap = list.stream()
.collect(Collectors.toMap(BaseExpenseAccountVo::getExpenseCode, Function.identity()));
// 成本类型和成本小类的对应关系
Map<String, String> costTypeMap = new HashMap<>();
costTypeMap.put("xsfy", "销售费用");
costTypeMap.put("yffy", "研发费用");
costTypeMap.put("scfy", "生产费用");
costTypeMap.put("shfy", "售后费用");
costTypeMap.put("glfy", "管理费用");
costTypeMap.put("cwfy", "财务费用");
Map<String, String> costSmallTypeMap = new HashMap<>();
costSmallTypeMap.put("sj", "税金");
costSmallTypeMap.put("gdzc", "固定资产");
costSmallTypeMap.put("xhp", "消耗品");
costSmallTypeMap.put("by", "搬运");
costSmallTypeMap.put("ys", "运输");
costSmallTypeMap.put("bg", "报关");
costSmallTypeMap.put("qt", "其它");
costSmallTypeMap.put("aqsc", "安全生产");
// 初始化导出列表
List<ExportBaseExpenseAccountVo> exportBaseExpenseAccountVos = new ArrayList<>();
for (BaseExpenseAccountChild child : baseExpenseAccountChildren) {
ExportBaseExpenseAccountVo exportVo = new ExportBaseExpenseAccountVo();
// 从 BaseExpenseAccountChild 填充数据
String costSmallType = costSmallTypeMap.getOrDefault(child.getCostSmallType(), "");
exportVo.setCostSmallType(costSmallType);
// 如果需要,可以根据 costSmallType 转换后的值进一步处理
String costType = costTypeMap.getOrDefault(child.getCostType(), "");
exportVo.setCostType(costType); // 假设有一个字段用于存储转换后的名称
exportVo.setPurpose(child.getPurpose());
exportVo.setAmounts(child.getAmounts());
exportVo.setExpenseTime(child.getExpenseTime());
exportVo.setEvectionCode(child.getEvectionCode());
exportVo.setPurchaseCode(child.getPurchaseCode());
exportVo.setOutsourceCode(child.getOutsourceCode());
// 从 BaseExpenseAccountVo 填充数据,通过报销单编号进行关联
BaseExpenseAccountVo order = baseExpenseAccountVoMap.get(child.getExpenseCode());
if (order != null) {
exportVo.setExpenseCode(order.getExpenseCode());
exportVo.setDeptName(order.getDeptName());
exportVo.setPostName(order.getPostName());
exportVo.setFullName(order.getFullName());
exportVo.setExpenseMethod(order.getExpenseMethod());
exportVo.setIsPurchaseOutsource(order.getIsPurchaseOutsource());
exportVo.setSupplierCode(order.getSupplierCode());
exportVo.setCorporatePayee(order.getCorporatePayee());
exportVo.setCorporateReceivingAccount(order.getCorporateReceivingAccount());
exportVo.setPublicAccountBanks(order.getPublicAccountBanks());
exportVo.setApplyUser(order.getApplyUser());
exportVo.setUseStatus(order.getUseStatus());
exportVo.setAuditStatus(order.getAuditStatus());
exportVo.setManagerAuditStatus(order.getManagerAuditStatus());
exportVo.setFinanceAuditStatus(order.getFinanceAuditStatus());
}
// 添加到结果列表
exportBaseExpenseAccountVos.add(exportVo);
}
return exportBaseExpenseAccountVos;
}
} }

8
ruoyi-admin/src/main/resources/mapper/system/BaseExpenseAccountChildMapper.xml

@ -58,6 +58,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<include refid="selectBaseExpenseAccountChildVo"/> <include refid="selectBaseExpenseAccountChildVo"/>
where expense_code = #{code} limit #{start} offset #{pageSize} where expense_code = #{code} limit #{start} offset #{pageSize}
</select> </select>
<select id="selectBaseExpenseAccountChildListByCodeList" parameterType="String" resultMap="BaseExpenseAccountChildResult">
<include refid="selectBaseExpenseAccountChildVo"/>
where expense_code in
<foreach collection="list" item="expenseCode" index="index" open="(" close=")" separator=",">
#{expenseCode}
</foreach>
</select>
<insert id="insertBaseExpenseAccountChild" parameterType="BaseExpenseAccountChild" useGeneratedKeys="true" keyProperty="expenseChildId"> <insert id="insertBaseExpenseAccountChild" parameterType="BaseExpenseAccountChild" useGeneratedKeys="true" keyProperty="expenseChildId">
insert into base_expense_account_child insert into base_expense_account_child
<trim prefix="(" suffix=")" suffixOverrides=","> <trim prefix="(" suffix=")" suffixOverrides=",">

8
ruoyi-admin/src/main/resources/mapper/system/BaseExpenseAccountMapper.xml

@ -109,6 +109,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
where expense_code = #{expenseCode} where expense_code = #{expenseCode}
</select> </select>
<select id="selectBaseExpenseAccountByCodes" parameterType="String" resultMap="BaseExpenseAccountResult">
<include refid="selectBaseExpenseAccountVo"/>
where expense_code in
<foreach item="expenseCode" collection="array" open="(" separator="," close=")">
#{expenseCode}
</foreach>
</select>
<insert id="insertBaseExpenseAccount" parameterType="BaseExpenseAccount" useGeneratedKeys="true" keyProperty="expenseId"> <insert id="insertBaseExpenseAccount" parameterType="BaseExpenseAccount" useGeneratedKeys="true" keyProperty="expenseId">
insert into base_expense_account insert into base_expense_account
<trim prefix="(" suffix=")" suffixOverrides=","> <trim prefix="(" suffix=")" suffixOverrides=",">

28
ruoyi-admin/src/main/resources/templates/system/baseExpense/baseExpense.html

@ -94,7 +94,9 @@
<a class="btn btn-success" onclick="$.operate.add()" shiro:hasPermission="system:baseExpense:add"> <a class="btn btn-success" onclick="$.operate.add()" shiro:hasPermission="system:baseExpense:add">
<i class="fa fa-plus"></i> 添加 <i class="fa fa-plus"></i> 添加
</a> </a>
<a class="btn btn-success" onclick="exportExcel()" shiro:hasPermission="system:baseExpense:export">
<i class="fa fa-download"></i> 导出
</a>
</div> </div>
<div class="col-sm-12 select-table table-striped"> <div class="col-sm-12 select-table table-striped">
<table id="bootstrap-table"></table> <table id="bootstrap-table"></table>
@ -302,6 +304,30 @@
window.location.href = prefix + "/excelExpenseVoucher/" + expenseId; window.location.href = prefix + "/excelExpenseVoucher/" + expenseId;
}) })
} }
// 导出
function exportExcel() {
var ids = $.table.selectColumns("expenseCode");
var dataParam = $("#formId").serializeArray();
let tipMsg = "确定导出当前所有数据吗?";
if ($.common.isNotEmpty(ids)) {
tipMsg = `确定导出 ${ids} 数据吗?`;
dataParam.push({ "name": "ids", "value": ids });
}
$.modal.confirm(tipMsg, function () {
$.modal.loading("正在导出数据,请稍后...");
$.post( prefix + "/export", dataParam, function (result) {
if (result.code === web_status.SUCCESS) {
window.location.href = ctx + "common/download?fileName="+ encodeURI(result.msg) + "&delete=" + true;
} else {
$.modal.alertError(result.msg);
}
$.modal.closeLoading();
});
});
}
</script> </script>
</body> </body>
</html> </html>
Loading…
Cancel
Save