suerprisePlus
2024-06-21 fde8e3bedaf5f883f38c3a0ec33d3c6a8748d1c9
src/components/Chat/chatList.vue
@@ -15,16 +15,38 @@
            <div class="web__main_Date">
              <div>
                <cite>
                  <div>
                  <div style="display: flex">
                    {{ item.name }}
                    <div style="margin-left: 10px" v-show="item.file">
                      <el-select
                        @change="(val) => setFileChange(val)"
                        v-model="item.file"
                        size="mini"
                      >
                        <el-option
                          v-for="(res, key) in item.fileList"
                          :key="key"
                          :label="res.name"
                          :value="res.url"
                        >
                        </el-option>
                      </el-select>
                    </div>
                  </div>
                  <div>
                    {{ item.date }}
                  </div>
                </cite>
              </div>
              <div class="web__main-text">
              <div v-show="item.markDown == true" class="web__main-text">
                <VueMarkdown
                  class="web_Main_markDown"
                  :source="item.text.text"
                ></VueMarkdown>
              </div>
              <div v-show="item.markDown == false" class="web__main-text">
                <div class="web__main-arrow"></div>
                <span
                  v-html="handleDetail(item.text.text)"
@@ -42,11 +64,6 @@
              </div>
            </div>
          </div>
          <!-- <div class="web__main-user">
          </div> -->
          <!--  -->
        </div>
      </div>
    </div>
@@ -77,13 +94,24 @@
<script>
import emojiParser from "wechat-emoji-parser";
import VueMarkdown from "vue-markdown";
import axios from "axios";
import bus from "../../assets/js/bus";
export default {
  name: "JwChat_list",
  arr: [],
  components: {
    VueMarkdown
  },
  filters: {
    setWidth(value) {
      let width = value;
      if (`${value}`.match(/^\d+$/)) {
        width = value + "px";
        width = value-30 + "px";
      }
      if(width=="100vh"){
        return "99vh"
      }
      return width;
    }
@@ -120,6 +148,14 @@
    }
  },
  methods: {
    setFileChange(res) {
      if (res == "testUrl") return;
      axios.get(res).then((response) => {
        if (response.status == 200) {
          bus.$emit("setInsertMarkDown", response.data);
        }
      });
    },
    loding(index) {
      const size = this.list.length;
      if (index == size - 1) {
@@ -254,6 +290,11 @@
    @css { * }zoom: 1; */
  vertical-align: top;
  font-size: 20px;
  background: #555555;
  padding: 10px !important;
  border-radius:10px !important;
  margin-top:10px ;
}
.web__main-user {
@@ -309,7 +350,7 @@
  word-break: break-all;
}
.web__main_content {
  width: 100%;
  width:  calc(100% - 50px);
  padding: 10px 0px;
  display: flex;
}
@@ -422,3 +463,101 @@
  max-width: 200px;
}
</style>
<style>
.parentBox {
  height: 100%;
  /* background: rgb(31, 31, 31); */
  padding: 20px;
}
.loadBox .loaderContantBox {
  color: white;
  font-size: 40px;
  overflow: hidden;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  transform: translateZ(0);
  /* animation:规定完成动画所花费的时间,该属性必须规定,否则动画时长为0,无法播放 */
  animation: loadBox 1.7s infinite ease, round 1.7s infinite ease;
}
@keyframes loadBox {
  0% {
    box-shadow: 0 -0.83em 0 -0.4em, 0 -0.83em 0 -0.42em, 0 -0.83em 0 -0.44em,
      0 -0.83em 0 -0.46em, 0 -0.83em 0 -0.477em;
  }
  5%,
  95% {
    box-shadow: 0 -0.83em 0 -0.4em, 0 -0.83em 0 -0.42em, 0 -0.83em 0 -0.44em,
      0 -0.83em 0 -0.46em, 0 -0.83em 0 -0.477em;
  }
  10%,
  59% {
    box-shadow: 0 -0.83em 0 -0.4em, -0.087em -0.825em 0 -0.42em,
      -0.173em -0.812em 0 -0.44em, -0.256em -0.789em 0 -0.46em,
      -0.297em -0.775em 0 -0.477em;
  }
  20% {
    box-shadow: 0 -0.83em 0 -0.4em, -0.338em -0.758em 0 -0.42em,
      -0.555em -0.617em 0 -0.44em, -0.671em -0.488em 0 -0.46em,
      -0.749em -0.34em 0 -0.477em;
  }
  38% {
    box-shadow: 0 -0.83em 0 -0.4em, -0.377em -0.74em 0 -0.42em,
      -0.645em -0.522em 0 -0.44em, -0.775em -0.297em 0 -0.46em,
      -0.82em -0.09em 0 -0.477em;
  }
  100% {
    box-shadow: 0 -0.83em 0 -0.4em, 0 -0.83em 0 -0.42em, 0 -0.83em 0 -0.44em,
      0 -0.83em 0 -0.46em, 0 -0.83em 0 -0.477em;
  }
}
@keyframes round {
  0% {
    transform: rotate(0deg); /* 开始旋转 div 元素 */
  }
  100% {
    transform: rotate(360deg); /* 结束旋转 div 元素 */
  }
}
</style>
<style >
 .web_Main_markDown h1 {
  line-height: 30px !important;
  font-size: 20px !important;
}
.web_Main_markDown h2  {
  line-height: 25px !important;
  font-size: 18px !important;
  margin-left: 10px;
}
.web_Main_markDown h3 {
  line-height: 25px !important;
  font-size: 18px !important;
  margin-left: 10px;
}
.web_Main_markDown li {
  line-height: 20px !important;
  font-size: 16px !important;
  margin-left: 20px;
}
.web_Main_markDown p {
  line-height: 20px !important;
  font-size: 16px !important;
  margin-left: 20px;
}
.web_Main_markDown   {
   background: #555555;
   padding: 10px;
   border-radius: 10px;
}
</style>