feat(desktop): implement phase 2 native capabilities
This commit is contained in:
@@ -1954,6 +1954,7 @@ import {
|
||||
type SetupWorkflowTagMeta,
|
||||
} from "../../utils/setupPublishWorkflow";
|
||||
import { useSetupConfig } from "../../composables/useSetupConfig";
|
||||
import { saveFile } from "../../runtime";
|
||||
|
||||
type SetupStepKey =
|
||||
| "project-info"
|
||||
@@ -5174,7 +5175,7 @@ const buildExcelWorksheetXml = (
|
||||
return `<Worksheet ss:Name="${excelEscapeXml(sheetName)}"><Table>${metaXml}<Row/>${headerXml}${dataXml}</Table></Worksheet>`;
|
||||
};
|
||||
|
||||
const downloadVersionRaw = (versionItem: StudySetupConfigVersionItem) => {
|
||||
const downloadVersionRaw = async (versionItem: StudySetupConfigVersionItem) => {
|
||||
if (!project.value) return;
|
||||
const displayVersion = getDisplayVersionLabel(versionItem.version);
|
||||
const branchName = versionItem.branch_name || "main";
|
||||
@@ -5342,16 +5343,13 @@ ${buildExcelWorksheetXml("第6步-中心确认", metaRows, step6Headers, step6Ro
|
||||
</Workbook>`;
|
||||
|
||||
const blob = new Blob([`\uFEFF${workbookXml}`], { type: "application/vnd.ms-excel;charset=utf-8;" });
|
||||
const url = URL.createObjectURL(blob);
|
||||
const safeVersionLabel = displayVersion.replace(/[^\w.-]/g, "_");
|
||||
const filename = `setup-config-${safeVersionLabel}-${project.value.code || project.value.id}.xls`;
|
||||
const link = document.createElement("a");
|
||||
link.href = url;
|
||||
link.download = filename;
|
||||
document.body.appendChild(link);
|
||||
link.click();
|
||||
document.body.removeChild(link);
|
||||
URL.revokeObjectURL(url);
|
||||
await saveFile({
|
||||
suggestedName: filename,
|
||||
mimeType: "application/vnd.ms-excel;charset=utf-8",
|
||||
data: blob,
|
||||
});
|
||||
};
|
||||
|
||||
const removeVersion = async (targetVersion: number) => {
|
||||
|
||||
Reference in New Issue
Block a user