From 6e6d4f6688d0f110993dc2055289e640a5fd29bb Mon Sep 17 00:00:00 2001 From: litian <C21AF165> Date: 星期五, 14 三月 2025 18:25:40 +0800 Subject: [PATCH] excel --- packageDomain/pages/resourceDetails/document/index.js | 69 ++++++++++++++++++++++++---------- 1 files changed, 48 insertions(+), 21 deletions(-) diff --git a/packageDomain/pages/resourceDetails/document/index.js b/packageDomain/pages/resourceDetails/document/index.js index 65a8977..c5f9176 100644 --- a/packageDomain/pages/resourceDetails/document/index.js +++ b/packageDomain/pages/resourceDetails/document/index.js @@ -4,6 +4,7 @@ import { loginInfo } from '../../../../assets/js/login'; +import XLSX from '../../../../utils/xlsx.mini.min'; Page({ /** @@ -53,7 +54,8 @@ learnStartTime: 0, learnTimeList: [], learnTimeData: 0, - threeLeveData: [] + threeLeveData: [], + selectTypeData: '' }, /** * 鐢熷懡鍛ㄦ湡鍑芥暟--鐩戝惉椤甸潰鍔犺浇 @@ -519,7 +521,7 @@ }, //鍒氳繘鏉ョ殑鏃跺�欒皟鐢� handleTeachData(item) { - + let that = this //鍥剧墖 if (item.selectType == 'picture' || item.learnSelectType == 'picture') { let file = item.file ? item.file : item.protectedFile ? item.protectedFile : item.freeFile @@ -554,28 +556,53 @@ //鏂囨。绛� if (item.selectType == 'document' || item.selectType == 'pdf' || item.learnSelectType == 'document' || item.learnSelectType == 'pdf') { let md5 = item.file ? item.file : item.protectedFile ? item.protectedFile : item.freeFile - app.MG.file.getPdfInfo({ - md5: md5 - }).then((res) => { - let naturalResources = [] - if (res && res.totalPages) { - for (let i = 0; i < res.totalPages; i++) { - const src = app.config.requestCtx + '/file/GetPdfPageImage?md5=' + md5 + '&index=' + (i + 1) + '&dpi=300' - naturalResources.push(src) - } - } + if (item.fileMap[md5]?.extension == 'xlsx' || item.fileMap[md5]?.extension == 'xls') { this.setData({ - naturalResources + selectTypeData: 'excel' }) - wx.hideLoading(); - }) + wx.request({ + url: app.config.requestCtx + '/file/api/ApiDownload?md5=' + md5, + method: 'GET', // 璇锋眰鏂瑰紡 + responseType: 'arraybuffer', // 鎸囧畾杩斿洖绫诲瀷涓� arraybuffer + success: (res) => { + if (res.statusCode === 200) { + let data = new Uint8Array(res.data) + let workbook = XLSX.read(data, { + type: 'array' + }) + let worksheet = workbook.Sheets[workbook.SheetNames[0]] + let innerHTML = XLSX.utils.sheet_to_json(worksheet) + console.log(innerHTML) + that.setData({ + naturalResources: innerHTML + }) + wx.hideLoading(); + } else { + console.error('璇锋眰澶辫触', res.statusCode); + } + }, + fail: function (err) { + console.error('璇锋眰澶辫触', err); + } + }); + } else { + app.MG.file.getPdfInfo({ + md5: md5 + }).then((res) => { + let naturalResources = [] + if (res && res.totalPages) { + for (let i = 0; i < res.totalPages; i++) { + const src = app.config.requestCtx + '/file/GetPdfPageImage?md5=' + md5 + '&index=' + (i + 1) + '&dpi=300' + naturalResources.push(src) + } + } + this.setData({ + naturalResources + }) + wx.hideLoading(); + }) + } } - - }, - - handleTap: function () { - const naturalResources = this.data.naturalResources; - naturalResources.forEach(function (item) {}); }, onClick() { -- Gitblit v1.9.1