diff --git a/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/domain/entity/WxNursingLog.java b/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/domain/entity/WxNursingLog.java index c1e5f61..aa11f4e 100644 --- a/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/domain/entity/WxNursingLog.java +++ b/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/domain/entity/WxNursingLog.java @@ -81,6 +81,45 @@ public class WxNursingLog extends BaseEntity { @Excel(name = "状态", readConverterExp = "0=正常,1=停用") private Long status; + @Excel(name = "陪伴模式") + private Integer accompanyMode; + + @Excel(name = "挡位1") + private Integer gearPositionOne; + + @Excel(name = "挡位2") + private Integer gearPositionTwo; + + @Excel(name = "挡位3") + private Integer gearPositionThree; + + @Excel(name = "挡位4") + private Integer gearPositionFour; + + @Excel(name = "能量总值") + private Integer energyValue; + + @Excel(name = "水分数据1") + private Integer waterDataOne; + + @Excel(name = "水分数据2") + private Integer waterDataTwo; + + @Excel(name = "水分数据3") + private Integer waterDataThree; + + @Excel(name = "总护理天数") + private Integer nursingDays; + + @Excel(name = "本周护理天数") + private Integer nursingDaysWeek; + + @Excel(name = "本月护理天数") + private Integer nursingDaysMonth; + + @Excel(name = "本年护理天数") + private Integer nursingDaysYear; + /** * 后管展示使用 */ @@ -248,4 +287,108 @@ public class WxNursingLog extends BaseEntity { public void setInstrumentBindingTime(Date instrumentBindingTime) { this.instrumentBindingTime = instrumentBindingTime; } + + public Integer getAccompanyMode() { + return accompanyMode; + } + + public void setAccompanyMode(Integer accompanyMode) { + this.accompanyMode = accompanyMode; + } + + public Integer getGearPositionOne() { + return gearPositionOne; + } + + public void setGearPositionOne(Integer gearPositionOne) { + this.gearPositionOne = gearPositionOne; + } + + public Integer getGearPositionTwo() { + return gearPositionTwo; + } + + public void setGearPositionTwo(Integer gearPositionTwo) { + this.gearPositionTwo = gearPositionTwo; + } + + public Integer getGearPositionThree() { + return gearPositionThree; + } + + public void setGearPositionThree(Integer gearPositionThree) { + this.gearPositionThree = gearPositionThree; + } + + public Integer getGearPositionFour() { + return gearPositionFour; + } + + public void setGearPositionFour(Integer gearPositionFour) { + this.gearPositionFour = gearPositionFour; + } + + public Integer getEnergyValue() { + return energyValue; + } + + public void setEnergyValue(Integer energyValue) { + this.energyValue = energyValue; + } + + public Integer getWaterDataOne() { + return waterDataOne; + } + + public void setWaterDataOne(Integer waterDataOne) { + this.waterDataOne = waterDataOne; + } + + public Integer getWaterDataTwo() { + return waterDataTwo; + } + + public void setWaterDataTwo(Integer waterDataTwo) { + this.waterDataTwo = waterDataTwo; + } + + public Integer getWaterDataThree() { + return waterDataThree; + } + + public void setWaterDataThree(Integer waterDataThree) { + this.waterDataThree = waterDataThree; + } + + public Integer getNursingDays() { + return nursingDays; + } + + public void setNursingDays(Integer nursingDays) { + this.nursingDays = nursingDays; + } + + public Integer getNursingDaysWeek() { + return nursingDaysWeek; + } + + public void setNursingDaysWeek(Integer nursingDaysWeek) { + this.nursingDaysWeek = nursingDaysWeek; + } + + public Integer getNursingDaysMonth() { + return nursingDaysMonth; + } + + public void setNursingDaysMonth(Integer nursingDaysMonth) { + this.nursingDaysMonth = nursingDaysMonth; + } + + public Integer getNursingDaysYear() { + return nursingDaysYear; + } + + public void setNursingDaysYear(Integer nursingDaysYear) { + this.nursingDaysYear = nursingDaysYear; + } } diff --git a/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/domain/export/WxNursingLogExport.java b/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/domain/export/WxNursingLogExport.java new file mode 100644 index 0000000..b92bd4d --- /dev/null +++ b/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/domain/export/WxNursingLogExport.java @@ -0,0 +1,320 @@ +package com.flossom.common.core.domain.export; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.flossom.common.core.annotation.Excel; +import com.flossom.common.core.web.domain.BaseEntity; + +import java.time.LocalTime; +import java.util.Date; + +/** + * 用户护理日志对象 + * + * @author flossom + * @date 2024-01-29 + */ +public class WxNursingLogExport { + + @Excel(name = "序号") + private Long id; + + @Excel(name = "会员昵称") + private String nickname; + + @Excel(name = "用户编号") + private Long userId; + + @Excel(name = "手机号") + private String mobile; + + @Excel(name = "仪器名称") + private String instrumentName; + + @Excel(name = "模式") + private String modeName; + + /** + * 是否在线,1在线,2离线 + */ + @Excel(name = "在线状态", readConverterExp = "1=在线,2=离线", type = Excel.Type.ALL, combo = {"1", "2"}) + private Long online; + + @Excel(name = "陪伴模式") + private Integer accompanyMode; + + @Excel(name = "创建时间", dateFormat = "yyyy-MM-dd HH:mm:ss") + private Date createTime; + + @Excel(name = "护理时长", dateFormat = "HH:mm:ss") + private LocalTime nursingTime; + + @Excel(name = "挡位1") + private Integer gearPositionOne; + + @Excel(name = "挡位2") + private Integer gearPositionTwo; + + @Excel(name = "挡位3") + private Integer gearPositionThree; + + @Excel(name = "挡位4") + private Integer gearPositionFour; + + @Excel(name = "能量总值") + private Integer energyValue; + + @Excel(name = "水分数据1") + private Integer waterDataOne; + + @Excel(name = "水分数据2") + private Integer waterDataTwo; + + @Excel(name = "水分数据3") + private Integer waterDataThree; + + @Excel(name = "总护理天数") + private Integer nursingDays; + + @Excel(name = "本周护理天数") + private Integer nursingDaysWeek; + + @Excel(name = "本月护理天数") + private Integer nursingDaysMonth; + + @Excel(name = "本年护理天数") + private Integer nursingDaysYear; + + @Excel(name = "最新护理时间", dateFormat = "yyyy-MM-dd HH:mm:ss") + private Date updateTime; + + @Excel(name = "小程序标签") + private String miniProgramTagListStr; + + @Excel(name = "外部标签") + private String wecomTagListStr; + + @Excel(name = "用户注册时间", dateFormat = "yyyy-MM-dd HH:mm:ss") + private Date userMemberCreateTime; + + @Excel(name = "仪器绑定时间", dateFormat = "yyyy-MM-dd HH:mm:ss") + private Date instrumentBindingTime; + + public WxNursingLogExport() { + } + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public String getNickname() { + return nickname; + } + + public void setNickname(String nickname) { + this.nickname = nickname; + } + + public Long getUserId() { + return userId; + } + + public void setUserId(Long userId) { + this.userId = userId; + } + + public String getMobile() { + return mobile; + } + + public void setMobile(String mobile) { + this.mobile = mobile; + } + + public String getInstrumentName() { + return instrumentName; + } + + public void setInstrumentName(String instrumentName) { + this.instrumentName = instrumentName; + } + + public String getModeName() { + return modeName; + } + + public void setModeName(String modeName) { + this.modeName = modeName; + } + + public Long getOnline() { + return online; + } + + public void setOnline(Long online) { + this.online = online; + } + + public Integer getAccompanyMode() { + return accompanyMode; + } + + public void setAccompanyMode(Integer accompanyMode) { + this.accompanyMode = accompanyMode; + } + + public Date getCreateTime() { + return createTime; + } + + public void setCreateTime(Date createTime) { + this.createTime = createTime; + } + + public LocalTime getNursingTime() { + return nursingTime; + } + + public void setNursingTime(LocalTime nursingTime) { + this.nursingTime = nursingTime; + } + + public Integer getGearPositionOne() { + return gearPositionOne; + } + + public void setGearPositionOne(Integer gearPositionOne) { + this.gearPositionOne = gearPositionOne; + } + + public Integer getGearPositionTwo() { + return gearPositionTwo; + } + + public void setGearPositionTwo(Integer gearPositionTwo) { + this.gearPositionTwo = gearPositionTwo; + } + + public Integer getGearPositionThree() { + return gearPositionThree; + } + + public void setGearPositionThree(Integer gearPositionThree) { + this.gearPositionThree = gearPositionThree; + } + + public Integer getGearPositionFour() { + return gearPositionFour; + } + + public void setGearPositionFour(Integer gearPositionFour) { + this.gearPositionFour = gearPositionFour; + } + + public Integer getEnergyValue() { + return energyValue; + } + + public void setEnergyValue(Integer energyValue) { + this.energyValue = energyValue; + } + + public Integer getWaterDataOne() { + return waterDataOne; + } + + public void setWaterDataOne(Integer waterDataOne) { + this.waterDataOne = waterDataOne; + } + + public Integer getWaterDataTwo() { + return waterDataTwo; + } + + public void setWaterDataTwo(Integer waterDataTwo) { + this.waterDataTwo = waterDataTwo; + } + + public Integer getWaterDataThree() { + return waterDataThree; + } + + public void setWaterDataThree(Integer waterDataThree) { + this.waterDataThree = waterDataThree; + } + + public Integer getNursingDays() { + return nursingDays; + } + + public void setNursingDays(Integer nursingDays) { + this.nursingDays = nursingDays; + } + + public Integer getNursingDaysWeek() { + return nursingDaysWeek; + } + + public void setNursingDaysWeek(Integer nursingDaysWeek) { + this.nursingDaysWeek = nursingDaysWeek; + } + + public Integer getNursingDaysMonth() { + return nursingDaysMonth; + } + + public void setNursingDaysMonth(Integer nursingDaysMonth) { + this.nursingDaysMonth = nursingDaysMonth; + } + + public Integer getNursingDaysYear() { + return nursingDaysYear; + } + + public void setNursingDaysYear(Integer nursingDaysYear) { + this.nursingDaysYear = nursingDaysYear; + } + + public Date getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(Date updateTime) { + this.updateTime = updateTime; + } + + public String getMiniProgramTagListStr() { + return miniProgramTagListStr; + } + + public void setMiniProgramTagListStr(String miniProgramTagListStr) { + this.miniProgramTagListStr = miniProgramTagListStr; + } + + public String getWecomTagListStr() { + return wecomTagListStr; + } + + public void setWecomTagListStr(String wecomTagListStr) { + this.wecomTagListStr = wecomTagListStr; + } + + public Date getUserMemberCreateTime() { + return userMemberCreateTime; + } + + public void setUserMemberCreateTime(Date userMemberCreateTime) { + this.userMemberCreateTime = userMemberCreateTime; + } + + public Date getInstrumentBindingTime() { + return instrumentBindingTime; + } + + public void setInstrumentBindingTime(Date instrumentBindingTime) { + this.instrumentBindingTime = instrumentBindingTime; + } +} diff --git a/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/domain/req/WxNursingLogExportVm.java b/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/domain/req/WxNursingLogExportVm.java new file mode 100644 index 0000000..bd3f351 --- /dev/null +++ b/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/domain/req/WxNursingLogExportVm.java @@ -0,0 +1,31 @@ +package com.flossom.common.core.domain.req; + +import java.util.ArrayList; +import java.util.List; + +public class WxNursingLogExportVm extends UserNursingLogReq { + + /** + * 自定导出字段 + */ + private List exportFields = new ArrayList<>(); + + private List idList = new ArrayList<>(); + + + public List getExportFields() { + return exportFields; + } + + public void setExportFields(List exportFields) { + this.exportFields = exportFields; + } + + public List getIdList() { + return idList; + } + + public void setIdList(List idList) { + this.idList = idList; + } +} diff --git a/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/mapper/WxNursingLogMapper.java b/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/mapper/WxNursingLogMapper.java index 6cd9fe0..3025590 100644 --- a/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/mapper/WxNursingLogMapper.java +++ b/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/mapper/WxNursingLogMapper.java @@ -2,6 +2,7 @@ package com.flossom.common.core.mapper; import com.flossom.common.core.domain.entity.WxNursingLog; import com.flossom.common.core.domain.req.UserNursingLogVm; +import org.apache.ibatis.annotations.Param; import java.util.List; @@ -61,4 +62,6 @@ public interface WxNursingLogMapper { * @return 结果 */ public int deleteWxNursingLogByIds(Long[] ids); + + List selectWxNursingLogByIdList(@Param("idList") List idList); } diff --git a/flossom-common/flossom-common-core/src/main/resources/mapper/WxNursingLogMapper.xml b/flossom-common/flossom-common-core/src/main/resources/mapper/WxNursingLogMapper.xml index 3495513..b7031f5 100644 --- a/flossom-common/flossom-common-core/src/main/resources/mapper/WxNursingLogMapper.xml +++ b/flossom-common/flossom-common-core/src/main/resources/mapper/WxNursingLogMapper.xml @@ -88,7 +88,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where id = #{id} - + + + insert into wx_nursing_log diff --git a/flossom-modules/flossom-system/src/main/java/com/flossom/system/controller/WxNursingLogController.java b/flossom-modules/flossom-system/src/main/java/com/flossom/system/controller/WxNursingLogController.java index 654ff84..c78b259 100644 --- a/flossom-modules/flossom-system/src/main/java/com/flossom/system/controller/WxNursingLogController.java +++ b/flossom-modules/flossom-system/src/main/java/com/flossom/system/controller/WxNursingLogController.java @@ -1,15 +1,24 @@ package com.flossom.system.controller; +import java.util.ArrayList; import java.util.List; import java.io.IOException; import java.util.stream.Collectors; import javax.servlet.http.HttpServletResponse; +import com.alibaba.nacos.shaded.com.google.common.base.Function; import com.flossom.common.core.domain.R; import com.flossom.common.core.domain.entity.WxNursingLog; +import com.flossom.common.core.domain.entity.WxUserInstrument; import com.flossom.common.core.domain.entity.WxUserMember; +import com.flossom.common.core.domain.entity.WxUserTag; +import com.flossom.common.core.domain.export.WxNursingLogExport; +import com.flossom.common.core.domain.export.WxUserMemberExport; import com.flossom.common.core.domain.req.UserNursingLogReq; +import com.flossom.common.core.domain.req.WxNursingLogExportVm; +import com.flossom.common.core.domain.req.WxUserMemberExportVm; import com.flossom.common.core.domain.req.WxUserMemberVm; +import com.flossom.common.core.domain.ret.WxUserMemberRet; import com.flossom.common.core.exception.ServiceException; import com.flossom.common.core.utils.poi.ExcelUtil; import com.flossom.common.core.web.controller.BaseController; @@ -20,6 +29,7 @@ import com.flossom.common.log.enums.BusinessType; import com.flossom.common.security.annotation.RequiresPermissions; import com.flossom.system.service.IWxNursingLogService; import com.flossom.system.service.IWxUserMemberService; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -49,18 +59,6 @@ public class WxNursingLogController extends BaseController { return getDataTable(list); } - /** - * 导出用户护理日志列表 - */ - @RequiresPermissions("system:nursingLog:export") - @Log(title = "用户护理日志", businessType = BusinessType.EXPORT) - @PostMapping("/export") - public void export(HttpServletResponse response, UserNursingLogReq userNursingLogReq) { - List list = wxNursingLogService.selectWxNursingLogList(userNursingLogReq, false); - ExcelUtil util = new ExcelUtil(WxNursingLog.class); - util.exportExcel(response, list, "用户护理日志数据"); - } - /** * 获取用户护理日志详细信息 */ @@ -70,26 +68,6 @@ public class WxNursingLogController extends BaseController { return success(wxNursingLogService.selectWxNursingLogById(id)); } - /** - * 新增用户护理日志 - */ - @RequiresPermissions("system:nursingLog:add") - @Log(title = "用户护理日志", businessType = BusinessType.INSERT) - @PostMapping - public AjaxResult add(@RequestBody WxNursingLog wxNursingLog) { - return toAjax(wxNursingLogService.insertWxNursingLog(wxNursingLog)); - } - - /** - * 修改用户护理日志 - */ - @RequiresPermissions("system:nursingLog:edit") - @Log(title = "用户护理日志", businessType = BusinessType.UPDATE) - @PutMapping - public AjaxResult edit(@RequestBody WxNursingLog wxNursingLog) { - return toAjax(wxNursingLogService.updateWxNursingLog(wxNursingLog)); - } - /** * 删除用户护理日志 */ @@ -135,4 +113,57 @@ public class WxNursingLogController extends BaseController { return R.ok(); } + + /** + * 批量导出护理记录数据 + */ + @RequiresPermissions("system:nursingLog:export") + @PostMapping("/batchExport") + public void batchExport(HttpServletResponse response, WxNursingLogExportVm wxNursingLogExportVm) { + List idList = wxNursingLogExportVm.getIdList(); + if (idList == null || idList.size() == 0) { + throw new ServiceException("请选择导出数据"); + } + List list = wxNursingLogService.selectWxNursingLogByIdList(wxNursingLogExportVm.getIdList()); + export(response, list, wxNursingLogExportVm.getExportFields()); + } + + /** + * 全量导出护理记录数据 + */ + @RequiresPermissions("system:nursingLog:export") + @PostMapping("/allExport") + public void allExport(HttpServletResponse response, WxNursingLogExportVm wxNursingLogExportVm) { + List list = wxNursingLogService.selectWxNursingLogList(wxNursingLogExportVm, true); + export(response, list, wxNursingLogExportVm.getExportFields()); + } + + private static void export(HttpServletResponse response, List list, List exportFields) { + List exportList = new ArrayList<>(); + WxNursingLogExport export; + for (WxNursingLog wxNursingLog : list) { + export = new WxNursingLogExport(); + BeanUtils.copyProperties(wxNursingLog, export); + exportList.add(export); + } + // 添加默认导出字段 + exportFields.add("instrumentName"); + exportFields.add("modeName"); + exportFields.add("online"); + exportFields.add("accompanyMode"); + exportFields.add("createTime"); + exportFields.add("nursingTime"); + exportFields.add("gearPositionOne"); + exportFields.add("gearPositionTwo"); + exportFields.add("gearPositionThree"); + exportFields.add("gearPositionFour"); + exportFields.add("energyValue"); + exportFields.add("waterDataOne"); + exportFields.add("waterDataTwo"); + exportFields.add("waterDataThree"); + + ExcelUtil util = new ExcelUtil(WxNursingLogExport.class); + util.exportExcel(response, exportList, "护理记录数据", exportFields); + } + } diff --git a/flossom-modules/flossom-system/src/main/java/com/flossom/system/service/IWxNursingLogService.java b/flossom-modules/flossom-system/src/main/java/com/flossom/system/service/IWxNursingLogService.java index 41f17d5..a2f3c5e 100644 --- a/flossom-modules/flossom-system/src/main/java/com/flossom/system/service/IWxNursingLogService.java +++ b/flossom-modules/flossom-system/src/main/java/com/flossom/system/service/IWxNursingLogService.java @@ -61,4 +61,7 @@ public interface IWxNursingLogService { * @return 结果 */ public int deleteWxNursingLogById(Long id); + + List selectWxNursingLogByIdList(List idList); + } diff --git a/flossom-modules/flossom-system/src/main/java/com/flossom/system/service/impl/WxNursingLogServiceImpl.java b/flossom-modules/flossom-system/src/main/java/com/flossom/system/service/impl/WxNursingLogServiceImpl.java index f32a757..98548bf 100644 --- a/flossom-modules/flossom-system/src/main/java/com/flossom/system/service/impl/WxNursingLogServiceImpl.java +++ b/flossom-modules/flossom-system/src/main/java/com/flossom/system/service/impl/WxNursingLogServiceImpl.java @@ -179,4 +179,46 @@ public class WxNursingLogServiceImpl implements IWxNursingLogService { public int deleteWxNursingLogById(Long id) { return wxNursingLogMapper.deleteWxNursingLogById(id); } + + + @Override + public List selectWxNursingLogByIdList(List idList) { + List wxNursingLogList = wxNursingLogMapper.selectWxNursingLogByIdList(idList); + if (wxNursingLogList != null && wxNursingLogList.size() > 0) { + wxNursingLogList.forEach(wxNursingLog -> { + WxUserMember wxUserMember = wxUserMemberMapper.selectWxUserMemberById(wxNursingLog.getUserId()); + if (wxUserMember != null) { + // 用户信息 + wxNursingLog.setHeadimg(wxUserMember.getHeadimg()); + wxNursingLog.setMobile(wxUserMember.getMobile()); + wxNursingLog.setNickname(wxUserMember.getNickname()); + wxNursingLog.setUserMemberCreateTime(wxUserMember.getCreateTime()); + // 查询标签 + WxUserTag wxUserTag = new WxUserTag(); + wxUserTag.setUserId(wxUserMember.getId()); + wxUserTag.setType(TagTypeStatusEnum.MINI_PROGRAM.getCode()); + List miniProgramTagList = wxUserTagMapper.selectWxUserTagList(wxUserTag); + if (miniProgramTagList != null && miniProgramTagList.size() > 0) { + wxNursingLog.setMiniProgramTagListStr(miniProgramTagList.stream().map(WxUserTag::getTagName).collect(Collectors.joining(","))); + } + wxUserTag.setType(TagTypeStatusEnum.ENTERPRISE_WECHAT.getCode()); + List wecomTagList = wxUserTagMapper.selectWxUserTagList(wxUserTag); + if (wecomTagList != null && wecomTagList.size() > 0) { + wxNursingLog.setWecomTagListStr(wecomTagList.stream().map(WxUserTag::getTagName).collect(Collectors.joining(","))); + } + // 仪器绑定时间 + WxUserInstrument query = new WxUserInstrument(); + query.setUserId(wxUserMember.getId()); + query.setInstrumentId(wxNursingLog.getInstrumentId()); + query.setBindingStatus(BindingStatusEnums.BINDED.getCode()); + List wxUserInstrumentList = wxUserInstrumentMapper.selectListByUserIdAndInstrumentId(query); + if (wxUserInstrumentList != null && wxUserInstrumentList.size() == 1) { + WxUserInstrument wxUserInstrument = wxUserInstrumentList.get(0); + wxNursingLog.setInstrumentBindingTime(wxUserInstrument.getUpdateTime()); + } + } + }); + } + return wxNursingLogList; + } } diff --git a/flossom-ui/src/views/system/nursingLog/index.vue b/flossom-ui/src/views/system/nursingLog/index.vue index 92516fd..eb66b82 100644 --- a/flossom-ui/src/views/system/nursingLog/index.vue +++ b/flossom-ui/src/views/system/nursingLog/index.vue @@ -124,20 +124,21 @@ 离线 - + - - - - - - - - - - - + + + + + + + + + + + + @@ -172,6 +173,64 @@ 确 定 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -254,12 +313,30 @@ export default { title: null, tagTree: [], userIdList: [], - + exportFieldsVisible: false, }, miniProgramForm: { tagIdArray: [], }, - + exportFieldsForm: { + idList: null, + exportFields: null, + }, + allFields: false, + exportFieldList: { + nickname: null, + userId: null, + mobile: null, + nursingDays: null, + nursingDaysMonth: null, + nursingDaysWeek: null, + nursingDaysYear: null, + updateTime: null, + wecomTagListStr: null, + miniProgramTagListStr: null, + instrumentBindingTime: null, + userMemberCreateTime: null, + }, // 表单参数 form: {}, // 表单校验 @@ -379,8 +456,16 @@ export default { this.getTagTree(); this.batchOperate.tagOperateVisible = true; } + /* 批量操作:导出数据 */ if (this.batchOperate.operateValue == 5) { - console.log("批量导出数据"); + if (this.ids.length == 0) { + this.$message({ + message: '请选择要操作的数据', + type: 'warning', + }) + return + } + this.batchOperate.exportFieldsVisible = true } } else { /* 全量操作 */ @@ -397,7 +482,7 @@ export default { this.batchOperate.tagOperateVisible = true; } if (this.batchOperate.operateValue == 6) { - console.log("全量导出数据"); + this.batchOperate.exportFieldsVisible = true } } } @@ -454,7 +539,7 @@ export default { this.$refs['miniProgramForm'].validate((valid) => { if (valid) { allAddMiniProgramTag( - this.miniProgramForm.tagIdArray,this.queryParams + this.miniProgramForm.tagIdArray, this.queryParams ).then((Response) => { this.$modal.msgSuccess('全量添加小程序标签成功') this.cancelMiniProgramDialog(true) @@ -468,7 +553,7 @@ export default { this.$refs['miniProgramForm'].validate((valid) => { if (valid) { allDelMiniProgramTag( - this.miniProgramForm.tagIdArray,this.queryParams + this.miniProgramForm.tagIdArray, this.queryParams ).then((Response) => { this.$modal.msgSuccess('全量删除小程序标签成功') this.cancelMiniProgramDialog(true) @@ -477,8 +562,87 @@ export default { } }) } + // 导出用户数据 + if (this.batchOperate.operateValue == 5) { + let exportFields = Object.values(this.exportFieldList).filter((val) => val != null) + if (exportFields.length == 0) { + this.$modal.msgError('请选择导出字段') + return + } + this.exportFieldsForm.idList = this.ids + this.exportFieldsForm.exportFields = exportFields + this.download('/system/nursingLog/batchExport', { + ...this.exportFieldsForm, + }, + `护理记录数据_${new Date().getTime()}.xlsx` + ) + this.cancelExportFieldsDialog(); + } + if (this.batchOperate.operateValue == 6) { + let exportFields = Object.values(this.exportFieldList).filter( + (val) => val != null + ) + if (exportFields.length == 0) { + this.$modal.msgError('请选择导出字段') + return + } + this.download('/system/nursingLog/allExport', { + ...Object.assign({}, this.queryParams, { + exportFields: exportFields, + }), + }, `护理记录数据_${new Date().getTime()}.xlsx` + ) + this.cancelExportFieldsDialog(); + } + }, + cancelExportFieldsDialog() { + this.allFields = false + this.batchOperate.exportFieldsVisible = false + this.exportFieldList = { + nickname: null, + userId: null, + mobile: null, + nursingDays: null, + nursingDaysMonth: null, + nursingDaysWeek: null, + nursingDaysYear: null, + updateTime: null, + wecomTagListStr: null, + miniProgramTagListStr: null, + instrumentBindingTime: null, + userMemberCreateTime: null, + } + }, + isExportAllFields() { + if (this.allFields) { + this.exportFieldList.nickname = 'nickname'; + this.exportFieldList.userId = 'userId'; + this.exportFieldList.mobile = 'mobile'; + this.exportFieldList.nursingDays = 'nursingDays'; + this.exportFieldList.nursingDaysMonth = 'nursingDaysMonth'; + this.exportFieldList.nursingDaysWeek = 'nursingDaysWeek'; + this.exportFieldList.nursingDaysYear = 'nursingDaysYear'; + this.exportFieldList.updateTime = 'updateTime'; + this.exportFieldList.wecomTagListStr = 'wecomTagListStr'; + this.exportFieldList.miniProgramTagListStr = 'miniProgramTagListStr'; + this.exportFieldList.instrumentBindingTime = 'instrumentBindingTime'; + this.exportFieldList.userMemberCreateTime = 'userMemberCreateTime'; + } else { + this.exportFieldList.nickname = null; + this.exportFieldList.userId = null; + this.exportFieldList.mobile = null; + this.exportFieldList.nursingDays = null; + this.exportFieldList.nursingDaysMonth = null; + this.exportFieldList.nursingDaysWeek = null; + this.exportFieldList.nursingDaysYear = null; + this.exportFieldList.updateTime = null; + this.exportFieldList.wecomTagListStr = null; + this.exportFieldList.miniProgramTagListStr = null; + this.exportFieldList.instrumentBindingTime = null; + this.exportFieldList.userMemberCreateTime = null; + } }, // 查询仪器列表 queryInstrument() {