appealCard.vue 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. <template>
  2. <div class="otherAppeal">
  3. <!-- 标题 -->
  4. <div class="title" v-if="isOther">
  5. {{ otherAppeal.title }}
  6. </div>
  7. <div class="details" v-if="isOther && otherAppeal.process === '2'">
  8. <img src="/static/appeal/avator.png" class="icon" />
  9. <p class="msg">
  10. <span class="name">{{ otherAppeal.department_name }}</span
  11. >:
  12. <span class="msg_body">{{ otherAppeal.reply }}</span>
  13. </p>
  14. </div>
  15. <div class="details" v-if="!isOther">
  16. <p class="content">
  17. <img
  18. src="/static/appeal/waited.svg"
  19. class="state"
  20. v-if="otherAppeal.process === '2'"
  21. />
  22. <img src="/static/appeal/waiting.svg" class="state" v-else />
  23. <span class="content_body">{{ otherAppeal.content }}</span>
  24. </p>
  25. </div>
  26. <!-- <div class="details" v-else>
  27. <p class="msg">
  28. <span class="msg_body_waiting">正在处理中……</span>
  29. </p>
  30. </div> -->
  31. <!-- <div class="details" v-else>
  32. <img src="/static/appeal/avator.png" class="icon" />
  33. <p class="msg">
  34. <span class="name">{{ otherAppeal.department_name }}</span
  35. >:
  36. <span class="msg_body">{{ otherAppeal.reply }}</span>
  37. </p>
  38. </div> -->
  39. </div>
  40. </template>
  41. <script>
  42. export default {
  43. props: ["otherAppeal", "isOther"],
  44. };
  45. </script>
  46. <style lang="scss" scoped>
  47. .otherAppeal {
  48. margin: 5% 8%;
  49. position: relative;
  50. height: 150rpx;
  51. display: flex;
  52. flex-flow: column;
  53. justify-content: center;
  54. .title {
  55. margin-bottom: 3%;
  56. font-size: 32rpx;
  57. font-weight: 600;
  58. }
  59. .details {
  60. .name {
  61. font-size: 30rpx;
  62. color: red;
  63. }
  64. .msg {
  65. font-size: 30rpx;
  66. overflow: hidden;
  67. text-overflow: ellipsis;
  68. display: -webkit-box;
  69. -webkit-box-orient: vertical;
  70. -webkit-line-clamp: 3;
  71. word-wrap: break-word;
  72. word-break: break-all;
  73. line-height: 40rpx;
  74. letter-spacing: 2rpx;
  75. .msg_body_waiting {
  76. color: #aaa;
  77. }
  78. }
  79. .content {
  80. position: relative;
  81. width: 100%;
  82. font-size: 32rpx;
  83. .state {
  84. position: absolute;
  85. right: 0;
  86. top: 0;
  87. width: 94rpx;
  88. height: 74rpx;
  89. }
  90. .content_body {
  91. width: 80%;
  92. overflow: hidden;
  93. text-overflow: ellipsis;
  94. display: -webkit-box;
  95. -webkit-box-orient: vertical;
  96. -webkit-line-clamp: 2;
  97. word-wrap: break-word;
  98. word-break: break-all;
  99. line-height: 40rpx;
  100. letter-spacing: 2rpx;
  101. }
  102. }
  103. .icon {
  104. width: 50rpx;
  105. height: 50rpx;
  106. position: absolute;
  107. transform: translateX(-100%);
  108. }
  109. }
  110. }
  111. </style>