1
0
mirror of https://github.com/FatttSnake/Pinnacle-OA.git synced 2026-04-05 15:01:23 +08:00

Update employee personal information interface.

This commit is contained in:
GGB
2023-05-30 23:19:25 +08:00
parent 11e122df0b
commit b3ef7f855e
3 changed files with 109 additions and 48 deletions

View File

@@ -1,22 +1,15 @@
package com.cfive.pinnacle.controller; package com.cfive.pinnacle.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
import com.cfive.pinnacle.entity.User;
import com.cfive.pinnacle.entity.UserWork; import com.cfive.pinnacle.entity.UserWork;
import com.cfive.pinnacle.entity.Work; import com.cfive.pinnacle.entity.Work;
import com.cfive.pinnacle.entity.common.ResponseCode; import com.cfive.pinnacle.entity.common.ResponseCode;
import com.cfive.pinnacle.entity.common.ResponseResult; import com.cfive.pinnacle.entity.common.ResponseResult;
import com.cfive.pinnacle.service.IUserWorkService;
import com.cfive.pinnacle.service.IWorkService; import com.cfive.pinnacle.service.IWorkService;
import com.cfive.pinnacle.service.impl.UserWorkServiceImpl;
import com.cfive.pinnacle.service.impl.WorkServiceImpl;
import com.cfive.pinnacle.utils.WebUtil; import com.cfive.pinnacle.utils.WebUtil;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.time.LocalDateTime;
import java.util.List; import java.util.List;
/** /**
@@ -34,72 +27,87 @@ import java.util.List;
public class WorkController { public class WorkController {
@Autowired @Autowired
private IWorkService workService; private IWorkService workService;
@GetMapping @GetMapping
@PreAuthorize("hasAuthority('work:manage:get')")
public ResponseResult<List<Work>> getAll(String content) { public ResponseResult<List<Work>> getAll(String content) {
if (content != null) { if (content != null) {
List<Work> workList = workService.getWorkByContent(content); List<Work> workList = workService.getWorkByContent(content);
return ResponseResult.build(ResponseCode.DATABASE_SELECT_OK, "success",workList); return ResponseResult.databaseSelectSuccess(workList);
} else { } else {
return ResponseResult.build(ResponseCode.DATABASE_SELECT_OK, "success", workService.getAll()); return ResponseResult.databaseSelectSuccess(workService.getAll());
} }
} }
@GetMapping("/todo") @GetMapping("/todo")
@PreAuthorize("hasAuthority('work:self:get')")
public ResponseResult<List<Work>> getTodo() { public ResponseResult<List<Work>> getTodo() {
Long userId = WebUtil.getLoginUser().getUser().getId(); Long userId = WebUtil.getLoginUser().getUser().getId();
return ResponseResult.build(ResponseCode.DATABASE_SELECT_OK, "success", workService.getTodo(userId)); return ResponseResult.databaseSelectSuccess(workService.getTodo(userId));
} }
@GetMapping("/card") @GetMapping("/card")
public ResponseResult<List<Work>> getCard() { public ResponseResult<List<Work>> getCard() {
Long userId = WebUtil.getLoginUser().getUser().getId(); if (WebUtil.hasAuthority("work:self:home")) {
// long userId = 1; Long userId = WebUtil.getLoginUser().getUser().getId();
return ResponseResult.build(ResponseCode.DATABASE_SELECT_OK, "success", workService.getCard(userId)); return ResponseResult.databaseSelectSuccess(workService.getCard(userId));
}
return ResponseResult.databaseSelectSuccess(List.of());
} }
@GetMapping("/complete") @GetMapping("/complete")
@PreAuthorize("hasAuthority('work:self:get')")
public ResponseResult<List<Work>> getComplete() { public ResponseResult<List<Work>> getComplete() {
Long userId = WebUtil.getLoginUser().getUser().getId(); Long userId = WebUtil.getLoginUser().getUser().getId();
return ResponseResult.build(ResponseCode.DATABASE_SELECT_OK, "success", workService.getComplete(userId)); return ResponseResult.databaseSelectSuccess(workService.getComplete(userId));
} }
@GetMapping("/{workId}") @GetMapping("/{workId}")
@PreAuthorize("hasAuthority('work:self:detail') and hasAuthority('work:self:get')")
public ResponseResult<Work> getOne(@PathVariable Long workId) { public ResponseResult<Work> getOne(@PathVariable Long workId) {
return ResponseResult.build(ResponseCode.DATABASE_SELECT_OK, "success",workService.getOne(workId)); return ResponseResult.databaseSelectSuccess(workService.getOne(workId));
} }
@PostMapping @PostMapping
public ResponseResult<?> addWork(@RequestBody Work work) { @PreAuthorize("hasAuthority('work:manage:add')")
public ResponseResult<Work> addWork(@RequestBody Work work) {
work.setPublisherId(WebUtil.getLoginUser().getUser().getId()); work.setPublisherId(WebUtil.getLoginUser().getUser().getId());
if(workService.addWork(work)){ if (workService.addWork(work)) {
return ResponseResult.build(ResponseCode.DATABASE_SAVE_OK, "success", null); return ResponseResult.databaseSaveSuccess(work);
}else } else {
return ResponseResult.build(ResponseCode.DATABASE_SAVE_ERROR, "error", null); return ResponseResult.build(ResponseCode.DATABASE_SAVE_ERROR, "Add failed", null);
}
} }
@DeleteMapping("/{id}") @DeleteMapping("/{id}")
@PreAuthorize("hasAuthority('work:manage:delete')")
public ResponseResult<?> deleteById(@PathVariable Long id) { public ResponseResult<?> deleteById(@PathVariable Long id) {
if(workService.deleteByWorkId(id)){ if (workService.deleteByWorkId(id)) {
return ResponseResult.build(ResponseCode.DATABASE_DELETE_OK, "success", null); return ResponseResult.databaseDeleteSuccess();
}else } else {
return ResponseResult.build(ResponseCode.DATABASE_DELETE_ERROR, "error", null); return ResponseResult.build(ResponseCode.DATABASE_DELETE_ERROR, "Delete failed", null);
}
} }
@PutMapping("/set_status") @PutMapping("/setStatus")
public ResponseResult<?> updateStatus(@RequestBody UserWork userWork) { @PreAuthorize("hasAuthority('work:self:status') and hasAuthority('work:self:get')")
public ResponseResult<UserWork> updateStatus(@RequestBody UserWork userWork) {
userWork.setUserId(WebUtil.getLoginUser().getUser().getId()); userWork.setUserId(WebUtil.getLoginUser().getUser().getId());
if(workService.updateStatus(userWork)){ if (workService.updateStatus(userWork)) {
return ResponseResult.build(ResponseCode.DATABASE_UPDATE_OK, "success", null); return ResponseResult.databaseUpdateSuccess(userWork);
}else } else {
return ResponseResult.build(ResponseCode.DATABASE_UPDATE_ERROR, "error", null); return ResponseResult.build(ResponseCode.DATABASE_UPDATE_ERROR, "Update failed", null);
}
} }
@PutMapping @PutMapping
public ResponseResult<?> updateWork(@RequestBody Work work) { @PreAuthorize("hasAuthority('work:manage:modify')")
public ResponseResult<Work> updateWork(@RequestBody Work work) {
work.setPublisherId(WebUtil.getLoginUser().getUser().getId()); work.setPublisherId(WebUtil.getLoginUser().getUser().getId());
if(workService.updateWork(work)){ if (workService.updateWork(work)) {
return ResponseResult.build(ResponseCode.DATABASE_UPDATE_OK, "success", null); return ResponseResult.databaseUpdateSuccess(work);
}else } else {
return ResponseResult.build(ResponseCode.DATABASE_UPDATE_ERROR, "error", null); return ResponseResult.build(ResponseCode.DATABASE_UPDATE_ERROR, "Update failed", null);
}
} }
} }

View File

@@ -129,6 +129,7 @@ export default {
this.$refs.ruleForm.resetFields() this.$refs.ruleForm.resetFields()
}, },
cancel() { cancel() {
this.reset()
this.$emit('setDialogVisible', false) this.$emit('setDialogVisible', false)
} }
}, },

View File

@@ -19,24 +19,44 @@
<el-form-item label="用户ID"> <el-form-item label="用户ID">
<el-input v-model="form.userId" /> <el-input v-model="form.userId" />
</el-form-item> </el-form-item>
<el-link type="default" size="default" style="float: right">修改密码</el-link>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="性别"> <el-row>
<el-select placeholder="Select" size="large"> <el-col :span="12">
<el-option /> <el-form-item label="性别">
</el-select> <el-select v-model="form.gender" size="default" style="width: 90%">
</el-form-item> <el-option
<el-form-item label="生日"> v-for="gender in genders"
<el-date-picker /> :key="gender.value"
</el-form-item> :label="gender.label"
:value="gender.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="生日">
<el-date-picker
v-model="form.birth"
size="default"
placeholder="请选择日期"
/>
</el-form-item>
</el-col>
</el-row>
<el-form-item label="邮箱"> <el-form-item label="邮箱">
<el-input /> <el-input v-model="form.email" />
</el-form-item> </el-form-item>
<el-form-item label="手机号码"> <el-form-item label="手机号码">
<el-input /> <el-input v-model="form.tel" />
</el-form-item> </el-form-item>
<el-form-item label="联系地址"> <el-form-item label="联系地址">
<el-input /> <el-input v-model="form.address" />
</el-form-item>
<el-form-item style="float: right">
<el-button type="info">重置</el-button>
<el-button type="primary">保存</el-button>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@@ -45,11 +65,14 @@
</template> </template>
<script lang="ts"> <script lang="ts">
import request from '@/services'
export default { export default {
data() { data() {
return { return {
form: { form: {
userId: '', userId: '',
passwd: '',
firstName: '', firstName: '',
lastName: '', lastName: '',
gender: '', gender: '',
@@ -57,8 +80,37 @@ export default {
email: '', email: '',
tel: '', tel: '',
address: '' address: ''
} },
genders: [
{
label: '未知',
value: '0'
},
{
label: '男',
value: '1'
},
{
label: '女',
value: '2'
}
]
} }
},
methods: {
getFormData() {
request
.get('/user/info')
.then((response) => {
this.form = response.data.data.staff
})
.catch((reportError) => {
console.log(reportError)
})
}
},
created() {
this.getFormData()
} }
} }
</script> </script>