no message

This commit is contained in:
kuaifan 2022-06-06 11:52:20 +08:00
parent 2c373c388c
commit 2f76e932b0
3 changed files with 66 additions and 51 deletions

View File

@ -308,22 +308,10 @@
</Modal> </Modal>
<!--任务详情--> <!--任务详情-->
<Modal <TaskModal ref="taskModal"/>
:value="taskId > 0"
:styles="{
width: '90%',
maxWidth: taskData.dialog_id ? '1200px' : '700px'
}"
:mask-closable="false"
:footer-hide="true"
@on-visible-change="taskVisibleChange">
<div class="page-manage-task-modal">
<TaskDetail ref="taskDetail" :task-id="taskId" :open-task="taskData" modalMode/>
</div>
</Modal>
<!--聊天窗口移动端--> <!--聊天窗口移动端-->
<DialogModal/> <DialogModal ref="dialogModal"/>
<!--工作报告--> <!--工作报告-->
<DrawerOverlay <DrawerOverlay
@ -371,38 +359,34 @@
<script> <script>
import { mapState, mapGetters } from 'vuex' import { mapState, mapGetters } from 'vuex'
import TaskDetail from "./manage/components/TaskDetail";
import ProjectArchived from "./manage/components/ProjectArchived"; import ProjectArchived from "./manage/components/ProjectArchived";
import TeamManagement from "./manage/components/TeamManagement"; import TeamManagement from "./manage/components/TeamManagement";
import ProjectManagement from "./manage/components/ProjectManagement"; import ProjectManagement from "./manage/components/ProjectManagement";
import DrawerOverlay from "../components/DrawerOverlay"; import DrawerOverlay from "../components/DrawerOverlay";
import DragBallComponent from "../components/DragBallComponent";
import MobileTabbar from "../components/Mobile/Tabbar"; import MobileTabbar from "../components/Mobile/Tabbar";
import UserInput from "../components/UserInput"; import UserInput from "../components/UserInput";
import TaskAdd from "./manage/components/TaskAdd"; import TaskAdd from "./manage/components/TaskAdd";
import Report from "./manage/components/Report"; import Report from "./manage/components/Report";
import notificationKoro from "notification-koro1";
import {Store} from "le5le-store";
import MobileBack from "../components/Mobile/Back"; import MobileBack from "../components/Mobile/Back";
import TaskMenu from "./manage/components/TaskMenu";
import MobileNotification from "../components/Mobile/Notification"; import MobileNotification from "../components/Mobile/Notification";
import MeetingManager from "./manage/components/MeetingManager"; import MeetingManager from "./manage/components/MeetingManager";
import longpress from "../directives/longpress"; import longpress from "../directives/longpress";
import DialogModal from "./manage/components/DialogModal"; import DialogModal from "./manage/components/DialogModal";
import TaskModal from "./manage/components/TaskModal";
import notificationKoro from "notification-koro1";
import {Store} from "le5le-store";
export default { export default {
components: { components: {
TaskModal,
DialogModal, DialogModal,
MeetingManager, MeetingManager,
MobileNotification, MobileNotification,
TaskMenu,
MobileBack, MobileBack,
MobileTabbar, MobileTabbar,
UserInput, UserInput,
TaskAdd, TaskAdd,
TaskDetail,
Report, Report,
DragBallComponent,
DrawerOverlay, DrawerOverlay,
ProjectManagement, ProjectManagement,
TeamManagement, TeamManagement,
@ -504,7 +488,6 @@ export default {
'cacheDialogs', 'cacheDialogs',
'cacheProjects', 'cacheProjects',
'projectTotal', 'projectTotal',
'taskId',
'wsOpenNum', 'wsOpenNum',
'columnTemplate', 'columnTemplate',
@ -519,7 +502,7 @@ export default {
'dialogIns', 'dialogIns',
]), ]),
...mapGetters(['taskData', 'dashboardTask']), ...mapGetters(['dashboardTask']),
routeName() { routeName() {
return this.$route.name return this.$route.name
@ -897,9 +880,8 @@ export default {
} else if (e.keyCode === 75 || e.keyCode === 78) { } else if (e.keyCode === 75 || e.keyCode === 78) {
e.preventDefault(); e.preventDefault();
this.onAddMenu('task') this.onAddMenu('task')
} else if (e.keyCode === 83 && this.taskId > 0) { } else if (e.keyCode === 83 && this.$refs.taskModal.checkUpdate()) {
e.preventDefault(); e.preventDefault();
this.$refs.taskDetail.checkUpdate(true)
} }
} }
}, },
@ -975,12 +957,6 @@ export default {
} }
}, },
taskVisibleChange(visible) {
if (!visible) {
this.openTask(0)
}
},
getReportUnread(timeout) { getReportUnread(timeout) {
this.reportUnreadTimeout && clearTimeout(this.reportUnreadTimeout) this.reportUnreadTimeout && clearTimeout(this.reportUnreadTimeout)
this.reportUnreadTimeout = setTimeout(() => { this.reportUnreadTimeout = setTimeout(() => {

View File

@ -1,6 +1,6 @@
<template> <template>
<Modal <Modal
v-model="show" :value="show"
:mask="false" :mask="false"
:mask-closable="false" :mask-closable="false"
:footer-hide="true" :footer-hide="true"
@ -40,40 +40,27 @@ body {
} }
} }
</style> </style>
<script>
<script>
import {mapState} from "vuex"; import {mapState} from "vuex";
import DialogWrapper from "./DialogWrapper"; import DialogWrapper from "./DialogWrapper";
export default { export default {
name: "DialogModal", name: "DialogModal",
components: {DialogWrapper}, components: {DialogWrapper},
data() {
return {
show: false
}
},
computed: { computed: {
...mapState(['dialogId']) ...mapState(['dialogId']),
},
watch: { show() {
dialogId: { return this.dialogId > 0 && this.windowSmall
handler(id) {
this.show = id > 0 && this.windowSmall;
},
immediate: true
},
windowSmall(small) {
this.show = this.dialogId > 0 && small;
} }
}, },
methods: { methods: {
onBeforeClose() { onBeforeClose() {
return new Promise(_ => { return new Promise(_ => {
this.$store.state.dialogId = 0; this.$store.dispatch("openDialog", 0)
}) })
}, },
} }

View File

@ -0,0 +1,52 @@
<template>
<Modal
:value="show"
:styles="styles"
:mask-closable="false"
:footer-hide="true"
:beforeClose="onBeforeClose">
<div class="page-manage-task-modal">
<TaskDetail ref="taskDetail" :task-id="taskId" :open-task="taskData" modalMode/>
</div>
</Modal>
</template>
<script>
import {mapGetters, mapState} from "vuex";
import TaskDetail from "./TaskDetail";
export default {
name: "TaskModal",
components: {TaskDetail},
computed: {
...mapState(['taskId']),
...mapGetters(['taskData']),
show() {
return this.taskId > 0
},
styles() {
return {
width: '90%',
maxWidth: this.taskData.dialog_id ? '1200px' : '700px'
}
}
},
methods: {
onBeforeClose() {
return new Promise(_ => {
this.$store.dispatch("openTask", 0)
})
},
checkUpdate() {
if (this.show) {
this.$refs.taskDetail.checkUpdate(true);
return true;
}
}
}
}
</script>