4
0

2 Revīzijas e338f0e10e ... 89b5529d59

Autors SHA1 Ziņojums Datums
  ymz 89b5529d59 个人导出完成 1 mēnesi atpakaļ
  ymz 5b7c5f285e 人员数据导出成功 1 mēnesi atpakaļ
2 mainītis faili ar 34 papildinājumiem un 19 dzēšanām
  1. 4 3
      src/api/admin/user.js
  2. 30 16
      src/views/admin/user/index.vue

+ 4 - 3
src/api/admin/user.js

@@ -225,9 +225,10 @@ export function exportUserInfo(data) {
   });
 }
 
-export function getExportUserResult(data) {
+export function getExportResult(data) {
   return request({
-    url: `/admin/user/export/export-user-result`,
-    method: 'get'
+    url: `/admin/common/export/result`,
+    method: 'get',
+    params: data
   });
 }

+ 30 - 16
src/views/admin/user/index.vue

@@ -191,7 +191,7 @@ import fullTimeStaffRecordDialog from './components/fullTimeStaffRecordDialog.vu
 import communicationOfficerDialog from './components/communicationOfficerDialog.vue';
 import boundMedicinesDialog from './components/boundMedicinesDialog.vue';
 import UserCard from './components/UserCard.vue';
-import { addObj, delObj, fetchList, putObj, getUserDetails, batchChannelCert, getAuthInfo, getUserInfoApi, exportUserInfo, getExportUserResult } from '@/api/admin/user';
+import { addObj, delObj, fetchList, putObj, getUserDetails, batchChannelCert, getAuthInfo, getUserInfoApi, exportUserInfo, getExportResult } from '@/api/admin/user';
 import store from '@/store';
 import { getDictType } from '@/api/common';
 import { filterCodes, extractPaths } from '@/util/treeUtils.js';
@@ -337,6 +337,9 @@ export default {
     this.getRoleList();
     this.getListByDept();
     this.getDict();
+
+    // 获取上次导出的数据信息
+         this.getExportInfoStatus();
   },
   mounted() {
     // 50 隐藏沟通专员
@@ -348,31 +351,42 @@ export default {
       console.log(res);
       if (res.data.code === 0 && res.data.data) {
         this.getExportInfoStatus();
-        this.downShow = true;
-        this.exportUserInfoText = '数据生成中';
-        this.exportUserInfoDisabled = true;
       }
     },
     // 获取导出状态
     async getExportInfoStatus() {
-      const res = await getExportUserResult();
-
-      if (res.data.code === 0) {
-        const timer = setInterval(() => {
-          if (res.data.data.status == 'GENERATED') {
+      const timer = setInterval(async () => {
+        const res = await getExportResult({
+          type: 'USER'
+        });
+        if (res.data.code === 0) {
+          this.downShow = true;
+          const status = res.data.data.status;
+          if (status === 'GENERATING') {
+            this.exportUserInfoText = '数据生成中';
+            this.exportUserInfoDisabled = true;
+          } else if (status === 'GENERATED') {
             this.exportUrl = res.data.data.latestUrl;
             this.exportUserInfoText = '下载数据';
             this.exportUserInfoDisabled = false;
             clearInterval(timer);
-          } else if (res.data.data.status == 'GENERATING') {
-            this.exportUserInfoText = '数据生成中';
-            this.exportUserInfoDisabled = true;
-
-            this.getExportInfoStatus();
+          } else if (status === 'ERROR') {
+            // 可选:处理其他状态
+            this.exportUserInfoText = res.data.data.errorMsg;
+            this.exportUserInfoDisabled = false;
+            clearInterval(timer);
+          }else {
+             this.downShow = fasle;
           }
-        }, 5000);
-      }
+        } else {
+          // 接口报错处理
+          this.exportUserInfoText = '获取状态失败';
+          this.exportUserInfoDisabled = false;
+          clearInterval(timer);
+        }
+      }, 5000);
     },
+
     downInfo() {
       let link = document.createElement('a');
       link.style.display = 'none';