| | |
| | | description: '', |
| | | agree: false |
| | | }, |
| | | resourceVisible: false, |
| | | resourceValue: [], |
| | | fileTypeList: [{ |
| | | label: '音频', |
| | | value: '音频' |
| | | }, |
| | | { |
| | | label: '视频', |
| | | value: '视频' |
| | | }, |
| | | { |
| | | label: '图片', |
| | | value: '图片' |
| | | }, |
| | | { |
| | | label: 'PDF', |
| | | value: 'PDF' |
| | | }, |
| | | { |
| | | label: '资源包', |
| | | value: '资源包' |
| | | }, |
| | | { |
| | | label: '文档', |
| | | value: '文档' |
| | | }, |
| | | { |
| | | label: '其他', |
| | | value: '其他' |
| | | } |
| | | ], |
| | | fileList: [], |
| | | isShowUp: true, |
| | | protocolShow: false, |
| | |
| | | }, |
| | | |
| | | // 扁平化数据转换tree |
| | | getTreeList(rootList, pathLength, newArr, path) { |
| | | getTreeList(rootList, newArr, path) { |
| | | for (const item of rootList) { |
| | | // 此处原本 item.productLinkPath.length == pathLength 但 productLinkPath 长度个别书存在4、5位交错 |
| | | if ((pathLength - item.productLinkPath.length >= 0 && pathLength - item.productLinkPath.length <= 3) && item.productLinkPath.includes(path)) { |
| | | if (path == item.productLinkPath.replace('\\' + item.id, '')) { |
| | | if (item.sysType == 'CmsItem') { |
| | | if (item.selectType == 'webpage') { |
| | | item.disabled = true |
| | |
| | | } |
| | | } |
| | | //给数组里面再添加一个children的空数组 |
| | | // let addnum1 = pathLength - path.length == 6 ? 6 : 7 |
| | | for (const i of newArr) { |
| | | i.children = [] |
| | | let addnum1 = i.productLinkPath.length - path.length == 6 ? 6 : 7 |
| | | this.getTreeList(rootList, pathLength + addnum1, i.children, i.productLinkPath) |
| | | this.getTreeList(rootList, i.children, i.productLinkPath) |
| | | if (i.children.length == 0) { |
| | | delete i.children |
| | | } |
| | |
| | | // 排序数组 按照productLinkPath |
| | | insertAndSortObjectsByProductLinkPath(array, newObj) { |
| | | // 查找新对象应该插入的位置 |
| | | let insertIndex = array.findIndex(obj => Number(newObj.productLinkPath.substring(newObj.productLinkPath.lastIndexOf('\\') + 1, newObj.productLinkPath.length)) < Number(obj.productLinkPath.substring(obj.productLinkPath.lastIndexOf('\\') + 1, obj.productLinkPath.length))); |
| | | let insertIndex = array.findIndex(obj => newObj.id < obj.id); |
| | | // 如果没有找到合适的位置,则放在数组末尾 |
| | | if (insertIndex === -1) { |
| | | insertIndex = array.length; |
| | | } |
| | | // 插入新对象到数组 |
| | | array.splice(insertIndex, 0, newObj); |
| | | // 测试6 正式5 |
| | | // 对数组进行排序 |
| | | array.sort((a, b) => { |
| | | if (Number(a.productLinkPath.substring(a.productLinkPath.lastIndexOf('\\') + 1, a.productLinkPath.length)) < Number(b.productLinkPath.substring(b.productLinkPath.lastIndexOf('\\') + 1, b.productLinkPath.length))) { |
| | | return -1; |
| | | } |
| | | if (Number(a.productLinkPath.substring(a.productLinkPath.lastIndexOf('\\') + 1, a.productLinkPath.length)) > Number(b.productLinkPath.substring(b.productLinkPath.lastIndexOf('\\') + 1, b.productLinkPath.length))) { |
| | | return 1; |
| | | } |
| | | // a must be equal to b |
| | | if (a.id < b.id) return -1; |
| | | if (a.id > b.id) return 1; |
| | | return 0; |
| | | }); |
| | | |
| | | // 返回更新后的数组 |
| | | return array; |
| | | }, |
| | |
| | | }) |
| | | } |
| | | } |
| | | const addNum = query.cmsPath.length > 10 ? 7 : query.cmsPath.length > 13 ? 8 : 6 |
| | | const num = query.cmsPath.length + addNum |
| | | this.getTreeList(res.datas.cmsDatas[0].datas, num, list, '\\') |
| | | this.getTreeList(res.datas.cmsDatas[0].datas, list, query.cmsPath) |
| | | list = this.ensureTreeConsistency(list) |
| | | list = this.changeResourceChildren(list) |
| | | let result = []; |
| | |
| | | } |
| | | if (data.length > 0) { |
| | | let list = [] |
| | | // 测试 6位// 正式 5位// 测试调用传20,内部7 正式调用传17 内部传6 |
| | | |
| | | const addNum = query.cmsPath.length > 10 ? 7 : query.cmsPath.length > 13 ? 8 : 6 |
| | | const num = query.cmsPath.length + addNum |
| | | that.getTreeList(data, num, list, '\\') |
| | | that.getTreeList(data, list, query.cmsPath) |
| | | list = that.ensureTreeConsistency(list) |
| | | that.findChildIds(list[0].children, result); |
| | | that.setData({ |
| | |
| | | return childrenList |
| | | }, |
| | | uploadFile(e) { |
| | | console.log(123) |
| | | this.setData({ |
| | | dialogBox: true, |
| | | isShowUp: true |
| | |
| | | closeDialog() { |
| | | this.setData({ |
| | | dialogBox: false, |
| | | resourceInfo: { |
| | | resourceName: '', |
| | | fileType: '', |
| | | description: '', |
| | | agree: false |
| | | }, |
| | | }); |
| | | }, |
| | | onCloseProtocol() { |
| | |
| | | 'resourceInfo.resourceName': e.detail.value, |
| | | }); |
| | | }, |
| | | onFileTypeInput(e) { |
| | | onResourcePicker(e) { |
| | | this.setData({ |
| | | 'resourceInfo.fileType': e.detail.value, |
| | | resourceVisible: true, |
| | | }); |
| | | }, |
| | | onPickerChange(e) { |
| | | const { |
| | | value |
| | | } = e.detail; |
| | | this.setData({ |
| | | resourceVisible: false, |
| | | resourceValue: value, |
| | | 'resourceInfo.fileType': value.join(' '), |
| | | }); |
| | | }, |
| | | onPickerCancel(e) { |
| | | this.setData({ |
| | | resourceVisible: false, |
| | | }); |
| | | }, |
| | | textareaChange(e) { |
| | |
| | | const pdfData = ['pdf'] |
| | | const Compression = ['rar', 'zip'] |
| | | const pictureData = ['jpg', 'png'] |
| | | const documentData = ['doc', 'docx', 'xls', 'xlsx', "ppt", "pptx"] |
| | | if (audioData.indexOf(Extension) > -1) { |
| | | medioType = '音频' |
| | | } else if (videoData.indexOf(Extension) > -1) { |
| | |
| | | medioType = '资源包' |
| | | } else if (pictureData.indexOf(Extension) > -1) { |
| | | medioType = '图片' |
| | | } else if (documentData.indexOf(Extension) > -1) { |
| | | medioType = '文档' |
| | | } else { |
| | | medioType = '其他' |
| | | } |
| | |
| | | that.setData({ |
| | | "resourceInfo.resourceName": FileName, |
| | | "resourceInfo.fileType": medioType, |
| | | |
| | | fileList: file, |
| | | isShowUp: false |
| | | }) |
| | |
| | | |
| | | }, |
| | | handleRemove(e) { |
| | | console.log(e) |
| | | let md5 = e.currentTarget.dataset.md5 |
| | | for (let i = 0; i < this.data.fileList.length; i++) { |
| | | if (this.data.fileList.md5 == md5) { |
| | | this.data.fileList.splice(i, 1) |
| | | } |
| | | } |
| | | this.setData({ |
| | | isShowUp: true, |
| | | fileList: [] |
| | | }); |
| | | }, |
| | | confirmM() { |
| | |
| | | if (this.data.resourceInfo.fileType == '') { |
| | | return wx.showToast({ |
| | | icon: "error", |
| | | title: "请填写资源类型", |
| | | title: "请选择资源类型", |
| | | }); |
| | | } |
| | | |
| | |
| | | icon: "success", |
| | | title: "请上传资源文件", |
| | | }); |
| | | this.setData({ |
| | | dialogBox: false, |
| | | }); |
| | | this.closeDialog() |
| | | }) |
| | | } |
| | | }) |