Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

evaluate-business-item.vue 2.9KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141
  1. <!-- 业务办理满意度评价Item -->
  2. <template>
  3. <view class="item-box" v-for="(item,index) in dataList" :key="index">
  4. <view class="top as-layout-horizontal as-gravity-center-start">
  5. <view class="as-layout-horizontal as-gravity-center-start">
  6. <!-- <image :src="`${$imgUrl}user/icon-avatar.png`"></image> -->
  7. <text style="font-size: 26rpx;">{{tuoming(item.orderId)}}</text>
  8. </view>
  9. <view class="time">{{item.insertTime}}</view>
  10. </view>
  11. <view class="center">
  12. <!-- <view class="type">这里是业务办理</view> -->
  13. <view class="content">{{item.suggestion}},{{item.message}}</view>
  14. </view>
  15. <view class="bottom">
  16. <view class="text good" v-if="item.evaluate === '好评'">好评</view>
  17. <view class="text middle" v-if="item.evaluate === '中评'">中评</view>
  18. <view class="text bad" v-if="item.evaluate === '差评'">差评</view>
  19. <view class="score">{{item.score}}分</view>
  20. </view>
  21. </view>
  22. </template>
  23. <script setup lang="ts">
  24. defineProps({
  25. //数据列表
  26. dataList: {
  27. type: Array,
  28. default: () => {
  29. return [];
  30. }
  31. }
  32. })
  33. function tuoming(str) {
  34. var start = str.substring(0, 5); // 提取前5个字符
  35. var end = str.substring(20); // 提取剩余的字符
  36. var mask = '*****'; // 星号替换字符串
  37. return start + mask + end; // 返回结果字符串
  38. }
  39. </script>
  40. <style lang="scss" scoped>
  41. .item-box {
  42. background: #ffffff;
  43. box-shadow: 0rpx 2rpx 6rpx 0rpx rgba(223, 223, 223, 0.8);
  44. border-radius: 20rpx;
  45. margin-bottom: 30rpx;
  46. .top {
  47. min-height: 88rpx;
  48. padding: 0rpx 30rpx;
  49. border-bottom: 1rpx solid #DCDCDC;
  50. display: flex;
  51. justify-content: flex-end;
  52. image {
  53. width: 50rpx;
  54. height: 50rpx;
  55. background: #B2EEE1;
  56. border-radius: 50%;
  57. }
  58. text {
  59. margin-left: 20rpx;
  60. font-size: 30rpx;
  61. font-family: Noto Sans S Chinese;
  62. font-weight: 400;
  63. color: #333333;
  64. }
  65. .time {
  66. font-size: 26rpx;
  67. color: #333333;
  68. text-align: right;
  69. }
  70. }
  71. .center {
  72. padding: 28rpx 30rpx;
  73. border-bottom: 1rpx solid #DCDCDC;
  74. .type {
  75. font-size: 26rpx;
  76. font-family: Noto Sans S Chinese;
  77. font-weight: 400;
  78. color: #999999;
  79. }
  80. .content {
  81. ffont-size: 26rpx;
  82. font-family: Noto Sans S Chinese;
  83. font-weight: 400;
  84. color: #333333;
  85. line-height: 46rpx;
  86. margin-top: 30rpx;
  87. }
  88. }
  89. .bottom {
  90. padding: 15rpx 30rpx;
  91. text-align: right;
  92. display: flex;
  93. justify-content: flex-end;
  94. align-items: center;
  95. .text {
  96. width: 97rpx;
  97. height: 36rpx;
  98. line-height: 36rpx;
  99. border-radius: 18rpx;
  100. font-size: 26rpx;
  101. text-align: center;
  102. }
  103. .good {
  104. background: #FBD9D0;
  105. color: #DD523E;
  106. }
  107. .middle {
  108. background: #FBECD0;
  109. color: #FF9600;
  110. }
  111. .bad {
  112. background: #E1E1E1;
  113. color: #999999;
  114. }
  115. .score {
  116. font-size: 26rpx;
  117. font-family: Noto Sans S Chinese;
  118. font-weight: 400;
  119. color: #333333;
  120. margin-left: 17rpx;
  121. }
  122. }
  123. }
  124. </style>