Commit 77a4eea8 by fengzhaoyu

fix:"弹窗整理"

parent 4424e79b
...@@ -49,7 +49,7 @@ ...@@ -49,7 +49,7 @@
<view class="iconicon_attender iconfont icon {{$data.showParticipatorList.length>1 ? '' : 'noValueIcon'}}"> <view class="iconicon_attender iconfont icon {{$data.showParticipatorList.length>1 ? '' : 'noValueIcon'}}">
</view> </view>
<view class="participatorContaint"> <view class="participatorContaint">
<view class="participatorText" a:if="{{$data.showParticipatorList.length < 2}}" catchTap="handleAddParticipator" data-type='participator'> <view class="participatorText" a:if="{{$data.showParticipatorList.length < 2}}" catchTap="handleAddParticipator">
添加参会人 添加参会人
</view> </view>
<view class="participatorList" a:else> <view class="participatorList" a:else>
...@@ -71,7 +71,7 @@ ...@@ -71,7 +71,7 @@
</view> </view>
<view class="name">{{item.name}}</view> <view class="name">{{item.name}}</view>
</view> </view>
<view class="addPeople iconfont iconicon_add1" catchTap="showPopup" data-type='participator'></view> <view class="addPeople iconfont iconicon_add1" catchTap="handleAddParticipator"></view>
</view> </view>
</view> </view>
</view> </view>
......
...@@ -70,38 +70,10 @@ create.Page({ ...@@ -70,38 +70,10 @@ create.Page({
this.update(); this.update();
// 修改动态列表 // 修改动态列表
this.store.data.affairList.unshift({ for (let i = 0; i < res.data.data.length; i++) {
"readFlag": 1,
"commentType": "task", this.store.data.affairList.unshift(res.data.data[i].commentListDataModelList[i])
"creator": { }
"identify": "xiexiaoqin@mingwork.club",
"name": "xiaoqin xie",
"avatar": "https://lh4.googleusercontent.com/-dTkgbJpeQjc/AAAAAAAAAAI/AAAAAAAAAAA/AMZuuckZAY9cef_56Gw_ZglfiXjMmP8pQw/photo.jpg",
"email": "xiexiaoqin@mingwork.club",
"platform": "google",
"userId": "1296022611180703745",
"orgId": null
},
"fileDetailList": null,
"meetingTaskSimpleViewModel": {
"title": "测试不要当真",
"processState": "undetermined",
"executor": [],
"taskId": "e9ec94ea7b7665551f295188fbf01409",
"createTime": "2020-09-27 16:40:09",
"startTime": null,
"endTime": null
},
"commentCategory": "task_create",
"remark": null,
"notes": null,
"replyCommentList": null,
"actionLog": null,
"commentId": "1c41d0c3ca611a79e82a124e04f31928",
"createTime": "2020-09-27 15:40:09",
"updateTime": "2020-09-27 15:40:09",
"parentId": "-1"
})
dd.navigateBack(); dd.navigateBack();
} }
this.setData({ limitClick: false }); this.setData({ limitClick: false });
......
/*
comShareData { // export const comShareData = {
isShow: false, 是否展示 默认不展示 // shareTitle: '分享到',
shareDataList: [{}] 展示的数据 // isShow: false,
} // shareDataList: [
临时只做demo展示 并没有实际功能 // { id: 0, text: '钉钉', imageUrl: '../../assests/dingContact.png' },
*/ // { id: 1, text: '微信', imageUrl: '../../assests/weiXin.png' }
export const comShareData = { // ]
shareTitle: '分享到', // }
isShow: false,
shareDataList: [
{ id: 0, text: '钉钉', imageUrl: '../../assests/dingContact.png' },
{ id: 1, text: '微信', imageUrl: '../../assests/weiXin.png' }
]
}
\ No newline at end of file
export const fileSelectPopup = {
show: false, export const aheadTimeList = [
list: [ { id: -1, text: '不提醒', icon: 'iconicon_cycle' },
{ text: "本地", type: 'oss' }, { id: 0, text: '会议开始时提醒', icon: '' },
{ text: "钉盘", type: 'dd' }, { id: 5, text: '提前5分钟提醒', icon: '' },
] { id: 15, text: '提前15分钟提醒', icon: '' },
} { id: 30, text: '提前30分钟提醒', icon: '' },
\ No newline at end of file { id: 60, text: '提前一小时提醒', icon: '' },
{ id: 120, text: '提前二小时提醒', icon: '' },
{ id: 1440, text: '提前一天提醒', icon: '' },
{ id: 105120, text: '提前一周提醒', icon: '' }
]
export const participateStatusList = [{ text: '仅参加此次会议', id: 'only', value: 1 }, { text: '参加所有会议', id: 'all', value: 1 }]
export const noParticipateStatusList = [{ text: '不参加此次会议', id: 'only', value: 0 }, { text: '不参加所有会议', id: 'all', value: 0 }]
export const centerPopupList = [
{ id: "N", text: '不发送通知' },
{ id: "Y", text: '发送通知' }
]
export const editSaveList = [{ text: '仅保存此会议', id: 'only' }, { text: '保存此次及以后会议', id: 'future' }]
...@@ -103,33 +103,33 @@ ...@@ -103,33 +103,33 @@
</view> </view>
<!--<view onTap="goTasksPage">{{tasks.length}} 个任务</view><view onTap="goFilesPage">{{files.length}} 个附件</view> --> <!--<view onTap="goTasksPage">{{tasks.length}} 个任务</view><view onTap="goFilesPage">{{files.length}} 个附件</view> -->
<!-- 删除该会议 --> <!-- 删除该会议 -->
<template is="deleteBtn" onhandleDelete="" data="{{title: '删除该会议' }}"/> <template is="deleteBtn" onhandleDelete="handleDelete" data="{{title: '删除该会议' }}"/>
</view> </view>
<!-- 底部导航栏 --> <!-- 底部导航栏 -->
<view class="footNav"> <view class="footNav">
<view class="footNavTop" a:if="{{!isExpand&&$data.participatorList.length>1}}"> <view class="footNavTop" a:if="{{!isExpand && $data.showParticipatorList.length > 1}}">
<!-- 待定状态 --> <!-- 待定状态 -->
<view class="originStaus" a:if="{{confirmAttendance === -9}}"> <view class="originStaus" a:if="{{confirmAttendance === -9}}">
<view catchTap="participate"> <view catchTap="handleParticipate">
<text class="iconfont iconicon_Agreed1"></text> <text class="iconfont iconicon_Agreed1"></text>
<text class="participateText">参加</text> <text class="participateText">参加</text>
</view> </view>
<text class="devider"></text> <text class="devider"></text>
<view catchTap="noParticipate"> <view catchTap="handleNoParticipate">
<text class="iconfont iconicon_noAgreed1"></text> <text class="iconfont iconicon_noAgreed1"></text>
<text class="participateText">不参加</text> <text class="participateText">不参加</text>
</view> </view>
</view> </view>
<!--参加状态--> <!--参加状态-->
<view class="participateStatus" a:if="{{confirmAttendance === 1}}"> <view class="participateStatus" a:if="{{confirmAttendance === 1}}">
<view class="remind" catchTap="showPopup" data-type="aheadTime"> <view class="remind" catchTap="handleAheadTime" data-type="aheadTime">
<text class="iconfont iconicon_time1"></text> <text class="iconfont iconicon_time1"></text>
<text class="remindTimeContaint" a:if="{{aheadTimes.length}}"> <text class="remindTimeContaint" a:if="{{aheadTime.aheadTimes.length}}">
<block class="remindTime" decode="{{true}}" a:for="{{comListData.aheadTimesList}}" a:if="{{aheadTimes.includes(item.id)}}"> <block class="remindTime" decode="{{true}}" a:for="{{aheadTime.aheadTimeList}}" a:if="{{aheadTime.aheadTimes.includes(item.id)}}">
{{item.text}}{{' '}} {{item.text}}{{' '}}
</block> </block>
</text> </text>
<text class="noRemind" a:if="{{!aheadTimes.length}}">不提醒</text> <text class="noRemind" a:if="{{!aheadTime.aheadTimes.length}}">不提醒</text>
<text class="iconfont iconicon_share"></text> <text class="iconfont iconicon_share"></text>
</view> </view>
<text class="devider"></text> <text class="devider"></text>
...@@ -163,10 +163,11 @@ ...@@ -163,10 +163,11 @@
<view class="tabBarBottom" a:if="{{isIPX}}"> <view class="tabBarBottom" a:if="{{isIPX}}">
</view> </view>
</view> </view>
<selectpopup showSelectPopup="{{fileSelectPopup.show}}" selectPopupList="{{fileSelectPopup.list}}" onSelectPopup="fileSelectPopup" onSelectPopupCancel="closeFileSelectPopup"></selectpopup> <selectpopup showSelectPopup="{{selectPopup.show}}" selectPopupList="{{selectPopup.list}}" onSelectPopup="selectParticipateStatus" onSelectPopupCancel="handleSelectPopupCancel"></selectpopup>
<centerpopup centerPopup="{{centerPopup.showCenterPopup}}" centerPopupList="{{centerPopup.centerPopupList}}" onSelectSend="onSelectSend"></centerpopup> <selectpopup a:if="{{selectPopup.type === 'participateState'}}" showSelectPopup="{{selectPopup.show}}" selectPopupList="{{selectPopup.list}}" onSelectPopup="selectParticipateStatus" onSelectPopupCancel="handleSelectPopupCancel"></selectpopup>
<selectpopup a:if="{{selectPopup.type === 'modify_location'}}" showSelectPopup="{{selectPopup.show}}" selectPopupList="{{selectPopup.list}}" onSelectPopup="selectSavePlaceStatus" onSelectPopupCancel="handleSelectPopupCancel"></selectpopup>
<centerpopup a:if="{{centerPopup.type === 'modify_location'}}" centerPopup="{{centerPopup.show}}" centerPopupList="{{centerPopup.list}}" onSelectSend="selectPlaceNeedNotice"></centerpopup>
<toast showToast="{{conToastData.showToast}}" title="{{conToastData.title}}" onToastHidden="onToastHidden"></toast> <toast showToast="{{conToastData.showToast}}" title="{{conToastData.title}}" onToastHidden="onToastHidden"></toast>
<selectpopup showSelectPopup="{{conSelectPopupData.showSelectPopup}}" selectPopupList="{{conSelectPopupData.selectType==='noParticipateStatus' ? conSelectPopupData.noParticipateStatusList : conSelectPopupData.selectType==='delSheudle' ? conSelectPopupData.delSheudleList : (conSelectPopupData.selectType === 'participateStatus' ? conSelectPopupData.participateStatusList : conSelectPopupData.editSaveList)}}" onSelectPopup="onSelectPopup" onSelectPopupCancel="onSelectPopupCancel"></selectpopup>
<!-- 动态列表 --> <!-- 动态列表 -->
<import src="../../template/avater/index.axml"/> <import src="../../template/avater/index.axml"/>
<import src="../../template/affairBlank/index.axml"/> <import src="../../template/affairBlank/index.axml"/>
...@@ -203,14 +204,15 @@ ...@@ -203,14 +204,15 @@
<view class="loading-more" onTap="loadAffairMore" a:if="{{current < pages}}">点击加载更多动态...</view> <view class="loading-more" onTap="loadAffairMore" a:if="{{current < pages}}">点击加载更多动态...</view>
</block> </block>
<view a:else></view> <view a:else></view>
<popup title="{{popup.title}}" show="{{popup.show}}" mask="true" onClose="closePopup1"> <popup title="{{popup.title}}" show="{{popup.show}}" mask="true" onClose="closePopup">
<remark a:if="{{popup.type == 'remarkModal'}}" onGetRemark="getRemark"/>
<list a:if="{{popup.type=='repeat'}}" dataComList="{{repeat.repeatList}}" onComSelectList="selectRepeatListItem"></list> <list a:if="{{popup.type=='repeat'}}" dataComList="{{repeat.repeatList}}" onComSelectList="selectRepeatListItem"></list>
<meeting-time-picker a:if="{{'time' === popup.type}}" startTime="{{$data.startTime}}" endTime="{{$data.endTime}}" onComplete="onComplete" isIPX="{{isIPX}}"></meeting-time-picker></popup> <notes a:if="{{popup.type == 'notesModal'}}" isEdit="{{true}}" onGetNotes="getNotes"/>
<meeting-time-picker a:if="{{'time' === popup.type}}" startTime="{{$data.startTime}}" endTime="{{$data.endTime}}" onComplete="onComplete" isIPX="{{isIPX}}"></meeting-time-picker>
<list a:if="{{popup.type=='aheadTime'}}" onClose="closePopup" multiple="{{true}}" onCompelete="handleAheadTimeSave" complete="{{true}}" dataComList="{{aheadTime.aheadTimeList}}" onComSelectList="selectComList" comSelectList="{{aheadTime.aheadTimesListId}}" iconType="{{aheadTime.iconType}}"></list>
</popup>
<popup a:show="{{popupShow}}" title="{{popupTitle}}" show="{{popupShow}}" mask="true" onClose="closePopup"> <popup a:show="{{popupShow}}" title="{{popupTitle}}" show="{{popupShow}}" mask="true" onClose="closePopup">
<list multiple="{{comListData.multiple}}" onCompelete="selectAheadtimes" comSelectList="{{comListData.aheadTimesListId}}" complete="{{comType=='aheadTime' ? true : false}}" a:if="{{comType=='repeat' || comType=='aheadTime'}}" dataComList="{{comType=='repeat' ? comListData.repeatList : comListData.aheadTimesList}}" onComSelectList="selectComList" comSelectListId="{{comType=='repeat' ? comListData.comSelectListId : comListData.aheadTimesListId}}" iconType="{{comListData.iconType}}"></list>
<notes a:if="{{comType == 'notesModal'}}" isEdit="{{true}}" onGetNotes="getNotes"/>
<comment a:if="{{comType == 'commentModal'}}" isEdit="{{true}}" onGetComment="getComment"/> <comment a:if="{{comType == 'commentModal'}}" isEdit="{{true}}" onGetComment="getComment"/>
<remark a:if="{{comType == 'remarkModal'}}" onGetRemark="getRemark"/>
</popup> </popup>
<!-- 分享的弹窗 --> <!-- 分享的弹窗 -->
<!--<popup a:if="{{comShareData.isShow}}" show="{{comShareData.isShow}}" title="{{comShareData.shareTitle}}" mask="{{true}}" onClose="closeShare"><sharelist dataComList="{{comShareData.shareDataList}}" onSelectComHList="closeShare"></sharelist></popup> --> <!--<popup a:if="{{comShareData.isShow}}" show="{{comShareData.isShow}}" title="{{comShareData.shareTitle}}" mask="{{true}}" onClose="closeShare"><sharelist dataComList="{{comShareData.shareDataList}}" onSelectComHList="closeShare"></sharelist></popup> -->
......
...@@ -3,12 +3,12 @@ import { checkFullScren } from "../../utils/checkFullScren"; ...@@ -3,12 +3,12 @@ import { checkFullScren } from "../../utils/checkFullScren";
import pageStore from './store'; import pageStore from './store';
import { saveFileInfo, getMeetingRoomAffairs, createMeetingTask, deleteMeetingTask, updateMeetingTask, uploadPermissions } from '../../api/request'; import { saveFileInfo, getMeetingRoomAffairs, createMeetingTask, deleteMeetingTask, updateMeetingTask, uploadPermissions } from '../../api/request';
import { getOssPermission, getuploadResource, isParticipate, deleteSchedule, getScheduleDetail, getUserScheduleInTime, modifySchedule, getMeetingRoomRepeatAffairs, updateMoment, deleteMoment } from '../../api/request.js' import { getOssPermission, getuploadResource, isParticipate, deleteSchedule, getScheduleDetail, getUserScheduleInTime, modifySchedule, getMeetingRoomRepeatAffairs, updateMoment, deleteMoment } from '../../api/request.js'
import { selectPeople, getShowTime, modifyTimeImpactRepeat, throttle, getCreateShowTime, dealRepeatModal } from './../../utils/utils.js' import { selectedelRequired, selectPeople, getShowTime, modifyTimeImpactRepeat, throttle, getCreateShowTime, dealRepeatModal } from './../../utils/utils.js'
import { observer } from '/utils/observer.js' import { observer } from '/utils/observer.js'
import { resolve } from 'path'; import { resolve } from 'path';
import { getFileInfo, getFileInfoFromOss } from './uploadFile.js'; import { getFileInfo, aheadTimesList, getFileInfoFromOss } from './uploadFile.js';
import { comShareData } from './const.js'; import { repeatList } from '../createMeeting/constant';
import { repeatList } from '../createMeeting/constant' import { aheadTimeList, participateStatusList, noParticipateStatusList, centerPopupList, editSaveList } from './constant';
import { getSelectRepeatId, getInitialPsarticipants, handleChangePeople } from './utils' import { getSelectRepeatId, getInitialPsarticipants, handleChangePeople } from './utils'
create.Page({ create.Page({
store: pageStore, store: pageStore,
...@@ -22,31 +22,20 @@ create.Page({ ...@@ -22,31 +22,20 @@ create.Page({
affairList: null, //store,页面用到的变量需要在这里声明 affairList: null, //store,页面用到的变量需要在这里声明
show: false, //pop show: false, //pop
oldTask: null, oldTask: null,
pop: { // pop: {
title: '', // title: '',
type: '' // type: ''
}, // },
loading: false, loading: false,
// 传给组件list 的所有数据 comListData // 传给组件list 的所有数据 comListData
comListData: { comListData: {
aheadTimesList: [
{ id: -1, text: '不提醒', icon: 'iconicon_cycle' },
{ id: 0, text: '会议开始时提醒', icon: '' },
{ id: 5, text: '提前5分钟提醒', icon: '' },
{ id: 15, text: '提前15分钟提醒', icon: '' },
{ id: 30, text: '提前30分钟提醒', icon: '' },
{ id: 60, text: '提前一小时提醒', icon: '' },
{ id: 120, text: '提前二小时提醒', icon: '' },
{ id: 1440, text: '提前一天提醒', icon: '' },
{ id: 105120, text: '提前一周提醒', icon: '' }
],
multiple: false,
complete: false, complete: false,
aheadTimesListId: [15], // aheadTimesListId: [15],
comSelectListId: 0, comSelectListId: 0,
meetingWayModelId: null, meetingWayModelId: null,
iconType: 'icon' iconType: 'icon'
}, },
conToastData: { conToastData: {
showToast: false, showToast: false,
title: '保存成功' title: '保存成功'
...@@ -56,21 +45,19 @@ create.Page({ ...@@ -56,21 +45,19 @@ create.Page({
showSelectPopup: false, showSelectPopup: false,
selectType: 'common', selectType: 'common',
selectPopupId: '', selectPopupId: '',
editSaveList: [{ text: '仅保存此会议', id: 'only' }, { text: '保存此次及以后会议', id: 'future' }], // editSaveList: [{ text: '仅保存此会议', id: 'only' }, { text: '保存此次及以后会议', id: 'future' }],
delSheudleList: [{ text: '仅删除此会议', id: 'only' }, { text: '删除此次及以后会议', id: 'future' }], delSheudleList: [{ text: '仅删除此会议', id: 'only' }, { text: '删除此次及以后会议', id: 'future' }],
participateStatusList: [{ text: '仅参加此次会议', id: 'only' }, { text: '参加所有会议', id: 'all' }], // participateStatusList: [{ text: '仅参加此次会议', id: 'only' }, { text: '参加所有会议', id: 'all' }],
noParticipateStatusList: [{ text: '不参加此次会议', id: 'only' }, { text: '不参加所有会议', id: 'all' }] // noParticipateStatusList: [{ text: '不参加此次会议', id: 'only' }, { text: '不参加所有会议', id: 'all' }]
}, },
// 传递给组件centerPopup 的数据 // 传递给组件centerPopup 的数据
centerPopup: { // centerPopup: {
showCenterPopup: false, // showCenterPopup: false,
centerPopupList: [ // centerPopupList: [
{ id: 0, text: '不发送通知' }, // { id: 0, text: '不发送通知' },
{ id: 1, text: '发送通知' } // { id: 1, text: '发送通知' }
], // ],
centerPopupId: '' // },
},
comShareData: comShareData, //来自const.js 只做demo展示,没有实际功能
title: ``, title: ``,
meetingRemark: '', meetingRemark: '',
...@@ -86,11 +73,32 @@ create.Page({ ...@@ -86,11 +73,32 @@ create.Page({
show: false, show: false,
title: '', title: '',
mask: '', mask: '',
type: '' type: 'modify_location'
}, },
organizer: '', organizer: '',
currentPeople: '', currentPeople: '',
scheduleItem: '', scheduleItem: '',
isExpand: false,
confirmAttendance: null,
aheadTime: {
aheadTimeList: aheadTimeList,
aheadTimes: [15],
iconType: 'icon',
aheadTimesListId: [15],
},
selectPopup: {
show: false,
list: participateStatusList,
type: ''
},
centerPopup: {
show: false,
list: centerPopupList,
type: 'modify_location'
},
needNotice: 0,
...@@ -105,10 +113,8 @@ create.Page({ ...@@ -105,10 +113,8 @@ create.Page({
week: '', week: '',
conflictPeople: [], conflictPeople: [],
lock: false, lock: false,
aheadTimes: [15], // aheadTimes: [15],
editType: '', editType: '',
confirmAttendance: null,
isExpand: false,
placeholder: '', placeholder: '',
mrReserveStatus: '', mrReserveStatus: '',
id: '' id: ''
...@@ -128,13 +134,20 @@ create.Page({ ...@@ -128,13 +134,20 @@ create.Page({
if (this.$store.data.updateInfo.isUpate) { if (this.$store.data.updateInfo.isUpate) {
if (this.$store.data.updateInfo.updateType === "modify_location") { if (this.$store.data.updateInfo.updateType === "modify_location") {
this.handlePlaceSave() this.setData({
'centerPopup.show': true,
'centerPopup.type': "modify_location"
})
} }
if (this.$store.data.updateInfo.updateType === 'operate_user') { if (this.$store.data.updateInfo.updateType === 'operate_user') {
this.handleParticipatorSave() this.handleParticipatorSave()
} }
this.$store.data.updateInfo = {
updateType: '',
isUpate: false
}
this.update()
} }
}, },
onLoad(event) { onLoad(event) {
event.scheduleItem = decodeURIComponent(event.scheduleItem); event.scheduleItem = decodeURIComponent(event.scheduleItem);
...@@ -194,15 +207,26 @@ create.Page({ ...@@ -194,15 +207,26 @@ create.Page({
}, },
// organizer: res.data.data.organizer, // organizer: res.data.data.organizer,
organizer: getApp().globalData.userid, organizer: getApp().globalData.userid,
isExpand: res.data.data.confirmAttendance === 1 ? true : false,
confirmAttendance: res.data.data.confirmAttendance === null ? -9 : res.data.data.confirmAttendance,
aheadTime: {
aheadTimeList: aheadTimeList,
aheadTimes: !!res.data.data.aheadTimes ? res.data.data.aheadTimes : [],
iconType: 'icon',
aheadTimesListId: !!res.data.data.aheadTimes ? res.data.data.aheadTimes : [-1],
}
}) })
this.$store.data.originalData = res.data.data
this.$store.data.locationName = res.data.data.location.locationName this.$store.data.locationName = res.data.data.location.locationName
this.$store.data.roomId = res.data.data.meetingRoomId < 0 ? '' : res.data.data.meetingRoomId this.$store.data.roomId = res.data.data.meetingRoomId < 0 ? '' : res.data.data.meetingRoomId
this.store.data.scheduleId = res.data.data.uuid this.store.data.scheduleId = res.data.data.groupId
this.$store.data.startTime = res.data.data.startTime.replace(/-/g, "/") this.$store.data.startTime = res.data.data.startTime.replace(/-/g, "/")
this.$store.data.endTime = res.data.data.endTime.replace(/-/g, "/") this.$store.data.endTime = res.data.data.endTime.replace(/-/g, "/")
this.$store.data.participatorList = getInitialPsarticipants(res.data.data.userList) this.$store.data.participatorList = getInitialPsarticipants(res.data.data.userList)
this.$store.data.showParticipatorList = Object.values(this.$store.data.participatorList) this.$store.data.showParticipatorList = Object.values(this.$store.data.participatorList)
this.$store.data.originUsers = [...Object.values(this.$store.data.participatorList)] this.$store.data.originUsers = [...this.$store.data.showParticipatorList]
this.update() this.update()
this.loadAffairList(); this.loadAffairList();
...@@ -234,7 +258,6 @@ create.Page({ ...@@ -234,7 +258,6 @@ create.Page({
// aheadTimes: !!res.data.data.aheadTimes ? res.data.data.aheadTimes : [], // aheadTimes: !!res.data.data.aheadTimes ? res.data.data.aheadTimes : [],
// 'comListData.aheadTimesListId': !!res.data.data.aheadTimes ? res.data.data.aheadTimes : [-1], // 'comListData.aheadTimesListId': !!res.data.data.aheadTimes ? res.data.data.aheadTimes : [-1],
// mrReserveStatus: res.data.data.mrReserveStatus, // mrReserveStatus: res.data.data.mrReserveStatus,
// confirmAttendance: res.data.data.confirmAttendance === null ? -9 : res.data.data.confirmAttendance,
// organizer: res.data.data.organizer, // organizer: res.data.data.organizer,
// 'comListData.meetingWayModelId': res.data.data.meetingWayModel.model === null ? null : (res.data.data.meetingWayModel.model === 'dingtalk' ? 0 : 1), // 'comListData.meetingWayModelId': res.data.data.meetingWayModel.model === null ? null : (res.data.data.meetingWayModel.model === 'dingtalk' ? 0 : 1),
// repeatable: res.data.data.repeatable, // repeatable: res.data.data.repeatable,
...@@ -325,7 +348,7 @@ create.Page({ ...@@ -325,7 +348,7 @@ create.Page({
modifyContent: 'remark' modifyContent: 'remark'
} }
if (this.data.repeat.repeatable) { if (this.data.repeat.repeatable) {
dataTitle.modifyModel = "future" dataRemark.modifyModel = "future"
} }
this.modifySchedule(dataRemark) this.modifySchedule(dataRemark)
...@@ -343,13 +366,40 @@ create.Page({ ...@@ -343,13 +366,40 @@ create.Page({
this.$store.data.locationName = '' this.$store.data.locationName = ''
this.$store.data.roomId = '' this.$store.data.roomId = ''
this.update() this.update()
this.handlePlaceSave() this.setData({
'centerPopup.show': true,
'centerPopup.type': "modify_location"
})
},
// 选择地点是否发送通知
selectPlaceNeedNotice(event) {
this.handleCloseCenterPopup()
const needNotice = event.currentTarget.dataset.item.id
if (this.data.repeat.repeatable == 0) {
this.handlePlaceSave('only', needNotice)
return
}
this.setData({
needNotice: needNotice,
selectPopup: {
show: true,
list: editSaveList,
type: 'modify_location'
}
})
},
// 地点 保存此次还是以后
selectSavePlaceStatus(event) {
this.handleSelectPopupCancel()
const modifyModel = event.currentTarget.dataset.item.id
this.handlePlaceSave(modifyModel, this.data.needNotice)
}, },
// 保存地点 // 保存地点
handlePlaceSave() { handlePlaceSave(modifyModel = "only", needNotice = "Y") {
const modifyModel = "only"
let dataLocation = { let dataLocation = {
modifyModel: modifyModel, modifyModel: modifyModel,
needNotice: needNotice,
modifyContent: 'modify_location', modifyContent: 'modify_location',
location: { location: {
longitude: '-999', longitude: '-999',
...@@ -358,14 +408,23 @@ create.Page({ ...@@ -358,14 +408,23 @@ create.Page({
}, },
meetingRoomId: !!this.$store.data.roomId ? this.$store.data.roomId : -1 meetingRoomId: !!this.$store.data.roomId ? this.$store.data.roomId : -1
} }
if (this.data.repeat.repeatable == 0) { this.modifySchedule(dataLocation).then(res => {
this.modifySchedule(dataLocation).then(res => { this.$store.data.updateInfo = {
this.$store.data.updateInfo = { updateType: '',
updateType: '', isUpate: false
isUpate: false }
} })
}) },
}
// 关闭centerPopup
handleCloseCenterPopup() {
this.setData({
centerPopup: {
show: false,
list: centerPopupList,
type: ''
}
})
}, },
...@@ -388,7 +447,7 @@ create.Page({ ...@@ -388,7 +447,7 @@ create.Page({
this.setData({ this.setData({
showTime: getShowTime(this.$store.data.startTime, this.$store.data.endTime) showTime: getShowTime(this.$store.data.startTime, this.$store.data.endTime)
}) })
this.closePopup1() this.closePopup()
this.handleTimeSave() this.handleTimeSave()
/* /*
...@@ -440,7 +499,7 @@ create.Page({ ...@@ -440,7 +499,7 @@ create.Page({
'repeat.recurrenceModel': repeat.recurrenceModel, 'repeat.recurrenceModel': repeat.recurrenceModel,
'repeat.selectRepeatId': repeat.selectRepeatId, 'repeat.selectRepeatId': repeat.selectRepeatId,
}) })
this.closePopup1() this.closePopup()
this.handleRepeatSave() this.handleRepeatSave()
}, },
//保存重复 //保存重复
...@@ -449,28 +508,35 @@ create.Page({ ...@@ -449,28 +508,35 @@ create.Page({
}, },
// 关闭popup
closePopup1() {
this.setData({
popup: {
show: false,
title: "",
mask: true,
type: ''
}
})
},
// 添加参会人 // 添加参会人
handleAddParticipator: throttle(async function () { handleAddParticipator: throttle(async function () {
const select = [] let select = []
const require = Object.keys(this.$store.data.participatorList) let require = []
if (this.data.organizer === this.data.currentPeople) {
select = Object.keys(this.$store.data.participatorList)
require = [this.data.currentPeople]
select = selectedelRequired(select, require)
} else {
select = []
require = Object.keys(this.$store.data.participatorList)
}
const showParticipatorList = this.$store.data.showParticipatorList const showParticipatorList = this.$store.data.showParticipatorList
selectPeople(select, require).then(res => { selectPeople(select, require).then(res => {
let participatorList = {} let participatorList = {}
for (let i = 0; i < this.$store.data.showParticipatorList.length; i++) { if (this.data.organizer === this.data.currentPeople) {
participatorList[showParticipatorList[i].userId] = { userId: showParticipatorList[i].userId, username: showParticipatorList[i].username, headUrl: showParticipatorList[i].headUrl, platform: 'dingtalk' } participatorList[getApp().globalData.userid] = {
userId: getApp().globalData.userid, username: getApp().globalData.name, headUrl: getApp().globalData.avatar, platform: 'dingtalk'
}
}
if (this.data.organizer !== this.data.currentPeople) {
for (let i = 0; i < this.$store.data.showParticipatorList.length; i++) {
participatorList[showParticipatorList[i].userId] = { userId: showParticipatorList[i].userId, username: showParticipatorList[i].username, headUrl: showParticipatorList[i].headUrl, platform: 'dingtalk' }
}
} }
for (let i = 0; i < res.users.length; i++) { for (let i = 0; i < res.users.length; i++) {
participatorList[res.users[i].userId] = { userId: res.users[i].userId, username: res.users[i].name, headUrl: res.users[i].avatar, platform: 'dingtalk' } participatorList[res.users[i].userId] = { userId: res.users[i].userId, username: res.users[i].name, headUrl: res.users[i].avatar, platform: 'dingtalk' }
} }
...@@ -483,7 +549,7 @@ create.Page({ ...@@ -483,7 +549,7 @@ create.Page({
//保存参会人 //保存参会人
handleParticipatorSave() { handleParticipatorSave() {
const modifyModel = "only" const modifyModel = "only"
const changePeople = handleChangePeople(this.$store.data.originUsers, this.$store.data.participatorList) const changePeople = handleChangePeople(this.$store.data.originUsers, this.$store.data.showParticipatorList)
let dataUser = { let dataUser = {
addUserList: changePeople.add, addUserList: changePeople.add,
deleteUserList: changePeople.del, deleteUserList: changePeople.del,
...@@ -492,26 +558,20 @@ create.Page({ ...@@ -492,26 +558,20 @@ create.Page({
} }
if (this.data.repeat.repeatable === 0) { if (this.data.repeat.repeatable === 0) {
this.modifySchedule(dataUser).then(res => { this.modifySchedule(dataUser).then(res => {
this.$store.data.originUsers = Object.keys(this.$store.data.participatorList) this.$store.data.originUsers = Object.values(this.$store.data.participatorList)
}) })
} }
}, },
// 参会人详情 // 参会人详情
goParticipantsDetail() { goParticipantsDetail() {
dd.navigateTo({ url: `./../participantsDetail/participantsDetail?scheduleItem=${this.store.data.scheduleItem}` }) dd.navigateTo({ url: `./../participantsDetail/participantsDetail?scheduleItem=${this.store.data.scheduleItem}&organizer=${this.data.organizer}` })
}, },
// 保存编辑 // 保存编辑
modifySchedule(data, needNotice = "N") { modifySchedule(data) {
let that = this let that = this
let obj = { let obj = {
needNotice: needNotice,
scheduleId: this.data.scheduleItem.id, scheduleId: this.data.scheduleItem.id,
templateId: this.data.scheduleItem.scheduleTemplateId, templateId: this.data.scheduleItem.scheduleTemplateId,
planDate: this.data.scheduleItem.planDate planDate: this.data.scheduleItem.planDate
...@@ -549,118 +609,326 @@ create.Page({ ...@@ -549,118 +609,326 @@ create.Page({
}, },
// 初始化 // 删除 日程
reset() { handleDelete() {
this.$store.resetEditData() const _that = this
this.store.data.affairList = []; const modifyModel = "only"
}, if (this.data.repeat.repeatable === 0) {
// 选择循环机制 选择会议方式 选择时间 会前提醒 出现popup弹窗 dd.confirm({
showPopup(event) { title: '删除会议',
let iconType = '' content: '确认删除会议吗?',
let complete = false confirmButtonText: '确定',
let multiple = false cancelButtonText: '取消',
let popupTitle = '' success: (success) => {
switch (event.currentTarget.dataset.type) { if (!!success.confirm) {
case 'meetingWayModel': dd.showLoading({
iconType = 'image', content: '正在删除...',
complete = true, });
popupTitle = '选择会议方式', let data = {
multiple = false scheduleId: this.data.scheduleItem.id,
break identify: this.data.organizer === getApp().globalData.userid ? 'major' : 'identify',
case 'repeat': deleteModel: 'only'
iconType = 'icon', }
popupTitle = '会议重复', deleteSchedule(data).then(async () => {
complete = true, if (this.$store.modifyErpeatMeeting) {
multiple = false await this.$store.modifyErpeatMeeting()
break }
case 'participator': _that.$store.data.isIndexAffairListNeedUpdate = true;
popupTitle = '选择参会人' _that.update()
break dd.hideLoading()
case 'time': dd.navigateBack({
popupTitle = '选择会议时间' delta: 1
break })
case 'aheadTime': })
popupTitle = '选择会前提醒' }
iconType = 'icon', }
complete = true, })
multiple = true
break
} }
// if (this.data.repeatable) {
// this.setData({
// 'conSelectPopupData.selectType': 'delSheudle',
// 'conSelectPopupData.showSelectPopup': true
// })
// }
},
//选择会前题醒打开popup
handleAheadTime() {
this.setData({ this.setData({
popupShow: true, popup: {
popupTitle: popupTitle, show: true,
comType: event.currentTarget.dataset.type, title: "会前提醒",
'comListData.complete': complete, mask: true,
'comListData.iconType': iconType, type: 'aheadTime'
'comListData.multiple': multiple }
}) })
}, },
// 选择完comList后的回调 重复 会议方式 handleAheadTimeSave(event) {
selectComList(event) { this.closePopup()
switch (this.data.comType) { this.setData({
case 'meetingWayModel': 'aheadTime.aheadTimes': event,
this.setData({ 'aheadTime.aheadTimesListId.': event,
'comListData.meetingWayModelId': event.currentTarget.dataset.item.id, })
popupShow: false, let modifyModel = "only"
meetingWayModel: this.data.comListData.meetingWayList[event.currentTarget.dataset.item.id].meetingWayModel if (this.data.repeat.repeatable !== 0) {
}) modifyModel = "all"
}
let dataAheadTime = {
modifyModel: modifyModel,
aheadTimes: this.data.aheadTime.aheadTimes,
modifyContent: 'aheadTimes'
}
this.modifySchedule(dataAheadTime)
},
if (this.data.repeatable) { // 点击参加
this.setData({ handleParticipate() {
editType: 'meeting_way' let dataParticipate = {
}) scheduleId: this.data.scheduleItem.id,
this.isChange('meeting_way', 'future') value: 1,
} else { type: 'only'
this.isChange('meeting_way', 'only') }
if (this.data.repeat.repeatable !== 0) {
this.setData({
selectPopup: {
show: true,
list: participateStatusList,
type: "participateState"
}
})
return
}
this.participateSave(dataParticipate)
},
// 点击 不参加
handleNoParticipate() {
let dataNoParticipate = {
scheduleId: this.data.scheduleItem.id,
value: 0,
type: 'only'
}
if (this.data.repeat.repeatable !== 0) {
this.setData({
selectPopup: {
show: true,
list: noParticipateStatusList,
type: "participateState"
}
})
return
}
this.participateSave(dataNoParticipate)
},
// 重复 选择参加 不参加
selectParticipateStatus(event) {
this.handleSelectPopupCancel()
const item = event.currentTarget.dataset.item
let dataParticipate = {
scheduleId: this.data.scheduleItem.id,
type: item.id,
templateId: this.data.scheduleItem.scheduleTemplateId,
planDate: this.data.scheduleItem.planDate,
value: item.value
}
this.participateSave(dataParticipate)
},
// 回到初始状态
initialState() {
let data = {
templateId: this.data.scheduleItem.scheduleTemplateId,
planDate: this.data.scheduleItem.planDate,
scheduleId: this.data.scheduleItem.id,
value: -9,
type: 'only'
}
if (this.data.repeat.repeatable === 1) {
data.type = 'all'
}
isParticipate(data).then(res => {
if (res.data.code !== 0) {
console.log(res)
return
}
this.setData({
confirmAttendance: -9
})
if (this.data.repeat.repeatable === 1) {
if (this.$store.modifyErpeatMeeting) {
this.$store.modifyErpeatMeeting()
}
return
}
if (this.$store.modifyOnceMeetingContent) {
this.$store.modifyOnceMeetingContent({ id: this.data.scheduleItem.id, confirmAttendance: -9 })
}
})
},
// 参加状态保存
participateSave(dataParticipate) {
return new Promise((resolve) => {
isParticipate(dataParticipate).then(res => {
resolve(res)
if (res.data.code !== 0) {
console.log(res)
return
} }
break;
case 'repeat':
this.resetRepeatList()
this.setData({ this.setData({
popupShow: false, 'aheadTime.aheadTimes': [15],
'conSelectPopupData.selectType': 'common', 'aheadTime.aheadTimesListId': [15],
'comListData.comSelectListId': event.currentTarget.dataset.item.id, confirmAttendance: dataParticipate.value
repeatable: event.currentTarget.dataset.item.repeatable,
recurrenceModel: event.currentTarget.dataset.item.recurrenceModel
}) })
this.conflictPeople() if (dataParticipate.type === "only") {
if (this.$store.data.originalData.repeatable) { if (this.$store.modifyOnceMeetingContent) {
this.setData({ this.$store.modifyOnceMeetingContent({ id: this.data.scheduleItem.id, confirmAttendance: dataParticipate.value })
'conSelectPopupData.showSelectPopup': true,
editType: 'repeat'
})
} else {
if (this.$store.data.participatorList.length < 2) {
this.isChange('repeat', 'only')
} else {
this.setData({
editType: 'repeat',
'centerPopup.showCenterPopup': true
})
} }
return
} }
break; if (this.$store.modifyErpeatMeeting) {
} this.$store.modifyErpeatMeeting()
}, }
})
})
},
// 选择会前提醒时间 // 关闭handleSelectPopupCancel
selectAheadtimes(event) { handleSelectPopupCancel() {
this.setData({ this.setData({
aheadTimes: event, selectPopup: {
popupShow: false, show: false,
'comListData.aheadTimesListId': event list: "",
type: ""
}
}) })
if (this.data.repeatable) {
this.setData({
editType: 'aheadTimes'
})
this.isChange('aheadTimes', 'all')
} else {
this.isChange('aheadTimes', 'only')
}
}, },
// 关闭popup
closePopup() {
this.setData({
popup: {
show: false,
title: "",
mask: true,
type: ''
}
})
},
// 初始化
reset() {
this.$store.resetEditData()
this.store.data.affairList = [];
},
// // 选择循环机制 选择会议方式 选择时间 会前提醒 出现popup弹窗
// showPopup(event) {
// let iconType = ''
// let complete = false
// let multiple = false
// let popupTitle = ''
// switch (event.currentTarget.dataset.type) {
// // case 'meetingWayModel':
// // iconType = 'image',
// // complete = true,
// // popupTitle = '选择会议方式',
// // multiple = false
// // break
// case 'repeat':
// iconType = 'icon',
// popupTitle = '会议重复',
// complete = true,
// multiple = false
// break
// case 'participator':
// popupTitle = '选择参会人'
// break
// case 'time':
// popupTitle = '选择会议时间'
// break
// case 'aheadTime':
// popupTitle = '选择会前提醒'
// iconType = 'icon',
// complete = true,
// multiple = true
// break
// }
// this.setData({
// popupShow: true,
// popupTitle: popupTitle,
// comType: event.currentTarget.dataset.type,
// 'comListData.complete': complete,
// 'comListData.iconType': iconType,
// 'comListData.multiple': multiple
// })
// },
// // 选择完comList后的回调 重复 会议方式
// selectComList(event) {
// switch (this.data.comType) {
// case 'meetingWayModel':
// this.setData({
// 'comListData.meetingWayModelId': event.currentTarget.dataset.item.id,
// popupShow: false,
// meetingWayModel: this.data.comListData.meetingWayList[event.currentTarget.dataset.item.id].meetingWayModel
// })
// if (this.data.repeatable) {
// this.setData({
// editType: 'meeting_way'
// })
// this.isChange('meeting_way', 'future')
// } else {
// this.isChange('meeting_way', 'only')
// }
// break;
// case 'repeat':
// this.resetRepeatList()
// this.setData({
// popupShow: false,
// 'conSelectPopupData.selectType': 'common',
// 'comListData.comSelectListId': event.currentTarget.dataset.item.id,
// repeatable: event.currentTarget.dataset.item.repeatable,
// recurrenceModel: event.currentTarget.dataset.item.recurrenceModel
// })
// this.conflictPeople()
// if (this.$store.data.originalData.repeatable) {
// this.setData({
// 'conSelectPopupData.showSelectPopup': true,
// editType: 'repeat'
// })
// } else {
// if (this.$store.data.participatorList.length < 2) {
// this.isChange('repeat', 'only')
// } else {
// this.setData({
// editType: 'repeat',
// 'centerPopup.showCenterPopup': true
// })
// }
// }
// break;
// }
// },
// // 选择会前提醒时间
// selectAheadtimes(event) {
// this.setData({
// aheadTimes: event,
// popupShow: false,
// 'comListData.aheadTimesListId': event
// })
// if (this.data.repeatable) {
// this.setData({
// editType: 'aheadTimes'
// })
// this.isChange('aheadTimes', 'all')
// } else {
// this.isChange('aheadTimes', 'only')
// }
// },
...@@ -728,7 +996,7 @@ create.Page({ ...@@ -728,7 +996,7 @@ create.Page({
'comListData.aheadTimesListId': [15], 'comListData.aheadTimesListId': [15],
confirmAttendance: 1 confirmAttendance: 1
}) })
this.conflictPeople() // this.conflictPeople()
if (data.type === 'only') { if (data.type === 'only') {
if (this.$store.modifyOnceMeetingContent) { if (this.$store.modifyOnceMeetingContent) {
this.$store.modifyOnceMeetingContent({ id: this.data.scheduleItem.id, confirmAttendance: 1 }) this.$store.modifyOnceMeetingContent({ id: this.data.scheduleItem.id, confirmAttendance: 1 })
...@@ -834,396 +1102,270 @@ create.Page({ ...@@ -834,396 +1102,270 @@ create.Page({
} }
}, },
// 判断数据发生改变 发生改变 请求 // 判断数据发生改变 发生改变 请求
isChange(value, modifyModel, needNotice = 0) { // isChange(value, modifyModel, needNotice = 0) {
let modifyContent = '' // let modifyContent = ''
switch (value) { // switch (value) {
case 'title': // case 'title':
if (this.data.title !== this.$store.data.originalData.title) { // if (this.data.title !== this.$store.data.originalData.title) {
let dataTitle = { // let dataTitle = {
title: this.data.title, // title: this.data.title,
modifyModel: modifyModel, // modifyModel: modifyModel,
modifyContent: 'title' // modifyContent: 'title'
} // }
this.modifySchedule(dataTitle).then(res => { // this.modifySchedule(dataTitle).then(res => {
this.$store.data.isIndexAffairListNeedUpdate = true; // this.$store.data.isIndexAffairListNeedUpdate = true;
this.$store.data.originalData.title = this.data.title // this.$store.data.originalData.title = this.data.title
if (this.data.repeatable == 0) { // if (this.data.repeatable == 0) {
if (this.$store.modifyOnceMeetingContent) { // if (this.$store.modifyOnceMeetingContent) {
this.$store.modifyOnceMeetingContent({ // this.$store.modifyOnceMeetingContent({
id: this.data.scheduleItem.id, // id: this.data.scheduleItem.id,
title: this.data.title // title: this.data.title
}) // })
} // }
} else { // } else {
if (this.$store.modifyErpeatMeeting) { // if (this.$store.modifyErpeatMeeting) {
this.$store.modifyErpeatMeeting() // this.$store.modifyErpeatMeeting()
} // }
} // }
this.update()
}).catch(err => {
this.setData({
title: this.$store.data.originalData.title
})
})
}
break
case 'remark':
if (this.data.remark !== this.$store.data.originalData.remark) {
let dataRemark = {
remark: this.data.remark,
modifyModel: modifyModel,
modifyContent: 'remark'
}
this.modifySchedule(dataRemark).then(res => {
this.$store.data.originalData.remark = this.data.remark
this.update()
}).catch(err => {
this.setData({
remark: this.$store.data.originalData.remark
})
})
}
break
case 'operate_user':
if (JSON.stringify(this.$store.data.originUsers) != JSON.stringify(this.$store.data.participatorList)) {
let addUserList = this.arrayPoor(this.$store.data.originUsers, this.$store.data.participatorList).addUserList
let deleteUserList = this.arrayPoor(this.$store.data.originUsers, this.$store.data.participatorList).deleteUserList
let dataUser = {
addUserList: addUserList,
deleteUserList: deleteUserList,
modifyModel: modifyModel,
modifyContent: 'operate_user'
}
this.modifySchedule(dataUser, needNotice).then(res => {
this.$store.data.originUsers = [...this.$store.data.participatorList]
this.$store.data.originUsersId = [...this.$store.data.participatorUserId]
this.$store.data.updateInfo = {
updateType: '',
isUpate: false
}
this.update()
}).catch(err => {
this.$store.data.participatorList = [...this.$store.data.originUsers]
this.$store.data.participatorUserId = [...this.$store.data.originUsersId]
this.$store.data.updateInfo = {
updateType: '',
isUpate: false
}
this.update()
})
}
break
case 'repeat':
let repeatListMap = new Map()
for (let item of this.data.comListData.repeatList) {
if (item.recurrenceModel.recurrenceModel !== 'weekly') {
repeatListMap.set(item.recurrenceModel.model, item.id)
}
}
if (this.$store.data.originalData.repeatable === 0 && this.data.repeatable === 1) {
let dataRepeat1 = {
startTime: this.$store.data.startTime.replace(/\//g, "-"),
endTime: this.$store.data.endTime.replace(/\//g, "-"),
modifyModel: modifyModel,
modifyContent: 'to_repeat',
recurrenceModel: this.data.recurrenceModel,
repeatable: this.data.repeatable
}
this.modifySchedule(dataRepeat1).then(res => {
observer.notice(res.data.data)
this.$store.data.originalData.recurrenceModel = this.data.recurrenceModel
this.$store.data.originalData.repeatable = this.data.repeatable
this.update()
}).catch(err => {
this.setData({
'comListData.comSelectListId': this.$store.data.originalData.recurrenceModel.model === 'weekly' ? (this.$store.data.originalData.recurrenceModel.weekDayList.length > 1 ? 3 : 2) : repeatListMap.get(this.$store.data.originalData.recurrenceModel.model),
repeatable: this.$store.data.originalData.repeatable,
recurrenceModel: this.$store.data.originalData.repeatable ? { model: this.storer.data.originalData.recurrenceModel.model, daysOfMonth: this.$store.data.originalData.recurrenceModel.daysOfMonth, interval: 1, initialTime: this.$store.data.originalData.recurrenceModel.initialTime, terminateTime: this.$store.data.originalData.recurrenceModel.terminateTime, weekDayList: this.$store.data.originalData.recurrenceModel.weekDayList } : { model: 'no_repeat' }
})
})
}
else if (this.$store.data.originalData.repeatable === 1 && this.data.repeatable === 0) {
let dataRepeat2 = {
startTime: this.$store.data.startTime.replace(/\//g, "-"),
endTime: this.$store.data.endTime.replace(/\//g, "-"),
modifyModel: modifyModel,
modifyContent: 'no_repeat',
recurrenceModel: this.data.recurrenceModel,
repeatable: this.data.repeatable
}
this.modifySchedule(dataRepeat2).then(res => {
this.$store.data.originalData.recurrenceModel = this.data.recurrenceModel
this.$store.data.originalData.repeatable = this.data.repeatable
this.update()
}).catch(err => {
this.setData({
'comListData.comSelectListId': this.$store.data.originalData.recurrenceModel.model === 'weekly' ? (this.$store.data.originalData.recurrenceModel.weekDayList.length > 1 ? 3 : 2) : repeatListMap.get(this.$store.data.originalData.recurrenceModel.model),
repeatable: this.$store.data.originalData.repeatable,
recurrenceModel: this.$store.data.originalData.repeatable ? { model: this.$store.data.originalData.recurrenceModel.model, daysOfMonth: this.$store.data.originalData.recurrenceModel.daysOfMonth, interval: 1, initialTime: this.$store.data.originalData.recurrenceModel.initialTime, terminateTime: this.$store.data.originalData.recurrenceModel.terminateTime, weekDayList: this.$store.data.originalData.recurrenceModel.weekDayList } : { model: 'no_repeat' }
})
})
}
else {
let dataRepeat3 = {
startTime: this.$store.data.startTime.replace(/\//g, "-"),
endTime: this.$store.data.endTime.replace(/\//g, "-"),
modifyModel: modifyModel,
modifyContent: 'change_rule',
recurrenceModel: this.data.recurrenceModel,
repeatable: this.data.repeatable
}
this.modifySchedule(dataRepeat3).then(res => {
this.$store.data.originalData.recurrenceModel = this.data.recurrenceModel
this.$store.data.originalData.repeatable = this.data.repeatable
this.update()
}).catch(err => {
this.setData({
'comListData.comSelectListId': this.$store.data.originalData.recurrenceModel.model === 'weekly' ? (this.$store.data.originalData.recurrenceModel.weekDayList.length > 1 ? 3 : 2) : repeatListMap.get(this.$store.data.originalData.recurrenceModel.model),
repeatable: this.$store.data.originalData.repeatable
})
})
}
break
case 'modify_location':
let dataLocation = {
modifyModel: modifyModel,
modifyContent: 'modify_location',
location: {
longitude: '-999',
latitude: '-999',
locationName: this.$store.data.locationName
},
meetingRoomId: !!this.$store.data.roomId ? this.$store.data.roomId : -1
}
this.modifySchedule(dataLocation, needNotice).then(res => {
this.$store.data.originalData.location = {
longitude: '-999',
latitude: '-999',
locationName: this.$store.data.locationName
}
this.$store.data.originalData.meetingRoomId = this.$store.data.roomId ? -1 : this.$store.data.roomId
this.$store.data.updateInfo = {
isUpate: false,
updateType: ''
}
this.update()
if (this.$store.data.startTime != this.$store.data.originalData.startTime.replace(/-/g, '/') || this.$store.data.endTime != this.$store.data.originalData.endTime.replace(/-/g, '/')) {
let dat2Time1 = {
modifyModel: modifyModel,
startTime: this.$store.data.startTime.replace(/\//g, "-"),
endTime: this.$store.data.endTime.replace(/\//g, "-"),
modifyContent: 'modify_time'
}
this.isChange('modify_time', modifyModel, needNotice)
} // this.update()
}).catch(err => { // }).catch(err => {
this.$store.data.locationName = this.$store.data.originalData.location.locationName // this.setData({
this.$store.data.roomId = this.$store.data.originalData.meetingRoomId // title: this.$store.data.originalData.title
this.update() // })
}) // })
break // }
case 'modify_time': // break
let data = { // case 'remark':
modifyModel: modifyModel, // if (this.data.remark !== this.$store.data.originalData.remark) {
startTime: this.$store.data.startTime.replace(/\//g, "-"), // let dataRemark = {
endTime: this.$store.data.endTime.replace(/\//g, "-"), // remark: this.data.remark,
modifyContent: 'modify_time' // modifyModel: modifyModel,
} // modifyContent: 'remark'
this.modifySchedule(data, needNotice).then(res => { // }
this.$store.data.originalData.startTime = this.$store.data.startTime.replace(/\//g, "-") // this.modifySchedule(dataRemark).then(res => {
this.$store.data.originalData.endTime = this.$store.data.endTime.replace(/\//g, "-") // this.$store.data.originalData.remark = this.data.remark
this.update() // this.update()
this.resetRepeatList() // }).catch(err => {
if (this.data.recurrenceModel.model === 'weekly' && this.data.recurrenceModel.weekDayList.length === 1) { // this.setData({
let dataRepeat4 = { // remark: this.$store.data.originalData.remark
startTime: this.$store.data.startTime.replace(/\//g, "-"), // })
endTime: this.$store.data.endTime.replace(/\//g, "-"), // })
modifyModel: modifyModel, // }
modifyContent: 'change_rule', // break
recurrenceModel: this.data.comListData.repeatList[2].recurrenceModel,
repeatable: this.data.repeatable // case 'operate_user':
} // if (JSON.stringify(this.$store.data.originUsers) != JSON.stringify(this.$store.data.participatorList)) {
this.modifySchedule(dataRepeat4).then(() => { // let addUserList = this.arrayPoor(this.$store.data.originUsers, this.$store.data.participatorList).addUserList
this.setData({ // let deleteUserList = this.arrayPoor(this.$store.data.originUsers, this.$store.data.participatorList).deleteUserList
recurrenceModel: this.data.comListData.repeatList[2].recurrenceModel // let dataUser = {
}) // addUserList: addUserList,
}) // deleteUserList: deleteUserList,
} else if (this.data.recurrenceModel.model === 'absolute_Monthly') { // modifyModel: modifyModel,
let dataRepeat5 = { // modifyContent: 'operate_user'
startTime: this.$store.data.startTime.replace(/\//g, "-"), // }
endTime: this.$store.data.endTime.replace(/\//g, "-"), // this.modifySchedule(dataUser, needNotice).then(res => {
modifyModel: modifyModel, // this.$store.data.originUsers = [...this.$store.data.participatorList]
modifyContent: 'change_rule', // this.$store.data.originUsersId = [...this.$store.data.participatorUserId]
recurrenceModel: this.data.comListData.repeatList[4].recurrenceModel, // this.$store.data.updateInfo = {
repeatable: this.data.repeatable // updateType: '',
} // isUpate: false
this.modifySchedule(dataRepeat5).then(() => { // }
this.setData({ // this.update()
recurrenceModel: this.data.comListData.repeatList[4].recurrenceModel // }).catch(err => {
}) // this.$store.data.participatorList = [...this.$store.data.originUsers]
}) // this.$store.data.participatorUserId = [...this.$store.data.originUsersId]
// this.$store.data.updateInfo = {
// updateType: '',
// isUpate: false
// }
// this.update()
// })
// }
} // break
// this.modifySchedule(data, needNotice) // case 'repeat':
}).catch(err => { // let repeatListMap = new Map()
this.$store.data.startTime = this.$store.data.originalData.startTime.replace(/-/g, '/') // for (let item of this.data.comListData.repeatList) {
this.$store.data.endTime = this.$store.data.originalData.endTime.replace(/-/g, '/') // if (item.recurrenceModel.recurrenceModel !== 'weekly') {
this.update() // repeatListMap.set(item.recurrenceModel.model, item.id)
this.setData({ // }
week: this.data.weekList[new Date(this.$store.data.originalData.startTime.replace(/-/g, "/")).getDay()], // }
}) // if (this.$store.data.originalData.repeatable === 0 && this.data.repeatable === 1) {
}) // let dataRepeat1 = {
break // startTime: this.$store.data.startTime.replace(/\//g, "-"),
case 'aheadTimes': // endTime: this.$store.data.endTime.replace(/\//g, "-"),
let dataAheadTimes = { // modifyModel: modifyModel,
modifyModel: modifyModel, // modifyContent: 'to_repeat',
aheadTimes: this.data.aheadTimes, // recurrenceModel: this.data.recurrenceModel,
modifyContent: 'aheadTimes' // repeatable: this.data.repeatable
} // }
this.modifySchedule(dataAheadTimes).then(res => { // this.modifySchedule(dataRepeat1).then(res => {
this.$store.data.originalData.aheadTimes = (this.data.aheadTimes.length === 0 ? null : this.data.aheadTimes) // observer.notice(res.data.data)
this.update() // this.$store.data.originalData.recurrenceModel = this.data.recurrenceModel
}).catch(err => { // this.$store.data.originalData.repeatable = this.data.repeatable
this.setData({ // this.update()
aheadTimes: this.$store.data.originalData.aheadTimes // }).catch(err => {
}) // this.setData({
}) // 'comListData.comSelectListId': this.$store.data.originalData.recurrenceModel.model === 'weekly' ? (this.$store.data.originalData.recurrenceModel.weekDayList.length > 1 ? 3 : 2) : repeatListMap.get(this.$store.data.originalData.recurrenceModel.model),
break // repeatable: this.$store.data.originalData.repeatable,
} // recurrenceModel: this.$store.data.originalData.repeatable ? { model: this.storer.data.originalData.recurrenceModel.model, daysOfMonth: this.$store.data.originalData.recurrenceModel.daysOfMonth, interval: 1, initialTime: this.$store.data.originalData.recurrenceModel.initialTime, terminateTime: this.$store.data.originalData.recurrenceModel.terminateTime, weekDayList: this.$store.data.originalData.recurrenceModel.weekDayList } : { model: 'no_repeat' }
}, // })
// 删除 日程 // })
handleDelete() { // }
const _that = this // else if (this.$store.data.originalData.repeatable === 1 && this.data.repeatable === 0) {
if (this.data.repeatable) { // let dataRepeat2 = {
this.setData({ // startTime: this.$store.data.startTime.replace(/\//g, "-"),
'conSelectPopupData.selectType': 'delSheudle', // endTime: this.$store.data.endTime.replace(/\//g, "-"),
'conSelectPopupData.showSelectPopup': true // modifyModel: modifyModel,
}) // modifyContent: 'no_repeat',
} else { // recurrenceModel: this.data.recurrenceModel,
dd.confirm({ // repeatable: this.data.repeatable
title: '删除会议', // }
content: '确认删除会议吗?', // this.modifySchedule(dataRepeat2).then(res => {
confirmButtonText: '确定', // this.$store.data.originalData.recurrenceModel = this.data.recurrenceModel
cancelButtonText: '取消', // this.$store.data.originalData.repeatable = this.data.repeatable
success: (success) => { // this.update()
if (!!success.confirm) { // }).catch(err => {
dd.showLoading({ // this.setData({
content: '正在删除...', // 'comListData.comSelectListId': this.$store.data.originalData.recurrenceModel.model === 'weekly' ? (this.$store.data.originalData.recurrenceModel.weekDayList.length > 1 ? 3 : 2) : repeatListMap.get(this.$store.data.originalData.recurrenceModel.model),
}); // repeatable: this.$store.data.originalData.repeatable,
let data = { // recurrenceModel: this.$store.data.originalData.repeatable ? { model: this.$store.data.originalData.recurrenceModel.model, daysOfMonth: this.$store.data.originalData.recurrenceModel.daysOfMonth, interval: 1, initialTime: this.$store.data.originalData.recurrenceModel.initialTime, terminateTime: this.$store.data.originalData.recurrenceModel.terminateTime, weekDayList: this.$store.data.originalData.recurrenceModel.weekDayList } : { model: 'no_repeat' }
scheduleId: this.data.scheduleItem.id, // })
identify: this.data.organizer === getApp().globalData.userid ? 'major' : 'identify', // })
deleteModel: 'only' // }
} // else {
deleteSchedule(data).then(async () => { // let dataRepeat3 = {
// startTime: this.$store.data.startTime.replace(/\//g, "-"),
// endTime: this.$store.data.endTime.replace(/\//g, "-"),
// modifyModel: modifyModel,
// modifyContent: 'change_rule',
// recurrenceModel: this.data.recurrenceModel,
// repeatable: this.data.repeatable
// }
// this.modifySchedule(dataRepeat3).then(res => {
// this.$store.data.originalData.recurrenceModel = this.data.recurrenceModel
// this.$store.data.originalData.repeatable = this.data.repeatable
// this.update()
// }).catch(err => {
// this.setData({
// 'comListData.comSelectListId': this.$store.data.originalData.recurrenceModel.model === 'weekly' ? (this.$store.data.originalData.recurrenceModel.weekDayList.length > 1 ? 3 : 2) : repeatListMap.get(this.$store.data.originalData.recurrenceModel.model),
// repeatable: this.$store.data.originalData.repeatable
// })
// })
// }
// break
// case 'modify_location':
// let dataLocation = {
// modifyModel: modifyModel,
// modifyContent: 'modify_location',
// location: {
// longitude: '-999',
// latitude: '-999',
// locationName: this.$store.data.locationName
// },
// meetingRoomId: !!this.$store.data.roomId ? this.$store.data.roomId : -1
// }
// this.modifySchedule(dataLocation, needNotice).then(res => {
// this.$store.data.originalData.location = {
// longitude: '-999',
// latitude: '-999',
// locationName: this.$store.data.locationName
// }
// this.$store.data.originalData.meetingRoomId = this.$store.data.roomId ? -1 : this.$store.data.roomId
// this.$store.data.updateInfo = {
// isUpate: false,
// updateType: ''
// }
// this.update()
// if (this.$store.data.startTime != this.$store.data.originalData.startTime.replace(/-/g, '/') || this.$store.data.endTime != this.$store.data.originalData.endTime.replace(/-/g, '/')) {
// let dat2Time1 = {
// modifyModel: modifyModel,
// startTime: this.$store.data.startTime.replace(/\//g, "-"),
// endTime: this.$store.data.endTime.replace(/\//g, "-"),
// modifyContent: 'modify_time'
// }
// this.isChange('modify_time', modifyModel, needNotice)
if (this.$store.modifyErpeatMeeting) { // }
await this.$store.modifyErpeatMeeting() // }).catch(err => {
} // this.$store.data.locationName = this.$store.data.originalData.location.locationName
_that.$store.data.isIndexAffairListNeedUpdate = true; // this.$store.data.roomId = this.$store.data.originalData.meetingRoomId
_that.update() // this.update()
dd.hideLoading() // })
dd.navigateBack({ // break
delta: 1 // case 'modify_time':
}) // let data = {
}) // modifyModel: modifyModel,
} // startTime: this.$store.data.startTime.replace(/\//g, "-"),
} // endTime: this.$store.data.endTime.replace(/\//g, "-"),
}) // modifyContent: 'modify_time'
} // }
}, // this.modifySchedule(data, needNotice).then(res => {
// 点击参加 // this.$store.data.originalData.startTime = this.$store.data.startTime.replace(/\//g, "-")
participate() { // this.$store.data.originalData.endTime = this.$store.data.endTime.replace(/\//g, "-")
let data = { // this.update()
scheduleId: this.data.scheduleItem.id, // this.resetRepeatList()
value: 1, // if (this.data.recurrenceModel.model === 'weekly' && this.data.recurrenceModel.weekDayList.length === 1) {
type: 'only' // let dataRepeat4 = {
} // startTime: this.$store.data.startTime.replace(/\//g, "-"),
if (this.data.repeatable) { // endTime: this.$store.data.endTime.replace(/\//g, "-"),
this.setData({ // modifyModel: modifyModel,
'conSelectPopupData.showSelectPopup': true, // modifyContent: 'change_rule',
'conSelectPopupData.selectType': 'participateStatus' // recurrenceModel: this.data.comListData.repeatList[2].recurrenceModel,
}) // repeatable: this.data.repeatable
} else { // }
isParticipate(data).then(res => { // this.modifySchedule(dataRepeat4).then(() => {
if (res.data.code === 0) { // this.setData({
this.setData({ // recurrenceModel: this.data.comListData.repeatList[2].recurrenceModel
aheadTimes: [15], // })
'comListData.aheadTimesListId': [15], // })
confirmAttendance: 1 // } else if (this.data.recurrenceModel.model === 'absolute_Monthly') {
}) // let dataRepeat5 = {
this.conflictPeople() // startTime: this.$store.data.startTime.replace(/\//g, "-"),
if (this.$store.modifyOnceMeetingContent) { // endTime: this.$store.data.endTime.replace(/\//g, "-"),
this.$store.modifyOnceMeetingContent({ id: this.data.scheduleItem.id, confirmAttendance: 1 }) // modifyModel: modifyModel,
} // modifyContent: 'change_rule',
} // recurrenceModel: this.data.comListData.repeatList[4].recurrenceModel,
}) // repeatable: this.data.repeatable
} // }
}, // this.modifySchedule(dataRepeat5).then(() => {
// 点击 不参加 // this.setData({
noParticipate() { // recurrenceModel: this.data.comListData.repeatList[4].recurrenceModel
let data = { // })
scheduleId: this.data.scheduleItem.id, // })
value: 0,
type: 'only' // }
} // // this.modifySchedule(data, needNotice)
if (this.data.repeatable) { // }).catch(err => {
this.setData({ // this.$store.data.startTime = this.$store.data.originalData.startTime.replace(/-/g, '/')
'conSelectPopupData.showSelectPopup': true, // this.$store.data.endTime = this.$store.data.originalData.endTime.replace(/-/g, '/')
'conSelectPopupData.selectType': 'noParticipateStatus' // this.update()
}) // this.setData({
} else { // week: this.data.weekList[new Date(this.$store.data.originalData.startTime.replace(/-/g, "/")).getDay()],
isParticipate(data).then(res => { // })
if (res.data.code === 0) { // })
this.setData({ // break
confirmAttendance: 0 // // case 'aheadTimes':
}) // // let dataAheadTimes = {
this.conflictPeople() // // modifyModel: modifyModel,
if (this.$store.modifyOnceMeetingContent) { // // aheadTimes: this.data.aheadTimes,
this.$store.modifyOnceMeetingContent({ id: this.data.scheduleItem.id, confirmAttendance: 0 }) // // modifyContent: 'aheadTimes'
} // // }
} // // this.modifySchedule(dataAheadTimes).then(res => {
}) // // this.$store.data.originalData.aheadTimes = (this.data.aheadTimes.length === 0 ? null : this.data.aheadTimes)
} // // this.update()
}, // // }).catch(err => {
initialState() { // // this.setData({
let data = { // // aheadTimes: this.$store.data.originalData.aheadTimes
templateId: this.data.scheduleItem.scheduleTemplateId, // // })
planDate: this.data.scheduleItem.planDate, // // })
scheduleId: this.data.scheduleItem.id, // // break
value: -9, // }
type: 'only' // },
}
if (this.data.repeatable === 1) {
data.type = 'all'
} else {
data.type = 'only'
}
isParticipate(data).then(res => {
if (res.data.code === 0) {
this.setData({
confirmAttendance: -9
})
this.conflictPeople()
if (this.data.repeatable === 1) {
if (this.$store.modifyErpeatMeeting) {
this.$store.modifyErpeatMeeting()
}
} else {
if (this.$store.modifyOnceMeetingContent) {
this.$store.modifyOnceMeetingContent({ id: this.data.scheduleItem.id, confirmAttendance: -9 })
}
}
}
})
},
// 页面卸载 // 页面卸载
onUnload() { onUnload() {
// 页面被关闭 // 页面被关闭
...@@ -1623,24 +1765,6 @@ create.Page({ ...@@ -1623,24 +1765,6 @@ create.Page({
isExpand: false isExpand: false
}) })
}, },
onShareAppMessage() {
this.setData({
'comShareData.isShow': true
})
// this.data.comShareData.isShow = true
// return {
// type: 1, //分享类型,0:全部组件 默认; 1:只能分享到钉钉;2:不能分享,只有刷新按钮
// control: true,
// title: '智能会议室',
// desc: '会议详情',
// path: 'pages/index/index'
// };
},
closeShare() {
this.setData({
'comShareData.isShow': false
})
},
setCopy(event) { setCopy(event) {
if (event.currentTarget.dataset.type) { if (event.currentTarget.dataset.type) {
dd.setClipboard({ dd.setClipboard({
...@@ -1694,20 +1818,32 @@ create.Page({ ...@@ -1694,20 +1818,32 @@ create.Page({
// 创建会议笔记 // 创建会议笔记
openNoteModal() { openNoteModal() {
this.setData({ this.setData({
popupShow: true, popup: {
popupTitle: '创建会议笔记', show: true,
comType: 'notesModal' title: '创建会议笔记',
mask: true,
type: 'notesModal'
}
}) })
// this.setData({
// popupShow: true,
// popupTitle: '创建会议笔记',
// comType: 'notesModal'
// })
}, },
// 编辑笔记 // 编辑笔记
editNotes(e) { editNotes(e) {
this.store.data.notes = e.currentTarget.dataset; this.store.data.notes = e.currentTarget.dataset;
this.update(); this.update();
this.setData({ this.setData({
popupShow: true, popup: {
popupTitle: '编辑会议笔记', show: true,
comType: 'notesModal' title: '编辑会议笔记',
mask: true,
type: 'notesModal'
}
}) })
}, },
getNotes(notes) { getNotes(notes) {
//编辑 //编辑
...@@ -1745,12 +1881,16 @@ create.Page({ ...@@ -1745,12 +1881,16 @@ create.Page({
}, },
//添加评论 //添加评论
openComentModal(e) { openComentModal(e) {
console.log(e)
this.store.data.parentCommentId = e.currentTarget.dataset.commentId; this.store.data.parentCommentId = e.currentTarget.dataset.commentId;
this.update(); this.update();
this.setData({ this.setData({
popupShow: true, popup: {
popupTitle: '添加评论', show: true,
comType: 'commentModal' title: '添加评论',
mask: true,
type: 'remarkModal'
}
}) })
}, },
getComment(comment) { getComment(comment) {
......
...@@ -18,11 +18,24 @@ export function getInitialPsarticipants(participants) { ...@@ -18,11 +18,24 @@ export function getInitialPsarticipants(participants) {
return people return people
} }
// 比较增减的人
export function handleChangePeople(originUsers, nowUsers) { export function handleChangePeople(originUsers, nowUsers) {
const add = nowUsers.filter(it => !originUsers.includes(it)) console.log(originUsers)
const del = originUsers.filter(it => !nowUsers.includes(it)) console.log(nowUsers)
let originMap = new Map()
let nowMap = new Map()
for (let x of originUsers) {
originMap.set(x.userId, x)
}
for (let x of nowUsers) {
nowMap.set(x.userId, x)
}
const add = nowUsers.filter(it => !originMap.get(it.userId))
const del = originUsers.filter(it => !nowMap.get(it.userId))
return { return {
add: add, add: add,
del: del del: del
} }
} }
\ No newline at end of file // 重置地点
<view class="participantsDetail"> <view class="participantsDetail">
<view class="peopleContaint"> <view class="peopleContaint">
<view class="peopleList" a:for="{{!!scheduleItem ? contactPeople : $data.showParticipatorList}}" a:for-item="item"> <view class="peopleList" a:for="{{!!scheduleItem ? showContactPeople : $data.showParticipatorList}}" a:for-item="item">
<view class="headImg"> <view class="headImg">
<image a:if="{{!!item.headUrl}}" mode="scaleToFill" src="{{item.headUrl}}"/> <image a:if="{{!!item.headUrl}}" mode="scaleToFill" src="{{item.headUrl}}"/>
<text a:else>{{item.username.substring(0, 1)}}</text> <text a:else>{{item.username.substring(0, 1)}}</text>
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
</view> </view>
<view class="info"> <view class="info">
<text class="name">{{item.username}}</text> <text class="name">{{item.username}}</text>
<text a:if="{{(!scheduleItem || currentPeople === $data.originalData.organizer) ? !(item.userId == currentPeople) : !($data.originUsersId.includes(item.userId)) }}" class="close iconicon_close iconfont" data-userId="{{item.userId}}" onTap="delParticipants"></text> <text a:if="{{(!scheduleItem || currentPeople === organizer) ? !(item.userId == currentPeople) : !(originUsersId.includes(item.userId)) }}" class="close iconicon_close iconfont" data-userId="{{item.userId}}" onTap="delParticipants"></text>
</view> </view>
</view> </view>
</view> </view>
......
...@@ -10,32 +10,27 @@ create.Page({ ...@@ -10,32 +10,27 @@ create.Page({
useAll: true, useAll: true,
data: { data: {
$data: null, $data: null,
scheduleItem: '', scheduleItem: '',
// 登陆当前账户的人 权限 // 登陆当前账户的人 权限
currentPeople: '', currentPeople: '',
isIPX: false organizer: '',
isIPX: false,
contactPeople: {},
showContactPeople: [],
originUsersId: [],
}, },
onLoad(event) { onLoad(event) {
// // this.reset()
// if (event.scheduleItem) {
// this.setData({
// scheduleItem: event.scheduleItem
// })
// let contactPeople = []
// let contactPeopleId = []
// for (let value of this.$store.data.participatorList) {
// contactPeople.push(value)
// contactPeopleId.push(value.userId)
// }
// this.store.data.contactPeople = contactPeople
// this.store.data.contactPeopleId = contactPeopleId
// this.update()
// }
this.setData({ this.setData({
isIPX: checkFullScren(), isIPX: checkFullScren(),
currentPeople: getApp().globalData.userid scheduleItem: event.scheduleItem,
organizer: event.organizer,
currentPeople: getApp().globalData.userid,
contactPeople: { ...this.$store.data.participatorList },
showContactPeople: [...this.$store.data.showParticipatorList],
originUsersId: Object.keys(this.$store.data.participatorList)
}) })
}, },
onShow() { onShow() {
this.getParticipatorLength() this.getParticipatorLength()
...@@ -50,78 +45,121 @@ create.Page({ ...@@ -50,78 +45,121 @@ create.Page({
require = [getApp().globalData.userid] require = [getApp().globalData.userid]
select = selectedelRequired(Object.keys(this.$store.data.participatorList), require) select = selectedelRequired(Object.keys(this.$store.data.participatorList), require)
} }
// 编辑 发起人的可选必选 // 发起人 可选 必选
else if (this.$store.data.originalData.organizer === getApp().globalData.userid) { else if (this.data.currentPeople === this.data.organizer) {
select = this.store.data.contactPeopleId require = [this.data.currentPeople]
require = [getApp().globalData.userid] select = selectedelRequired(Object.keys(this.data.contactPeople), require)
} }
// 编辑 参会人可选必选 // 编辑 参会人可选必选
else { else {
select = this.store.data.contactPeopleId require = [Object.keys(this.$store.data.participatorList)]
require = [...this.$store.data.originUsersId]
select = selectedelRequired(Object.keys(this.data.contactPeople), require)
} }
selectPeople(select, require).then(res => { selectPeople(select, require).then(res => {
const participatorList = {} const participatorList = {}
// 创建的 可选 必选
if (!this.data.scheduleItem) { if (!this.data.scheduleItem) {
participatorList[getApp().globalData.userid] = { participatorList[getApp().globalData.userid] = {
userId: getApp().globalData.userid, username: getApp().globalData.name, headUrl: getApp().globalData.avatar, platform: 'dingtalk' userId: getApp().globalData.userid, username: getApp().globalData.name, headUrl: getApp().globalData.avatar, platform: 'dingtalk'
} }
for (let i = 0; i < res.users.length; i++) {
participatorList[res.users[i].userId] = { userId: res.users[i].userId, username: res.users[i].name, headUrl: res.users[i].avatar, platform: 'dingtalk' } }
// 发起人 可选 必选
else if (this.data.currentPeople === this.data.organizer) {
participatorList[getApp().globalData.userid] = {
userId: getApp().globalData.userid, username: getApp().globalData.name, headUrl: getApp().globalData.avatar, platform: 'dingtalk'
}
}
// 编辑 参会人可选必选
else {
const showContactPeople = this.data.showContactPeople.length
for (let i = 0; i < this.data.showContactPeople.length; i++) {
participatorList[showContactPeople[i].userId] = { userId: showContactPeople[i].userId, username: howContactPeople[i].username, headUrl: howContactPeople[i].headUrl, platform: 'dingtalk' }
} }
}
for (let i = 0; i < res.users.length; i++) {
participatorList[res.users[i].userId] = { userId: res.users[i].userId, username: res.users[i].name, headUrl: res.users[i].avatar, platform: 'dingtalk' }
}
if (this.data.scheduleItem) {
this.setData({
contactPeople: participatorList,
showContactPeople: Object.values(participatorList)
})
} else {
this.$store.data.participatorList = participatorList this.$store.data.participatorList = participatorList
this.$store.data.showParticipatorList = Object.values(participatorList) this.$store.data.showParticipatorList = Object.values(participatorList)
this.update() this.update()
} }
this.getParticipatorLength()
}) })
}, },
// 删除参会人 // 删除参会人
delParticipants(event) { delParticipants(event) {
let userId = event.target.dataset.userId let userId = event.target.dataset.userId
const participatorList = { ...this.$store.data.participatorList } let participatorList = {}
const showParticipatorList = [...this.$store.data.showParticipatorList] let showParticipatorList = []
if (this.data.scheduleItem) {
participatorList = { ...this.data.contactPeople }
showParticipatorList = [...this.data.showContactPeople]
} else {
participatorList = { ...this.$store.data.participatorList }
showParticipatorList = [...this.$store.data.showParticipatorList]
}
delete participatorList[userId] delete participatorList[userId]
for (let i = 0; i < showParticipatorList.length; i++) { for (let i = 0; i < showParticipatorList.length; i++) {
if (showParticipatorList[i].userId === userId) { if (showParticipatorList[i].userId === userId) {
showParticipatorList.splice(i, 1) showParticipatorList.splice(i, 1)
} }
} }
this.$store.data.participatorList = participatorList
this.$store.data.showParticipatorList = showParticipatorList if (this.data.scheduleItem) {
this.update() this.setData({
contactPeople: participatorList,
showContactPeople: showParticipatorList
})
this.$store.data.updateInfo = {
updateType: 'operate_user',
isUpate: true
}
} else {
this.$store.data.participatorList = participatorList
this.$store.data.showParticipatorList = showParticipatorList
this.update()
}
this.getParticipatorLength() this.getParticipatorLength()
}, },
// // 编辑时候的保存
// editSave() {
// if (JSON.stringify(this.$store.data.originUsers) != JSON.stringify(this.store.data.contactPeople)) {
// this.$store.data.updateInfo.isUpate = true
// this.$store.data.updateInfo.updateType = 'operate_user'
// this.$store.data.participatorList = this.store.data.contactPeople
// this.$store.data.participatorUserId = this.store.data.contactPeopleId
// this.update()
// }
// dd.navigateBack({
// delta: 1
// })
// },
// // 保存信息 // 保存信息
// saveInfo() { saveInfo() {
// this.editSave() this.$store.data.participatorList = this.data.contactPeople
// }, this.$store.data.showParticipatorList = this.data.showContactPeople
this.update()
this.$store.data.updateInfo = {
updateType: 'operate_user',
isUpate: true
}
this.update()
dd.navigateBack({
delta: 1
})
},
// 获取参会人长度 // 获取参会人长度
getParticipatorLength() { getParticipatorLength() {
const length = this.$store.data.showParticipatorList.length let length = 0
if (this.data.scheduleItem) {
length = this.data.showContactPeople.length
} else {
length = this.$store.data.showParticipatorList.length
}
dd.setNavigationBar({ dd.setNavigationBar({
title: `参会人(${length}人)` title: `参会人(${length}人)`
}) })
}, },
// 重置参会人 });
// reset() { \ No newline at end of file
// this.store.data.contactPeople = []
// this.store.data.contactPeopleId = []
// this.update()
// },
});
class Store { class Store {
data = { data = {
contactPeople: [], // contactPeople: [],
contactPeopleId: [] // contactPeopleId: []
} }
} }
export default new Store() export default new Store()
\ No newline at end of file
...@@ -33,7 +33,6 @@ create.Page({ ...@@ -33,7 +33,6 @@ create.Page({
}, },
}, },
onLoad(e) { onLoad(e) {
debugger
if (e.scheduleItem) { if (e.scheduleItem) {
e.scheduleItem = decodeURIComponent(e.scheduleItem) e.scheduleItem = decodeURIComponent(e.scheduleItem)
this.setData({ this.setData({
......
...@@ -78,7 +78,7 @@ ...@@ -78,7 +78,7 @@
</view> </view>
<view>{{item.hasDateLabel}}</view> <view>{{item.hasDateLabel}}</view>
</view> </view>
<view class="scheduleBox {{item.value.isBeOverdue ? 'overdue' : item.value.confirmAttendance === 0 ? 'cancel' : ''}}" data-item="{{item.value}}" onTap="nextDetail"> <view class="scheduleBox {{item.value.isBeOverdue ? 'overdue' : item.value.confirmAttendance == 0 ? 'cancel' : ''}}" data-item="{{item.value}}" onTap="nextDetail">
<view class="scheduleTitle"> <view class="scheduleTitle">
<text>{{item.value.title}}{{item.value.isDaySpan ? `(第${item.value.isFewDays}天,共${item.value.duration}天)` : '' }}</text> <text>{{item.value.title}}{{item.value.isDaySpan ? `(第${item.value.isFewDays}天,共${item.value.duration}天)` : '' }}</text>
</view> </view>
......
...@@ -293,7 +293,7 @@ export function selectPeople(select, require) { ...@@ -293,7 +293,7 @@ export function selectPeople(select, require) {
// 可选中去掉必选人 // 可选中去掉必选人
export function selectedelRequired(select, require) { export function selectedelRequired(select, require) {
return select.filter(it => { return select.filter(it => {
return !require.includes(it.userId) return !require.includes(it)
}) })
} }
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