| | |
| | | <template> |
| | | <div class="listCard"> |
| | | <!-- <div>方案数量: {{ simStore.schemCard.length }}</div> --> |
| | | <el-card v-if="!schemeInfoShow" v-for="(item, key) in schemeList" :key="key" |
| | | :class="{ selected: selectedId === item.id }" @click="selectScheme(item.id)"> |
| | | <el-card |
| | | v-if="!schemeInfoShow" |
| | | v-for="(item, key) in schemeList" |
| | | :key="key" |
| | | :class="{ selected: selectedId === item.id }" |
| | | @click="selectScheme(item.id)" |
| | | > |
| | | <div> |
| | | <p>方案名称 : {{ item.name }}</p> |
| | | <p>创建时间 : {{ formatTime(item.createTime) }}</p> |
| | | <p> |
| | | 方案状态 : |
| | | <span style="color: aquamarine">{{ |
| | | statusText[item.taskStatus] || "未知" |
| | | statusText[item.status] || "未知" |
| | | }}</span> |
| | | </p> |
| | | </div> |
| | | <div class="cardMenu"> |
| | | <div style="float: right; margin-top: 3px"> |
| | | <el-button size="small" @click="setSchemClick(item)">方案详情</el-button> |
| | | <el-button size="small" @click="setSchemClick(item)" |
| | | >方案详情</el-button |
| | | > |
| | | <el-button size="small" @click="startPlay(item)">进入模拟</el-button> |
| | | <!-- :disabled="item.taskStatus !== 2" --> |
| | | </div> |
| | | </div> |
| | | </el-card> |
| | | <schemeInfo v-if="schemeInfoShow" :selectedScheme="currentScheme" @back="handleBack" /> |
| | | <schemeInfo |
| | | v-if="schemeInfoShow" |
| | | :selectedScheme="currentScheme" |
| | | @back="handleBack" |
| | | /> |
| | | </div> |
| | | |
| | | <Message @close="close" class="mess" v-show="messageShow" :mesData="mesData" /> |
| | | <Message |
| | | @close="close" |
| | | class="mess" |
| | | v-show="messageShow" |
| | | :mesData="mesData" |
| | | /> |
| | | </template> |
| | | |
| | | <script setup> |
| | |
| | | } |
| | | |
| | | const statusText = { |
| | | 0: "未开始", |
| | | 1: "进行中", |
| | | 2: "已完成", |
| | | 0: "创建仿真", |
| | | 1: "预处理", |
| | | 2: "分析中", |
| | | 10: "完成", |
| | | 20: "出错", |
| | | }; |
| | | function formatTime(time) { |
| | | return dayjs(time).format("YYYY-MM-DD HH:mm:ss"); |
| | |
| | | // alert("当前方案尚未完成,无法进入模拟!"); |
| | | // return; |
| | | // } |
| | | if (!item.serviceName) { |
| | | ElMessage({ |
| | | message: "serviceName 不存在,无法继续!", |
| | | type: "warning", |
| | | }); |
| | | return; // 阻止后续逻辑执行 |
| | | } |
| | | // console.log(item,'iteeeeeeeem'); |
| | | simStore.setSelectedScheme(item); |
| | | |
| | | currentScheme.value = item; |
| | | schemeInfoShow.value = true; |
| | | emit("closeBtn", false); |
| | |
| | | |
| | | // 注册事件监听器 |
| | | EventBus.on("hide-schemeInfo", handleHideSchemeInfo); |
| | | |
| | | |
| | | /////////////////////// 调用接口(使用时打开) /////////////////////// |
| | | import { getRegionData, getSimData, deleteSimData } from "@/api/trApi.js"; |
| | |
| | | } |
| | | } |
| | | ); |
| | | |
| | | // 删除仿真列表 |
| | | watch( |
| | | () => props.deleteSim, |
| | |
| | | } |
| | | } |
| | | ); |
| | | |
| | | const deleteSim = () => { |
| | | ElMessageBox.confirm("确定要删除该方案吗?", "删除方案", { |
| | | // 确保有选中的方案 |
| | | if (!selectedId.value) { |
| | | ElMessage({ |
| | | type: "warning", |
| | | message: "请先选择一个方案进行删除!", |
| | | }); |
| | | return; |
| | | } |
| | | const selectedScheme = schemeList.value.find( |
| | | (item) => item.id === selectedId.value |
| | | ); |
| | | const schemeName = selectedScheme ? selectedScheme.name : "未知方案"; |
| | | ElMessageBox.confirm(`确定要删除方案 "${schemeName}" 吗?`, "删除方案", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning", |
| | | }) |
| | | .then(() => { |
| | | deleteSimData(selectedId.value).then((res) => { |
| | |
| | | }); |
| | | ElMessage({ |
| | | type: "success", |
| | | message: "删除成功", |
| | | message: `方案 "${schemeName}" 删除成功`, |
| | | }); |
| | | }) |
| | | .catch(() => { |
| | | ElMessage({ |
| | | type: "info", |
| | | message: "已取消删除", |
| | | }); |
| | | }); |
| | | .catch(() => {}); |
| | | }; |
| | | /////////////////////// 调用接口结束 /////////////////////// |
| | | onUnmounted(() => { |