|
|
@@ -383,6 +383,9 @@ let dynamicTbColRespVOList;
|
|
|
|
|
|
const openPdf = async () => {
|
|
|
const formData = new FormData()
|
|
|
+ // 在异步操作开始前捕获 opType,防止切换项目时 props.initData 被覆盖导致竞态
|
|
|
+ const currentOpType = props.initData.opType;
|
|
|
+ const currentManualUrl = props.initData.manualUrl;
|
|
|
const rules = []
|
|
|
previewSpread.sheets.forEach((sheet) => {
|
|
|
sheet.conditionalFormats.getRules().forEach(rule => {
|
|
|
@@ -404,17 +407,17 @@ const openPdf = async () => {
|
|
|
//uat环境葡萄城pdf接口
|
|
|
if (nodeEnv == 'uat') {
|
|
|
// 手动拼接pdf的url,适配检验方案
|
|
|
- if (props.initData.manualUrl){
|
|
|
- formData.append('manualUrl', props.initData.manualUrl)
|
|
|
+ if (currentManualUrl){
|
|
|
+ formData.append('manualUrl', currentManualUrl)
|
|
|
response = await getPDFByInspection(formData)
|
|
|
}else{
|
|
|
response = await getPDF2(formData)
|
|
|
}
|
|
|
} else {
|
|
|
//本地测试环境葡萄城pdf接口
|
|
|
- if (props.initData.manualUrl){
|
|
|
+ if (currentManualUrl){
|
|
|
// 手动拼接pdf的url,适配检验方案
|
|
|
- formData.append('manualUrl', props.initData.manualUrl)
|
|
|
+ formData.append('manualUrl', currentManualUrl)
|
|
|
response = await getPDFByInspectionLocal(formData)
|
|
|
}else{
|
|
|
response = await getPDF2(formData)
|
|
|
@@ -423,11 +426,11 @@ const openPdf = async () => {
|
|
|
if (response) {
|
|
|
const flow = new Blob([response], { type: 'application/pdf' })
|
|
|
recordSource.value = window.URL.createObjectURL(flow);
|
|
|
- if(props.initData.opType==0){
|
|
|
+ if(currentOpType==0){
|
|
|
loading.value = false;
|
|
|
window.open(recordSource.value, '_blank');
|
|
|
}
|
|
|
- if(props.initData.opType==1){
|
|
|
+ if(currentOpType==1){
|
|
|
//showSpread.value=false;
|
|
|
pdfTimestamp.value = Date.now();
|
|
|
showPdf.value=true;
|