downloadAndOpenDocument(url) {
const selectItem = uni.getStorageSync("erpdata");
const fileName = `${selectItem.item.Code}${selectItem.item.ProductModel}检验报告_${selectItem.subItem.Code}_${Date.now()}.docx`;
const filePath = `${wx.env.USER_DATA_PATH}/${fileName}`;
return new Promise((resolve, reject) => {
uni.downloadFile({
url,
filePath: filePath,
success: (res) => {
if (res.statusCode === 200) {
uni.openDocument({
filePath: filePath,
showMenu: true,
fileType: "docx",
success: () => resolve(),
fail: (err) => {
console.error('打开文档失败:', err);
uni.openDocument({
filePath: filePath,
showMenu: true,
success: () => resolve(),
fail: (err2) => {
console.error('再次打开文档失败:', err2);
reject(err2);
}
});
},
});
} else {
console.error('下载失败,状态码:', res.statusCode);
reject(new Error(`下载失败,状态码: ${res.statusCode}`));
}
},
fail: (err) => {
console.error('下载文件失败:', err);
reject(err);
},
});
});
},