Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
S
schedule
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
fengzhaoyu
schedule
Commits
89772eb5
Commit
89772eb5
authored
May 14, 2020
by
fengzhaoyu
Browse files
Options
Browse Files
Download
Plain Diff
修改冲突
parents
9e3f1238
8b4e46fd
Show whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
268 additions
and
136 deletions
+268
-136
request.js
api/request.js
+8
-0
xFetch.js
api/xFetch.js
+4
-0
fileList.js
components/fileList/fileList.js
+36
-17
relatedApp.js
components/relatedApp/relatedApp.js
+10
-0
index.js
pages/index/index.js
+18
-13
const.js
pages/meetingDetail/const.js
+1
-0
meetingDetail.axml
pages/meetingDetail/meetingDetail.axml
+21
-8
meetingDetail.js
pages/meetingDetail/meetingDetail.js
+25
-70
store.js
pages/meetingDetail/store.js
+4
-2
uploadFile.js
pages/meetingDetail/uploadFile.js
+114
-0
participantsDetail.acss
pages/participantsDetail/participantsDetail.acss
+1
-1
uploadFile.axml
pages/uploadFile/uploadFile.axml
+1
-1
uploadFile.js
pages/uploadFile/uploadFile.js
+25
-24
No files found.
api/request.js
View file @
89772eb5
...
...
@@ -253,3 +253,10 @@ export function getuploadResource(data) {
url
:
`/meet/meeting-log-resource/uploadResource`
});
}
// oss 预览
export
function
previewOss
(
data
)
{
return
$http
({
method
:
"get"
,
url
:
`/meet/meeting-log-resource/generateIDocViewFileUrl?fileId=
${
data
}
`
});
}
\ No newline at end of file
api/xFetch.js
View file @
89772eb5
...
...
@@ -31,8 +31,12 @@ export default function xFetch({ url, method, data, type }) {
if
(
err
&&
err
.
status
==
401
)
{
login
();
}
if
(
err
.
errorMsg
===
'socket is closed'
)
{
}
else
{
alertOnce
((
err
&&
err
.
errorMsg
)
||
'网络异常,请重试'
,
rejects
);
}
}
});
});
}
...
...
components/fileList/fileList.js
View file @
89772eb5
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,44 @@ create.Component({
},
//预览文件
preview
(
e
)
{
//如果出现编辑蒙层时阻止预览的点击事件
//
如果出现编辑蒙层时阻止预览的点击事件
if
(
this
.
store
.
data
.
logId
)
{
return
;
}
if
(
!
this
.
props
.
isPreview
)
{
return
}
const
file
=
e
.
target
.
dataset
.
file
const
data
=
{
ddUserId
:
getApp
().
globalData
.
userid
,
type
:
'download'
,
fileIds
:
file
.
fileId
,
projectName
:
'MING_MEETING'
previewOss
(
file
.
fileId
).
then
(
res
=>
{
if
(
res
.
data
.
code
===
0
)
{
openLink
({
url
:
res
.
data
.
data
});
}
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
})
})
// 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
)
{
...
...
components/relatedApp/relatedApp.js
View file @
89772eb5
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
:
[]
...
...
@@ -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
;
...
...
pages/index/index.js
View file @
89772eb5
...
...
@@ -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,18 +93,19 @@ create.Page({
}
},
onLoad
(
query
)
{
console
.
log
(
query
);
if
(
query
&&
JSON
.
stringify
(
query
)
!==
"{}"
)
{
this
.
setData
({
listLoading
:
false
});
const
scheduleItem
=
JSON
.
parse
(
Object
.
keys
(
query
)[
0
].
split
(
"="
)[
1
]);
dd
.
navigateTo
({
url
:
`./../meetingDetail/meetingDetail?scheduleItem=
${
encodeURIComponent
(
JSON
.
stringify
(
scheduleItem
)
)}
`
});
}
console
.
log
(
JSON
.
stringify
(
query
));
console
.
log
(
'query'
)
// if (query && JSON.stringify(query) !== "{}") {
// this.setData({
// listLoading: false
// });
// const scheduleItem = JSON.parse(Object.keys(query)[0].split("=")[1]);
// dd.navigateTo({
// url: `./../meetingDetail/meetingDetail?scheduleItem=${encodeURIComponent(
// JSON.stringify(scheduleItem)
// )}`
// });
// }
this
.
isNeverShowSchedulePage
=
true
;
//获取动态列表s
this
.
getPages
(
1
);
...
...
@@ -880,7 +885,7 @@ create.Page({
maxClickCount
--
;
if
(
maxClickCount
==
0
)
{
dd
.
alert
({
content
:
"0.0.2
7
"
content
:
"0.0.2
8
"
});
maxClickCount
=
5
;
}
...
...
pages/meetingDetail/const.js
0 → 100644
View file @
89772eb5
pages/meetingDetail/meetingDetail.axml
View file @
89772eb5
...
...
@@ -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,8 @@
<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="{{show}}" show="{{show}}" onClose="closePop" title="{{pop.title}}">
<!-- 任务创建弹出框 -->
...
...
pages/meetingDetail/meetingDetail.js
View file @
89772eb5
...
...
@@ -3,10 +3,11 @@ 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
{
uploadOss
}
from
'./uploadFile'
;
create
.
Page
({
store
:
pageStore
,
useAll
:
true
,
...
...
@@ -34,8 +35,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'
},
...
...
@@ -115,6 +116,8 @@ create.Page({
},
onShow
()
{
// this.conflictPeople()
this
.
store
.
data
.
fileInfos
=
[]
this
.
update
()
setTimeout
(()
=>
{
this
.
update
()
},
100
)
...
...
@@ -178,6 +181,7 @@ create.Page({
break
;
}
}
},
onLoad
(
event
)
{
event
.
scheduleItem
=
decodeURIComponent
(
event
.
scheduleItem
);
...
...
@@ -235,7 +239,7 @@ create.Page({
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,7 +248,8 @@ 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
({
...
...
@@ -463,6 +468,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'
...
...
@@ -996,9 +1002,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
...
...
@@ -1621,72 +1637,11 @@ 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
=>
{
dd
.
alert
({
title
:
'上传成功'
,
content
:
JSON
.
stringify
(
result
)
})
uploadOss
().
then
(
res
=>
{
dd
.
navigateTo
({
url
:
`./../uploadFile/uploadFile`
})
})
},
//隐藏文件操作浮窗
hideFileOperate
()
{
this
.
store
.
data
.
logId
=
''
;
...
...
pages/meetingDetail/store.js
View file @
89772eb5
...
...
@@ -8,14 +8,15 @@ class Store {
taskStatus
:
''
,
taskInfos
:
null
},
fileInfos
:
null
,
fileInfos
:
[]
,
description
:
''
,
oldFileInfos
:
''
,
oldDescription
:
''
,
scheduleId
:
''
,
groupId
:
''
,
isNeedReloadList
:
false
,
logId
:
''
logId
:
''
,
relatedAppPlatform
:
null
}
}
export
default
new
Store
()
\ No newline at end of file
pages/meetingDetail/uploadFile.js
0 → 100644
View file @
89772eb5
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'
console
.
log
(
pageStore
)
console
.
log
(
374774747
)
// pageStore.data.language = 'zh_cn'
// pageStore.update()
/*
fileTypeRepleaceList 请求头替换列表
用途: 根据文件类型替换成相应在请求头 用于oss上传
*/
const
requestHeaderRepleacelist
=
new
Map
([
[
'bmp'
,
'image/bmp'
],
[
'gif'
,
'image/gif'
],
[
'html'
,
'text/html'
],
[
'txt'
,
'text/plain'
],
[
'vsd'
,
'application/vnd.visio'
],
[
'bmp'
,
'image/bmp'
],
[
'pptx'
,
'application/vnd.ms-powerpoint'
],
[
'ppt'
,
'application/vnd.ms-powerpoint'
],
[
'docx'
,
'application/msword'
],
[
'doc'
,
'aapplication/msword'
],
[
'xml'
,
'text/xml'
]
])
// 获取oss上传图片 选择图片 上传图片到oss
function
getOssImg
()
{
return
new
Promise
((
resolve
,
rejects
)
=>
{
dd
.
chooseImage
({
count
:
1
,
success
:
(
res
)
=>
{
resolve
(
res
)
},
});
})
}
// 获取的图片上传到oss
function
sendOss
(
permisson
,
imgInfo
,
key
)
{
return
new
Promise
(
resolve
=>
{
dd
.
uploadFile
({
headers
:
{
"Content-Type"
:
'image/jpg'
},
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
(
imgInfo
)
}
})
})
}
// 上传oss文件 保存到我方服务器
function
saveOssFileInfo
(
permisson
,
imgInfo
,
key
,
fileName
)
{
const
data
=
{
resourceType
:
'accessory'
,
creatorId
:
getApp
().
globalData
.
userid
,
category
:
'2'
,
scheduleId
:
pageStore
.
data
.
scheduleId
,
groupId
:
pageStore
.
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
}]),
thirdStoreTenant
:
'oss'
}
saveFileInfo
(
data
).
then
(
result
=>
{
dd
.
alert
({
title
:
'上传成功'
,
content
:
JSON
.
stringify
(
result
)
})
})
}
// 根据上传文件类型改变请求头格式 *******不改变预览会下载文件********
function
setRequestHeader
(
fileType
)
{
if
(
!!
requestHeaderRepleacelist
.
get
(
fileType
))
{
return
requestHeaderRepleacelist
.
get
(
fileType
)
}
else
{
return
"image/jpg"
;
}
}
// 对外暴露方法 上传至oss
export
async
function
uploadOss
()
{
const
timestamp
=
new
Date
().
getTime
()
const
random
=
getRndInteger
(
1000
,
10000
)
const
permisson
=
await
getOssPermission
()
const
imgInfo
=
await
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
sendOss
(
permisson
,
imgInfo
,
key
)
pageStore
.
data
.
fileInfos
.
push
(...[{
fileId
:
key
,
fileName
:
fileName
,
fileType
:
imgInfo
.
files
[
0
].
fileType
,
fileSize
:
imgInfo
.
files
[
0
].
size
}]);
pageStore
.
update
()
}
pages/participantsDetail/participantsDetail.acss
View file @
89772eb5
...
...
@@ -3,7 +3,7 @@ page {
font-family: PingFangSC-Regular;
font-size: 34rpx;
color: #191F25;
padding-bottom: 1
28
rpx;
padding-bottom: 1
36
rpx;
}
.peopleList {
...
...
pages/uploadFile/uploadFile.axml
View file @
89772eb5
...
...
@@ -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}}"
preview="{{false}}"
isCanDelete="{{true}}"/>
<view class="addText" onTap="add">继续添加</view>
</view>
<view class="saveButton" onTap="saveUpload">
...
...
pages/uploadFile/uploadFile.js
View file @
89772eb5
...
...
@@ -2,11 +2,12 @@ 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
{
uploadOss
}
from
'../meetingDetail/uploadFile'
;
create
.
Page
({
store
:
pageStore
,
data
:
{
fileInfos
:
null
,
//store
fileInfos
:
[]
,
//store
description
:
''
,
//store
id
:
''
},
...
...
@@ -35,27 +36,28 @@ create.Page({
},
100
),
//添加会议文件
add
()
{
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
)
=>
{
}
})
}
})
uploadOss
()
// 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,12 +86,11 @@ 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'
}
//编辑文件
if
(
this
.
data
.
id
)
{
data
.
logType
=
'schedule_accessory_modify'
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment