import { getDynamicList, meetingCollection, updateMeetingTask } from "../../api/request"; import { getCreateShowTime, uniqueObject } from "../../utils/utils"; import create from 'dd-store'; create.Component({ mixins: [], data: { traceTime: '1970-03-01 00:00:00', isStopBodyScroll: false, dynamicList: [], current: 1, pages: 1, size: 10, noData: false, loading: true }, props: {}, didMount() { this.getPages(1); }, didUpdate() { }, didUnmount() { }, methods: { setBodyDisableScroll(isStopBodyScroll) { this.setData({ isStopBodyScroll }) }, //点击页面关闭侧滑模块 closeSwipe() { if (this.$store.closeActiveSwipe) { this.$store.closeActiveSwipe() } }, getPages(current) { getDynamicList({ current, size: 10 }).then(res => { if (!res.data.data) { this.setData({ loading: false }) return; } // 第一层日程数据处理 const dynamicList = res.data.data.records.map((item, index) => { // 第二层日程下的动态数据处理 let meetingLogDataList = {}; let meetingLogDataListArr = []; for (let i = 0; i < item.meetingLogDataList.length; i++) { if (item.meetingLogDataList[i].creatorInfo) { item.meetingLogDataList[i].creatorInfo = JSON.parse( item.meetingLogDataList[i].creatorInfo ); } if (item.meetingLogDataList[i].createTime) { item.meetingLogDataList[i].createTime = getCreateShowTime( item.meetingLogDataList[i].createTime ); } let itemData = item.meetingLogDataList[i].meetingLogResource; if (itemData) { if (itemData.taskInfos || itemData.fileInfos) { if (itemData.creatorInfo) { itemData.creatorInfo = JSON.parse(itemData.creatorInfo); } if (itemData.fileInfos) { itemData.fileInfos = JSON.parse(itemData.fileInfos); } if (itemData.taskInfos) { itemData.taskInfos = JSON.parse(itemData.taskInfos); } if (itemData.acceptorInfo) { itemData.acceptorInfo = JSON.parse(itemData.acceptorInfo); } } } } return { scheduleId: item.scheduleId, title: item.title, traceTime: item.traceTime, meetingLogDataList: item.meetingLogDataList }; }); //第一页数据会重新请求需要替换 if (current === 1) { this.setData({ dynamicList }); } else { const newDynamicList = this.data.dynamicList.concat(dynamicList); this.setData({ dynamicList: newDynamicList }); } this.setData({ loading: false, current: res.data.data.current, pages: res.data.data.pages, }); }); }, changeCollection(e) { const { index, scheduleId, collection } = e.target.dataset; meetingCollection({ scheduleId, collection }).then(res => { //取消置顶 if (collection === "N") { // 重新获取第一页的数据 this.getPages(1); } else { //置顶 const dynamicList = this.data.dynamicList; const replaceItem = dynamicList[index]; dynamicList[index].traceTime = res.data.data; dynamicList.splice(index, 1); dynamicList.unshift(replaceItem); this.setData({ dynamicList: dynamicList }); } }); }, onScrollToLower() { if (this.data.current < this.data.pages) { this.getPages(this.data.current + 1); } }, onChangeTaskStatusOnList(e) { let that = this; let data = { groupId: e.groupId, scheduleId: e.scheduleId, resourceType: "task", creatorId: getApp().globalData.userid, creatorInfo: getApp().globalData.userInfo, id: e.id, logType: "task_status_modify", taskStatus: e.status }; updateMeetingTask(data).then(res => { if (res.data.code === 0) { let dataIndex1 = ""; let dataIndex2 = ""; that.data.dynamicList.map((item, index) => { if (item.scheduleId === e.scheduleId) { dataIndex1 = index; item.meetingLogDataList.map((it, index2) => { if (it.meetingLogResource.id == e.id) { dataIndex2 = index2; } }); } }); let setData = `dynamicList[${dataIndex1}].meetingLogDataList[${dataIndex2}].meetingLogResource.taskStatus`; that.setData({ [setData]: e.status }); } }); }, nextPage(event) { console.log(event.currentTarget.dataset.item) dd.navigateTo({ url: `./../meetingDetail/meetingDetail?scheduleItem=${JSON.stringify(event.currentTarget.dataset.item)}` }); }, } });