فهرست منبع

3.0.74 增加归档记录下载

liuyanpeng 2 سال پیش
والد
کامیت
8fea5dc25d
5فایلهای تغییر یافته به همراه79 افزوده شده و 2 حذف شده
  1. 1 1
      package.json
  2. 71 0
      src/archive/ArchivalRecord.vue
  3. 3 1
      src/archive/DataArchive.vue
  4. 2 0
      src/index.js
  5. 2 0
      src/routes/main_routes.js

+ 1 - 1
package.json

@@ -1,7 +1,7 @@
 {
   "name": "client-base-v4",
   "description": "Leanwo Prodog Client",
-  "version": "3.0.73",
+  "version": "3.0.74",
   "author": "yangzhijie1488 <yangzhijie1488@163.com>",
   "scripts": {
     "dev": "cross-env webpack serve --config ./webpack.dev.js",

+ 71 - 0
src/archive/ArchivalRecord.vue

@@ -0,0 +1,71 @@
+<template>
+  <Loading v-if="loading" />
+</template>
+
+<script setup>
+import { ref, onMounted } from 'vue';
+import { useRouter } from 'vue-router';
+import Common from '../common/Common.js';
+import UserStorageResource from '../api/base/UserStorageResource.js';
+import { message } from 'ant-design-vue';
+const router = useRouter();
+const loading = ref(false);
+onMounted(() => {
+  const uuid = router.currentRoute.value.query.uuid;
+  console.log(router.currentRoute.value.query,'2222222');
+  UserStorageResource.uniqueByKey(uuid).then(
+    success => {
+      if (success.errorCode == 0) {
+        if (success.data) {
+          const allData = JSON.parse(success.data);
+        //   downloadRecord(allData[0].id);
+        } else {
+          message.warning('请选择一条归档记录');
+        }
+      } else {
+        message.warning(success.errorMessage);
+      }
+    },
+    error => {
+      Common.processException(error);
+    },
+    // router.back(),
+  );
+});
+const downloadRecord = recordId => {
+  loading.value = true;
+  const xhr = new XMLHttpRequest();
+  xhr.open(
+    'get',
+    `api/ArchivesResource/download?archiveLogId=${recordId}`,
+    true,
+  );
+  const token = localStorage.getItem('#token');
+  xhr.setRequestHeader('token', token);
+  xhr.setRequestHeader('Content-type', 'application/json');
+  xhr.responseType = 'blob';
+  xhr.onreadystatechange = function () {
+    if (xhr.readyState === 4 && xhr.status === 200) {
+      loading.value = false;
+      let res = xhr.response;
+      let blob = new Blob([res]);
+      const blobUrl = URL.createObjectURL(blob);
+      const link = document.createElement('a');
+      link.download = '可视数据.zip';
+      link.style.display = 'none';
+      link.href = blobUrl;
+      document.body.appendChild(link);
+      link.click();
+      URL.revokeObjectURL(blobUrl);
+      document.body.removeChild(link);
+      message.success('下载成功');
+    } else {
+      loading.value = false;
+    }
+  };
+  xhr.send();
+};
+</script>
+
+<style scoped>
+</style>

+ 3 - 1
src/archive/DataArchive.vue

@@ -58,7 +58,7 @@
     >
       <template #subTitle>
         <div>共创建了{{ createCount }}个可视数据</div>
-        <div style="text-align: left;margin-left: 36%;">
+        <div style="text-align: left; margin-left: 36%">
           <div v-for="(item, index) in tableMessages" :key="index">
             {{ index + 1 }}、{{ item.tableName }}表成功归档{{
               item.successExporterCount
@@ -224,6 +224,8 @@ const checkData = () => {
       URL.revokeObjectURL(blobUrl);
       document.body.removeChild(link);
       message.success('下载成功');
+    } else {
+      loading.value = false;
     }
   };
   xhr.send();

+ 2 - 0
src/index.js

@@ -69,6 +69,7 @@ import DelegationReport from './client/DelegationReport.vue';
 import PrintTemp from '../src/customer/printTemp/index.vue';
 import PrintCard from '../src/print/PrintCard.vue';
 import DataArchive from '../src/archive/DataArchive.vue';
+import ArchivalRecord from '../src/archive/ArchivalRecord.vue';
 
 
 
@@ -131,4 +132,5 @@ export {
   PrintTemp,
   PrintCard,
   DataArchive,
+  ArchivalRecord,
 };

+ 2 - 0
src/routes/main_routes.js

@@ -60,6 +60,7 @@ const PrintTemp = () => import(/* webpackChunkName: "component-test-6" */ '../cu
 
 const PrintCard = () => import('../print/PrintCard.vue');
 const DataArchive = () => import('../archive/DataArchive.vue');
+const ArchivalRecord = () => import('../archive/ArchivalRecord.vue');
 import { ProcessReport } from 'pc-component-v3';
 
 export default [
@@ -371,4 +372,5 @@ export default [
   { path: '/dateExcelReport/:processReportNo', component: DateExcelReport },
   { path: '/desktop/delegationReport', component: DelegationReport },
   { path: '/desktop/dataArchive', component: DataArchive },//数据归档
+  { path: '/desktop/archivalRecord', component: ArchivalRecord },//数据归档
 ];