Commit 1bef16c6 authored by 沈翠玲's avatar 沈翠玲

消息中心

parent 3b4c7c75
......@@ -7,7 +7,19 @@ export const readMessage = (params) => {
export const pageMyMesage = (params) => {
return request.get('/message/pageMyMesage', params);
};
// 获取我的消息
// 发送消息
export const sendMesage = (params) => {
return request.post('/message/send', params);
return request.get('/message/send', params);
};
// 保存消息
export const saveMesage = (params) => {
return request.post('/message/save', params);
};
// 消息中心列表
export const pageMesage = (params) => {
return request.get('/message/page', params);
};
// 查看消息详情
export const showMessage = (params) => {
return request.get('/message/detail', params);
};
\ No newline at end of file
......@@ -112,7 +112,7 @@
}
};
const handleSearch = async (params) => {
const { result } = await getUserPage({ current: 1, size: 9999999 });
const { result } = await getUserPage({ current: 1, size: 9999999, ...params });
tableData.value = result.content;
};
onMounted(() => {
......
<template>
<div class="table-box">
<ProTable ref="proTable" :config="config" :api="pageMyMesage">
<ProTable ref="proTable" :config="config" :api="pageMesage">
<template #left_buttons>
<el-button type="primary" @click="addNotice()">信息发布</el-button>
</template>
......@@ -34,7 +34,7 @@
import { onMounted } from 'vue';
import { useRouter } from 'vue-router';
import sendNotice from './sendNotice.vue'
import { pageMyMesage } from '@/api/message';
import { pageMesage, showMessage, sendMesage } from '@/api/message';
import { useDict } from '@/hooks/useDict';
const { MessageStatus, SendType, MessageType, ServiceType, AuditStatus, CaseStatus, ReadStatus } = useDict("MessageStatus","ReadStatus","SendType", "MessageType", "ServiceType","AuditStatus", "CaseStatus");
const showModal = ref(false)
......@@ -44,17 +44,32 @@
const socketStore = useSocketStore();
const router = useRouter();
const showContent = (row) => {
currentRow.value = row
showMessage({id: row.id}).then(res => {
if (res.success) {
currentRow.value = res.result
showModal.value = true
}
const handleClick = (row) => {
if (row.serviceUrl) {
router.push(row.serviceUrl)
})
}
const handleEdit = (row) => {
showMessage({id: row.id}).then(res => {
if (res.success) {
sendNoticeRef.value?.openModal(res.result);
}
})
}
const handleSend= (row) => {
sendMesage({id: row.id}).then(res => {
if (res.success) {
ElMessage.success({
message: '发送成功',
plain: true,
});
query()
}
})
}
const addNotice = () => {
console.log('sendNoticeRef.value', sendNoticeRef.value)
sendNoticeRef.value?.openModal();
}
const config = reactive({
......@@ -189,7 +204,7 @@
{
field: 'code',
title: '操作',
width: 160,
width: 230,
slots: {
default: ({ row, rowIndex }) => {
return (
......@@ -197,8 +212,11 @@
<ElButton type="primary" onClick={() => showContent(row)}>
查看详情
</ElButton>
<ElButton type="primary" onClick={() => handleClick(row)}>
处理
<ElButton type="primary" onClick={() => handleEdit(row)}>
编辑
</ElButton>
<ElButton type="primary" onClick={() => handleSend(row)}>
发送
</ElButton>
</>
);
......
......@@ -24,9 +24,9 @@
<myEditor class="myEditor" @select="getRich" ref="childrenRef" :editValue="editValue" />
</el-form>
</div>
<div class="mb-5 w-full flex justify-end">
<div class="mb-5 w-full flex justify-end mt-2">
<el-button type="default" @click="showModal = false">取消</el-button>
<el-button type="primary" @click="submitForm">保存</el-button>
<el-button type="primary" @click="save">保存草稿箱</el-button>
</div>
</div>
</vxe-modal>
......@@ -42,13 +42,13 @@
import { inject, reactive } from 'vue';
import { getAppEnvConfig } from '@/utils/env';
import { useUserStore } from '@/stores/modules/user';
import { sendMesage } from '@/api/message';
import { sendMesage, saveMesage } from '@/api/message';
import myEditor from './myEditor.vue'
import UserModal from './UserModal.vue'
const emits = defineEmits(['success']);
const showModal = ref(false);
const userModalRef = ref(null);
const { PaymentForm, ContractStatus, FlowStatus } = useDict("PaymentForm", "ContractStatus", "FlowStatus");
const emits = defineEmits(['success']);
const props = defineProps({
mergerCase: String,
returnConfig: Array,
......@@ -69,9 +69,8 @@
ruleForm.receivers = row
ruleForm.username = row.map(v => v.username)
}
const submitForm = () => {
console.log('ruleForm', ruleForm)
sendMesage({
const save = () => {
saveMesage({
title: ruleForm.title,
content: ruleForm.content,
status: "normal",
......@@ -79,9 +78,8 @@
sendType: "user",
receiversIds: ruleForm.receivers.map(v => v.id)
}).then(res=> {
if(res.success) {
}
showModal.value = false;
emits('success');
})
}
const chooseUSER = () => {
......@@ -91,12 +89,22 @@
const getRich = function (value) {
ruleForm.content = value
}
const openModal = () => {
editValue.value = ""
const openModal = (row) => {
console.log('asdas', row)
if (row) {
ruleForm.content = row.content
editValue.value = row.content
ruleForm.title = row.title
ruleForm.receivers = []
ruleForm.username = ""
} else {
ruleForm.content = ""
editValue.value = ""
ruleForm.title = ""
ruleForm.receivers = []
ruleForm.username = ""
}
showModal.value = true;
};
defineExpose({
......
......@@ -25,7 +25,7 @@
import { ElMessageBox, ElMessage, ElTag } from 'element-plus';
import { onMounted } from 'vue';
import { useRouter } from 'vue-router';
import { pageMyMesage } from '@/api/message';
import { pageMyMesage, showMessage } from '@/api/message';
import { useDict } from '@/hooks/useDict';
const { MessageStatus, SendType, MessageType, ServiceType, AuditStatus, CaseStatus, ReadStatus } = useDict("MessageStatus","ReadStatus","SendType", "MessageType", "ServiceType","AuditStatus", "CaseStatus");
const showModal = ref(false)
......@@ -34,9 +34,12 @@
const socketStore = useSocketStore();
const router = useRouter();
const showContent = (row) => {
currentRow.value = row
showMessage({id: row.id}).then(res => {
if (res.success) {
currentRow.value = res.result
showModal.value = true
}
})
}
const handleClick = (row) => {
if (row.serviceUrl) {
......
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