| | |
| | | }; |
| | | |
| | | const handleCommand = async (command) => { |
| | | // 当选择模拟计算(command === 3)时,先检查 tempering_state 状态 |
| | | if (command === 3) { |
| | | try { |
| | | const res = await request.post(`/glassOptimize/getProjectState/${projectNo.value}`); |
| | | if (Number(res.code) === 200) { |
| | | const projectData = res.data.data; |
| | | // 执行模拟计算 |
| | | await emit('changeDialog', command); |
| | | |
| | | // 检查 tempering_state 状态 |
| | | if (projectData.tempering_state === 1) { |
| | | // 如果已完成模拟计算,提示用户并阻止打开 |
| | | ElMessage.warning('已完成模拟计算,不允许重复计算'); |
| | | return; |
| | | } else if (projectData.tempering_state === 0) { |
| | | // 如果未进行模拟计算,允许打开 |
| | | await emit('changeDialog', command); |
| | | } |
| | | } else { |
| | | ElMessage.warning(res.msg); |
| | | return; |
| | | } |
| | | } catch (error) { |
| | | ElMessage.error('检查工程状态失败,请稍后重试'); |
| | | console.error('检查工程状态失败:', error); |
| | | return; |
| | | } |
| | | } else { |
| | | // 其他命令直接执行 |
| | | await emit('changeDialog', command); |