Commit 8e00948c by fengzhaoyu

feat:参会人列表添加人员选项不显示 进入详情页再返回报错优化 上传文件优化

parent 70658f95
...@@ -7,7 +7,7 @@ import { throttle, getCreateShowTime } from './../../utils/utils.js' ...@@ -7,7 +7,7 @@ import { throttle, getCreateShowTime } 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 { isShowOss } from '../../config.js'; import { isShowOss } from '../../config.js';
import { uploadOss } from './uploadFile'; import { getFileInfoFromOss } from './uploadFile';
import { comShareData } from './const.js'; import { comShareData } from './const.js';
create.Page({ create.Page({
store: pageStore, store: pageStore,
...@@ -218,6 +218,9 @@ create.Page({ ...@@ -218,6 +218,9 @@ create.Page({
} }
getScheduleDetail(data).then(res => { getScheduleDetail(data).then(res => {
if (res.data.code === 0) { if (res.data.code === 0) {
if (!res.data.data.id) {
console.log('详情接口scheduleId不存在')
}
let participatorList = [] let participatorList = []
let originUsers = [] let originUsers = []
let originUsersId = [] let originUsersId = []
...@@ -254,6 +257,7 @@ create.Page({ ...@@ -254,6 +257,7 @@ create.Page({
scheduleItem: res.data.data, scheduleItem: res.data.data,
meetingWayModelData: res.data.data.meetingWayModel meetingWayModelData: res.data.data.meetingWayModel
}) })
if (res.data.data.repeatable) { if (res.data.data.repeatable) {
this.setData({ 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), 'comListData.comSelectListId': res.data.data.recurrenceModel.model === 'weekly' ? (res.data.data.recurrenceModel.weekDayList.length > 1 ? 3 : 2) : repeatListMap.get(res.data.data.recurrenceModel.model),
...@@ -275,8 +279,6 @@ create.Page({ ...@@ -275,8 +279,6 @@ create.Page({
this.update(); this.update();
this.loadAffairList(); this.loadAffairList();
this.resetRepeatList() this.resetRepeatList()
} else {
} }
}) })
}, },
...@@ -1409,8 +1411,16 @@ create.Page({ ...@@ -1409,8 +1411,16 @@ create.Page({
//获取动态列表 //获取动态列表
loadAffairList(current = 1) { loadAffairList(current = 1) {
if (this.data.repeatable == 1) { if (this.data.repeatable == 1) {
if (!this.data.scheduleItem.groupId) {
console.log(`groupId不存在`)
return
}
this.getRepeatAffairList(this.data.scheduleItem.groupId, current) this.getRepeatAffairList(this.data.scheduleItem.groupId, current)
} else { } else {
if (!this.data.scheduleItem.id) {
console.log(`scheduleItem.id不存在`)
return
}
this.getAffairList(this.data.scheduleItem.id) this.getAffairList(this.data.scheduleItem.id)
} }
//重置 //重置
...@@ -1646,13 +1656,16 @@ create.Page({ ...@@ -1646,13 +1656,16 @@ create.Page({
async addOssFile() { async addOssFile() {
this.store.data.description = ''; this.store.data.description = '';
this.store.data.fileInfos = null; this.store.data.fileInfos = null;
uploadOss().then(res => { const res = await getFileInfoFromOss();
if (!!res) { if (res.code === -1) {
this.store.data.fileInfos = res dd.alert({
this.update() content: res.msg
dd.navigateTo({ url: `./../uploadFile/uploadFile` }) })
} return
}) }
this.store.data.fileInfos = res.data
this.update()
dd.navigateTo({ url: `./../uploadFile/uploadFile` })
}, },
//隐藏文件操作浮窗 //隐藏文件操作浮窗
......
...@@ -3,41 +3,30 @@ import { getOssPermission } from '../../api/request.js' ...@@ -3,41 +3,30 @@ import { getOssPermission } from '../../api/request.js'
import { saveFileInfo, getMeetingRoomAffairs, createMeetingTask, deleteMeetingTask, updateMeetingTask, uploadPermissions } from '../../api/request'; import { saveFileInfo, getMeetingRoomAffairs, createMeetingTask, deleteMeetingTask, updateMeetingTask, uploadPermissions } from '../../api/request';
import pageStore from './store' import pageStore from './store'
/* // 选择图片
fileTypeRepleaceList 请求头替换列表 function getImg() {
用途: 根据文件类型替换成相应在请求头 用于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) => { return new Promise((resolve, rejects) => {
dd.chooseImage({ dd.chooseImage({
count: 1, count: 1,
success: (res) => { success: (res) => {
resolve(res) resolve(res)
}, },
fail: (err) => {
rejects({ code: -1, ...err })
}
}); });
}) })
} }
// 获取的图片上传到oss // 获取的图片上传到oss
function sendOss(permisson, imgInfo, key, fileName) { 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 => { return new Promise(resolve => {
dd.uploadFile({ dd.uploadFile({
headers: {
"Content-Type": 'image/jpg'
},
url: permisson.data.data.host, url: permisson.data.data.host,
fileType: 'image', fileType: 'image',
fileName: 'file', fileName: 'file',
...@@ -57,51 +46,26 @@ function sendOss(permisson, imgInfo, key, fileName) { ...@@ -57,51 +46,26 @@ function sendOss(permisson, imgInfo, key, fileName) {
fileType: imgInfo.files[0].fileType, fileType: imgInfo.files[0].fileType,
fileSize: imgInfo.files[0].size fileSize: imgInfo.files[0].size
}]) }])
},
fail: (err) => {
rejects({ code: -1, ...err })
} }
}) })
}) })
} }
// 上传oss文件 保存到我方服务器 // 从OSS获取fileInfo
function saveOssFileInfo(permisson, imgInfo, key, fileName) { export async function getFileInfoFromOss() {
const data = { // 选择图片
resourceType: 'accessory', const imgInfo = await getImg()
creatorId: getApp().globalData.userid, if (imgInfo.code === -1) {
category: '2', return { code: -1, msg: '选择图片失败' }
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({ const fileInfo = await uploadImg(imgInfo)
title: '上传成功', if (fileInfo.code === -1) {
content: JSON.stringify(result) return { code: -1, msg: '选上传图片失败' }
})
})
}
// 根据上传文件类型改变请求头格式 *******不改变预览会下载文件********
function setRequestHeader(fileType) {
if (!!requestHeaderRepleacelist.get(fileType)) {
return requestHeaderRepleacelist.get(fileType)
} else {
return "image/jpg";
} }
}
// 对外暴露方法 上传至oss // 返回fileInfo
export async function uploadOss() { return { code: 0, msg: 'success', data: fileInfo }
const timestamp = new Date().getTime() }
const random = getRndInteger(1000, 10000) \ No newline at end of file
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) })
return await sendOss(permisson, imgInfo, key, fileName)
}
...@@ -3,7 +3,7 @@ page { ...@@ -3,7 +3,7 @@ page {
font-family: PingFangSC-Regular; font-family: PingFangSC-Regular;
font-size: 34rpx; font-size: 34rpx;
color: #191F25; color: #191F25;
padding-bottom: 136rpx; padding-bottom: 205rpx;
} }
.peopleList { .peopleList {
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
<view class="describe"> <view class="describe">
<textarea value="{{description}}" class="textarea" onInput="inputChange" placeholder="添加文件描述..." maxlength="-1" /> <textarea value="{{description}}" class="textarea" onInput="inputChange" placeholder="添加文件描述..." maxlength="-1" />
</view> </view>
<file-list fileView="{{{fileInfos: fileInfos}}}" isCanEdit="{{false}}" preview="{{false}}" isCanDelete="{{true}}"/> <file-list fileView="{{{fileInfos: fileInfos}}}" isCanEdit="{{false}}" isPreview="{{false}}" isCanDelete="{{true}}"/>
<view class="addText" onTap="add">继续添加</view> <view class="addText" onTap="add">继续添加</view>
</view> </view>
<view class="saveButton" onTap="saveUpload"> <view class="saveButton" onTap="saveUpload">
......
...@@ -2,7 +2,7 @@ import create from 'dd-store' ...@@ -2,7 +2,7 @@ import create from 'dd-store'
import { saveFileInfo, addSchedule, uploadPermissions, previewPermissions, updateMeetingTask } from '../../api/request.js' import { saveFileInfo, addSchedule, uploadPermissions, previewPermissions, updateMeetingTask } from '../../api/request.js'
import { throttle, debounce } from './../../utils/utils.js' import { throttle, debounce } from './../../utils/utils.js'
import pageStore from '../meetingDetail/store'; import pageStore from '../meetingDetail/store';
import { uploadOss } from '../meetingDetail/uploadFile'; import { getFileInfoFromOss } from '../meetingDetail/uploadFile';
create.Page({ create.Page({
store: pageStore, store: pageStore,
...@@ -36,12 +36,16 @@ create.Page({ ...@@ -36,12 +36,16 @@ create.Page({
} }
}, 100), }, 100),
//添加会议文件 //添加会议文件
add() { async add() {
uploadOss().then(res => { const res = await getFileInfoFromOss();
this.store.data.fileInfos.push(...res) if (res.code === -1) {
this.update(); dd.alert({
content: res.msg
}) })
return
}
this.store.data.fileInfos.push(...res.data)
this.update();
// const data = { // const data = {
// ddUserId: getApp().globalData.userid, // ddUserId: getApp().globalData.userid,
// type: 'add', // type: 'add',
...@@ -96,6 +100,7 @@ create.Page({ ...@@ -96,6 +100,7 @@ create.Page({
description: description, description: description,
logType: 'schedule_accessory_add' logType: 'schedule_accessory_add'
} }
//编辑文件 //编辑文件
if (this.data.id) { if (this.data.id) {
data.logType = 'schedule_accessory_modify'; data.logType = 'schedule_accessory_modify';
......
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