import {imageUrl} from '../../utils/image'; import {actionArr,fileTypeArr,fileTimeArr,fileSizeArr,customFileTypeArr,showList,sortFieldList,sortTypeList,listArr} from './config'; import {req} from '../../utils/service'; import {URL} from '../../utils/config'; import {getDateStr} from '../../utils/util' const {globalData} = getApp(); const DOMAIN = wx.getStorageSync('DOMAIN') Component({ properties:{ ShowSquare:{ type:Boolean, value:true, }, userInfo:{ type:Object, value:{}, }, // listArr:{ // type:Array, // value:[], // observer:function(n,o){ // if(n!=o){ // console.log(n) // // this.setListArr(n) // } // } // }, listArr2:{ type:Array, value:{}, }, sourceID:{ type:Number, value:0 } }, data: { listArr, listArr2Show:true, statusBarHeight:globalData.systemInfo.statusBarHeight, imageUrl, searchScope:['全部范围','当前文件夹'], selectScopeIndex:1, filterShow:false, actionArr, fileTypeArr,fileTimeArr,fileSizeArr,customFileTypeArr,showList,sortFieldList,sortTypeList, checkedCustom:false, modelListShow:false, modelIndex:0, sortFieldIndex:0, sortTypeIndex:0, iconArr:[ { url:'/images/icons/collection.png', text:'收藏夹', count:0 }, { url:'/images/icons/dustbin.png', text:'回收站', count:0 }, // { // url:'/images/icons/cloudIcon.png', // count:0 // }, { url:'/images/icons/remindFill.png', text:'消息', // count:1, },{ url:'/images/icons/menu.png', text:'菜单', } ], lang:globalData.lang, slideShow:false, searchFilter:{ sourceID:0 }, customFileType:'请选择', // minDate:new Date(2010, 0, 1).getTime(), // maxDate: new Date().getTime(), dateShow:false, currentPage:1, favShow:true, listArr2Show:true }, lifetimes:{ attached(){ this.getRecycle() this.getFavNum() this.getNoticeNum() this.getUserList() this.setData({ lang:globalData.lang, }) this.getOption() }, ready(){ let that = this setTimeout(function(){ that.setData({ minDate:new Date(2010, 0, 1).getTime(), maxDate: new Date().getTime(), }) },500) } }, methods:{ getOption(){ req("GET",'/api/disk/options', {}, {}).then(res => { // console.log(res) wx.setStorageSync('options', res) this.setListArr() }, err => { console.log(err); }); }, setListArr(){ let treeOpen = wx.getStorageSync('options').treeOpen,{listArr,favShow,listArr2Show} =this.data // console.log(treeOpen) if(treeOpen.indexOf('myFav')==-1){ favShow = false listArr.map((c,index)=>{ if(c.icon=='fav'){ listArr.splice(index,1) } }) } if(treeOpen.indexOf('recentDoc')==-1){ listArr.map((c,index)=>{ if(c.icon=='recentDoc'){ listArr.splice(index,1) } }) } if(treeOpen.indexOf('shareLink')==-1){ listArr.map((c,index)=>{ if(c.icon=='shareLink'){ listArr.splice(index,1) } }) } if(treeOpen.indexOf('fileType')==-1){ listArr2Show = false } this.setData({ listArr, favShow, listArr2Show }) // console.log(this.data.iconArr,listArr2Show,listArr,this.data.listArr2) }, //获取回收站数量 getRecycle(){ let param = { sourceID:0, currentPage:1, pageSize: 10, block: 'recycle' } req("GET",URL.getDiskList, param, {}).then(data => { this.setData({ recycleTotal:data.total }) }, err => { console.log(err); }); }, //获取收藏夹数量 getFavNum(){ let param = { sourceID:0, currentPage:1, pageSize: 10, block: 'fav' } req("GET",URL.getDiskList, param, {}).then(data => { this.setData({ favTotal:data.total }) }, err => { console.log(err); }); }, //获取消息数量 getNoticeNum(){ let param = { currentPage: 1, pageSize: 10 } req("GET",URL.getNoticeList, param, {}).then(res => { let one = res.list.filter(c => !c.isRead) this.setData({ noticeTotal:one.length }) }, err => { console.log(err); }); }, getUserList(reachBottom = false){ let param = { currentPage:this.data.currentPage } req('GET',URL.getUserList,param, {}, false).then(data => { data.list.map(c=>{ c.name = c.nickname?c.nickname:c.name }) this.setData({ userList:reachBottom?[...this.data.userList, ...data.list]:data.list, actionList:this.data.userList }) }) }, onReachBottom: function () { this.setData({ currentPage: this.data.currentPage + 1 }) this.getUserList(true) }, showModelList(){ this.setData({modelListShow:!this.data.modelListShow}) }, choseType(e){ let {index} = e.currentTarget.dataset this.triggerEvent("onChoseType") this.onCloseMore() this.showModelList() this.setData({ modelIndex:index }) }, showSortList(){ this.setData({sortListShow:!this.data.sortListShow}) }, choseSortField(e){ let {index,item} = e.currentTarget.dataset this.setData({ sortFieldIndex:index }) this.onCloseMore() this.showSortList() this.triggerEvent("onChoseSortField",{sortField:item.field}) }, choseSortType(e){ let {index,item} = e.currentTarget.dataset this.setData({ sortTypeIndex:index }) this.onCloseMore() this.showSortList() this.triggerEvent("onChoseSortType",{sortType:item.type}) }, showFilter(){ this.setData({filterShow:!this.data.filterShow}) }, showActionList(e){ let {index} = e.currentTarget.dataset,{actionList} = this.data if(index==0){ actionList = this.data.fileTypeArr } else if(index==1){ actionList = this.data.fileTimeArr actionList.map((c,index)=>{ if(index>0&&index<5){ c.timeTo = this.getDateStr(null,0) } }) actionList[1].timeFrom = this.getDateStr(null,-1) actionList[2].timeFrom = this.getDateStr(null,-7) actionList[3].timeFrom = this.getDateStr(null,-30) actionList[4].timeFrom = this.getDateStr(null,-365) } else if(index==2){ actionList = this.data.fileSizeArr } else if(index==3){ actionList = this.data.userList } actionList.map(c=>c.actionIndex = index) this.setData({ actionShow:!this.data.actionShow, actionList, isUserList:index==3?true:false }) }, selectScope(e){ let {index} = e.currentTarget.dataset this.setData({ selectScopeIndex:index, }) }, //选择类型、时间、大小、用户等 onSelect(e){ let {item,index} = e.currentTarget.dataset,actionIndex = item.actionIndex let {actionArr,customFileTypeArr} = this.data actionArr[actionIndex].value = item.name if(actionIndex==0){ this.setData({ ['searchFilter.filesType']:item.type, customFileTypeIndex:index }) if(item.name!='自定义'){ customFileTypeArr.map(c=>{c.checked = false}) this.setData({customFileTypeArr,checkedCustom:false}) } }else if(actionIndex==1){ this.setData({ ['searchFilter.timeFrom']:item.timeFrom, ['searchFilter.timeTo']:item.timeTo, customDateIndex:index }) if(item.name!='自定义'){ this.setData({dateFrom:'',dateTo:''}) } }else if(actionIndex==2){ this.setData({ ['searchFilter.minSize']:item.minSize, ['searchFilter.maxSize']:item.maxSize, customSizeIndex:index }) if(item.name!='自定义'){ this.setData({minSize:'',maxSize:''}) } }else if(actionIndex==3){ this.setData({ ['searchFilter.userID']:item.userID }) } this.setData({ actionArr, actionShow:false }) }, //搜索文件 filterFile(){ let {searchFilter,selectScopeIndex,customFileTypeArr,dateFrom,dateTo,minSize,maxSize} = this.data searchFilter.sourceID = selectScopeIndex==0?0:this.data.sourceID let one = customFileTypeArr.filter(c => c.checked) if(one.length){ let arr = [] one.map(c=>{ arr.push(c.name) }) searchFilter.filesType = arr.toString() } if(dateFrom&&dateTo){ searchFilter.timeFrom = dateFrom searchFilter.timeTo = dateTo } if(maxSize){ searchFilter.maxSize = maxSize } if(minSize){ searchFilter.minSize = minSize } this.triggerEvent('onFilterFile',{searchFilter}) this.setData({ filterShow:false }) }, //重置条件 resetFile(type){ let searchFilter = { sourceID:this.data.selectScopeIndex==0?0:this.data.sourceID },{actionArr,customFileTypeArr} = this.data actionArr[0].value = '不限类型' actionArr[1].value = '不限时间' actionArr[2].value = '不限大小' actionArr[3].value = '请选择' customFileTypeArr.map(c=>{c.checked = false}) this.setData({ filterShow:false, actionArr, customFileTypeArr, checkedCustom:false, dateFrom:'', dateTo:'', customFileTypeIndex:-1, customDateIndex:-1, searchFilter, customSizeIndex:'', maxSize:'', minSize:'', keyword:'' }) if(!type)this.triggerEvent('onFilterFile',{searchFilter}) }, showCustomFileTypeList(){ this.setData({customFileTypeShow:!this.data.customFileTypeShow}) }, choseCustomType(e){ let {index} = e.currentTarget.dataset,{customFileTypeArr} = this.data customFileTypeArr[index].checked = !customFileTypeArr[index].checked let one = customFileTypeArr.filter(c => c.checked) this.setData({ customFileTypeArr, customFileTypeShow:false, checkedCustom:one.length?true:false }) }, showDate(){ this.setData({dateShow:!this.data.dateShow}) }, formatDate(date) { date = new Date(date); return `${date.getFullYear()}-${date.getMonth() + 1}-${date.getDate()}`; }, selectDate(e){ this.setData({ dateFrom:this.formatDate(e.detail[0]), dateTo:this.formatDate(e.detail[1]), dateShow:false }) }, setCustomSize(e){ let {type} = e.target.dataset if(type=='min'){ this.setData({minSize:e.detail.value}) }else{ this.setData({maxSize:e.detail.value}) } }, onCloseMore(){ this.setData({moreShow:!this.data.moreShow}) }, showSlide(e){ this.triggerEvent('onSlideShow',{slideShow:!this.data.slideShow}) }, goToPage(e){ let{index,item} = e.currentTarget.dataset,url='' if(index==0){ let item = { name: "收藏夹", sourceID:0, type: "fav", } wx.navigateTo({ url: '/pages/files-list/files-list?item='+JSON.stringify(item), }) // this.triggerEvent('onGetList',{item,indexSet:1,isAddShow:false}) }else if(index==1){ let item = { name: "回收站", sourceID:0, type: "recycle", } wx.navigateTo({ url: '/pages/files-list/files-list?item='+JSON.stringify(item), }) // this.triggerEvent('onGetList',{item,indexSet:1,isAddShow:false}) }else if(index==2){ // url = '/pages/transmissionCenter/transmissionCenter' url = '/pages/messages/messages' }else if(index==3){ this.setData({moreShow:true}) // url = '/pages/messages/messages' } if(url){ wx.navigateTo({ url:url, }) } }, setIndex(){ this.setData({ selectIndex:-1 }) }, getList(e){ let {index,type,item} = e.currentTarget.dataset this.setData({ selectIndex:index, type:type }) this.onCloseMore() this.triggerEvent('onGetList',{item,indexSet:1,isAddShow:false}) }, searchFiles(e){ this.setData({ keyword:e.detail.value }) this.triggerEvent("onSearch",{keyword:e.detail.value}) }, getDateStr } })