Commit 1a3dadd2 authored by 廖旭伟's avatar 廖旭伟

Merge remote-tracking branch 'origin/master'

parents 3ffd0f32 230fd3b8
<template>
<span>
<el-button v-if='!noEdit' type="text" icon="el-icon-edit" size='mini' @click='$emit("edit", row)' title="编辑">编辑</el-button>
<el-button
v-if="!noEdit"
type="text"
icon="el-icon-edit"
size="mini"
@click="$emit('edit', row)"
title="编辑"
>编辑</el-button
>
<span>&nbsp;</span>
<el-button v-if='!noView' type="text" icon="el-icon-view" size='mini' @click='$emit("view", row)' title="查看">查看</el-button>
<span>&nbsp;</span>
<Confirm @confirm='$emit("del", row.id)' message='确定要删除该条记录吗?'>
<el-button v-if='!noDel' type="text" icon="el-icon-delete" size='mini' title="删除">删除</el-button>
<el-button
v-if="!noView"
type="text"
icon="el-icon-view"
size="mini"
@click="$emit('view', row)"
title="查看"
>查看</el-button
>
<span>&nbsp;</span>
<el-button
v-if="reCheck"
type="text"
icon="el-icon-edit"
size="mini"
@click="$emit('edit', row)"
title="核查"
>核查</el-button
>
<span>&nbsp;</span>
<Confirm @confirm="$emit('del', row.id)" message="确定要删除该条记录吗?">
<el-button
v-if="!noDel"
type="text"
icon="el-icon-delete"
size="mini"
title="删除"
>删除</el-button
>
</Confirm>
</span>
</template>
<script>
import Confirm from '@/components/Confirm.vue';
import Confirm from "@/components/Confirm.vue";
export default {
props: {
noEdit: {
type: Boolean,
default: false
default: false,
},
noDel: {
type: Boolean,
default: false
default: false,
},
noAdd: {
type: Boolean,
default: false
default: false,
},
reCheck: {
type: Boolean,
default: false,
},
noView: {
type: Boolean,
default: false
default: false,
},
row: {
type: Object,
required: true,
default: () => {}
default: () => {},
},
},
components: {
Confirm,
},
methods: {
},
methods: {},
data() {
return {
}
}
}
return {};
},
};
</script>
......@@ -6,7 +6,10 @@
<el-tab-pane label="设计问卷" name="1">
<fc-designer style="height: 79vh;" ref="designer">
<template slot="handle">
<ElButton icon="el-icon-upload" type="success" size="small" @click="showDrawer" round>移动端预览
<ElButton style="margin-left: 10px;" icon="el-icon-upload" type="primary" size="small"
@click="issueBtn" round>问卷发布
</ElButton>
<ElButton icon="el-icon-view" type="success" size="small" @click="showDrawer" round>H5预览
</ElButton>
</template>
</fc-designer>
......@@ -31,6 +34,30 @@
</div>
</div>
</el-drawer>
<el-dialog title="问卷发布" :visible.sync="issueDialog" width="30%" top="25vh">
<el-form :model="issueForm">
<el-form-item label="问卷封面:" label-width="125px">
<div style="display: flex;align-items: center;">
<img style="width:80px; height: 50px; margin-right: 10px;cursor: pointer;"
v-for="i in issueForm.cover" :src="i" alt="">
</div>
<!-- <el-input v-model="issueForm.cover" autocomplete="off"></el-input> -->
</el-form-item>
<el-form-item label="反馈期限:" label-width="125px">
<el-date-picker v-model="issueForm.time" type="datetimerange" range-separator="至"
start-placeholder="开始日期" end-placeholder="结束日期">
</el-date-picker>
</el-form-item>
<el-form-item label="邀请人员:" label-width="125px">
<el-button type="success" size="small">选择人员</el-button>
</el-form-item>
<div style="text-align: center;">
<el-button size="small" @click="issueDialog = false">取消</el-button>
<el-button type="primary" size="small" @click="issueFormBtn">发布</el-button>
</div>
</el-form>
</el-dialog>
</el-tab-pane>
</el-tabs>
</div>
......@@ -43,8 +70,15 @@ export default {
return {
tabs: '1',
drawer: 0,
Frule: '',
Frule: [],
Fopthion: '',
issueDialog: false,
issueForm: {
cover: [
'http://sy.scsmile.cn/YX-JXgl/v1.0/HT/images/%E6%96%B0%E5%A2%9E%E5%8F%8D%E9%A6%88_%E7%AC%AC3%E6%AD%A5_/u26101.svg',
'http://sy.scsmile.cn/YX-JXgl/v1.0/HT/images/%E6%96%B0%E5%A2%9E%E5%8F%8D%E9%A6%88_%E7%AC%AC3%E6%AD%A5_/u26102.svg'
]
},
}
},
mounted() {
......@@ -75,11 +109,31 @@ export default {
this.$refs.designer.removeMenuItem("timePicker")
this.$refs.designer.removeMenuItem("switch")
this.$refs.designer.removeMenuItem("tree")
this.$refs.designer.removeMenuItem("inputNumber")
this.$refs.designer.removeMenuItem("select")
this.$refs.designer.removeMenuItem("fc-editor")
this.$refs.designer.removeMenuItem("el-button")
this.$refs.designer.removeMenuItem("el-divider")
//配置组件生成规则---直接配置显示在页面上
// const rule = [{ "type": "input", "field": "int", "title": "输入框", "info": "", "_fc_drag_tag": "input", "hidden": false, "display": true }]
// this.$refs.designer.setRule(rule)
},
methods: {
//问卷发布
issueBtn() {
this.Frule = formCreate.parseJson(this.getFormJson())
this.Fopthion = formCreate.parseJson(this.getFormOption())
console.log(this.Frule)
//判断是否配置了表单
if (this.Frule.length > 0) {
this.issueDialog = true
} else {
this.$message({
message: '请配置表单后发布',
type: 'warning'
});
}
},
//预览生成按钮的输出
onSubmit(formData) {
console.log(formData)
......@@ -101,12 +155,20 @@ export default {
const FcDesignerOptions = this.$refs.designer.getOption();
console.log(FcDesignerOptions)
return JSON.stringify(FcDesignerOptions)
},
issueFormBtn() {
console.log(this.issueForm)
}
}
}
</script>
<style lang="less" scoped>
/deep/._fc-m-tools {
flex-direction: row-reverse;
justify-content: flex-start;
}
/deep/._fc-l-title {
text-align: center;
margin-bottom: 10px;
......
......@@ -233,7 +233,7 @@ export default {
{
label: "处理状态",
prop: "processStatus",
prop: "checkStatus",
formatter: this.formatter,
},
......
......@@ -82,19 +82,6 @@
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="22">
<el-form-item label="异常时间:">
<el-date-picker
v-model="form.errorTime"
type="date"
placeholder="选择日期"
style="width: 100%;"
>
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="22">
<el-form-item label="办件时间:">
......
......@@ -27,4 +27,11 @@ public interface RoleUserService extends ICRUDService<RoleUserEntity,Long> {
void doDistributionUser(RoleUserQuery query);
void doDistributionRole(RoleUserQuery query);
/**
* 给用户分配角色
* @param query
*/
void assignRoleToUser(RoleUserQuery query);
}
\ No newline at end of file
......@@ -70,6 +70,26 @@ public class RoleUserServiceImpl extends AbstractCRUDServiceImpl<RoleUserDao,Rol
this.dao.insertBatch(list);
}
@Override
public void assignRoleToUser(RoleUserQuery query) {
//删除当前用户所有关联角色
Long userId = query.getUserId();
Map<String, Object> condition = new HashMap<>(1);
condition.put("userId", userId);
dao.delete(condition);
//新增用户角色
List<Long> roleIdList = query.getRoleIdList();
List<RoleUserEntity> list = new ArrayList<>();
for (Long roleId : roleIdList) {
RoleUserEntity rolseUser = new RoleUserEntity();
rolseUser.setRoleId(roleId);
rolseUser.setUserId(userId);
list.add(rolseUser);
}
this.save(list);
}
}
\ No newline at end of file
......@@ -4,6 +4,7 @@
package com.mortals.xhx.base.system.task.service.impl;
import cn.hutool.core.net.NetUtil;
import com.mortals.framework.ap.GlobalSysInfo;
import com.mortals.framework.common.code.ExcuteStatus;
import com.mortals.framework.common.code.TaskExcuteStrategy;
......@@ -148,7 +149,8 @@ public class TaskServiceImpl extends AbstractCRUDServiceImpl<TaskDao, TaskEntity
@Override
public void start() throws AppException {
final String localIp = SystemUtil.getLocalHostIp();
// final String localIp = SystemUtil.getLocalHostIp();
final String localIp = NetUtil.getLocalhostStr();
log.info("任务执行线程启动...-->" + localIp);
thread = new Thread(() -> {
// 将本机上次执行而未完成的任务状态变更
......
......@@ -48,7 +48,7 @@ public class UserEntity extends UserVo implements IUser {
*/
private String qq;
/**
* 用户类型(0.系统用户,1.普通用户,2.工作人员)
* 用户类型(0.系统用户,1.普通用户,2.工作人员,3.普通员工)
*/
private Integer userType;
......@@ -232,7 +232,7 @@ public class UserEntity extends UserVo implements IUser {
this.qq = qq;
}
/**
* 获取 用户类型(0.系统用户,1.普通用户,2.工作人员)
* 获取 用户类型(0.系统用户,1.普通用户,2.工作人员,3.普通员工)
* @return Integer
*/
public Integer getUserType(){
......
......@@ -55,7 +55,7 @@ public class AppealApiController extends BaseJsonBodyController {
/**
* 个人申诉绩效统计
*/
@PostMapping(value = "appeal/stat")
@PostMapping(value = "stat")
public Rest<AppealStatInfo> appealStat() {
String busiDesc = "H5个人申诉绩效统计";
Rest<AppealStatInfo> rest = Rest.ok(busiDesc + " 【成功】");
......@@ -72,7 +72,7 @@ public class AppealApiController extends BaseJsonBodyController {
/**
* 申诉列表
*/
@PostMapping(value = "appeal/list")
@PostMapping(value = "list")
public Rest<List<PerformAttendAppealEntity>> performList(@RequestBody AppealReq appealReq) {
String busiDesc = "个人申诉列表";
Rest<List<PerformAttendAppealEntity>> rest = Rest.ok(busiDesc + " 【成功】");
......@@ -95,8 +95,8 @@ public class AppealApiController extends BaseJsonBodyController {
/**
* 申诉详细
*/
@PostMapping(value = "appeal/detail")
public Rest<PerformAttendAppealEntity> performDetail(@RequestBody AppealReq appealReq) {
@PostMapping(value = "info")
public Rest<PerformAttendAppealEntity> performInfo(@RequestBody AppealReq appealReq) {
String busiDesc = "个人申诉详细";
Rest<PerformAttendAppealEntity> rest = Rest.ok(busiDesc + " 【成功】");
try {
......@@ -116,7 +116,7 @@ public class AppealApiController extends BaseJsonBodyController {
/**
* 申诉新增
*/
@PostMapping(value = "appeal/save")
@PostMapping(value = "save")
public Rest<String> appealSave(@RequestBody PerformAttendAppealEntity appealEntity) {
String busiDesc = "个人申诉新增";
Rest<String> rest = Rest.ok(busiDesc + " 【成功】");
......
......@@ -48,7 +48,7 @@ public class FeedbackApiController extends BaseJsonBodyController {
/**
* 反馈列表
*/
@PostMapping(value = "feedback/list")
@PostMapping(value = "list")
public Rest<List<PerformAttendAppealEntity>> feedbackList(@RequestBody FeedbackReq feedbackReq) {
String busiDesc = "个人反馈列表";
Rest<List<PerformAttendAppealEntity>> rest = Rest.ok(busiDesc + " 【成功】");
......@@ -71,7 +71,7 @@ public class FeedbackApiController extends BaseJsonBodyController {
/**
* 反馈详细
*/
@PostMapping(value = "feedback/question")
@PostMapping(value = "question")
public Rest<PerformAttendAppealEntity> performDetail(@RequestBody AppealReq appealReq) {
String busiDesc = "个人申诉详细";
Rest<PerformAttendAppealEntity> rest = Rest.ok(busiDesc + " 【成功】");
......@@ -92,9 +92,9 @@ public class FeedbackApiController extends BaseJsonBodyController {
/**
* 申诉新增
*/
@PostMapping(value = "appeal/save")
public Rest<String> appealSave(@RequestBody PerformAttendAppealEntity appealEntity) {
String busiDesc = "个人申诉新增";
@PostMapping(value = "save")
public Rest<String> feedbackSave(@RequestBody PerformAttendAppealEntity appealEntity) {
String busiDesc = "反馈回答";
Rest<String> rest = Rest.ok(busiDesc + " 【成功】");
try {
......
......@@ -47,7 +47,7 @@ public class PerformApiController extends BaseJsonBodyController {
/**
* 个人当天绩效统计
*/
@PostMapping(value = "perform/stat")
@PostMapping(value = "stat")
public Rest<PerformStatInfo> performStat() {
String busiDesc = "H5 个人绩效统计";
Rest<PerformStatInfo> rest = Rest.ok(busiDesc + " 【成功】");
......@@ -65,7 +65,7 @@ public class PerformApiController extends BaseJsonBodyController {
/**
* 个人当月绩效加分扣分列表
*/
@PostMapping(value = "perform/list")
@PostMapping(value = "list")
public Rest<List<PerformInfo>> performList(@RequestBody PerformReq performReq) {
String busiDesc = "个人绩效列表";
Rest<List<PerformInfo>> rest = Rest.ok(busiDesc + " 【成功】");
......@@ -107,7 +107,7 @@ public class PerformApiController extends BaseJsonBodyController {
/**
* 详细
*/
@PostMapping(value = "perform/info")
@PostMapping(value = "info")
public Rest<PerformDetailInfo> performInfo(@RequestBody PerformReq performReq) {
String busiDesc = "个人绩效增减详细";
Rest<PerformDetailInfo> rest = Rest.ok(busiDesc + " 【成功】");
......
......@@ -2,6 +2,7 @@ package com.mortals.xhx.daemon.task;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.PageUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.mortals.framework.common.Rest;
......@@ -115,7 +116,7 @@ public class SyncDoorsEventTaskImpl implements ITaskExcuteService {
List<AttendanceRecordHikEntity> attRecords = doorEventsRest.getData().getList().stream().map(item -> {
AttendanceRecordHikEntity recordHikEntity = new AttendanceRecordHikEntity();
recordHikEntity.initAttrValue();
StaffEntity staffCache = staffService.getExtCache(item.getJobNo());
StaffEntity staffCache = staffService.getExtCache(StrUtil.padPre(item.getJobNo(), 8, "0"));
if (ObjectUtils.isEmpty(staffCache)) {
log.info("staff is null !staffCode:{}",item.getJobNo());
return null;
......
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"mybatis-3-mapper.dtd">
<mapper namespace="com.mortals.xhx.module.user.dao.ibatis.UserDaoImpl">
<mapper namespace="com.mortals.xhx.base.system.user.dao.ibatis.UserDaoImpl">
<!-- 字段和属性映射 -->
<resultMap type="UserEntity" id="UserEntity-Map">
......
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