Commit b2c213ae authored by 廖旭伟's avatar 廖旭伟

Merge remote-tracking branch 'origin/master'

parents e27628df 556ca096
......@@ -16,35 +16,37 @@
:height="height"
style="width: 100%"
>
<el-table-column
v-for="column in columns"
:key="column.prop"
:type="column.type"
:index="handleIndexMethod"
:selectable="handleSelectableMethod"
:prop="column.prop"
:label="column.label"
:width="column.width"
:sortable="column.sortable"
:show-overflow-tooltip="column.tooltip"
:align="column.align || 'center'"
:formatter="column.formatter"
:reserve-selection="column.reserveSelection"
:subColumns="column.subColumns"
:fixed="column.fixed"
>
<template v-for="column in columns">
<el-table-column
v-for="sunColumn in column.subColumns"
:key="sunColumn.prop"
:type="sunColumn.type"
:prop="sunColumn.prop"
:label="sunColumn.label"
:width="sunColumn.width"
:sortable="sunColumn.sortable"
:align="sunColumn.align || 'center'"
:formatter="sunColumn.formatter"
/>
</el-table-column>
v-if="column.show"
:key="column.prop"
:type="column.type"
:index="handleIndexMethod"
:selectable="handleSelectableMethod"
:prop="column.prop"
:label="column.label"
:width="column.width"
:sortable="column.sortable"
:show-overflow-tooltip="column.tooltip"
:align="column.align || 'center'"
:formatter="column.formatter"
:reserve-selection="column.reserveSelection"
:subColumns="column.subColumns"
:fixed="column.fixed"
>
<el-table-column
v-for="sunColumn in column.subColumns"
:key="sunColumn.prop"
:type="sunColumn.type"
:prop="sunColumn.prop"
:label="sunColumn.label"
:width="sunColumn.width"
:sortable="sunColumn.sortable"
:align="sunColumn.align || 'center'"
:formatter="sunColumn.formatter"
/>
</el-table-column>
</template>
</el-table>
</template>
......
......@@ -76,7 +76,7 @@
出勤率<el-tooltip
class="item"
effect="dark"
content="昨日缺卡人数与考勤总人数比值"
content="昨日考勤人数与考勤总人数比值"
placement="top-start"
>
<i
......
......@@ -190,7 +190,7 @@ export default {
{
name: "createTimeMonth",
type: "month",
label: "请选择月份",
label: "请选择异常时间",
fuzzy: false,
},
{
......
......@@ -197,7 +197,7 @@ export default {
{
name: "createTimeMonth",
type: "month",
label: "请选择月份",
label: "请选择投诉时间",
fuzzy: false,
},
{
......
......@@ -192,7 +192,7 @@ export default {
{
name: "createTimeMonth",
type: "month",
label: "请选择月份",
label: "请选择发生时间",
fuzzy: false,
},
{
......
......@@ -191,7 +191,7 @@ export default {
{
name: "createTimeMonth",
type: "month",
label: "请选择月份",
label: "请选择办理时间",
fuzzy: false,
},
{
......@@ -209,7 +209,7 @@ export default {
{ label: "窗口编号", prop: "windowNum", formatter: this.formatter },
{ label: "所属大厅", prop: "salaName",formatter: this.formatter },
{ label: "所属大厅", prop: "salaName", formatter: this.formatter },
{ label: "所属部门", prop: "deptName", formatter: this.formatter },
......
......@@ -190,7 +190,7 @@ export default {
{
name: "createTimeMonth",
type: "month",
label: "请选择月份",
label: "请选择发生时间",
fuzzy: false,
},
{
......
......@@ -196,7 +196,7 @@ export default {
{
name: "createTimeMonth",
type: "month",
label: "请选择月份",
label: "请选择评价时间",
fuzzy: false,
},
{
......
......@@ -99,7 +99,7 @@ export default {
{
name: "createTimeMonth",
type: "month",
label: "请选择月份",
label: "请选择登记年月",
fuzzy: false,
},
{
......
......@@ -100,7 +100,7 @@ export default {
{
name: "createTimeMonth",
type: "month",
label: "请选择月份",
label: "请选择登记年月",
fuzzy: false,
},
{
......
......@@ -198,7 +198,7 @@ export default {
{
name: "createTimeMonth",
type: "month",
label: "请选择月份",
label: "请选择异常时间",
fuzzy: false,
},
{
......
......@@ -204,7 +204,7 @@ export default {
{
name: "createTimeMonth",
type: "month",
label: "请选择月份",
label: "请选择投诉时间",
fuzzy: false,
},
{
......
......@@ -200,7 +200,7 @@ export default {
{
name: "createTimeMonth",
type: "month",
label: "请选择月份",
label: "请选择发生时间",
fuzzy: false,
},
{
......
......@@ -198,7 +198,7 @@ export default {
{
name: "createTimeMonth",
type: "month",
label: "请选择月份",
label: "请选择办理时间",
fuzzy: false,
},
{
......
......@@ -198,7 +198,7 @@ export default {
{
name: "createTimeMonth",
type: "month",
label: "请选择月份",
label: "请选择发生时间",
fuzzy: false,
},
{
......
......@@ -204,7 +204,7 @@ export default {
{
name: "createTimeMonth",
type: "month",
label: "请选择月份",
label: "请选择评价时间",
fuzzy: false,
},
{
......
......@@ -59,7 +59,13 @@
</el-col>
<el-col :span="18" :xs="12">
<el-row>
<LayoutTable notDel notAdd :data="tableData" :config="tableConfig">
<LayoutTable
notDel
notAdd
:data="tableData"
:config="tableConfig"
ref="layoutTable"
>
<el-button
type="primary"
@click="doExport"
......@@ -184,8 +190,8 @@
</el-checkbox>
</el-checkbox-group>
<div class="mt20" style="text-align:right">
<el-button>取消</el-button>
<el-button type="primary">确定</el-button>
<el-button @click="() => (isdialog = falsle)">取消</el-button>
<el-button type="primary" @click="handleOk">确定</el-button>
</div>
</el-dialog>
......@@ -218,11 +224,30 @@ export default {
});
},
methods: {
handleOk() {
this.config.columns.forEach((v) => {
v.prop ? (v.show = false) : (v.show = true);
this.checkList.forEach((val) => {
if (val == v.label) {
v.show = true;
}
});
});
console.log(this.config.columns);
this.$forceUpdate(this.config.columns);
this.isdialog = false;
},
// 自定义字段
SelectEXport() {
this.setcolum = this.config.columns.filter(
(item) => item.label && item.prop
);
console.log(this.config.columns);
this.checkList = this.setcolum.map((v) => {
if (v.show) {
return v.label;
}
});
this.isdialog = true;
},
/** 同步 */
......@@ -268,8 +293,10 @@ export default {
},
handleNodeClick(node) {
delete this.$route.query.page;
this.currentNode = node;
this.query = Object.assign({}, this.query, { deptId: node.id });
this.query.page = 1;
this.getData();
},
doExport() {
......@@ -355,27 +382,45 @@ export default {
},
],
columns: [
{ type: "selection", width: 60 },
{ type: "index", label: "序号", width: 50 },
{ label: "员工姓名", prop: "name" },
{ label: "工号", prop: "workNum" },
{ label: "部门", prop: "deptName" },
{ label: "职位", prop: "positionName", formatter: this.formatters },
{ type: "selection", width: 60, show: true },
{ type: "index", label: "序号", width: 50, show: true },
{ label: "员工姓名", prop: "name", show: true },
{ label: "工号", prop: "workNum", show: true },
{ label: "部门", prop: "deptName", show: true },
{
label: "职位",
prop: "positionName",
formatter: this.formatters,
show: true,
},
{
label: "员工类型",
prop: "staffType",
formatter: this.formatterType,
show: true,
},
{
label: "员工状态",
prop: "status",
formatter: this.formatter,
show: true,
},
{ label: "员工状态", prop: "status", formatter: this.formatter },
{
label: "是否在政务中心",
prop: "source",
formatter: this.formatterSource,
show: true,
}, //未对
{ label: "手机号", prop: "phoneNumber", formatter: this.formatters },
{
label: "手机号",
prop: "phoneNumber",
formatter: this.formatters,
show: true,
},
{
label: "操作",
width: 240,
show: true,
formatter: (row) => {
return (
// <table-buttons
......
......@@ -99,9 +99,9 @@ export default {
fuzzy: false,
},
{
name: "createTimeMonth",
name: "yearmonth",
type: "month",
label: "请选择月份",
label: "请选择登记年月",
fuzzy: false,
},
{
......
......@@ -97,9 +97,9 @@ export default {
fuzzy: false,
},
{
name: "createTimeMonth",
name: "yearmonth",
type: "month",
label: "请选择月份",
label: "请选择登记年月",
fuzzy: false,
},
{
......
package com.mortals.xhx.base.system.param.service.impl;
import com.mortals.framework.exception.AppException;
import com.mortals.framework.model.Context;
import com.mortals.framework.service.IParam;
import com.mortals.framework.service.impl.AbstractCRUDCacheServiceImpl;
import com.mortals.framework.util.DataUtil;
......@@ -183,6 +184,14 @@ public class ParamServiceImpl extends AbstractCRUDCacheServiceImpl<ParamDao, Par
log.debug("cannot conver key[" + key + "]'s value[" + value + "] to boolean, use default value[" + defaultValue + "]");
return defaultValue;
}
}
@Override
protected void saveBefore(ParamEntity entity, Context context) throws AppException {
super.saveBefore(entity, context);
}
}
\ No newline at end of file
......@@ -5,10 +5,12 @@ import com.alibaba.fastjson.JSONObject;
import com.mortals.framework.annotation.RepeatSubmit;
import com.mortals.framework.annotation.UnAuth;
import com.mortals.framework.common.code.PageDisplayType;
import com.mortals.framework.exception.AppException;
import com.mortals.framework.model.Context;
import com.mortals.framework.util.FileUtil;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import com.mortals.xhx.base.system.param.model.ParamQuery;
import com.mortals.xhx.common.pdu.WeightPdu;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.ObjectUtils;
......@@ -88,6 +90,21 @@ public class ParamController extends BaseCRUDJsonBodyMappingController<ParamServ
return jsonObject.toJSONString();
}
@Override
protected void saveBefore(ParamEntity entity, Map<String, Object> model, Context context) throws AppException {
super.saveBefore(entity, model, context);
String paramKey = entity.getParamKey();
ParamQuery paramQuery = new ParamQuery();
paramQuery.setParamKey(paramKey);
ParamEntity paramEntity = this.service.selectOne(paramQuery);
if (!ObjectUtils.isEmpty(paramEntity)) {
entity.setCreateUserId(paramEntity.getId());
}
}
public static void main(String[] args) {
FileUtil.delete("E:\\pic\\1.png");
}
......
......@@ -19,21 +19,21 @@ import java.util.Arrays;
import java.util.List;
/**
* AttendanceClassService
* 考勤班次信息 service实现
*
* @author zxfei
* @date 2023-04-08
*/
* AttendanceClassService
* 考勤班次信息 service实现
*
* @author zxfei
* @date 2023-04-08
*/
@Service("attendanceClassService")
public class AttendanceClassServiceImpl extends AbstractCRUDServiceImpl<AttendanceClassDao, AttendanceClassEntity, Long> implements AttendanceClassService {
@Autowired
private AttendanceClassDetailService attendanceClassDetailService;
@Override
protected void saveAfter(AttendanceClassEntity entity, Context context) throws AppException {
if(!ObjectUtils.isEmpty(entity.getAttendanceClassDetailList())){
entity.getAttendanceClassDetailList().stream().peek(item->{
if (!ObjectUtils.isEmpty(entity.getAttendanceClassDetailList())) {
entity.getAttendanceClassDetailList().stream().peek(item -> {
item.setClassId(entity.getId());
item.setCreateUser(context.getUser().getLoginName());
item.setCreateUserId(context.getUser().getId());
......@@ -46,19 +46,15 @@ public class AttendanceClassServiceImpl extends AbstractCRUDServiceImpl<Attendan
@Override
protected void updateAfter(AttendanceClassEntity entity, Context context) throws AppException {
if(!ObjectUtils.isEmpty(entity.getAttendanceClassDetailList())){
Long[] attendanceClassDetailIds = attendanceClassDetailService.find(new AttendanceClassDetailQuery().classId(entity.getId())).stream().map(AttendanceClassDetailEntity::getId).toArray(Long[]::new);
attendanceClassDetailService.remove(attendanceClassDetailIds,context);
if (!ObjectUtils.isEmpty(entity.getAttendanceClassDetailList())) {
//更新
entity.getAttendanceClassDetailList().stream().peek(item ->{
item.setClassId(entity.getId());
item.setCreateUser(context.getUser().getLoginName());
item.setCreateUserId(context.getUser().getId());
item.setCreateTime(new Date());
item.setUpdateUser(context.getUser().getLoginName());
item.setUpdateUserId(context.getUser().getId());
item.setUpdateTime(new Date());
}).count();
attendanceClassDetailService.save(entity.getAttendanceClassDetailList());
attendanceClassDetailService.update(entity.getAttendanceClassDetailList());
}
super.updateAfter(entity, context);
}
......@@ -66,7 +62,7 @@ public class AttendanceClassServiceImpl extends AbstractCRUDServiceImpl<Attendan
@Override
protected void removeAfter(Long[] ids, Context context, int result) throws AppException {
List<AttendanceClassDetailEntity> attendanceClassDetaillist = attendanceClassDetailService.find(new AttendanceClassDetailQuery().classIdList(Arrays.asList(ids)));
attendanceClassDetailService.removeList(attendanceClassDetaillist,context);
attendanceClassDetailService.removeList(attendanceClassDetaillist, context);
super.removeAfter(ids, context, result);
}
}
\ No newline at end of file
......@@ -201,6 +201,8 @@ public class AttendanceLeaveRecordServiceImpl extends AbstractCRUDServiceImpl<At
leaveRecord.setRemark(process);
leaveRecord.setStaffId(item.getCustomerId());
waitSyncLeaveRecords.add(leaveRecord);
log.info("更新记录成功==>"+process);
}
} else {
nextToken = DataUtil.converStr2Long(rest.getData().getNextToken(), 0L);
......
......@@ -94,7 +94,7 @@ public abstract class AbstractDingTalkService implements IDingPersonService {
if (rsp.getErrcode() == 0) {
cacheService.setnx(RedisKey.KEY_DINGTALK_ACCESSTOKEN_CACHE, rsp.getAccessToken(), 7200);
log.info("redis dingding token:{}",cacheService.get(RedisKey.KEY_DINGTALK_ACCESSTOKEN_CACHE));
// log.info("redis dingding token:{}",cacheService.get(RedisKey.KEY_DINGTALK_ACCESSTOKEN_CACHE));
return rsp.getAccessToken();
} else {
throw new AppException(String.format("code:{},errorMsg:{}", rsp.getErrcode(), rsp.getErrmsg()));
......
......@@ -223,7 +223,7 @@ public class DingPersonServiceImpl extends AbstractDingTalkService implements ID
listProcessInstanceIdsHeaders.xAcsDingtalkAccessToken = getToken();
HashMap<String, String> map = new HashMap<>();
listProcessInstanceIdsHeaders.setCommonHeaders(map);
log.info("oaUrl===>{}",oaUrl);
// log.info("oaUrl===>{}",oaUrl);
if(!ObjectUtils.isEmpty(oaUrl)){
listProcessInstanceIdsHeaders.getCommonHeaders().put("host", oaUrl);
}
......
......@@ -5,7 +5,7 @@ Content-Type: application/json
{
"loginName":"admin",
"password":"xhxADMIN8@a",
"password":"admin",
"securityCode":"admin"
}
......@@ -107,8 +107,8 @@ Authorization: {{authToken}}
Content-Type: application/json
{
"startTimeStart":"2024-03-04",
"endTimeEnd":"2024-03-04"
"startTimeStart":"2024-03-12",
"endTimeEnd":"2024-03-12"
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment