TaskItem.vue 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. <template>
  2. <div
  3. :class="{
  4. 'task-item-wrap': true,
  5. 'done-bg': cardData.isDone,
  6. 'now-border': cardData.isNow,
  7. }"
  8. >
  9. <div class="task-title">
  10. <span class="mr5">{{ number }}.</span>
  11. <span>{{ cardData.nodeInfo.name }}</span>
  12. </div>
  13. <div class="msg-list">
  14. <div class="msg-item">
  15. <i class="el-icon-user-solid icon"></i>
  16. <span>{{ cardData.nodeInfo.name || "暂无执行人" }}</span>
  17. </div>
  18. <div class="msg-item">
  19. <i class="el-icon-s-help icon"></i>
  20. <span>{{ cardData.nodeInfo.localName || "未知类型" }}</span>
  21. </div>
  22. <div class="msg-item">
  23. <i class="el-icon-success icon"></i>
  24. <!-- <span>admin</span> -->
  25. </div>
  26. </div>
  27. </div>
  28. </template>
  29. <script>
  30. export default {
  31. name: "TaskItem",
  32. props: ["itemData", "index"],
  33. components: {},
  34. data() {
  35. return {
  36. cardData: {},
  37. number: "",
  38. };
  39. },
  40. watch: {
  41. myItemData: {
  42. handler(nval) {
  43. this.cardData = nval;
  44. },
  45. deep: true,
  46. immediate: true,
  47. },
  48. myIndex: {
  49. handler(nval) {
  50. this.number = nval;
  51. },
  52. deep: true,
  53. immediate: true,
  54. },
  55. },
  56. computed: {
  57. myItemData() {
  58. return this.itemData;
  59. },
  60. myIndex() {
  61. return this.index;
  62. },
  63. },
  64. methods: {},
  65. };
  66. </script>
  67. <style scoped lang="scss">
  68. .task-item-wrap {
  69. padding: 12px 16px;
  70. flex: 1;
  71. box-sizing: border-box;
  72. background-color: #ebe6e6;
  73. // margin-right: 15px;
  74. .task-title {
  75. font-size: 14px;
  76. font-weight: 600;
  77. color: #454545;
  78. }
  79. .msg-list {
  80. display: flex;
  81. flex-direction: column;
  82. margin-top: 8px;
  83. color: #666;
  84. .msg-item {
  85. .icon {
  86. margin-right: 5px;
  87. }
  88. }
  89. }
  90. }
  91. .done-bg {
  92. background-color: #cdf1e5 !important;
  93. }
  94. .now-border {
  95. border: 5px solid rgb(167, 238, 171) !important;
  96. }
  97. </style>