diff --git a/package-lock.json b/package-lock.json index 50f55a04..362d4de6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -16,6 +16,7 @@ "element-resize-detector": "^1.2.4", "html2canvas": "^1.4.1", "jquery": "^3.6.1", + "mitt": "^3.0.0", "qrcode.vue": "^3.3.3", "qs": "^6.11.0", "sortablejs": "^1.15.0", @@ -8052,6 +8053,11 @@ "node": ">=8" } }, + "node_modules/mitt": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/mitt/-/mitt-3.0.0.tgz", + "integrity": "sha512-7dX2/10ITVyqh4aOSVI9gdape+t9l2/8QxHrFmUXu4EEUpdlxl6RudZUPZoc+zuY2hk1j7XxVroIVIan/pD/SQ==" + }, "node_modules/mkdirp": { "version": "0.5.6", "resolved": "https://registry.npmmirror.com/mkdirp/-/mkdirp-0.5.6.tgz", @@ -18237,6 +18243,11 @@ "yallist": "^4.0.0" } }, + "mitt": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/mitt/-/mitt-3.0.0.tgz", + "integrity": "sha512-7dX2/10ITVyqh4aOSVI9gdape+t9l2/8QxHrFmUXu4EEUpdlxl6RudZUPZoc+zuY2hk1j7XxVroIVIan/pD/SQ==" + }, "mkdirp": { "version": "0.5.6", "resolved": "https://registry.npmmirror.com/mkdirp/-/mkdirp-0.5.6.tgz", diff --git a/package.json b/package.json index 64e53703..3518312a 100644 --- a/package.json +++ b/package.json @@ -16,6 +16,7 @@ "element-resize-detector": "^1.2.4", "html2canvas": "^1.4.1", "jquery": "^3.6.1", + "mitt": "^3.0.0", "qrcode.vue": "^3.3.3", "qs": "^6.11.0", "sortablejs": "^1.15.0", diff --git a/src/components/drawers/NoticeHis.vue b/src/components/drawers/NoticeHis.vue index f7b4334f..2970dbfb 100644 --- a/src/components/drawers/NoticeHis.vue +++ b/src/components/drawers/NoticeHis.vue @@ -17,6 +17,7 @@ import { reactive, toRefs, onMounted } from "vue"; import { getTask } from "../../api/indexTaskadd"; import { noticeList } from "../../api/indexNotice"; +import emitter from "../../utils/bus"; // import { toDate } from "../../api/method"; export default { name: "NoticeHis", @@ -47,6 +48,11 @@ export default { //下一步是把公告赋值给state.notice }); }; + //获取公告历史 + emitter.on("setNotice", (data) => { + console.log("setNotice", data); + getNotice(); + }); const setNoticeData = (tableData) => { let data = tableData; let array = []; diff --git a/src/components/drawers/NoticePub.vue b/src/components/drawers/NoticePub.vue index e98f695e..550a24c0 100644 --- a/src/components/drawers/NoticePub.vue +++ b/src/components/drawers/NoticePub.vue @@ -30,6 +30,7 @@ import { reactive, toRefs, onMounted } from "vue"; import { getTask } from "../../api/indexTaskadd"; // import { editProj } from "../../api/indexTaskadd"; import { publishNotice } from "../../api/indexNotice"; +import emitter from "../../utils/bus"; export default { name: "NoticePub", props: { @@ -68,6 +69,7 @@ export default { message.destroy(); message.success("发布成功", res); state.noticeContent = ""; + emitter.emit("setNotice", false); }) .catch((err) => { message.destroy(); diff --git a/src/utils/bus.js b/src/utils/bus.js new file mode 100644 index 00000000..af80d4a9 --- /dev/null +++ b/src/utils/bus.js @@ -0,0 +1,6 @@ +//用于公告和公告历史兄弟组件 +import mitt from "mitt"; + +const emitter = mitt() + +export default emitter \ No newline at end of file