bug
zhanghua
2024-01-03 02129858b17c1934b30d29b87805844479a32c6c
src/components/filePictrue/index.vue
@@ -1,147 +1,153 @@
<template>
  <div class="file-picture">
    <div class="file-tell">
      <div class="tell-title">上报</div>
      <div class="tell-show" v-for="item in imgSource" :key="item.id">
        <div v-if="item.type == '01'" style="display: flex">
          <div class="my-demo" v-for="childer in item.url">
            <img class="img" :src="childer" alt="" />
            <div class="tip">
              <div>【图片类型】上报</div>
              <div>【上传时间】{{ changeTime(item.createTime) }}</div>
    <div class="file-picture">
        <div class="file-tell">
            <div class="tell-title">上报</div>
            <div class="tell-show" v-for="item in imgSource" :key="item.id">
                <div v-if="item.type == '01'" style="display: flex">
                    <div class="my-demo" v-for="childer in item.url">
                        <img class="img" :src="childer" alt="" />
                        <div class="tip">
                            <div>【图片类型】上报</div>
                            <div>
                                【上传时间】{{ changeTime(item.createTime) }}
                            </div>
                        </div>
                    </div>
                </div>
            </div>
          </div>
        </div>
      </div>
    </div>
    <div class="file-deal">
      <div class="tell-title">处置</div>
      <div class="tell-show" v-for="item in imgSource" :key="item.id">
        <div v-if="item.type == '02'" class="tell-demo">
          <div class="my-demo" v-for="childer in item.url">
            <img class="img" :src="childer" alt="" />
            <div class="tip">
              <!-- <div>【图片类型】处置</div> -->
              <div>【上传时间】{{ changeTime(item.createTime) }}</div>
        <div class="file-deal">
            <div class="tell-title">处置</div>
            <div class="tell-show" v-for="item in imgSource" :key="item.id">
                <div v-if="item.type == '02'" class="tell-demo">
                    <div class="my-demo" v-for="childer in item.url">
                        <img class="img" :src="childer" alt="" />
                        <div class="tip">
                            <!-- <div>【图片类型】处置</div> -->
                            <div>
                                【上传时间】{{ changeTime(item.createTime) }}
                            </div>
                        </div>
                    </div>
                </div>
            </div>
          </div>
        </div>
      </div>
    </div>
  </div>
</template>
<script>
import { parseTime, FILE_ORIGINAL_URL } from "@/utils/index";
export default {
  data() {
    return {
      imgSource: [],
    };
  },
  props: ["filesPictureVo", "mycode"],
  created() {
    const {
      filesPictureVo: { imageResources: imgList },
    } = this;
    data() {
        return {
            imgSource: [],
        };
    },
    props: ["filesPictureVo", "mycode"],
    created() {
        const {
            filesPictureVo: { imageResources: imgList },
        } = this;
    let pic = this.filesPictureVo.imageResources;
    pic.forEach((item) => {
      if (item.url) {
        if (typeof item.url == "string") {
          let urls = item.url.split(",");
          item.url = [];
          urls.forEach((o) => {
            o = o.replace("[", "").replace("]", "");
            item.url.push(`${FILE_ORIGINAL_URL}sccg/API/img?fileUrl=${o}`);
          });
        }
      } else {
        item.url = [];
      }
    });
    this.imgSource = pic;
    // this.getEventInfo(this.mycode);
  },
  methods: {
    // 获取token
    getToken() {
      const token = sessionStorage.getItem("token");
      const tokenHead = sessionStorage.getItem("tokenHead");
      if (token && tokenHead) {
        return { Authorization: tokenHead + token };
      }
    },
    changeTime(time) {
      if (time) {
        return parseTime(time);
      }
    },
    getEventInfo(mycode) {
      this.$axios({
        method: "get",
        url: `sccg/base_case/baseCaseDetail/${mycode}`,
      }).then((res) => {
        this.info = res.data;
        this.dialogView = true;
        let pic = res.data.filesPictureVo.imageResources;
        let pic = this.filesPictureVo.imageResources;
        pic.forEach((item) => {
          if (item.url) {
            if (typeof item.url == "string") {
              let urls = item.url.split(",");
              item.url = [];
              urls.forEach((o) => {
                o = o.replace("[", "").replace("]", "");
                item.url.push(`${FILE_ORIGINAL_URL}sccg/API/img?fileUrl=${o}`);
              });
            if (item.url) {
                if (typeof item.url == "string") {
                    let urls = item.url.split(",");
                    item.url = [];
                    urls.forEach((o) => {
                        o = o.replace("[", "").replace("]", "");
                        if (o !== '') {
                            item.url.push(`${FILE_ORIGINAL_URL}sccg/API/img?fileUrl=${o}`);
                        }
                    });
                }
            } else {
                item.url = [];
            }
          } else {
            item.url = [];
          }
        });
        this.imgSource = pic;
      });
        // this.getEventInfo(this.mycode);
    },
  },
    methods: {
        // 获取token
        getToken() {
            const token = sessionStorage.getItem("token");
            const tokenHead = sessionStorage.getItem("tokenHead");
            if (token && tokenHead) {
                return { Authorization: tokenHead + token };
            }
        },
        changeTime(time) {
            if (time) {
                return parseTime(time);
            }
        },
        getEventInfo(mycode) {
            this.$axios({
                method: "get",
                url: `sccg/base_case/baseCaseDetail/${mycode}`,
            }).then((res) => {
                this.info = res.data;
                this.dialogView = true;
                let pic = res.data.filesPictureVo.imageResources;
                pic.forEach((item) => {
                    if (item.url) {
                        if (typeof item.url == "string") {
                            let urls = item.url.split(",");
                            item.url = [];
                            urls.forEach((o) => {
                                o = o.replace("[", "").replace("]", "");
                                item.url.push(`${FILE_ORIGINAL_URL}sccg/API/img?fileUrl=${o}`);
                            });
                        }
                    } else {
                        item.url = [];
                    }
                });
                this.imgSource = pic;
            });
        },
    },
};
</script>
<style lang="scss" scoped>
.file-picture {
  padding-top: 50px;
    padding-top: 50px;
  .file-tell,
  .file-deal {
    .tell-title {
      line-height: 40px;
    .file-tell,
    .file-deal {
        .tell-title {
            line-height: 40px;
        }
        .tell-show {
            .tell-demo {
                display: flex;
                flex-wrap: wrap;
                width: 100%;
            }
        }
    }
    .tell-show {
      .tell-demo {
        display: flex;
        flex-wrap: wrap;
        width: 100%;
      }
    }
  }
  .my-demo {
    position: relative;
    height: 159px;
    margin: 10px;
  }
  .tip {
    div {
      line-height: 20px;
    .my-demo {
        position: relative;
        height: 159px;
        margin: 10px;
    }
    text-align: left;
    position: absolute;
    bottom: 0px;
  }
    .tip {
        div {
            line-height: 20px;
        }
  .img {
    width: 226px;
    height: 159px;
  }
        text-align: left;
        position: absolute;
        bottom: 0px;
    }
    .img {
        width: 226px;
        height: 159px;
    }
}
</style>