1
0
mirror of https://github.com/FatttSnake/Pinnacle-OA.git synced 2026-04-04 22:41:24 +08:00

add the function of updateNoticeType

This commit is contained in:
cccccyb
2023-05-24 03:47:59 +08:00
parent e339548797
commit 5a498a763f
9 changed files with 141 additions and 75 deletions

View File

@@ -4,6 +4,7 @@ import com.cfive.pinnacle.entity.NoticeType;
import com.cfive.pinnacle.entity.common.ResponseCode;
import com.cfive.pinnacle.entity.common.ResponseResult;
import com.cfive.pinnacle.service.INoticeTypeService;
import lombok.extern.slf4j.Slf4j;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
@@ -23,8 +24,8 @@ import java.util.List;
@RestController
@RequestMapping("/notice_type")
@CrossOrigin
@Slf4j
public class NoticeTypeController {
private final Logger LOGGER = LoggerFactory.getLogger(getClass());
@Autowired
INoticeTypeService noticeTypeService;
@@ -49,21 +50,19 @@ public class NoticeTypeController {
//修改公告类型启用或禁用
@GetMapping("/update")
public ResponseResult updateTypeEnableById(String typeId,Boolean enable){
public ResponseResult updateTypeEnableById(String typeId,Integer enable){
Long tid=null;
Integer isEnable = null;
if (StringUtils.hasText(typeId)&&null!=enable){
if (StringUtils.hasText(typeId)){
tid = Long.parseLong(typeId);
isEnable = (enable == true ? 1 : 0);
}
Boolean updateEnableById = noticeTypeService.updateTypeEnableById(tid, isEnable);
Boolean updateEnableById = noticeTypeService.updateTypeEnableById(tid, enable);
String msg = updateEnableById ? "" : "修改失败,请重试!";
return ResponseResult.build(updateEnableById ? ResponseCode.DATABASE_UPDATE_OK : ResponseCode.DATABASE_UPDATE_ERROR, msg, updateEnableById);
}
//添加公告类型
@PostMapping
public ResponseResult addNoticeType(NoticeType noticeType){
public ResponseResult addNoticeType(@RequestBody NoticeType noticeType){
Boolean insertNotice = noticeTypeService.addNoticeType(noticeType);
String msg = insertNotice ? "" : "数据添加失败,请重试!";
return ResponseResult.build(insertNotice ? ResponseCode.DATABASE_SAVE_OK : ResponseCode.DATABASE_SAVE_ERROR, msg, insertNotice);

View File

@@ -27,7 +27,9 @@ public class NoticeTypeServiceImpl extends ServiceImpl<NoticeTypeMapper, NoticeT
NoticeTypeMapper noticeTypeMapper;
@Override
public List<NoticeType> selectTypeList() {
return noticeTypeMapper.selectList(null);
LambdaQueryWrapper<NoticeType> lqw = new LambdaQueryWrapper<>();
lqw.orderByDesc(NoticeType::getId);
return noticeTypeMapper.selectList(lqw);
}
@Override

View File

@@ -40,11 +40,6 @@ public class NoticeTest {
ResponseResult selectByNoticeId = noticeController.selectByNoticeId(21L);
}
@Test
void selectAllTest() {
// ResponseResult noticeList = noticeController.selectAllNotice(null, null,null,null);
}
@Test
void updateTest() {
ResponseResult notice = noticeController.selectByNoticeId(23L);

View File

@@ -181,8 +181,6 @@ export default {
// 编辑操作
if (noticeStore.editFlag===true) {
this.addData = noticeStore.noticeShowData
// 判断是否置顶
this.addData.top=(noticeStore.noticeShowData.top===1);
}
},
mounted() {

View File

@@ -210,7 +210,6 @@ export default {
return new Date(data).toLocaleString()
},
handleEdit(row) {
console.log(row)
noticeStore.$patch((state) => {
state.hackReset = true
state.noticeShowData = row
@@ -228,7 +227,6 @@ export default {
})
},
handleShow(row) {
console.log(row)
noticeStore.$patch((state) => {
state.dialogShowVisible = true
state.noticeShowData = row

View File

@@ -16,14 +16,24 @@
</el-form>
</template>
<script lang="ts">
import { mapState } from 'pinia'
import { useNoticeTypeStore } from '@/store/notice'
const noticeTypeStore = useNoticeTypeStore()
export default {
name: 'NoticeTypeCommitForm',
computed: {
...mapState(useNoticeTypeStore, [
'noticeTypeList',
'dataLoading',
'addTypeData',
'editFlag',
'showTypeData'
])
},
data() {
return {
addTypeData: {
name: '',
enable: 1
},
typeRule: {
name: [
{ required: true, message: '请输入类型名称', trigger: 'blur' },
@@ -32,7 +42,13 @@ export default {
}
}
},
methods: {}
methods: {},
created() {
// 编辑操作
if (noticeTypeStore.editFlag === true) {
noticeTypeStore.addTypeData = this.showTypeData
}
}
}
</script>

View File

@@ -12,8 +12,7 @@
:header-cell-style="{
background: 'darksalmon',
'text-align': 'center',
color: '#fff',
'font-size': '20px'
color: '#fff'
}"
><el-table-column type="selection" width="65" align="center" />
<el-table-column type="index" label="序号" width="80" align="center" />
@@ -25,6 +24,8 @@
style="--el-switch-on-color: #13ce66; --el-switch-off-color: #afb2b8"
active-text="启用"
inactive-text="禁用"
:active-value="1"
:inactive-value="0"
@change="switchChang(scope.row.id, scope.row.enable)"
/>
</template>
@@ -34,10 +35,7 @@
<el-input v-model="search" size="default" placeholder="请输入关键字搜索" />
</template>
<template #default="scope">
<el-button
size="default"
type="primary"
@click="handleEdit(scope.$index, scope.row)"
<el-button size="default" type="primary" @click="handleOpenEditDialog(scope.row)"
>编辑</el-button
>
<el-button size="default" type="danger" @click="handleDeleteById(scope.row)"
@@ -61,18 +59,27 @@
>
</el-pagination>
</div>
<!-- 编辑会话框-->
<!-- <el-dialog-->
<!-- v-model="dialogEditVisible"-->
<!-- center-->
<!-- v-if="hackReset"-->
<!-- :before-close="handleDialogClose"-->
<!-- >-->
<!-- <template #header>-->
<!-- <h2 style="color: red">编辑公告</h2>-->
<!-- </template>-->
<!-- <commitForm />-->
<!-- </el-dialog>-->
<!-- 编辑公告类型会话框-->
<el-dialog
v-model="dialogEditTypeVisible"
center
v-if="hackReset"
:close-on-click-modal="false"
:before-close="closeEditForm"
>
<template #header>
<h2 style="color: red">编辑公告类型</h2>
</template>
<notice-type-commit-form ref="editForm" />
<template #footer>
<span class="dialog-footer">
<el-button type="primary" @click="submitEditForm" style="margin-right: 20px">
确定
</el-button>
<el-button @click="closeEditForm">取消</el-button>
</span>
</template>
</el-dialog>
</template>
<script lang="ts">
@@ -83,8 +90,15 @@ const noticeTypeStore = useNoticeTypeStore()
export default {
computed: {
...mapState(useNoticeStore, ['total', 'dialogEditVisible']),
...mapState(useNoticeTypeStore, ['noticeTypeList', 'dataLoading'])
...mapState(useNoticeTypeStore, [
'total',
'dialogEditTypeVisible',
'noticeTypeList',
'dataLoading',
'hackReset',
'showTypeData',
'addTypeData'
])
},
data() {
return {
@@ -107,12 +121,13 @@ export default {
noticeTypeStore.selectNoticeType()
}, 800)
},
handleEdit(index, row) {},
handleDialogClose() {
noticeStore.$patch((state) => {
state.dialogEditVisible = false
state.editFlag = false
state.hackReset = false
handleOpenEditDialog(row) {
noticeTypeStore.$patch((state) => {
state.hackReset = true
state.showTypeData.name = row.name
state.showTypeData.enable = row.enable
state.editFlag = true
state.dialogEditTypeVisible = true
})
},
handleDeleteById(deleteId) {
@@ -125,6 +140,23 @@ export default {
handleCurrentChange(currentPage) {
// currentPage当前第几页
noticeStore.selectAllNotice(parseInt(currentPage), this.pageSize)
},
submitEditForm() {
this.$refs.editForm.$refs.addTypeData.validate((valid) => {
if (valid) {
// noticeTypeStore.handleUpdateNoticeType(this.addTypeData)
} else {
return false
}
})
},
closeEditForm() {
noticeTypeStore.$patch((state) => {
state.dialogEditTypeVisible = false
state.editFlag = false
state.hackReset = false
state.addTypeData = { name: '', enable: 1 }
})
}
},
mounted() {

View File

@@ -21,16 +21,20 @@
v-model="dialogAddTypeVisible"
center
:close-on-click-modal="false"
destroy-on-close
v-if="hackReset"
:before-close="closeForm"
>
<template #header>
<h2 style="color: red">添加公告类型</h2>
</template>
<notice-type-commit-form />
<notice-type-commit-form ref="addForm" />
<template #footer>
<span class="dialog-footer">
<el-button>取消</el-button>
<el-button type="primary" @click="submitForm"> 确定 </el-button>
<el-button @click="resetForm" style="margin-right: 20px">重置</el-button>
<el-button type="primary" @click="submitForm" style="margin-right: 20px">
确定
</el-button>
<el-button @click="closeForm">取消</el-button>
</span>
</template>
</el-dialog>
@@ -50,7 +54,13 @@ const noticeTypeStore = useNoticeTypeStore()
export default {
name: 'NoticeTypeManage',
computed: {
...mapState(useNoticeTypeStore, ['dialogAddTypeVisible', 'editFlag'])
...mapState(useNoticeTypeStore, [
'dialogAddTypeVisible',
'dialogEditTypeVisible',
'editFlag',
'hackReset',
'addTypeData'
])
},
data() {
return {}
@@ -64,22 +74,31 @@ export default {
noticeTypeStore.selectNoticeType()
},
handleOpenAddDialog() {
noticeTypeStore.dialogAddTypeVisible = true
noticeTypeStore.$patch((state) => {
state.dialogAddTypeVisible = true
state.hackReset = true
})
},
submitForm() {
this.$refs.addTypeData.validate((valid) => {
this.$refs.addForm.$refs.addTypeData.validate((valid) => {
if (valid) {
if (this.editFlag) {
// 编辑操作
// noticeTypeStore.handleUpdateNoticeType(this.addTypeData)
} else {
// 添加操作
// noticeTypeStore.handleAddNoticeType(this.addTypeData)
}
noticeTypeStore.handleAddNoticeType(this.addTypeData)
} else {
return false
}
})
},
closeForm() {
noticeTypeStore.$patch((state) => {
state.dialogAddTypeVisible = false
state.dialogEditTypeVisible = false
state.hackReset = false
state.editFlag = false
state.addTypeData = { name: '', enable: 1 }
})
},
resetForm() {
this.$refs.addForm.$refs.addTypeData.resetFields()
}
},
mounted() {}

View File

@@ -61,12 +61,12 @@ export const useNoticeStore = defineStore('notice', {
noticeType: {
id: '',
name: '',
enable: 0
enable: 1
},
sender: {
id: '',
username: '',
enable: 0
enable: 1
},
senderId: '',
typeId: ''
@@ -95,12 +95,12 @@ export const useNoticeStore = defineStore('notice', {
noticeType: {
id: '',
name: '',
enable: 0
enable: 1
},
sender: {
id: '',
username: '',
enable: 0
enable: 1
},
senderId: '',
typeId: ''
@@ -177,6 +177,7 @@ export const useNoticeStore = defineStore('notice', {
await request.put('/notice', updateNotice).then((response) => {
if (response.data.code === 20023) {
this.dialogEditVisible = false
this.editFlag = false
ElMessage({
message: '修改成功.',
type: 'success'
@@ -222,18 +223,28 @@ export const useNoticeStore = defineStore('notice', {
export const useNoticeTypeStore = defineStore('notice_type', {
state: () => {
return {
total: 0,
dataLoading: true,
dialogAddTypeVisible: false,
dialogEditTypeVisible: false,
hackReset: true,
editFlag: false,
enableNoticeTypeList: [],
noticeTypeList: [
{
id: '',
name: '',
enable: true
enable: 1
}
],
addTypeData: {
name: '',
enable: 1
},
showTypeData: {
name: '',
enable: 1
}
]
}
},
actions: {
@@ -246,12 +257,7 @@ export const useNoticeTypeStore = defineStore('notice_type', {
await request.get('/notice_type').then((response) => {
if (response.data.code === 20021) {
this.noticeTypeList = response.data.data
if (response.data.data.length >= 0) {
for (let i = 0; i < this.noticeTypeList.length; i++) {
this.noticeTypeList[i].enable = response.data.data[i].enable === 1
}
this.dataLoading = false
}
} else {
this.dataLoading = false
ElMessage({
@@ -261,7 +267,7 @@ export const useNoticeTypeStore = defineStore('notice_type', {
}
})
},
async updateNoticeTypeEnable(typeId: string, enable: boolean) {
async updateNoticeTypeEnable(typeId: string, enable: number) {
await request
.get('/notice_type/update', {
typeId,
@@ -302,6 +308,7 @@ export const useNoticeTypeStore = defineStore('notice_type', {
await request.put('/notice_type', updateNotice).then((response) => {
if (response.data.code === 20023) {
this.dialogEditTypeVisible = false
this.editFlag = false
ElMessage({
message: '修改成功.',
type: 'success'