interface Window { $renderDownload: any; $request: any; getVersionTypeApiUrl: any } interface dataType { params: { apiParams: { params: string, }, tempCode, resourceId?: string | number, }, } interface ElementType extends Element { style: any } window.$renderDownload = async ({ that, code, params, btnCode }) => { let btnAuthList = window.sessionStorage.btnAuthList let btnInfo = null if (btnAuthList) { btnAuthList = JSON.parse(btnAuthList) btnInfo = btnAuthList.find((item) => item.resourceCode == btnCode) } let request = window.$request let data: dataType = { params: { apiParams: { params, }, tempCode: code, }, } if (btnInfo) { data.params.resourceId = btnInfo.resourceId } let node = `
导出状态:
异常原因:
` await that.$nextTick() let $alert = that.$alert(node, '导出详情', { confirmButtonText: '确定', dangerouslyUseHTMLString: true, callback: (action) => { }, }) await that.$nextTick() let stateEl: ElementType = document.querySelector('#wordExportState') let ErrBox: ElementType = document.querySelector('#exportErrBox') let errElment: ElementType = document.querySelector('#exportErr') stateEl.innerHTML = '' that.$loading({ target: '#wordExportState', }) ErrBox.style.display = 'none' let res = await request({ url: `${window.getVersionTypeApiUrl( 'exportURL' )}/data-export/v2/export-word`, method: 'post', data, }) console.log(res) // 抛出异常 errElment.style.display = 'none' if (res.data.code === 805) { ErrBox.style.display = 'flex' errElment.style.display = 'block' errElment.style.color = 'red' stateEl.style.color = 'red' stateEl.innerHTML = '导出失败' try { errElment.innerHTML = res.data.msg } catch (e) { errElment.innerHTML = '后端返回接口结构异常' } } else { stateEl.innerHTML = '导出成功' stateEl.style.color = '#67C23A' downloadPath(res.data.fileUrl, res.data.fileName) } } //获取重命名下载 function downloadPath(access, fileName) { window.$request .get( `api/file/iot-base-attachment/getDownUrlByName?fileName=${encodeURI( fileName )}&oldUrl=${access}` ) .then((res) => { if (res.code === 800) window.location.href = res.data }) }