打卡记录 批量操作

master
382696293@qq.com 2 years ago
parent ccf2a20cf5
commit 321cfdeb1a

@ -41,6 +41,8 @@ public class WxMemberClockLog {
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date lastClockTime;
private String instrumentName;
public Integer getClockNum() {
return clockNum;
@ -113,4 +115,12 @@ public class WxMemberClockLog {
public void setLastClockTime(Date lastClockTime) {
this.lastClockTime = lastClockTime;
}
public String getInstrumentName() {
return instrumentName;
}
public void setInstrumentName(String instrumentName) {
this.instrumentName = instrumentName;
}
}

@ -0,0 +1,118 @@
package com.flossom.common.core.domain.export;
import com.flossom.common.core.annotation.Excel;
import java.time.LocalTime;
import java.util.Date;
/**
*
*
* @author flossom
* @date 2024-01-29
*/
public class WxClockLogExport {
@Excel(name = "会员昵称")
private String nickname;
@Excel(name = "用户编号")
private Long userId;
@Excel(name = "手机号")
private String mobile;
@Excel(name = "仪器名称")
private String instrumentName;
@Excel(name = "最新打卡时间", dateFormat = "yyyy-MM-dd HH:mm:ss")
private Date lastClockTime;
@Excel(name = "小程序标签")
private String miniProgramTagListStr;
@Excel(name = "累计打卡天数")
private Integer clockNum;
@Excel(name = "外部标签")
private String wecomTagListStr;
@Excel(name = "用户注册时间", dateFormat = "yyyy-MM-dd HH:mm:ss")
private Date memberRegisterDate;
public WxClockLogExport() {
}
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 Date getLastClockTime() {
return lastClockTime;
}
public void setLastClockTime(Date lastClockTime) {
this.lastClockTime = lastClockTime;
}
public String getMiniProgramTagListStr() {
return miniProgramTagListStr;
}
public void setMiniProgramTagListStr(String miniProgramTagListStr) {
this.miniProgramTagListStr = miniProgramTagListStr;
}
public Integer getClockNum() {
return clockNum;
}
public void setClockNum(Integer clockNum) {
this.clockNum = clockNum;
}
public String getWecomTagListStr() {
return wecomTagListStr;
}
public void setWecomTagListStr(String wecomTagListStr) {
this.wecomTagListStr = wecomTagListStr;
}
public Date getMemberRegisterDate() {
return memberRegisterDate;
}
public void setMemberRegisterDate(Date memberRegisterDate) {
this.memberRegisterDate = memberRegisterDate;
}
}

@ -0,0 +1,31 @@
package com.flossom.common.core.domain.req;
import java.util.ArrayList;
import java.util.List;
public class WxClockLogExportVm extends UserClockLogReq {
/**
*
*/
private List<String> exportFields = new ArrayList<>();
private List<Integer> idList = new ArrayList<>();
public List<String> getExportFields() {
return exportFields;
}
public void setExportFields(List<String> exportFields) {
this.exportFields = exportFields;
}
public List<Integer> getIdList() {
return idList;
}
public void setIdList(List<Integer> idList) {
this.idList = idList;
}
}

@ -33,6 +33,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="userId" column="user_id" />
<result property="lastClockTime" column="last_clock_time"/>
<result property="clockNum" column="clock_num" />
<result property="instrumentName" column="instrument_name" />
</resultMap>
<sql id="selectWxClockLogVo">
@ -93,6 +94,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
SELECT
user_id,
MAX( update_time ) AS last_clock_time,
GROUP_CONCAT(instrument_name) AS instrument_name,
count( 1 ) AS clock_num
FROM
wx_clock_log

@ -1,27 +1,31 @@
package com.flossom.system.controller;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
import com.flossom.common.core.domain.R;
import com.flossom.common.core.domain.entity.WxClockLog;
import com.flossom.common.core.domain.entity.WxMemberClockLog;
import com.flossom.common.core.domain.export.WxClockLogExport;
import com.flossom.common.core.domain.req.UserClockLogReq;
import com.flossom.common.core.domain.req.WxClockLogExportVm;
import com.flossom.common.core.exception.ServiceException;
import com.flossom.common.core.utils.poi.ExcelUtil;
import com.flossom.common.core.web.controller.BaseController;
import com.flossom.common.core.web.domain.AjaxResult;
import com.flossom.common.core.web.page.TableDataInfo;
import com.flossom.common.log.annotation.Log;
import com.flossom.common.log.enums.BusinessType;
import com.flossom.common.security.annotation.RequiresPermissions;
import com.flossom.system.service.IWxUserMemberService;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import com.flossom.system.service.IWxClockLogService;
import javax.servlet.http.HttpServletResponse;
/**
* Controller
*
@ -35,13 +39,16 @@ public class WxClockLogController extends BaseController {
@Autowired
private IWxClockLogService wxClockLogService;
@Autowired
private IWxUserMemberService wxUserMemberService;
/**
*
*/
@RequiresPermissions("system:clockLog:list")
@GetMapping("/list")
public TableDataInfo list(UserClockLogReq userClockLogReq) {
List<WxMemberClockLog> list = wxClockLogService.selectWxClockLogList(userClockLogReq);
List<WxMemberClockLog> list = wxClockLogService.selectWxClockLogList(userClockLogReq, true);
return getDataTable(list);
}
@ -95,4 +102,77 @@ public class WxClockLogController extends BaseController {
public AjaxResult remove(@PathVariable Long[] ids) {
return toAjax(wxClockLogService.deleteWxClockLogByIds(ids));
}
/**
*
*/
@PostMapping("/allAddMiniProgramTag")
public R allAddMiniProgramTag(@RequestParam("tagIdList") List<Integer> tagIdList, @RequestBody UserClockLogReq userClockLogReq) {
if (tagIdList == null || tagIdList.size() == 0) {
logger.error("参数有误");
throw new ServiceException("参数有误");
}
List<WxMemberClockLog> list = wxClockLogService.selectWxClockLogList(userClockLogReq, true);
if (list != null && list.size() > 0) {
List<Integer> collect = list.stream().map(wxMemberClockLog -> wxMemberClockLog.getUserId().intValue()).collect(Collectors.toList());
wxUserMemberService.batchAddMiniProgramTag(tagIdList, collect);
}
return R.ok();
}
/**
*
*/
@PostMapping("/allDelMiniProgramTag")
public R allDelMiniProgramTag(@RequestParam("tagIdList") List<Integer> tagIdList, @RequestBody UserClockLogReq userClockLogReq) {
if (tagIdList == null || tagIdList.size() == 0) {
logger.error("参数有误");
throw new ServiceException("参数有误");
}
List<WxMemberClockLog> list = wxClockLogService.selectWxClockLogList(userClockLogReq, true);
if (list != null && list.size() > 0) {
List<Integer> collect = list.stream().map(wxMemberClockLog -> wxMemberClockLog.getUserId().intValue()).collect(Collectors.toList());
wxUserMemberService.batchDelMiniProgramTag(tagIdList, collect);
}
return R.ok();
}
/**
*
*/
@RequiresPermissions("system:nursingLog:export")
@PostMapping("/batchExport")
public void batchExport(HttpServletResponse response, WxClockLogExportVm wxClockLogExportVm) {
List<Integer> idList = wxClockLogExportVm.getIdList();
if (idList == null || idList.size() == 0) {
throw new ServiceException("请选择导出数据");
}
UserClockLogReq userClockLogReq = new UserClockLogReq();
userClockLogReq.setQueryUserIdList(wxClockLogExportVm.getIdList().stream().map(Integer::longValue).collect(Collectors.toList()));
List<WxMemberClockLog> list = wxClockLogService.selectWxClockLogList(userClockLogReq, false);
export(response, list, wxClockLogExportVm.getExportFields());
}
/**
*
*/
@RequiresPermissions("system:nursingLog:export")
@PostMapping("/allExport")
public void allExport(HttpServletResponse response, WxClockLogExportVm wxClockLogExportVm) {
List<WxMemberClockLog> list = wxClockLogService.selectWxClockLogList(wxClockLogExportVm, false);
export(response, list, wxClockLogExportVm.getExportFields());
}
private static void export(HttpServletResponse response, List<WxMemberClockLog> list, List<String> exportFields) {
List<WxClockLogExport> exportList = new ArrayList<>();
WxClockLogExport export;
for (WxMemberClockLog wxMemberClockLog : list) {
export = new WxClockLogExport();
BeanUtils.copyProperties(wxMemberClockLog, export);
exportList.add(export);
}
ExcelUtil<WxClockLogExport> util = new ExcelUtil(WxClockLogExport.class);
util.exportExcel(response, exportList, "打卡记录数据", exportFields);
}
}

@ -29,7 +29,7 @@ public interface IWxClockLogService {
* @param userClockLogReq
* @return
*/
public List<WxMemberClockLog> selectWxClockLogList(UserClockLogReq userClockLogReq);
public List<WxMemberClockLog> selectWxClockLogList(UserClockLogReq userClockLogReq, boolean isPage);
/**
*

@ -59,7 +59,7 @@ public class WxClockLogServiceImpl implements IWxClockLogService {
* @return
*/
@Override
public List<WxMemberClockLog> selectWxClockLogList(UserClockLogReq userClockLogReq) {
public List<WxMemberClockLog> selectWxClockLogList(UserClockLogReq userClockLogReq, boolean isPage) {
// 查询条件
WxUserMemberVm wxUserMemberVm = new WxUserMemberVm();
if (!(userClockLogReq.getUserIdList() == null && userClockLogReq.getNickname() == null
@ -89,7 +89,9 @@ public class WxClockLogServiceImpl implements IWxClockLogService {
}
}
if(isPage) {
PageUtils.startPage();
}
List<WxMemberClockLog> wxClockLogList = wxClockLogMapper.selectMemberClockLogList(userClockLogReq);
wxClockLogList.forEach(wxMemberClockLog -> {
WxUserMember wxUserMember = wxUserMemberMapper.selectWxUserMemberById(wxMemberClockLog.getUserId());
@ -162,4 +164,6 @@ public class WxClockLogServiceImpl implements IWxClockLogService {
public int deleteWxClockLogById(Long id) {
return wxClockLogMapper.deleteWxClockLogById(id);
}
}

@ -42,3 +42,20 @@ export function delClockLog(id) {
method: 'delete'
})
}
export function allAddMiniProgramTag(tagIdList, data) {
return request({
url: '/system/clockLog/allAddMiniProgramTag?tagIdList=' + tagIdList,
method: 'post',
data: data
})
}
// 全量删除小程序标签
export function allDelMiniProgramTag(tagIdList, data) {
return request({
url: '/system/clockLog/allDelMiniProgramTag?tagIdList=' + tagIdList,
method: 'post',
data: data
})
}

@ -201,14 +201,7 @@
<el-option label="批量删除小程序标签" :value="2"></el-option>
<el-option label="全量添加小程序标签" :value="3"></el-option>
<el-option label="全量删除小程序标签" :value="4"></el-option>
<el-option label="批量加减积分" :value="5"></el-option>
<el-option label="全量加减积分" :value="6"></el-option>
<el-option label="批量发送话术" :value="7"></el-option>
<el-option label="全量发送话术" :value="8"></el-option>
<el-option label="批量备注" :value="9"></el-option>
<el-option label="全量备注" :value="10"></el-option>
<el-option label="注销账号" :value="11"></el-option>
<el-option label="导出数据" :value="12"></el-option>
<el-option label="导出批量数据" :value="12"></el-option>
<el-option label="导出全量数据" :value="13"></el-option>
</el-select>
</el-col>
@ -218,6 +211,7 @@
plain
icon="el-icon-warning"
size="mini"
@click="batchOperate()"
>确认
</el-button>
</el-col>
@ -238,7 +232,17 @@
<el-table-column label="会员昵称" align="center" prop="nickname"/>
<el-table-column label="用户编号" align="center" prop="userId"/>
<el-table-column label="手机号码" align="center" prop="mobile"/>
<el-table-column label="打卡记录" align="center" prop="clockNum"/>
<el-table-column label="打卡记录" align="center" prop="clockNum" min-width="100">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
@click="viewClockDetail(scope.row)"
>
{{ '查看详情(' + scope.row.clockNum + '' }}
</el-button>
</template>
</el-table-column>
<el-table-column label="打卡天数" align="center" prop="clockNum"/>
<el-table-column label="最新打卡时间" align="center" prop="lastClockTime"/>
<el-table-column label="小程序标签" align="center" prop="miniProgramTagListStr"/>
@ -253,22 +257,98 @@
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<!-- 小程序标签批量操作 -->
<el-dialog :title="this.miniProgramForm.title" :visible.sync="this.miniProgramForm.batchMiniProgramVisible"
width="50%" :before-close="cancelMiniProgramDialog">
<el-form ref="miniProgramForm" :model="miniProgramForm" :rules="batchMiniProgramRules" label-width="150px">
<el-row>
<el-col :span="100">
<el-form-item label="小程序标签" prop="tagIdArray" label-width="100px">
<treeselect
v-model="miniProgramForm.tagIdArray"
:options="chatTagOptions"
:multiple="true"
:show-count="true"
placeholder="请选择小程序标签"
:disable-branch-nodes="true"
/>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="cancelMiniProgramDialog(false)"> </el-button>
<el-button type="primary" @click="submitBatchOperate"> </el-button>
</div>
</el-dialog>
<!-- 导出字段选择弹窗 -->
<el-dialog title="自定义导出字段" :visible.sync="exportFieldsForm.exportFieldsVisible" width="50%"
:before-close="cancelExportFieldsDialog">
<el-form ref="form" label-width="150px">
<el-form-item label="全部字段" prop="allFields">
<el-switch v-model="allFields" @click.native="isExportAllFields()"/>
</el-form-item>
</el-form>
<el-form :inline="true" ref="form" :model="exportFieldList" label-width="150px">
<el-form-item label="会员昵称" prop="nickname">
<el-switch v-model="exportFieldList.nickname" active-value="nickname" :inactive-value="null"/>
</el-form-item>
<el-form-item label="用户编号 " prop="userId">
<el-switch v-model="exportFieldList.userId" active-value="userId" :inactive-value="null"/>
</el-form-item>
<el-form-item label="手机号 " prop="mobile">
<el-switch v-model="exportFieldList.mobile" active-value="mobile" :inactive-value="null"/>
</el-form-item>
<el-form-item label="累计打卡仪器名称 " prop="instrumentName">
<el-switch v-model="exportFieldList.instrumentName" active-value="instrumentName" :inactive-value="null"/>
</el-form-item>
<el-form-item label="最新打卡时间 " prop="lastClockTime">
<el-switch v-model="exportFieldList.lastClockTime" active-value="lastClockTime" :inactive-value="null"/>
</el-form-item>
<el-form-item label="小程序标签 " prop="miniProgramTagListStr">
<el-switch v-model="exportFieldList.miniProgramTagListStr" active-value="miniProgramTagListStr"
:inactive-value="null"/>
</el-form-item>
<el-form-item label="累计打卡天数 " prop="clockNum">
<el-switch v-model="exportFieldList.clockNum" active-value="clockNum" :inactive-value="null"/>
</el-form-item>
<el-form-item label="用户注册时间 " prop="memberRegisterDate">
<el-switch v-model="exportFieldList.memberRegisterDate" active-value="memberRegisterDate"
:inactive-value="null"/>
</el-form-item>
<el-form-item label="外部标签 " prop="wecomTagListStr">
<el-switch v-model="exportFieldList.wecomTagListStr" active-value="wecomTagListStr" :inactive-value="null"/>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="cancelExportFieldsDialog()"> </el-button>
<el-button type="primary" @click="submitBatchOperate"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import {listClockLog, getClockLog, delClockLog, addClockLog, updateClockLog} from "@/api/system/clockLog";
import {
listClockLog, getClockLog, delClockLog, addClockLog, updateClockLog,
allAddMiniProgramTag, allDelMiniProgramTag
} from "@/api/system/clockLog";
import {listInstrument} from "@/api/system/instrument";
import {
getMiniProgramTags,
getWecomTags,
getMiniProgramTags, batchAddMiniProgramTag, batchDelMiniProgramTag, getWecomTags,
} from '@/api/system/member'
import {tagTreeSelect} from "@/api/system/wechatTab";
import Treeselect from '@riophae/vue-treeselect';
import '@riophae/vue-treeselect/dist/vue-treeselect.css';
export default {
name: "ClockLog",
components: {Treeselect},
data() {
return {
batchOperateValue: '',
//
activeNames: ['search'],
//
@ -283,6 +363,7 @@ export default {
showSearch: true,
//
total: 0,
chatTagOptions: [],
//
clockLogList: [],
//
@ -310,10 +391,43 @@ export default {
clockNumStart: undefined,
clockNumEnd: undefined,
},
//
batchOperateValue: null,
miniProgramForm: {
title: null,
batchMiniProgramVisible: false,
tagIdArray: [],
userIdList: [],
},
//
exportFieldsForm: {
idList: null,
exportFields: null,
exportFieldsVisible: false,
},
allFields: false,
exportFieldList: {
nickname: null,
userId: null,
mobile: null,
clockNum: null,
lastClockTime: null,
miniProgramTagListStr: null,
wecomTagListStr: null,
memberRegisterDate: null,
instrumentName: null,
},
//
form: {},
//
rules: {}
rules: {},
//
batchMiniProgramRules: {
tagIdArray: [
{required: true, message: '请选择小程序标签', trigger: 'change'},
],
},
};
},
created() {
@ -381,6 +495,9 @@ export default {
//
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id)
let selectedUserIdList = selection.map(item => item.userId)
this.miniProgramForm.userIdList = selectedUserIdList;
this.exportFieldsForm.idList = selectedUserIdList;
this.single = selection.length !== 1
this.multiple = !selection.length
},
@ -440,7 +557,221 @@ export default {
clearClockNum() {
this.queryParams.clockNumStart = undefined;
this.queryParams.clockNumEnd = undefined;
},
viewClockDetail(row) {
console.log(row)
console.log(this.queryParams.clockDateRange)
},
/** 批量操作按钮,显示批量操作弹窗 */
batchOperate() {
if (this.batchOperateValue == null) {
this.$message({
message: '请选择要批量操作类型',
type: 'warning',
})
return;
} else {
/* 批量操作 小程序标签 */
if (this.batchOperateValue == 1 || this.batchOperateValue == 2) {
if (this.ids.length == 0) {
this.$message({
message: '请选择要操作的数据',
type: 'warning',
})
return
}
if (this.batchOperateValue == 1) {
this.miniProgramForm.title = '添加小程序标签'
}
if (this.batchOperateValue == 2) {
this.miniProgramForm.title = '删除小程序标签'
}
//
this.getDeptTree()
this.miniProgramForm.batchMiniProgramVisible = true
}
if (this.batchOperateValue == 3 || this.batchOperateValue == 4) {
if (this.batchOperateValue == 3) {
this.miniProgramForm.title = '添加小程序标签'
}
if (this.batchOperateValue == 4) {
this.miniProgramForm.title = '删除小程序标签'
}
//
this.getDeptTree()
this.miniProgramForm.batchMiniProgramVisible = true
}
/* 批量操作:导出数据 */
if (this.batchOperateValue == 12) {
if (this.ids.length == 0) {
this.$message({
message: '请选择要操作的数据',
type: 'warning',
})
return
}
this.exportFieldsForm.exportFieldsVisible = true
}
if (this.batchOperateValue == 13) {
this.exportFieldsForm.exportFieldsVisible = true
}
}
},
/** 查询部门下拉树结构 */
getDeptTree() {
tagTreeSelect({type: 1}).then((response) => {
this.chatTagOptions = response.data
})
},
//
cancelMiniProgramDialog(isClose) {
this.$refs.miniProgramForm.clearValidate();
this.miniProgramForm.tagIdArray = []
if (isClose) {
this.miniProgramForm.title = null
this.miniProgramForm.batchMiniProgramVisible = false
}
},
/* 批量操作提交按钮 */
submitBatchOperate() {
//
if (this.batchOperateValue == 1) {
this.$refs['miniProgramForm'].validate((valid) => {
if (valid) {
batchAddMiniProgramTag(
this.miniProgramForm.tagIdArray,
Array.from(new Set(this.miniProgramForm.userIdList))
).then((Response) => {
this.$modal.msgSuccess('批量添加小程序标签成功');
this.cancelMiniProgramDialog(true)
this.getList();
})
}
})
}
//
if (this.batchOperateValue == 2) {
this.$refs['miniProgramForm'].validate((valid) => {
if (valid) {
batchDelMiniProgramTag(
this.miniProgramForm.tagIdArray,
Array.from(new Set(this.miniProgramForm.userIdList))
).then((Response) => {
this.$modal.msgSuccess('批量删除小程序标签成功')
this.cancelMiniProgramDialog(true)
this.getList();
})
}
})
}
//
if (this.batchOperateValue == 3) {
this.$refs['miniProgramForm'].validate((valid) => {
if (valid) {
allAddMiniProgramTag(
this.miniProgramForm.tagIdArray,
this.queryParams
).then((Response) => {
this.$modal.msgSuccess('全量添加小程序标签成功')
this.cancelMiniProgramDialog(true)
this.getList();
})
}
})
}
//
if (this.batchOperateValue == 4) {
this.$refs['miniProgramForm'].validate((valid) => {
if (valid) {
allDelMiniProgramTag(
this.miniProgramForm.tagIdArray,
this.queryParams
).then((Response) => {
this.$modal.msgSuccess('全量删除小程序标签成功')
this.cancelMiniProgramDialog(true)
this.getList();
})
}
})
}
//
if (this.batchOperateValue == 12) {
let exportFields = Object.values(this.exportFieldList).filter(
(val) => val != null
)
if (exportFields.length == 0) {
this.$modal.msgError('请选择导出字段')
return
}
this.exportFieldsForm.exportFields = exportFields
this.download('/system/clockLog/batchExport', {
...this.exportFieldsForm,
},
`打卡记录数据_${new Date().getTime()}.xlsx`
)
this.cancelExportFieldsDialog()
}
if (this.batchOperateValue == 13) {
let exportFields = Object.values(this.exportFieldList).filter(
(val) => val != null
)
if (exportFields.length == 0) {
this.$modal.msgError('请选择导出字段')
return
}
this.download(
'/system/clockLog/allExport',
{
...Object.assign({}, this.queryParams, {
exportFields: exportFields,
}),
},
`打卡记录数据_${new Date().getTime()}.xlsx`
)
this.cancelExportFieldsDialog()
}
},
cancelExportFieldsDialog() {
this.allFields = false
this.exportFieldsForm.exportFieldsVisible = false
this.exportFieldList = {
nickname: null,
userId: null,
mobile: null,
clockNum: null,
lastClockTime: null,
miniProgramTagListStr: null,
wecomTagListStr: null,
memberRegisterDate: null,
instrumentName: null,
}
},
isExportAllFields() {
if (this.allFields) {
this.exportFieldList.nickname = "nickname";
this.exportFieldList.userId = "userId";
this.exportFieldList.mobile = "mobile";
this.exportFieldList.clockNum = "clockNum";
this.exportFieldList.lastClockTime = "lastClockTime";
this.exportFieldList.miniProgramTagListStr = "miniProgramTagListStr";
this.exportFieldList.wecomTagListStr = "wecomTagListStr";
this.exportFieldList.memberRegisterDate = "memberRegisterDate";
this.exportFieldList.instrumentName = "instrumentName";
} else {
this.exportFieldList.nickname = null;
this.exportFieldList.userId = null;
this.exportFieldList.mobile = null;
this.exportFieldList.clockNum = null;
this.exportFieldList.lastClockTime = null;
this.exportFieldList.miniProgramTagListStr = null;
this.exportFieldList.wecomTagListStr = null;
this.exportFieldList.memberRegisterDate = null;
this.exportFieldList.instrumentName = null;
}
}
}
};

Loading…
Cancel
Save