上传
This commit is contained in:
@@ -27,8 +27,11 @@
|
|||||||
<div class="content_fodder">
|
<div class="content_fodder">
|
||||||
<!-- <div style="color: #8E8F91;">添加素材</div> -->
|
<!-- <div style="color: #8E8F91;">添加素材</div> -->
|
||||||
<div class="fodder_alls">
|
<div class="fodder_alls">
|
||||||
<div class="fodder_add" @click="showFodder"><u-icon name="plus" color="#CCD0D3" size="32"></u-icon></div>
|
<!-- <div class="fodder_add" @click="showUpload = true"><u-icon name="plus" color="#CCD0D3" size="32"></u-icon></div> -->
|
||||||
<!-- <AiUploader :def.sync="files" placeholder="添加素材" type="file" :limit="9" multiple action="/admin/file/add2"></AiUploader> -->
|
<AiUploader :def.sync="files" placeholder="添加素材" type="file" :limit="9" multiple action="/admin/file/add2"></AiUploader>
|
||||||
|
</div>
|
||||||
|
<div class="fodder_file">
|
||||||
|
<div class="item"></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -78,10 +81,10 @@
|
|||||||
|
|
||||||
<div class="file_content" v-for="item in files" :key="item.id">
|
<div class="file_content" v-for="item in files" :key="item.id">
|
||||||
<img class="text_left" src="https://cdn.cunwuyun.cn/dvcp/announce/avatar.png" />
|
<img class="text_left" src="https://cdn.cunwuyun.cn/dvcp/announce/avatar.png" />
|
||||||
<img class="only_pic" :src="item.url" alt="" v-if="getExtension(item.name) == '.jpg' || getExtension(item.name) == '.jpeg'">
|
<img class="only_pic" :src="item.url" alt="" v-if="['.jpg', '.jpeg','png'].indexOf(getExtension(item.name)) !== -1">
|
||||||
<video controls class="only_video" :src="item.url" v-if="getExtension(item.name) == '.mp4'"></video>
|
<video controls class="only_video" :src="item.url" v-if="getExtension(item.name) == '.mp4'"></video>
|
||||||
<div class="text_right file_right"
|
<div class="text_right file_right"
|
||||||
v-if="getExtension(item.name) != '.jpg' && getExtension(item.name) != '.jpeg' && getExtension(item.name) != '.mp4'">
|
v-if="['.jpg', '.jpeg','png','.mp4'].indexOf(getExtension(item.name)) === -1">
|
||||||
<div class="cont_left">
|
<div class="cont_left">
|
||||||
<h4>{{ item.name }}</h4>
|
<h4>{{ item.name }}</h4>
|
||||||
<p>{{ item.fileSizeStr }}</p>
|
<p>{{ item.fileSizeStr }}</p>
|
||||||
@@ -99,6 +102,21 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<u-popup v-model="showUpload" mode="bottom" border-radius="24">
|
||||||
|
<div class="uploadPopup">
|
||||||
|
<div class="upload_card" v-for="(item,index) in uploadList" :key="index">
|
||||||
|
<div class="upload_item">{{ item.title }}</div>
|
||||||
|
<div class="upload_list">
|
||||||
|
<div class="list_item" v-for="(e, i) in item.list" :key="i" @click="uploadBtn(e.msgType)">
|
||||||
|
<img :src="e.icon" alt="">
|
||||||
|
<span>{{ e.name }}</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="btnCancel" @click="showUpload = false">取消</div>
|
||||||
|
</div>
|
||||||
|
</u-popup>
|
||||||
|
|
||||||
|
|
||||||
<div class="btn">
|
<div class="btn">
|
||||||
<div class="submitBtn" @click="confirm">通知成员发送</div>
|
<div class="submitBtn" @click="confirm">通知成员发送</div>
|
||||||
@@ -134,6 +152,7 @@ export default {
|
|||||||
userListIds: [],
|
userListIds: [],
|
||||||
showPopup: false,
|
showPopup: false,
|
||||||
showFodder: false,
|
showFodder: false,
|
||||||
|
showUpload: false,
|
||||||
params: {
|
params: {
|
||||||
year: true,
|
year: true,
|
||||||
month: true,
|
month: true,
|
||||||
@@ -144,6 +163,41 @@ export default {
|
|||||||
timestamp: false,
|
timestamp: false,
|
||||||
},
|
},
|
||||||
flag: false,
|
flag: false,
|
||||||
|
uploadList: [
|
||||||
|
// {
|
||||||
|
// title: '从素材库上传',
|
||||||
|
// list: [
|
||||||
|
// {
|
||||||
|
// icon: '',
|
||||||
|
// name: ''
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// icon: '',
|
||||||
|
// name: ''
|
||||||
|
// }
|
||||||
|
// ]
|
||||||
|
// },
|
||||||
|
{
|
||||||
|
title: '从本地上传',
|
||||||
|
list: [
|
||||||
|
{
|
||||||
|
icon: 'https://cdn.cunwuyun.cn/dvcp/announce/img.png',
|
||||||
|
name: '图片',
|
||||||
|
msgType: 'image'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
icon: 'https://cdn.cunwuyun.cn/dvcp/announce/video.png',
|
||||||
|
name: '视频',
|
||||||
|
msgType: 'video'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
icon: 'https://cdn.cunwuyun.cn/dvcp/announce/folder.png',
|
||||||
|
name: '文件',
|
||||||
|
msgType: 'file'
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
@@ -186,6 +240,56 @@ export default {
|
|||||||
return name.substring(name.lastIndexOf('.'))
|
return name.substring(name.lastIndexOf('.'))
|
||||||
},
|
},
|
||||||
|
|
||||||
|
uploadBtn(type) {
|
||||||
|
let count = 9 - (this.files?.length || 0)
|
||||||
|
if(count > 0){
|
||||||
|
let params = {
|
||||||
|
count,
|
||||||
|
sizeType: ['compressed'],
|
||||||
|
sourceType: ['album', 'camera'],
|
||||||
|
success: (res) => {
|
||||||
|
let count = this.files?.length + (res.tempFiles?.length || res.tempFile ? 1 : 0)
|
||||||
|
if (count > 9) {
|
||||||
|
return this.$u.toast(`不能超过9个`)
|
||||||
|
}
|
||||||
|
if (res.tempFiles) {
|
||||||
|
res.tempFiles?.map((item) => {
|
||||||
|
this.uploadFile(item)
|
||||||
|
})
|
||||||
|
} else if (res?.tempFile) {
|
||||||
|
this.uploadFile(res.tempFile)
|
||||||
|
}
|
||||||
|
},
|
||||||
|
}
|
||||||
|
if (type == 'image') {
|
||||||
|
uni.chooseImage(params)
|
||||||
|
} else if (type == 'video') {
|
||||||
|
uni.chooseVideo(params)
|
||||||
|
} else if(type == 'file') {
|
||||||
|
uni.chooseFile(params)
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
this.$u.toast(`不能超过9个`)
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
uploadFile(img) {
|
||||||
|
uni.showLoading({title: '上传中'})
|
||||||
|
let formData = new FormData()
|
||||||
|
formData.append('file', img)
|
||||||
|
this.$http.post('/admin/file/add2', formData).then((res) => {
|
||||||
|
uni.hideLoading()
|
||||||
|
if (res?.data) {
|
||||||
|
this.$u.toast('上传成功!')
|
||||||
|
this.showUpload = false
|
||||||
|
this.files.push(res.data)
|
||||||
|
}
|
||||||
|
}).catch(res => {
|
||||||
|
this.$u.toast(res)
|
||||||
|
uni.hideLoading()
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
choiceTime(e) {
|
choiceTime(e) {
|
||||||
this.form.choiceTime = e.year + '-' + e.month + '-' + e.day + ' ' + e.hour + ':' + e.minute + ':' + e.second
|
this.form.choiceTime = e.year + '-' + e.month + '-' + e.day + ' ' + e.hour + ':' + e.minute + ':' + e.second
|
||||||
},
|
},
|
||||||
@@ -201,10 +305,21 @@ export default {
|
|||||||
]
|
]
|
||||||
this.form.contents.push(...firstContent)
|
this.form.contents.push(...firstContent)
|
||||||
|
|
||||||
const fileLists = this.files.map(item=> {
|
const picUrl = this.files.map(e=> {
|
||||||
// if(this.getExtension(item.name)==)
|
if(['.jpg','.jpeg','.png'].indexOf(this.getExtension(e.name)) !== -1) {
|
||||||
|
console.log({
|
||||||
|
imgPicUrl: e.url,
|
||||||
|
msgType: '1'
|
||||||
|
})
|
||||||
|
return {
|
||||||
|
imgPicUrl: e.url,
|
||||||
|
msgType: '1'
|
||||||
|
}
|
||||||
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
this.form.contents.push(...picUrl)
|
||||||
|
|
||||||
if(!this.form.taskTitle) {
|
if(!this.form.taskTitle) {
|
||||||
return this.$u.toast('请输入任务名称')
|
return this.$u.toast('请输入任务名称')
|
||||||
}
|
}
|
||||||
@@ -228,6 +343,8 @@ export default {
|
|||||||
if(this.isTimedTask) {
|
if(this.isTimedTask) {
|
||||||
if(!this.form.choiceTime.length) {
|
if(!this.form.choiceTime.length) {
|
||||||
return this.$u.toast("请选择发送时间")
|
return this.$u.toast("请选择发送时间")
|
||||||
|
} else if (new Date(this.form.choiceTime).getTime() < Date.now()) {
|
||||||
|
return this.$u.toast('定时发送时间不得早于当前时间')
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
this.flag = true
|
this.flag = true
|
||||||
@@ -315,6 +432,12 @@ export default {
|
|||||||
border-radius: 8px;
|
border-radius: 8px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.fodder_file {
|
||||||
|
.item {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -459,6 +582,49 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.uploadPopup {
|
||||||
|
|
||||||
|
background: #F7F7F7;
|
||||||
|
.upload_card {
|
||||||
|
padding: 32px 32px 0 32px;
|
||||||
|
box-sizing: border-box;
|
||||||
|
overflow-x: scroll;
|
||||||
|
|
||||||
|
.upload_item {
|
||||||
|
margin-bottom: 32px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.upload_list {
|
||||||
|
overflow-x: scroll;
|
||||||
|
display: flex;
|
||||||
|
.list_item {
|
||||||
|
text-align: center;
|
||||||
|
width: 106px;
|
||||||
|
height: 130px;
|
||||||
|
margin-right: 48px;
|
||||||
|
img {
|
||||||
|
display: inline-block;
|
||||||
|
width: 84px;
|
||||||
|
height: 84px;
|
||||||
|
}
|
||||||
|
span {
|
||||||
|
// display: inline-block;
|
||||||
|
// line-height: 44px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.btnCancel {
|
||||||
|
width: 100%;
|
||||||
|
height: 120px;
|
||||||
|
line-height: 120px;
|
||||||
|
text-align: center;
|
||||||
|
border-top: 2px solid #DDDDDD;
|
||||||
|
margin-top: 80px;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
.btn {
|
.btn {
|
||||||
position: fixed;
|
position: fixed;
|
||||||
|
|||||||
@@ -90,7 +90,7 @@ export default {
|
|||||||
this.userList = []
|
this.userList = []
|
||||||
this.$http.post(`/app/appgirdmemberinfo/listByGirdIdByThree?girdId=${id}`).then((res) => {
|
this.$http.post(`/app/appgirdmemberinfo/listByGirdIdByThree?girdId=${id}`).then((res) => {
|
||||||
if (res?.data) {
|
if (res?.data) {
|
||||||
this.userList = res.data.map(e => ({...e, isChecked: e.id == this.selected.forEach(i => i.id)}))
|
this.userList = res.data.map(e => ({...e, isChecked: this.selected.find(i => i.id==e.id)}))
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
@@ -129,7 +129,14 @@ export default {
|
|||||||
// })
|
// })
|
||||||
// this.selected = {...row, kind: "user"}
|
// this.selected = {...row, kind: "user"}
|
||||||
// }
|
// }
|
||||||
this.selected = this.userList.filter(v=> v.isChecked)
|
if(row.isChecked){
|
||||||
|
this.selected.push(row)
|
||||||
|
}else{
|
||||||
|
console.log(this.selected)
|
||||||
|
let index=this.selected.findIndex(item=>row.id===item.id)
|
||||||
|
index>=0&&this.selected.splice(index, 1)
|
||||||
|
}
|
||||||
|
// this.selected = this.userList.filter(v=> v.isChecked)
|
||||||
uni.setStorageSync('userSelect', this.selected)
|
uni.setStorageSync('userSelect', this.selected)
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user