|
@@ -99,20 +99,32 @@
|
|
|
<el-button type="primary" size="small" @click="exportBtnFn" :loading="exportLoading">导 出</el-button>
|
|
|
</el-tooltip>
|
|
|
|
|
|
- <div class="right-btns">
|
|
|
- <div class="r-btn">
|
|
|
- <el-button v-if="(userInfo.roles.includes(4) || userInfo.roles.includes(37)) && pkgDetailShow" :disabled="exportPkgDisabled" size="small" @click="downInfo(2)">{{
|
|
|
- pkgBtnText
|
|
|
- }}</el-button>
|
|
|
- <el-button type="primary" size="small" @click="exportPersonalPackage">个人执行包数据导出</el-button>
|
|
|
+ <template v-if="userInfo.roles.includes(4) || userInfo.roles.includes(37)">
|
|
|
+ <div class="right-btns">
|
|
|
+ <div class="r-btn">
|
|
|
+ <template v-if="pkgBtnErrorMsg">
|
|
|
+ <el-tooltip effect="dark" :content="pkgBtnErrorMsg" placement="top-start">
|
|
|
+ <el-button class="error-message" disabled>生成失败<i class="el-icon-warning-outline el-icon--right"></i></el-button>
|
|
|
+ </el-tooltip>
|
|
|
+ </template>
|
|
|
+ <template v-else>
|
|
|
+ <el-button v-if="pkgDetailShow" :disabled="exportPkgDisabled" size="small" @click="downInfo(2)">{{ pkgBtnText }}</el-button>
|
|
|
+ </template>
|
|
|
+ <el-button type="primary" size="small" @click="exportPersonalPackage">个人执行包数据导出</el-button>
|
|
|
+ </div>
|
|
|
+ <div class="r-btn">
|
|
|
+ <template v-if="taskDetailErrorMsg">
|
|
|
+ <el-tooltip effect="dark" :content="taskDetailErrorMsg" placement="top-start">
|
|
|
+ <el-button class="error-message" disabled>生成失败<i class="el-icon-warning-outline el-icon--right"></i></el-button>
|
|
|
+ </el-tooltip>
|
|
|
+ </template>
|
|
|
+ <template v-else>
|
|
|
+ <el-button v-if="taskDetailShow" :disabled="exportTaskDetailDisabled" size="small" @click="downInfo(1)">{{ taskDetailBtnText }}</el-button>
|
|
|
+ </template>
|
|
|
+ <el-button type="primary" size="small" @click="exportPersonalTaskDetails">个人任务明细数据导出</el-button>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
- <div class="r-btn">
|
|
|
- <el-button v-if="(userInfo.roles.includes(4) || userInfo.roles.includes(37)) && taskDetailShow" :disabled="exportTaskDetailDisabled" size="small" @click="downInfo(1)">{{
|
|
|
- taskDetailBtnText
|
|
|
- }}</el-button>
|
|
|
- <el-button type="primary" size="small" @click="exportPersonalTaskDetails">个人任务明细数据导出</el-button>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
+ </template>
|
|
|
</div>
|
|
|
|
|
|
<div class="table">
|
|
@@ -240,13 +252,14 @@ export default {
|
|
|
return {
|
|
|
taskDetailShow: false,
|
|
|
taskDetailBtnText: '',
|
|
|
+ taskDetailErrorMsg: '',
|
|
|
exportTaskDetailDisabled: false,
|
|
|
exportType: '',
|
|
|
taskDetailUrl: '',
|
|
|
exportDialogVisible: false,
|
|
|
exportPkgDisabled: false,
|
|
|
pkgUrl: '',
|
|
|
-
|
|
|
+ pkgBtnErrorMsg: '',
|
|
|
pkgDetailShow: false,
|
|
|
pkgBtnText: '',
|
|
|
exportForm: {
|
|
@@ -497,18 +510,19 @@ export default {
|
|
|
const res = await getExportResult({ type: 'TASK_DETAIL' });
|
|
|
if (res.data.code === 0) {
|
|
|
this.taskDetailShow = true;
|
|
|
- const status = res.data.data.status;
|
|
|
+ let status = res.data.data.status;
|
|
|
+
|
|
|
if (status === 'GENERATING') {
|
|
|
this.taskDetailBtnText = '数据生成中';
|
|
|
this.exportTaskDetailDisabled = true;
|
|
|
return false;
|
|
|
} else if (status === 'GENERATED') {
|
|
|
- this.exportUrl = res.data.data.latestUrl;
|
|
|
+ this.taskDetailUrl = res.data.data.latestUrl;
|
|
|
this.taskDetailBtnText = '下载数据';
|
|
|
this.exportTaskDetailDisabled = false;
|
|
|
return true;
|
|
|
} else if (status === 'ERROR') {
|
|
|
- this.taskDetailBtnText = res.data.data.errorMsg;
|
|
|
+ this.taskDetailErrorMsg = res.data.data.errorMsg || '生成失败,请联系管理员!';
|
|
|
this.exportTaskDetailDisabled = true;
|
|
|
return true;
|
|
|
} else {
|
|
@@ -548,12 +562,12 @@ export default {
|
|
|
this.exportPkgDisabled = true;
|
|
|
return false;
|
|
|
} else if (status === 'GENERATED') {
|
|
|
- this.taskDetailUrl = res.data.data.latestUrl;
|
|
|
+ this.pkgUrl = res.data.data.latestUrl;
|
|
|
this.pkgBtnText = '下载数据';
|
|
|
this.exportPkgDisabled = false;
|
|
|
return true;
|
|
|
} else if (status === 'ERROR') {
|
|
|
- this.pkgBtnText = res.data.data.errorMsg;
|
|
|
+ this.pkgBtnErrorMsg = res.data.data.errorMsg || '生成失败,请联系管理员!';
|
|
|
this.exportPkgDisabled = true;
|
|
|
return true;
|
|
|
} else {
|
|
@@ -581,10 +595,11 @@ export default {
|
|
|
|
|
|
downInfo(type) {
|
|
|
let url = type == '1' ? this.taskDetailUrl : this.pkgUrl;
|
|
|
+ let fileName = type == '1' ? '个人任务明细数据信息.xlsx' : '个人执行包数据信息.xlsx';
|
|
|
let link = document.createElement('a');
|
|
|
link.style.display = 'none';
|
|
|
link.href = process.env.VUE_APP_URL + url;
|
|
|
- link.setAttribute('download', '用户信息.xlsx');
|
|
|
+ link.setAttribute('download', fileName);
|
|
|
document.body.appendChild(link);
|
|
|
link.click();
|
|
|
document.body.removeChild(link);
|
|
@@ -658,4 +673,19 @@ export default {
|
|
|
margin-right: 10px;
|
|
|
}
|
|
|
}
|
|
|
+.error-message {
|
|
|
+ color: red;
|
|
|
+ font-weight: 600;
|
|
|
+
|
|
|
+ i {
|
|
|
+ font-weight: 600;
|
|
|
+ font-size: 14px;
|
|
|
+ }
|
|
|
+
|
|
|
+ &:hover {
|
|
|
+ background-color: #fff !important;
|
|
|
+ border-color: #ebeef5 !important;
|
|
|
+ color: red !important;
|
|
|
+ }
|
|
|
+}
|
|
|
</style>
|