1
李凌
2026-01-20 9a9d832dbd364557e070abcd9a7779a2c6c07ffb
src/views/customerService/index.vue
@@ -5,7 +5,7 @@
      <div class="px-3.5 py-5" :style="{ 'margin-top': navHeight + 'px' }" v-if="state == 0">
        <div class="white">{{ $t('OrdersWill') }} <span style="color: #1194F7">{{ msgTitle }}</span> {{
          $t('afterCancel')
          }}</div>
        }}</div>
        <div class="mt-3">
          <span class="mr-1" style="color: #8A919E">{{ $t('lumpSum') }}</span>
          <span class="white">{{ payInfo.currency }} {{ payInfo.amount }}</span>
@@ -21,29 +21,29 @@
          :style="{ 'display': finished ? 'none' : 'block' }">
          {{ $t('historyMessage') }}
        </div>
        <ul class="flex flex-col pt-3">
          <li v-for="(item, index) in list" :key="item.id" class="flex flex-col my-3">
        <ul class="flexY flex-col pt-3" style="width: 100%">
          <li v-for="(item) in list" :key="item.id" class="flex-col my-3">
            <!-- <p class="font-13 text-center py-2 text-grey font-15" v-if="showTime(index)">{{
              item.createtime &&
              item.createtime.split(' ')[0]
            }}</p> -->
            <p class="font-13 text-center pb-3 text-grey font-15">{{
              item.createtime
                item.createtime
              }}</p>
            <div class="flex" :class="item.send_receive === 'send' ? 'justify-end' : ''">
            <div class="flex" :class="item.send_receive === 'send' ? 'justify-end' : 'send'">
              <template v-if="item.send_receive === 'receive'">
                <img src="@/assets/image/service/responser.png" class="w-10 h-10 mr-5" />
                <div class="responser px-18 py-8 font-15 left-chatBg">
                  <p class="break-word textColor  font-15" style="max-width: 200px;"
                    v-if="item.content_type === 'text' || item.type === 'text'">
                <div class="responser px-18 py-8 font-15 left-chatBg" style="padding: 5px 5px">
                  <p class="break-word textColor  font-15" style="max-width: 200px;padding:8px 10px"
                     v-if="item.content_type === 'text' || item.type === 'text'">
                    {{ item.content }}</p>
                  <img v-else :src="item.content" class="w-200 h-200" @click="onPreview(item.content)" />
                  <img v-else :src="item.content" style="border-radius: 18px;max-width: 120px;min-width: 30px" class="w-200 h-200" @click="onPreview(item.content)" />
                </div>
              </template>
              <div class="py-8 px-18 rounded-ban flex flex-col right-chatBg" v-else>
                <img :src="`${item.content}`" class="w-200 h-200"
                  v-if="item.content_type === 'img' || item.type === 'img'" @click="onPreview(item.content)" />
                <p class="break-word textColor  font-15" v-else style="max-width: 200px;">{{ item.content }}</p>
              <div class="py-8 px-18 rounded-ban flex flex-col right-chatBg" style="padding: 5px 5px" v-else>
                <img :src="`${item.content}`"  style="border-radius: 18px;max-width: 120px;min-width: 30px"
                     v-if="item.content_type === 'img' || item.type === 'img'" @click="onPreview(item.content)" />
                <p class="break-word textColor  font-15"  v-else style="max-width: 200px;padding:8px 10px">{{ item.content }}</p>
              </div>
            </div>
          </li>
@@ -257,7 +257,7 @@
  clearIntervalTimer()
})
onBeforeUnmount(() => {
  let lastTimerId = setInterval(() => {}, 1000);
  let lastTimerId = setInterval(() => { }, 1000);
  for (let i = 1; i <= lastTimerId; i++) {
    clearInterval(i);
  }
@@ -265,6 +265,9 @@
</script>
<style lang="scss" scoped>
.justify-end{
  width: 100%;
}
.service-box {
  font-size: 14px;
  width: 100%;
@@ -299,10 +302,13 @@
    height: 0;
    border-top: 5px solid transparent;
    border-bottom: 5px solid transparent;
    border-right: 10px solid $input_background;
    position: absolute;
    left: -10px;
    top: 10px;
    @include themify() {
      border-right: 10px solid themed("input_background");
    }
  }
}
@@ -319,12 +325,15 @@
}
.chatBg {
  background: $input_background;
  height: 36px;
  padding: 8px 18px;
  border-radius: 18px;
  color: $text_color;
  font-size: 14px;
  @include themify() {
    background: themed("input_background") !important;
    color: themed("text_color") !important;
  }
}
.right-chatBg {
@@ -346,6 +355,8 @@
}
.left-chatBg {
  background: $input_background;
  @include themify() {
    background: themed("input_background");
  }
}
</style>