inoutControl.vue 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. <!-- 输入输出控制块 -->
  2. <template>
  3. <div>
  4. <div v-if="isPhoto == 'photo'">关联图</div>
  5. <div v-if="isPhoto != 'photo'">
  6. <inoutSendOrRv
  7. :isPhoto="isPhoto"
  8. :checkData="checkData"
  9. :svInfo="svInfo"
  10. ></inoutSendOrRv>
  11. </div>
  12. </div>
  13. </template>
  14. <script setup>
  15. import { onMounted, watch, ref, nextTick, defineEmits, inject } from "vue";
  16. import inoutSendOrRv from "./inoutSendOrRv";
  17. import {
  18. //send发送
  19. iednetworkInfo,
  20. } from "@/api/iedNetwork";
  21. const props = defineProps({
  22. checkData: {
  23. type: Object,
  24. default: () => {},
  25. },
  26. isPhoto: {
  27. type: String,
  28. default: "",
  29. },
  30. });
  31. const svInfo = ref(null);
  32. const scdIdValue = inject("scdId");
  33. const getNetworkInfo = async () => {
  34. const svResInfo = await iednetworkInfo({
  35. scd_id: scdIdValue,
  36. ied_name: props.checkData.ied_name,
  37. });
  38. svInfo.value = svResInfo.data;
  39. };
  40. watch(
  41. () => props.checkData,
  42. (newValue) => {
  43. getNetworkInfo();
  44. }
  45. );
  46. onMounted(() => {
  47. getNetworkInfo();
  48. });
  49. </script>
  50. <style lang="scss">
  51. @mixin img-size {
  52. width: 150px;
  53. height: 90px;
  54. margin-bottom: 10px;
  55. }
  56. @mixin left-and-right {
  57. display: flex;
  58. flex-direction: column;
  59. }
  60. </style>