|
@@ -4,7 +4,7 @@
|
|
@register="register"
|
|
@register="register"
|
|
:title="t('routes.scenes.downloadScene')"
|
|
:title="t('routes.scenes.downloadScene')"
|
|
:showCancelBtn="false"
|
|
:showCancelBtn="false"
|
|
- :okText="t('routes.scenes.cancelDownload')"
|
|
|
|
|
|
+ :okText="downloadInfo.isDownloaded ? t('common.okText') : t('routes.scenes.cancelDownload')"
|
|
@ok="handleSubmit"
|
|
@ok="handleSubmit"
|
|
@cancel="cancelDownload"
|
|
@cancel="cancelDownload"
|
|
>
|
|
>
|
|
@@ -34,6 +34,12 @@
|
|
// import { bindAnchorListParam } from '/@/api/scene/model';
|
|
// import { bindAnchorListParam } from '/@/api/scene/model';
|
|
// import { Time } from '/@/components/Time';
|
|
// import { Time } from '/@/components/Time';
|
|
// import { useUserStore } from '/@/store/modules/user';
|
|
// import { useUserStore } from '/@/store/modules/user';
|
|
|
|
+ import {
|
|
|
|
+ downloadByUrl,
|
|
|
|
+ // downloadByData,
|
|
|
|
+ // downloadByBase64,
|
|
|
|
+ // downloadByOnlineUrl,
|
|
|
|
+ } from '/@/utils/file/download';
|
|
|
|
|
|
const schemas: FormSchema[] = [
|
|
const schemas: FormSchema[] = [
|
|
{
|
|
{
|
|
@@ -66,10 +72,12 @@
|
|
const { t } = useI18n();
|
|
const { t } = useI18n();
|
|
// const { createMessage } = useMessage();
|
|
// const { createMessage } = useMessage();
|
|
const sceneNum = ref('');
|
|
const sceneNum = ref('');
|
|
|
|
+ const finishDowloadUrl = ref('');
|
|
const downloadInfo = reactive<Recordable>({});
|
|
const downloadInfo = reactive<Recordable>({});
|
|
downloadInfo.timer = null;
|
|
downloadInfo.timer = null;
|
|
downloadInfo.process = 0;
|
|
downloadInfo.process = 0;
|
|
downloadInfo.status = '下载中';
|
|
downloadInfo.status = '下载中';
|
|
|
|
+ downloadInfo.isDownloaded = false;
|
|
|
|
|
|
const [registerForm, { setFieldsValue }] = useForm({
|
|
const [registerForm, { setFieldsValue }] = useForm({
|
|
schemas: schemas,
|
|
schemas: schemas,
|
|
@@ -98,6 +106,12 @@
|
|
try {
|
|
try {
|
|
cancelDownload();
|
|
cancelDownload();
|
|
closeModal();
|
|
closeModal();
|
|
|
|
+ if (downloadInfo.isDownloaded) {
|
|
|
|
+ downloadByUrl({
|
|
|
|
+ url: finishDowloadUrl.value as any as string,
|
|
|
|
+ target: '_self',
|
|
|
|
+ });
|
|
|
|
+ }
|
|
} catch (error) {}
|
|
} catch (error) {}
|
|
};
|
|
};
|
|
async function getDownloadInfo(sceneNum: string) {
|
|
async function getDownloadInfo(sceneNum: string) {
|
|
@@ -106,9 +120,14 @@
|
|
console.log('res', res);
|
|
console.log('res', res);
|
|
const percent = res.percent;
|
|
const percent = res.percent;
|
|
downloadInfo.process = percent;
|
|
downloadInfo.process = percent;
|
|
- if (res.status === 1002) {
|
|
|
|
|
|
+ if (res.status === 1000) {
|
|
|
|
+ downloadInfo.status = '获取中';
|
|
|
|
+ }
|
|
|
|
+ if (res.status === 1002 && res.url) {
|
|
cancelDownload();
|
|
cancelDownload();
|
|
- downloadInfo.status = '已完成';
|
|
|
|
|
|
+ finishDowloadUrl.value = res.url;
|
|
|
|
+ downloadInfo.isDownloaded = true;
|
|
|
|
+ downloadInfo.status = '获取成功';
|
|
}
|
|
}
|
|
}, 2000);
|
|
}, 2000);
|
|
}
|
|
}
|