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