Commit 8e00948c by fengzhaoyu

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

parent 70658f95
......@@ -7,7 +7,7 @@ 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';
import { getFileInfoFromOss } from './uploadFile';
import { comShareData } from './const.js';
create.Page({
store: pageStore,
......@@ -218,6 +218,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 = []
......@@ -254,6 +257,7 @@ create.Page({
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),
......@@ -275,8 +279,6 @@ create.Page({
this.update();
this.loadAffairList();
this.resetRepeatList()
} else {
}
})
},
......@@ -1409,8 +1411,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)
}
//重置
......@@ -1646,13 +1656,16 @@ create.Page({
async addOssFile() {
this.store.data.description = '';
this.store.data.fileInfos = null;
uploadOss().then(res => {
if (!!res) {
this.store.data.fileInfos = res
this.update()
dd.navigateTo({ url: `./../uploadFile/uploadFile` })
}
})
const res = await getFileInfoFromOss();
if (res.code === -1) {
dd.alert({
content: res.msg
})
return
}
this.store.data.fileInfos = res.data
this.update()
dd.navigateTo({ url: `./../uploadFile/uploadFile` })
},
//隐藏文件操作浮窗
......
......@@ -3,41 +3,30 @@ import { getOssPermission } from '../../api/request.js'
import { saveFileInfo, getMeetingRoomAffairs, createMeetingTask, deleteMeetingTask, updateMeetingTask, uploadPermissions } from '../../api/request';
import pageStore from './store'
/*
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() {
// 选择图片
function getImg() {
return new Promise((resolve, rejects) => {
dd.chooseImage({
count: 1,
success: (res) => {
resolve(res)
},
fail: (err) => {
rejects({ code: -1, ...err })
}
});
})
}
// 获取的图片上传到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 => {
dd.uploadFile({
headers: {
"Content-Type": 'image/jpg'
},
url: permisson.data.data.host,
fileType: 'image',
fileName: 'file',
......@@ -57,51 +46,26 @@ function sendOss(permisson, imgInfo, key, fileName) {
fileType: imgInfo.files[0].fileType,
fileSize: imgInfo.files[0].size
}])
},
fail: (err) => {
rejects({ code: -1, ...err })
}
})
})
}
// 上传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'
// 从OSS获取fileInfo
export async function getFileInfoFromOss() {
// 选择图片
const imgInfo = await getImg()
if (imgInfo.code === -1) {
return { code: -1, msg: '选择图片失败' }
}
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";
// 上传图片
const fileInfo = await uploadImg(imgInfo)
if (fileInfo.code === -1) {
return { code: -1, msg: '选上传图片失败' }
}
}
// 对外暴露方法 上传至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) })
return await sendOss(permisson, imgInfo, key, fileName)
}
// 返回fileInfo
return { code: 0, msg: 'success', data: fileInfo }
}
\ No newline at end of file
......@@ -3,7 +3,7 @@ page {
font-family: PingFangSC-Regular;
font-size: 34rpx;
color: #191F25;
padding-bottom: 136rpx;
padding-bottom: 205rpx;
}
.peopleList {
......
......@@ -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}}" preview="{{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,7 +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 { uploadOss } from '../meetingDetail/uploadFile';
import { getFileInfoFromOss } from '../meetingDetail/uploadFile';
create.Page({
store: pageStore,
......@@ -36,12 +36,16 @@ create.Page({
}
}, 100),
//添加会议文件
add() {
uploadOss().then(res => {
this.store.data.fileInfos.push(...res)
this.update();
})
async add() {
const res = await getFileInfoFromOss();
if (res.code === -1) {
dd.alert({
content: res.msg
})
return
}
this.store.data.fileInfos.push(...res.data)
this.update();
// const data = {
// ddUserId: getApp().globalData.userid,
// type: 'add',
......@@ -96,6 +100,7 @@ create.Page({
description: description,
logType: 'schedule_accessory_add'
}
//编辑文件
if (this.data.id) {
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