Commit bbfaaabc by fengzhaoyu

style:修改版本号 0.0.20

parents 809cd141 f8d22217
......@@ -2,6 +2,7 @@ let lock = false;
export default async function login() {
if (lock == true) {
await waitLockRelease(50);
return;
}
lock = true;
......@@ -50,6 +51,13 @@ export default async function login() {
})
})
}
// let time =setInterval(function() {
// if (lock == false) {
// clearInterval(time)
// return;
// }
// }, 100)
async function waitLockRelease(retry) {
for (let i = 0; i < retry; i++) {
......
......@@ -252,4 +252,18 @@ export function getuploadResource(data) {
data: JSON.stringify(data),
url: `/meet/meeting-log-resource/uploadResource`
});
}
// oss 预览
export function previewOss(data) {
return $http({
method: "get",
url: `/meet/meeting-log-resource/generateIDocViewFileUrl?fileId=${data}`
});
}
// 根据id 换取 会议室
export function getDeviceBySn(data) {
return $http({
method: "get",
url: `/meet/meeting-room-device/getDeviceBySn?deviceSn=${data}`
});
}
\ No newline at end of file
......@@ -31,7 +31,12 @@ export default function xFetch({ url, method, data, type }) {
if (err && err.status == 401) {
login();
}
alertOnce((err && err.errorMsg) || '网络异常,请重试', rejects);
if (err.errorMsg === 'socket is closed') {
} else {
console.log(err)
alertOnce((err && err.errorMsg) || '网络异常,请重试', rejects);
}
}
});
});
......
import create from 'dd-store';
import pageStore from '../../pages/meetingDetail/store';
import { previewPermissions } from '../../api/request.js'
import { previewPermissions, previewOss } from '../../api/request.js'
import openLink from "dingtalk-jsapi/api/biz/util/openLink";
create.Component({
store: pageStore,
......@@ -11,7 +12,8 @@ create.Component({
},
props: {
isCanEdit: true,
isCanDelete: false
isCanDelete: false,
isPreview: true // 是否点击预览
},
didMount() {
},
......@@ -28,27 +30,58 @@ create.Component({
},
//预览文件
preview(e) {
//如果出现编辑蒙层时阻止预览的点击事件
// 如果出现编辑蒙层时阻止预览的点击事件
if (this.store.data.logId) {
return;
}
const file = e.target.dataset.file
const data = {
ddUserId: getApp().globalData.userid,
type: 'download',
fileIds: file.fileId,
projectName: 'MING_MEETING'
if (!this.props.isPreview) {
return
}
previewPermissions(data).then(res => {
dd.previewFileInDingTalk({
corpId: dd.corpId,
spaceId: res.data.data,
fileId: file.fileId,
fileName: file.fileName,
fileSize: file.fileSize,
fileType: file.fileType
})
const file = e.target.dataset.file
const imageType = ['jpg', 'bmp', 'png', 'gif', 'jpeg']
previewOss(file.fileId).then(res => {
if (res.data.code === 0) {
if (imageType.includes(file.fileType)) {
dd.previewImage({
current: 1,
urls: [res.data.data],
success: (res) => {
console.log(JSON.stringify(res))
},
fail: (err) => {
console.log(JSON.stringify(err))
}
})
} else {
openLink({
url: res.data.data
})
}
}
})
// console.log(e)
// const data = {
// ddUserId: getApp().globalData.userid,
// type: 'download',
// fileIds: file.fileId,
// projectName: 'MING_MEETING'
// }
// previewPermissions(data).then(res => {
// dd.previewFileInDingTalk({
// corpId: dd.corpId,
// spaceId: res.data.data,
// fileId: file.fileId,
// fileName: file.fileName,
// fileSize: file.fileSize,
// fileType: file.fileType
// })
// })
},
//显示操作框
showOperate(e) {
......
......@@ -30,23 +30,9 @@
<view class="associated">
可关联应用
</view>
<view class="applicationList" a:if="{{relatedAppPlatformList.indexOf('outlook') === -1}}">
<view class="applicationLogo outlook">
</view>
<view class="applicationMsg" data-name="" data-platform="outlook" catchTap="toAppDetails">
<view>
<view>
Outlook日历
</view>
<view>
支持会议日程双向同步,实时同步日程信息等
</view>
</view>
<view class="operateIcon">
<text class="iconfont iconright"></text>
</view>
</view>
</view>
<!--<view class="applicationList" a:if="{{relatedAppPlatformList.indexOf('outlook') === -1}}"><view class="applicationLogo outlook"></view><view class="applicationMsg" data-name="" data-platform="outlook" catchTap="toAppDetails"><view><view>
Outlook日历</view><view>
支持会议日程双向同步,实时同步日程信息等</view></view><view class="operateIcon"><text class="iconfont iconright"></text></view></view></view> -->
<view class="applicationList" a:if="{{relatedAppPlatformList.indexOf('zoom') === -1}}">
<view class="applicationLogo zoom">
</view>
......
import { getThirdUserPlatForm } from "../../api/request";
import { throttle } from "../../utils/utils";
import create from "dd-store";
import pageStore from '../../pages/meetingDetail/store';
create.Component({
store: pageStore,
mixins: [],
data: {
$data: null,
relatedAppPlatform: null,//store
userInfo: {},
relatedAppList: [],
relatedAppPlatformList: []
......@@ -23,7 +26,7 @@ create.Component({
this.getData();
}
},
didUnmount() {},
didUnmount() { },
methods: {
getData() {
let data = {
......@@ -39,7 +42,14 @@ create.Component({
relatedAppList: res.data.data,
relatedAppPlatformList: res.data.data.map(it => it.platform)
});
/*
relatedAppPlatform 绑定平台列表
目的: 通知详情 是否可以选则zoom
*/
this.store.data.relatedAppPlatform = res.data.data.map(it => it.platform)
this.update()
});
},
preventSort() {
return false;
......
<view class="comHList">
<view class="comHList-item" a:for="{{dataComList}}" catchTap="onSelectComHList" data-item="{{item}}">
<view class="comHList-item-image">
<image mode="scaleToFill" src="{{item.imageUrl}}"/>
</view>
<view class="comHList-item-text">
{{item.text}}
</view>
</view>
</view>
\ No newline at end of file
Component({
mixins: [],
data: {},
props: {},
didMount() { },
didUpdate() { },
didUnmount() { },
methods: {
onSelectComHList(event) {
this.props.onSelectComHList(event)
}
},
});
{
"component": true
}
\ No newline at end of file
......@@ -24,6 +24,8 @@ Component({
});
},
checkChange(e) {
// console.log(e.target.dataset)
let { status, id, groupId, scheduleId } = e.target.dataset;
if (status == "0") {
status = "1";
......
......@@ -116,7 +116,8 @@
<popup title="{{popupTitle}}" show="{{popupShow}}" mask="true" onClose="closePopup">
<meeting-time-picker a:if="{{'time' === comType}}" onComplete="onComplete" isIPX="{{isIPX}}"></meeting-time-picker>
<hlist a:if="{{'participator' === comType}}" dataComList="{{comHListData.contactData}}" onSelectComHList="selectComHList"></hlist>
<list a:if="{{comType=='repeat' || comType=='meetingWayModel'}}" dataComList="{{comType=='repeat' ? comListData.repeatList : comListData.meetingWayList}}" onComSelectList="selectComList" comSelectListId="{{comType=='repeat' ? comListData.comSelectListId : comListData.meetingWayModelId}}" iconType="{{comListData.iconType}}">
<list a:if="{{comType=='repeat'}}" dataComList="{{comType=='repeat' ? comListData.repeatList : comListData.meetingWayList}}" onComSelectList="selectComList" comSelectListId="{{comType=='repeat' ? comListData.comSelectListId : comListData.meetingWayModelId}}" iconType="{{comListData.iconType}}">
</list>
<list a:if="{{comType == 'meetingWayModel'}}" dataComList="{{relatedAppPlatform.includes('zoom') ? comListData.meetingWayList: [comListData.meetingWayList[0]] }}" onComSelectList="selectComList" comSelectListId="{{comListData.meetingWayModelId}}" iconType="{{comListData.iconType}}"></list>
</popup>
</view>
\ No newline at end of file
import { addSchedule, getUserScheduleInTime } from '../../api/request.js'
import { addSchedule, getUserScheduleInTime, getDeviceBySn } from '../../api/request.js'
import { throttle, getInterTime } from './../../utils/utils.js'
import { checkFullScren } from "../../utils/checkFullScren";
import create from 'dd-store'
import pageStore from '../meetingDetail/store';
create.Page({
store: pageStore,
data: {
$data: null,
relatedAppPlatform: null,
// 传给组件list 的所有数据 comListData
comListData: {
repeatList: [
......@@ -16,8 +19,8 @@ create.Page({
],
meetingWayList: [
// { id: 0, text: 'Webex meeting', imageUrl: '../../assests/Webex.png', meetingWayModel: { model: 'webex' } },
{ id: 0, text: 'Zoom Meeting', imageUrl: '../../assests/Zoom.png', meetingWayModel: { model: 'zoom' } },
{ id: 1, text: '钉钉', imageUrl: '../../assests/dingding.png', meetingWayModel: { model: 'dingtalk' } }
{ id: 0, text: '钉钉', imageUrl: '../../assests/dingding.png', meetingWayModel: { model: 'dingtalk' } },
{ id: 1, text: 'Zoom Meeting', imageUrl: '../../assests/Zoom.png', meetingWayModel: { model: 'zoom' } }
],
comSelectListId: 0,
meetingWayModelId: null,
......@@ -64,7 +67,15 @@ create.Page({
Complete(data) {
this.closePop();
},
onLoad() {
onLoad(query) {
if (query && query.sn) {
getDeviceBySn(query.sn).then(res => {
if (res.data.code === 0) {
this.$store.data.locationName = res.data.data.meetingRooomFullName
this.$store.data.roomId = res.data.data.meetingRoomId
}
})
}
dd.setNavigationBar({
title: `创建会议`
})
......
......@@ -51,11 +51,8 @@
<view class="scheduleHeader">
<view>{{currentData.split('/')[0]}}年{{currentData.split('/')[1] || '1'}}月</view>
<view onTap="changesidebar" class="headerIcon">
<text class="iconfont iconicon_app1">
</text>
<view>
</view>
</view>
<text class="iconfont iconicon_app1"></text>
<view></view></view>
</view>
<scroll-view class="indexScrollView" scroll-y="{{true}}" onScroll="scroll" lower-threshold="{{400}}" onScrollToLower="lower" scroll-into-view="{{todayStr}}">
<block a:for="{{scheduleList}}" key="{{item.dateStr}}">
......
......@@ -20,6 +20,7 @@ import {
getCreateShowTime
} from "../../utils/utils";
import { checkFullScren } from "../../utils/checkFullScren";
import pageStore from '../meetingDetail/store';
const currentDate = new Date();
const minYear = 2020;
const maxYear = currentDate.getFullYear() + 1;
......@@ -27,8 +28,11 @@ let DateMap = getDateMap(minYear, maxYear);
const weekList = ["周日", "周一", "周二", "周三", "周四", "周五", "周六"];
import create from "dd-store";
let maxClickCount = 5;
create.Page({
store: pageStore,
data: {
relatedAppPlatform: null,
sign: "",
refresh: false,
$data: null,
......@@ -89,8 +93,12 @@ create.Page({
}
},
onLoad(query) {
console.log(query);
if (query && JSON.stringify(query) !== "{}") {
if (query && query.sn) {
this.setData({
listLoading: false
});
dd.navigateTo({ url: `./../createMeeting/createMeeting?sn=${query.sn}` });
} else if (query && JSON.stringify(query) !== "{}" && !query.sn) {
this.setData({
listLoading: false
});
......@@ -351,6 +359,7 @@ create.Page({
},
//动态修改状态
onChangeTaskStatusOnList(e) {
// console.log(e)
const data = {
groupId: e.groupId,
scheduleId: e.scheduleId,
......@@ -366,6 +375,7 @@ create.Page({
let dataIndex1 = "";
let dataIndex2 = "";
this.data.dynamicList.forEach((item, index) => {
if (item.scheduleId === e.scheduleId) {
dataIndex1 = index;
item.meetingLogDataList.forEach((it, index2) => {
......@@ -376,6 +386,7 @@ create.Page({
}
});
const setData = `dynamicList[${dataIndex1}].meetingLogDataList[${dataIndex2}].meetingLogResource.taskStatus`;
// console.log(setData)
this.setData({
[setData]: e.status
});
......@@ -798,8 +809,9 @@ create.Page({
dd.navigateTo({ url: "./../createMeeting/createMeeting" });
},
nextDetail: throttle(function (e) {
console.log(e.target.dataset)
const { item } = e.target.dataset;
const scheduleItem = { scheduleId: item.id || item.scheduleId, scheduleTemplateId: item.scheduleTemplateId, planDate: item.planDate }
const scheduleItem = { scheduleId: item.scheduleId || item.id, scheduleTemplateId: item.scheduleTemplateId, planDate: item.planDate }
dd.navigateTo({
url: `./../meetingDetail/meetingDetail?scheduleItem=${encodeURIComponent(JSON.stringify(scheduleItem))}`
});
......@@ -880,7 +892,7 @@ create.Page({
maxClickCount--;
if (maxClickCount == 0) {
dd.alert({
content: "0.0.19"
content: "0.0.20"
});
maxClickCount = 5;
}
......
/*
comShareData {
isShow: false, 是否展示 默认不展示
shareDataList: [{}] 展示的数据
}
临时只做demo展示 并没有实际功能
*/
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
<block a:if="{{getData}}">
<view class=" {{(popupShow || show || centerPopup.showCenterPopup || conToastData.showToast || conSelectPopupData.showSelectPopup )? 'metingDetail' : ''}}">
<view class=" {{(popupShow || show || centerPopup.showCenterPopup || conToastData.showToast || conSelectPopupData.showSelectPopup || comShareData.isShow )? 'metingDetail' : ''}}">
<import src="../../template/deleteBtn/index.axml"/>
<view class="hideDetail" a:if="{{isExpand}}">
<view class="hideTitle">
......@@ -139,8 +139,23 @@
<view class="permission" a:if="{{currentPeople != organizer}}">
</view>
</view>
<!--<view class="meetingWayShow" a:if="{{comListData.meetingWayModelId == 0}}"><view class="meetingWayShowTop"><view class=" icon iconfont iconicon_camera1"></view><view class="meetingWayText"><view onTap="setCopy" data-item="https://zoom.com.cn/j/93255954558?pwd=YmNZQkY1SGxtUFNPYjZlcUpJT0xtQT09" data-type="url">
Zoom</view><view class="mettingWayText" onTap="setCopy" data-item="513410069"><text>ID:513410069</text><text class="icon iconfont iconicon_icon"></text></view><view class="mettingWayText passWord" onTap="setCopy" data-item="4ez3am"><text >密码:4ez3am</text><text class="icon iconfont iconicon_icon"></text></view></view></view></view> -->
<view class="meetingWayShow" a:if="{{comListData.meetingWayModelId == 1}}">
<view class="meetingWayShowTop">
<view class=" icon iconfont iconicon_camera1"></view>
<view class="meetingWayText">
<view onTap="setCopy" data-item="{{meetingWayModelData.data.joinUrl}}" data-type="url">
Zoom
</view>
<view class="mettingWayText" onTap="setCopy" data-item="{{meetingWayModelData.data.meetingId}}">
<text>ID:{{meetingWayModelData.data.meetingId}}</text>
<text class="icon iconfont iconicon_icon"></text></view>
<view class="mettingWayText passWord" onTap="setCopy" data-item="{{meetingWayModelData.data.password}}">
<text >密码:{{meetingWayModelData.data.password}}</text>
<text class="icon iconfont iconicon_icon"></text>
</view>
</view>
</view>
</view>
<!-- 删除该会议 -->
<template is="deleteBtn" onhandleDelete="" data="{{title: '删除该会议' }}"/>
</view>
......@@ -187,13 +202,11 @@
<view onTap="showCreateTask" data-pop="{{title: '创建任务', type: 'createTask'}}">
<text class="iconfont iconicon_task1"></text>任务
</view>
<view onTap="addMeetingFile">
<text class="iconfont iconicon_data"></text>文件
</view>
<!--<view onTap="addMeetingFile"><text class="iconfont iconicon_data"></text>文件</view> -->
<view onTap="addOssFile" a:if="{{isShowOss}}">
<text class="iconfont iconicon_data"></text>
<view>
oss
文件
</view>
</view>
<text class="devider"></text>
......@@ -245,8 +258,12 @@
<popup a:if="{{popupShow}}" title="{{popupTitle}}" show="{{popupShow}}" mask="true" onClose="closePopup">
<meeting-time-picker a:if="{{'time' === comType}}" onComplete="onComplete" startTime="{{$data.startTime}}" endTime="{{$data.endTime}}" isIPX="{{isIPX}}"></meeting-time-picker>
<hlist a:if="{{'participator' === comType}}" dataComList="{{comHListData.contactData}}" onSelectComHList="selectComHList"></hlist>
<list multiple="{{comListData.multiple}}" onCompelete="selectAheadtimes" comSelectList="{{comListData.aheadTimesListId}}" complete="{{comType=='aheadTime' ? true : false}}"a:if="{{comType=='repeat' || comType=='meetingWayModel' || comType=='aheadTime'}}" dataComList="{{comType=='repeat' ? comListData.repeatList : (comType=='aheadTime' ? comListData.aheadTimesList : comListData.meetingWayList)}}" onComSelectList="selectComList" comSelectListId="{{comType=='repeat' ? comListData.comSelectListId : (comType=='aheadTime'?comListData.aheadTimesListId : comListData.meetingWayModelId)}}" iconType="{{comListData.iconType}}">
</list>
<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>
<list a:if="{{comType == 'meetingWayModel'}}" dataComList="{{relatedAppPlatform.includes('zoom') ? comListData.meetingWayList: [comListData.meetingWayList[0]] }}" onComSelectList="selectComList" comSelectListId="{{comListData.meetingWayModelId}}" iconType="{{comListData.iconType}}"></list>
</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="{{show}}" show="{{show}}" onClose="closePop" title="{{pop.title}}">
<!-- 任务创建弹出框 -->
......
......@@ -3,10 +3,12 @@ import { checkFullScren } from "../../utils/checkFullScren";
import pageStore from './store';
import { saveFileInfo, getMeetingRoomAffairs, createMeetingTask, deleteMeetingTask, updateMeetingTask, uploadPermissions } from '../../api/request';
import { getOssPermission, getuploadResource, isParticipate, deleteSchedule, getScheduleDetail, getUserScheduleInTime, modifySchedule, getMeetingRoomRepeatAffairs } from '../../api/request.js'
import { throttle, getCreateShowTime, getRndInteger } from './../../utils/utils.js'
import { throttle, getCreateShowTime } from './../../utils/utils.js'
import { observer } from '/utils/observer.js'
import { resolve } from 'path';
import { isShowOss } from '../../config.js';
import { getFileInfoFromOss } from './uploadFile';
import { comShareData } from './const.js';
create.Page({
store: pageStore,
useAll: true,
......@@ -34,8 +36,8 @@ create.Page({
{ id: 4, text: '每月', icon: '', repeatable: 1, recurrenceModel: { model: 'absolute_Monthly', daysOfMonth: ['23'], interval: 1, initialTime: `2020-03-23`, terminateTime: `2022-03-23`, weekDayList: null } }
],
meetingWayList: [
{ id: 0, text: 'Zoom Meeting', imageUrl: '../../assests/Zoom.png', meetingWayModel: { model: 'zoom' } },
{ id: 1, text: '钉钉', imageUrl: '../../assests/dingding.png', meetingWayModel: { model: 'dingtalk' } }
{ id: 0, text: '钉钉', imageUrl: '../../assests/dingding.png', meetingWayModel: { model: 'dingtalk' } },
{ id: 1, text: 'Zoom Meeting', imageUrl: '../../assests/Zoom.png', meetingWayModel: { model: 'zoom' } }
],
aheadTimesList: [
{ id: -1, text: '不提醒', icon: 'iconicon_cycle' },
......@@ -86,6 +88,7 @@ create.Page({
],
centerPopupId: ''
},
comShareData: comShareData, //来自const.js 只做demo展示,没有实际功能
title: ``,
repeatable: 0,
recurrenceModel: { model: 'no_repeat' },
......@@ -115,6 +118,9 @@ create.Page({
},
onShow() {
// this.conflictPeople()
// this.store.data.fileInfos = []
// this.store.data.description = ''
// this.update()
setTimeout(() => {
this.update()
}, 100)
......@@ -150,7 +156,12 @@ create.Page({
}
break;
case 'modify_location':
if ((this.$store.data.locationName !== this.$store.data.originalData.locationName) || (this.$store.data.roomId !== this.$store.data.originalData.meetingRoomId)) {
if (
(this.$store.data.locationName !== this.$store.data.originalData.locationName)
|| (this.$store.data.roomId !== this.$store.data.originalData.meetingRoomId)
|| (this.$store.data.startTime != this.$store.data.originalData.startTime)
|| (this.$store.data.endTime != this.$store.data.originalData.endTime)
) {
if (this.data.repeatable === 1) {
this.setData({
'conSelectPopupData.selectType': 'common',
......@@ -178,6 +189,7 @@ create.Page({
break;
}
}
},
onLoad(event) {
event.scheduleItem = decodeURIComponent(event.scheduleItem);
......@@ -211,6 +223,9 @@ create.Page({
}
getScheduleDetail(data).then(res => {
if (res.data.code === 0) {
if (!res.data.data.id) {
console.log('详情接口scheduleId不存在')
}
let participatorList = []
let originUsers = []
let originUsersId = []
......@@ -230,12 +245,13 @@ create.Page({
}
}
this.setData({
currentPeople: getApp().globalData.userid,
aheadTimes: !!res.data.data.aheadTimes ? res.data.data.aheadTimes : [],
'comListData.aheadTimesListId': !!res.data.data.aheadTimes ? res.data.data.aheadTimes : [-1],
mrReserveStatus: res.data.data.mrReserveStatus,
confirmAttendance: res.data.data.confirmAttendance === null ? -9 : res.data.data.confirmAttendance,
organizer: res.data.data.organizer,
'comListData.meetingWayModelId': res.data.data.meetingWayModel.model === null ? null : (res.data.data.meetingWayModel.model === 'dingtalk' ? 1 : 0),
'comListData.meetingWayModelId': res.data.data.meetingWayModel.model === null ? null : (res.data.data.meetingWayModel.model === 'dingtalk' ? 0 : 1),
repeatable: res.data.data.repeatable,
recurrenceModel: res.data.data.repeatable ? { model: res.data.data.recurrenceModel.model, daysOfMonth: res.data.data.recurrenceModel.daysOfMonth, interval: 1, initialTime: res.data.data.recurrenceModel.initialTime, terminateTime: res.data.data.recurrenceModel.terminateTime, weekDayList: res.data.data.recurrenceModel.weekDayList } : { model: 'no_repeat' },
title: res.data.data.title,
......@@ -244,8 +260,10 @@ create.Page({
isShowRemark: res.data.data.remark ? true : false,
week: this.data.weekList[new Date(res.data.data.startTime.replace(/-/g, "/")).getDay()],
getData: true,
scheduleItem: res.data.data
scheduleItem: res.data.data,
meetingWayModelData: res.data.data.meetingWayModel
})
if (res.data.data.repeatable) {
this.setData({
'comListData.comSelectListId': res.data.data.recurrenceModel.model === 'weekly' ? (res.data.data.recurrenceModel.weekDayList.length > 1 ? 3 : 2) : repeatListMap.get(res.data.data.recurrenceModel.model),
......@@ -267,8 +285,6 @@ create.Page({
this.update();
this.loadAffairList();
this.resetRepeatList()
} else {
}
})
},
......@@ -463,6 +479,7 @@ create.Page({
popupShow: false,
meetingWayModel: this.data.comListData.meetingWayList[event.currentTarget.dataset.item.id].meetingWayModel
})
if (this.data.repeatable) {
this.setData({
editType: 'meeting_way'
......@@ -667,6 +684,13 @@ create.Page({
this.$store.modifyErpeatMeeting()
}
}
if (data.modifyContent == 'modify_time' || data.modifyContent == ' modify_location') {
this.setData({
mrReserveStatus: res.data.extra
})
this.$store.data.originalData.mrReserveStatus = res.data.extra
this.update()
}
if (this.$store.data.originalData.repeatable === 1 && !!res.data.data) {
observer.notice(res.data.data)
......@@ -996,9 +1020,19 @@ create.Page({
this.modifySchedule(dataWay).then(res => {
this.$store.data.originalData.meetingWay = !!this.data.comListData.meetingWayModelId ? this.data.comListData.meetingWayList[this.data.comListData.meetingWayModelId] : null
this.update()
if (dataWay.meetingWayModel.model === 'zoom' && this.store.data.relatedAppPlatform.includes('zoom')) {
const scheduleDetailData = {
id: !!this.data.scheduleItem.scheduleId ? this.data.scheduleItem.scheduleId : this.data.scheduleItem.id,
scheduleTemplateId: this.data.scheduleItem.scheduleTemplateId,
planDate: !!this.data.scheduleItem.planDate ? this.data.scheduleItem.planDate.replace(/\//g, '-') : null
}
getScheduleDetail(scheduleDetailData).then(success => {
meetingWayModelData: success.data.data.meetingWayModel
})
}
}).catch(err => {
this.setData({
'comListData.meetingWayModelId': this.$store.data.originalData.meetingWayModel === null ? null : (this.$store.data.originalData.meetingWayModel.model === 'dingtalk' ? 2 : (this.$store.data.originalData.meetingWayModel.model === 'zoom' ? 1 : 0))
'comListData.meetingWayModelId': this.$store.data.originalData.meetingWayModel === null ? null : (this.$store.data.originalData.meetingWayModel.model === 'dingtalk' ? 0 : 1)
})
})
break
......@@ -1121,6 +1155,10 @@ create.Page({
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 = {
......@@ -1386,8 +1424,16 @@ create.Page({
//获取动态列表
loadAffairList(current = 1) {
if (this.data.repeatable == 1) {
if (!this.data.scheduleItem.groupId) {
console.log(`groupId不存在`)
return
}
this.getRepeatAffairList(this.data.scheduleItem.groupId, current)
} else {
if (!this.data.scheduleItem.id) {
console.log(`scheduleItem.id不存在`)
return
}
this.getAffairList(this.data.scheduleItem.id)
}
//重置
......@@ -1621,72 +1667,20 @@ create.Page({
},
// 上传oss文件
async addOssFile() {
const timestamp = new Date().getTime()
const random = getRndInteger(1000, 10000)
const permisson = await getOssPermission()
const imgInfo = await this.getOssImg()
const key = await new Promise((resolve) => { resolve(permisson.data.data.dir + timestamp + random + '.' + imgInfo.files[0].fileType) })
const fileName = await new Promise((resolve) => { resolve(timestamp + random + '.' + imgInfo.files[0].fileType) })
await this.uploadOssFile(permisson, imgInfo, key)
await this.saveOssFileInfo(permisson, imgInfo, key, fileName)
},
// 获取oss上传图片 选择图片 上传图片到oss
getOssImg() {
return new Promise((resolve, rejects) => {
dd.chooseImage({
count: 1,
success: (res) => {
resolve(res)
},
});
})
},
// 获取的图片上传到oss
uploadOssFile(permisson, imgInfo, key) {
return new Promise(resolve => {
dd.uploadFile({
url: permisson.data.data.host,
fileType: 'image',
fileName: 'file',
filePath: imgInfo.filePaths[0],
formData: {
key: key,
policy: permisson.data.data.policy,
OSSAccessKeyId: permisson.data.data.accessId,
success_action_status: 200,
signature: permisson.data.data.signature
},
success: () => {
resolve()
}
})
})
},
// 上传oss文件
saveOssFileInfo(permisson, imgInfo, key, fileName) {
const data = {
resourceType: 'accessory',
creatorId: getApp().globalData.userid,
category: '2',
scheduleId: this.store.data.scheduleId,
groupId: this.store.data.groupId,
creatorInfo: getApp().globalData.userInfo,
description: '',
logType: 'schedule_accessory_add',
fileInfos: JSON.stringify({
fileId: key,
fileName: fileName,
fileType: imgInfo.files[0].fileType,
fileSize: imgInfo.files[0].size
})
}
saveFileInfo(data).then(result => {
this.store.data.description = '';
this.store.data.fileInfos = null;
const res = await getFileInfoFromOss();
if (res.code === -1) {
dd.alert({
title: '上传成功',
content: JSON.stringify(result)
content: res.msg
})
})
return
}
this.store.data.fileInfos = res.data
this.update()
dd.navigateTo({ url: `./../uploadFile/uploadFile` })
},
//隐藏文件操作浮窗
hideFileOperate() {
this.store.data.logId = '';
......@@ -1853,13 +1847,22 @@ create.Page({
})
},
onShareAppMessage() {
return {
type: 1, //分享类型,0:全部组件 默认; 1:只能分享到钉钉;2:不能分享,只有刷新按钮
control: true,
title: '智能会议室',
desc: '会议详情',
path: 'pages/index/index'
};
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) {
if (event.currentTarget.dataset.type) {
......
......@@ -7,6 +7,7 @@
"task-panel": "../../components/taskPanel/taskPanel",
"list": "../../components/list/list",
"hlist": "../../components/hList/hList",
"sharelist": "../../components/shareList/shareList",
"toast": "../../components/toast/toast",
"selectpopup": "../../components/selectPopup/selectPopup",
"centerpopup": "../../components/centerPopup/centerPopup",
......
......@@ -15,7 +15,8 @@ class Store {
scheduleId: '',
groupId: '',
isNeedReloadList: false,
logId: ''
logId: '',
relatedAppPlatform: null
}
}
export default new Store()
\ No newline at end of file
import { getRndInteger } from '../../utils/utils.js'
import { getOssPermission } from '../../api/request.js'
import { saveFileInfo, getMeetingRoomAffairs, createMeetingTask, deleteMeetingTask, updateMeetingTask, uploadPermissions } from '../../api/request';
import pageStore from './store'
// 选择图片
function getImg() {
return new Promise((resolve, rejects) => {
dd.chooseImage({
count: 1,
success: (res) => {
resolve(res)
},
fail: (err) => {
rejects({ code: -1, ...err })
}
});
})
}
// 获取的图片上传到oss
async function uploadImg(imgInfo) {
const permisson = await getOssPermission()
const timestamp = new Date().getTime()
const random = getRndInteger(1000, 10000)
const fileName = timestamp.toString() + random.toString() + '.' + imgInfo.files[0].fileType;
const key = permisson.data.data.dir + fileName;
return new Promise((resolve, rejects) => {
dd.uploadFile({
url: permisson.data.data.host,
fileType: 'image',
fileName: 'file',
filePath: imgInfo.filePaths[0],
formData: {
key: key,
policy: permisson.data.data.policy,
OSSAccessKeyId: permisson.data.data.accessId,
success_action_status: 200,
signature: permisson.data.data.signature
},
success: (res) => {
console.log(JSON.stringify(res))
resolve([{
fileId: key,
fileName: fileName,
fileType: imgInfo.files[0].fileType,
fileSize: imgInfo.files[0].size
}])
},
fail: (err) => {
rejects({ code: -1, ...err })
}
})
})
}
// 从OSS获取fileInfo
export async function getFileInfoFromOss() {
// 选择图片
const imgInfo = await getImg()
if (imgInfo.code === -1) {
return { code: -1, msg: '选择图片失败' }
}
// 上传图片
const fileInfo = await uploadImg(imgInfo)
if (fileInfo.code === -1) {
return { code: -1, msg: '选上传图片失败' }
}
// 返回fileInfo
return { code: 0, msg: 'success', data: fileInfo }
}
\ No newline at end of file
......@@ -1250,8 +1250,11 @@ create.Page({
if (
this.$store.data.locationName !=
this.$store.data.originalData.location.locationName ||
this.$store.data.roomId != this.$store.data.originalData.meetingRoomId
this.$store.data.roomId != this.$store.data.originalData.meetingRoomId ||
this.$store.data.startTime != this.$store.data.originalData.startTime.replace(/-/g, "/") ||
this.$store.data.endTime != this.$store.data.originalData.endTime.replace(/-/g, "/")
) {
this.$store.data.updateInfo = {
updateType: "modify_location",
isUpate: true
......
......@@ -3,7 +3,7 @@ page {
font-family: PingFangSC-Regular;
font-size: 34rpx;
color: #191F25;
padding-bottom: 128rpx;
padding-bottom: 205rpx;
}
.peopleList {
......
......@@ -47,12 +47,7 @@
<view a:if="{{!loading}}">
<view class="scheduleHeader">
<view>{{currentData.split('/')[0]}}年{{currentData.split('/')[1] || '1'}}月</view>
<view onTap="changesidebar" class="headerIcon">
<text class="iconfont iconicon_app1">
</text>
<view>
</view>
</view>
<!--<view onTap="changesidebar" class="headerIcon"><text class="iconfont iconicon_app1"></text><view></view></view> -->
</view>
<scroll-view class="indexScrollView" scroll-y="{{true}}" onScroll="scroll" lower-threshold="{{400}}" onScrollToLower="lower" scroll-into-view="{{todayStr}}">
<block a:for="{{scheduleList}}" key="{{item.dateStr}}">
......
......@@ -2,7 +2,7 @@
<view class="describe">
<textarea value="{{description}}" class="textarea" onInput="inputChange" placeholder="添加文件描述..." maxlength="-1" />
</view>
<file-list fileView="{{{fileInfos: fileInfos}}}" isCanEdit="{{false}}" isCanDelete="{{true}}"/>
<file-list fileView="{{{fileInfos: fileInfos}}}" isCanEdit="{{false}}" isPreview="{{false}}" isCanDelete="{{true}}"/>
<view class="addText" onTap="add">继续添加</view>
</view>
<view class="saveButton" onTap="saveUpload">
......
......@@ -2,6 +2,7 @@ import create from 'dd-store'
import { saveFileInfo, addSchedule, uploadPermissions, previewPermissions, updateMeetingTask } from '../../api/request.js'
import { throttle, debounce } from './../../utils/utils.js'
import pageStore from '../meetingDetail/store';
import { getFileInfoFromOss } from '../meetingDetail/uploadFile';
create.Page({
store: pageStore,
......@@ -25,6 +26,7 @@ create.Page({
}
},
onShow() {
this.update()
},
inputChange: debounce(function (e) {
const value = e.detail.value;
......@@ -34,28 +36,37 @@ create.Page({
}
}, 100),
//添加会议文件
add() {
const data = {
ddUserId: getApp().globalData.userid,
type: 'add',
projectName: 'MING_MEETING'
async add() {
const res = await getFileInfoFromOss();
if (res.code === -1) {
dd.alert({
content: res.msg
})
return
}
uploadPermissions(data).then(res => {
if (res.data.code === 0) {
const _that = this
dd.uploadAttachmentToDingTalk({
image: { multiple: true, compress: true, max: 9, spaceId: res.data.data },
space: { spaceId: res.data.data, compress: true, isCopy: 1, max: 9 },
types: ["photo", "camera", "space"],
success: (res) => {
_that.store.data.fileInfos.push(...res.data)
_that.update();
},
fail: (err) => {
}
})
}
})
this.store.data.fileInfos.push(...res.data)
this.update();
// const data = {
// ddUserId: getApp().globalData.userid,
// type: 'add',
// projectName: 'MING_MEETING'
// }
// uploadPermissions(data).then(res => {
// if (res.data.code === 0) {
// const _that = this
// dd.uploadAttachmentToDingTalk({
// image: { multiple: true, compress: true, max: 9, spaceId: res.data.data },
// space: { spaceId: res.data.data, compress: true, isCopy: 1, max: 9 },
// types: ["photo", "camera", "space"],
// success: (res) => {
// _that.store.data.fileInfos.push(...res.data)
// _that.update();
// },
// fail: (err) => {
// }
// })
// }
// })
},
// 保存
......@@ -84,7 +95,7 @@ create.Page({
groupId: this.store.data.groupId,
uploader: getApp().globalData.userid,
creatorInfo: getApp().globalData.userInfo,
thirdStoreTenant: 'dingTalk',
thirdStoreTenant: 'oss',
fileInfos: JSON.stringify(fileInfos),
description: description,
logType: 'schedule_accessory_add'
......@@ -96,6 +107,8 @@ create.Page({
data.id = this.data.id
updateMeetingTask(data).then(res => {
this.store.data.isNeedReloadList = true;
this.store.data.fileInfos = []
this.store.data.description = ''
this.update();
dd.navigateBack()
})
......
<!-- checkbox模板 {status: status}-->
<template name="checkbox">
<view class="checkbox {{status == '1' ? 'checkbox-active': ''}}" data-id="{{id}}" data-groupId="{{groupId}}" data-scheduleId="{{scheduleId}}" data-status="{{status}}" onTap="checkChange">
<!-- {{status}} -->
<text a:if="{{status == '1'}}" class="iconfont iconicon_ok"></text>
</view>
</template>
\ No newline at end of file
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