Browse Source

修复附件下载

feature-no-sdk
zth 2 weeks ago
parent
commit
6c4e1e582f
  1. 56
      src/api/axios/Axios.ts
  2. 5
      src/components.d.ts
  3. 1
      src/views/Main/Dike/components/safetyAppraisal.vue

56
src/api/axios/Axios.ts

@ -169,31 +169,43 @@ export class VAxios {
conf = this.supportFormData(conf); conf = this.supportFormData(conf);
return await new Promise((resolve, reject) => { return await new Promise((resolve, reject) => {
this.axiosInstance this.axiosInstance
.request<any, AxiosResponse<Result>>(conf) .request<any, AxiosResponse<Result>>(conf)
.then(async (res: AxiosResponse<Result>) => { .then(async (res: AxiosResponse<Result>) => {
if (transformRequestHook && isFunction(transformRequestHook)) { if (transformRequestHook && isFunction(transformRequestHook)) {
try { try {
const ret = transformRequestHook(res, opt); let ret;
if (ret instanceof Promise) { if (res.data instanceof Blob) {
try { // 如果是 Blob 类型,直接返回 Blob
const data = await ret; ret = res.data;
resolve(data); } else {
} catch (error) { ret = transformRequestHook(res, opt);
console.error('reponse error:结构体错误!' + config.url); }
reject(error); if (ret instanceof Promise) {
try {
const data = await ret;
resolve(data);
} catch (error) {
console.error('reponse error:结构体错误!' + config.url);
reject(error);
}
} else {
resolve(ret);
} }
} catch (err) {
reject(err || new Error('request error!'));
} }
resolve(ret); return;
} catch (err) {
reject(err || new Error('request error!'));
} }
return; // 如果没有 transformRequestHook,直接返回响应数据
} if (res.data instanceof Blob) {
resolve(res as unknown as Promise<T>); resolve(res.data as unknown as T);
}) } else {
.catch((e: Error | AxiosError) => { resolve(res as unknown as T);
reject(e); }
}); })
.catch((e: Error | AxiosError) => {
reject(e);
});
}); });
} }
} }

5
src/components.d.ts

@ -19,8 +19,6 @@ declare module 'vue' {
ElIcon: typeof import('element-plus/es')['ElIcon'] ElIcon: typeof import('element-plus/es')['ElIcon']
ElInput: typeof import('element-plus/es')['ElInput'] ElInput: typeof import('element-plus/es')['ElInput']
ElOption: typeof import('element-plus/es')['ElOption'] ElOption: typeof import('element-plus/es')['ElOption']
ElPagination: typeof import('element-plus/es')['ElPagination']
ElPopover: typeof import('element-plus/es')['ElPopover']
ElRadioButton: typeof import('element-plus/es')['ElRadioButton'] ElRadioButton: typeof import('element-plus/es')['ElRadioButton']
ElRadioGroup: typeof import('element-plus/es')['ElRadioGroup'] ElRadioGroup: typeof import('element-plus/es')['ElRadioGroup']
ElSelect: typeof import('element-plus/es')['ElSelect'] ElSelect: typeof import('element-plus/es')['ElSelect']
@ -28,9 +26,6 @@ declare module 'vue' {
ElTableColumn: typeof import('element-plus/es')['ElTableColumn'] ElTableColumn: typeof import('element-plus/es')['ElTableColumn']
ElTabPane: typeof import('element-plus/es')['ElTabPane'] ElTabPane: typeof import('element-plus/es')['ElTabPane']
ElTabs: typeof import('element-plus/es')['ElTabs'] ElTabs: typeof import('element-plus/es')['ElTabs']
ElTooltip: typeof import('element-plus/es')['ElTooltip']
ElTree: typeof import('element-plus/es')['ElTree']
ElTreeSelect: typeof import('element-plus/es')['ElTreeSelect']
Form: typeof import('./components/Form/index.vue')['default'] Form: typeof import('./components/Form/index.vue')['default']
InputNumber: typeof import('./components/Input/input-number.vue')['default'] InputNumber: typeof import('./components/Input/input-number.vue')['default']
RouterLink: typeof import('vue-router')['RouterLink'] RouterLink: typeof import('vue-router')['RouterLink']

1
src/views/Main/Dike/components/safetyAppraisal.vue

@ -107,6 +107,7 @@ const props = defineProps({
resCode: { resCode: {
type: String as PropType<string>, type: String as PropType<string>,
}, },
}); });
// Data for the table // Data for the table

Loading…
Cancel
Save