import create from 'dd-store'; import pageStore from '../meetingDetail/store'; import { debounce, getCreateShowTime } from '../../utils/utils'; import { checkFullScren } from "../../utils/checkFullScren"; import { updateMeetingTask } from '../../api/request'; import { fixSeperateIndex } from "../meetingDetail/meetingDetail" create.Page({ store: pageStore, data: { $data: null, currentTask: {}, show: false, isIPX: false, limitClick: false, type: 'create' }, onLoad(query) { if (query.type === 'edit') { dd.setNavigationBar({ title: '编辑任务' }); } this.setData({ meetingId: query.meetingId, type: query.type, isIPX: checkFullScren() }) }, inputChange: debounce(function (e) { const value = e.detail.value; this.store.data.currentTask.title = value; this.update(); }, 100), handleExcutorChange(e) { //执行人页面删除执行人 if (e.target.dataset.excutorId) { dd.navigateTo({ url: `/pages/excutorList/excutorList` }) } //参会人列表页面选择参会人 else { dd.navigateTo({ url: `/pages/attendeeList/attendeeList` }) } }, handleOpenTime() { const _that = this dd.datePicker({ format: 'yyyy-MM-dd HH:mm', currentDate: this.$store.data.startTime, success: (res) => { if (!res.date) { return } _that.store.data.currentTask.endTime = `${res.date}:00` _that.update() }, }); // this.setData({ // show: true // }) }, closePopup() { this.setData({ show: false }) }, onComplete(event) { this.store.data.currentTask.startTime = `${event.startTime}:00`; this.store.data.currentTask.endTime = `${event.endTime}:00`; this.update(); this.closePopup(); }, updateTasks(data, callBack) { updateMeetingTask(data).then(res => { if (res.data.code == 0) { callBack(res.data) } this.setData({ limitClick: false }); }) }, addTask() { const task = this.store.data.currentTask; if (this.data.limitClick || !(task.title.trim())) { return } this.setData({ limitClick: true }); const excutor = task.excutorId ? [task.excutor] : null; let taskCreateModel = { endTime: task.endTime ? task.endTime.replace(/\//g, '-') : '', title: task.title, innerTaskExecutorList: excutor } const data = { meetingId: this.data.meetingId, platform: 'dingTalk', } if (this.data.type === 'edit') { delete taskCreateModel.innerTaskExecutorList; taskCreateModel.taskId = task.taskId taskCreateModel.commentId = task.commentId if (excutor) { if (task.originExcutorId) { if (task.originExcutorId !== excutor[0].userId) { taskCreateModel.userList = excutor; taskCreateModel.removeUserList = [task.originExcutor] } } else { taskCreateModel.userList = excutor; } } else { if (task.originExcutorId) { taskCreateModel.removeUserList = [task.originExcutor] } } data.taskModifyModel = taskCreateModel; //是否发送通知 dd.confirm({ title: '通知', content: '是否更新动态列表通知其他成员?', confirmButtonText: '通知', cancelButtonText: '不通知', success: (ret) => { if (ret.confirm) { data.notice = true; this.updateTasks(data, (res) => { if (res.data) { const affairListIndex = this.store.data.affairList.findIndex(it => it.commentId === data.taskModifyModel.commentId) const tasksIndex = this.store.data.tasks.findIndex(it => it.commentId === data.taskModifyModel.commentId) const deleteData = this.store.data.affairList.splice(affairListIndex, 1); this.store.data.tasks.splice(tasksIndex, 1) const addData = res.data[0].commentListDataModelList[0]; addData.replyCommentList = deleteData[0].replyCommentList; addData.updateTime = getCreateShowTime(addData.updateTime); this.store.data.affairList.unshift(addData); this.store.data.tasks.unshift(addData); this.store.data.isNeedReloadIndexList = true; if (affairListIndex > this.store.data.separateIndex && this.store.data.separateIndex !== -1) { this.store.data.separateIndex += 1; this.store.data.separateIndex = fixSeperateIndex(this.store.data.separateIndex, this.store.data.affairList) } //重置 this.store.data.currentTask = {}; this.update(); dd.navigateBack(); } }) } else { data.notice = false; this.updateTasks(data, (res) => { const updateAffair = this.store.data.affairList.find(it => it.commentId === data.taskModifyModel.commentId); const updateTask = this.store.data.tasks.find(it => it.commentId === data.taskModifyModel.commentId); updateAffair.meetingTaskSimpleViewModel.title = updateTask.title = taskCreateModel.title; updateAffair.meetingTaskSimpleViewModel.endTime = updateTask.endTime = taskCreateModel.endTime; updateAffair.meetingTaskSimpleViewModel.executor = updateTask.excutor = excutor; this.update(); dd.navigateBack(); }) } } }) } else { data.taskCreateModel = taskCreateModel this.updateTasks(data, (res) => { // 修改动态列表 if (res.data) { const addData = res.data[0].commentListDataModelList[0]; addData.updateTime = getCreateShowTime(addData.updateTime); this.store.data.affairList.unshift(addData); this.store.data.tasks.unshift(addData); this.store.data.isNeedReloadIndexList = true; if (this.store.data.separateIndex !== -1) { this.store.data.separateIndex += 1; } this.store.data.currentTask = {}; this.update(); dd.navigateBack(); } }) } } });