guonan
2025-05-16 a9c4f7775e82d93638e607fa6c5fafe22f5310b4
src/components/monifangzhen/schemeCard.vue
@@ -1,30 +1,45 @@
<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>
@@ -49,9 +64,11 @@
}
const statusText = {
  0: "未开始",
  1: "进行中",
  2: "已完成",
  0: "创建仿真",
  1: "预处理",
  2: "分析中",
  10: "完成",
  20: "出错",
};
function formatTime(time) {
  return dayjs(time).format("YYYY-MM-DD HH:mm:ss");
@@ -72,6 +89,16 @@
  //   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);
@@ -93,7 +120,6 @@
// 注册事件监听器
EventBus.on("hide-schemeInfo", handleHideSchemeInfo);
/////////////////////// 调用接口(使用时打开) ///////////////////////
import { getRegionData, getSimData, deleteSimData } from "@/api/trApi.js";
@@ -132,7 +158,6 @@
  () => props.deleteSim,
  (newVal) => {
    if (newVal) {
      console.log(newVal);
      deleteSim();
      emit("reset");
    }
@@ -147,17 +172,15 @@
    });
    return;
  }
  const selectedScheme = schemeList.value.find((item) => item.id === selectedId.value);
  const selectedScheme = schemeList.value.find(
    (item) => item.id === selectedId.value
  );
  const schemeName = selectedScheme ? selectedScheme.name : "未知方案";
  ElMessageBox.confirm(
    `确定要删除方案 "${schemeName}" 吗?`,
    "删除方案",
    {
      confirmButtonText: "确定",
      cancelButtonText: "取消",
      type: "warning",
    }
  )
  ElMessageBox.confirm(`确定要删除方案 "${schemeName}" 吗?`, "删除方案", {
    confirmButtonText: "确定",
    cancelButtonText: "取消",
    type: "warning",
  })
    .then(() => {
      deleteSimData(selectedId.value).then((res) => {
        getScheme();
@@ -167,8 +190,7 @@
        message: `方案 "${schemeName}" 删除成功`,
      });
    })
    .catch(() => {
    });
    .catch(() => {});
};
/////////////////////// 调用接口结束 ///////////////////////
onUnmounted(() => {