欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

vue項目中實現(xiàn)圖片預(yù)覽的公用組件功能-創(chuàng)新互聯(lián)

今天產(chǎn)品提出了一個查看影像的功能需求。

創(chuàng)新互聯(lián)公司是一家集網(wǎng)站建設(shè),昂昂溪企業(yè)網(wǎng)站建設(shè),昂昂溪品牌網(wǎng)站建設(shè),網(wǎng)站定制,昂昂溪網(wǎng)站建設(shè)報價,網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,昂昂溪網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。

在查看單據(jù)的列表中,有一列是影像字段,一開始根據(jù)單據(jù)號調(diào)用接口查看是否有圖片附件,如果有則彈出一個全屏的彈出層,如果沒有給出提示。而且,從列表進入詳情之后,附件那邊也會有一個查看影像的按鈕。

所以,根據(jù)需求,多個組件需要用到查看影像的功能,所以考慮做一個公用組件,通過組件傳值的方法將查看影像文件的入?yún)鬟^去。

后來,產(chǎn)品要求圖片可以旋轉(zhuǎn)縮放。

廢話不多說,貼上代碼:

<template>
  <div class="filePreview">
    <el-dialog 
    class="imgList" 
    title="預(yù)覽圖片列表" 
    :visible.sync="imgListShow"
    @close="$emit('remove')" 
    fullscreen>
      <div class="allImg">
        <div >
          <img v-for="(item,index) in imgList" :key="item.fileid" :src='item.furl' :class="{ changeColor:changeColor == index}" @click="handlerImg(item,index)">
        </div>
      </div>
      <div >
      <el-pagination
        
        background
        @size-change="handleSizeChange"
        @current-change="handleCurrentChange1"
        :current-page.sync="currentImg"
        :page-size="1"
        layout="prev, pager, next, jumper"
        :total="num">
      </el-pagination>
      <div >
        <button @click="rotateL" icon="el-icon-arrow-left">
          <i class="el-icon-arrow-left"></i>左旋轉(zhuǎn)
        </button>
        <button @click="rotateR">右旋轉(zhuǎn)
          <i class="el-icon-arrow-right"></i>
        </button>
        <button @click="scale">
          <i class="el-icon-zoom-out"></i>縮小
        </button>
        <button @click="scale1">放大
          <i class="el-icon-zoom-in"></i>
        </button>
      </div>
      <div id="test_3" @mousemove="move" @mouseup="stop">
        <p @mousedown="start" >
          <img :src="furl" ref="singleImg" class="originStyle">
        </p>
      </div>
      </div>
    </el-dialog>
  </div>
</template>
<script>
  import {isgetFilePath}from 'api/public_api.js'
  export default {
    data() {
      return {
        imgList:[],
        imgListShow:false,
        num:0,
        furl:'',
        currentImg:1,
        changeColor:-1,
        currentRotate: 0 ,
        currentScale:1,
        canDrag: false,
        offset_x:0,
        offset_y:0,
        mouse_x:0,
        mouse_y:0,
      }
    },
    props:['filePreviewShow','FDJH'],
    created() {
      this.imgListShow = this.filePreviewShow
      this.preview()
    },
    methods: {
      //點擊圖片顯示
      handlerImg(obj,index){
        this.currentRotate = 0
        this.currentScale = 1
        this.rotateScale()
        this.$refs.singleImg.style.left = 0
        this.$refs.singleImg.style.top = 0
        this.furl = obj.furl
        this.changeColor = index
        this.currentImg = index+1
      },
      //影像
      preview(){
        let data = {
          // FDJH:'000002'
          FDJH:this.FDJH
        }
        isgetFilePath(data).then(res=>{
          // console.log(res)
          if(res.TYPE == "S"){
            this.imgList = JSON.parse(res.MESSAGE)
            this.num = this.imgList.length
            if(this.imgList.length > 0){
              this.furl = this.imgList[0].furl
              this.changeColor = 0
            }else{
              this.$message.warning('影像文件為空')
            } 
          }else{
            this.$message.warning(res.MESSAGE)
          }
        })
      },
      handleSizeChange(val) {
        console.log(`每頁 ${val} 條`);
      },
      handleCurrentChange1(val) {
        this.currentRotate = 0
        this.currentScale = 1
        this.rotateScale()
        this.$refs.singleImg.style.left = 0
        this.$refs.singleImg.style.top = 0
        this.furl = this.imgList[val-1].furl
        this.changeColor = val-1
      },
      start(e){
        //鼠標(biāo)左鍵點擊
        e.preventDefault && e.preventDefault(); //去掉圖片拖動響應(yīng)
        if(e.button==0){
          this.canDrag=true;
          //獲取需要拖動節(jié)點的坐標(biāo)
          this.offset_x = document.getElementsByClassName('originStyle')[0].offsetLeft;//x坐標(biāo)
          this.offset_y = document.getElementsByClassName('originStyle')[0].offsetTop;//y坐標(biāo)
          //獲取當(dāng)前鼠標(biāo)的坐標(biāo)
          this.mouse_x = e.pageX;
          this.mouse_y = e.pageY;
        }
      },
      move(e){
        e.preventDefault && e.preventDefault()
        if(this.canDrag==true){
          let _x = e.pageX - this.mouse_x;
          let _y = e.pageY - this.mouse_y;
          //設(shè)置移動后的元素坐標(biāo)
          let now_x = (this.offset_x + _x ) + "px";
          let now_y = (this.offset_y + _y ) + "px";
          document.getElementsByClassName('originStyle')[0].style.top = now_y
          document.getElementsByClassName('originStyle')[0].style.left = now_x
        }
      },
      stop(e){
        this.canDrag = false;
      },
      //旋轉(zhuǎn)放大
      rotateScale(){
        this.$refs.singleImg.style.OTransform = 'rotate('+this.currentRotate+'deg)'+'scale('+this.currentScale+')'
        this.$refs.singleImg.style.webkitTransform = 'rotate('+this.currentRotate+'deg)'+'scale('+this.currentScale+')'
        this.$refs.singleImg.style.MozTransform = 'rotate('+this.currentRotate+'deg)'+'scale('+this.currentScale+')'
        this.$refs.singleImg.style.msTransform = 'rotate('+this.currentRotate+'deg)'+'scale('+this.currentScale+')'
        this.$refs.singleImg.style.transform = 'rotate('+this.currentRotate+'deg)'+'scale('+this.currentScale+')'
      },
      //旋轉(zhuǎn)
      rotateL(){
        this.currentRotate += 15
        this.rotateScale()
      },
      rotateR(){
        this.currentRotate -= 15
        this.rotateScale()
      },
      //縮放
      scale(){
        this.currentScale -= 0.1
        if(this.currentScale <= 0.1){
          this.currentScale = 0.1
          this.rotateScale()
        }else{
          this.rotateScale()
        }
      },
      scale1(){
        this.currentScale += 0.1
        this.rotateScale()
      },
    }
  }
</script>
<style rel="stylesheet/scss" lang="scss" slot-scope="scope">
  .filePreview{
    .imgList{
      .el-dialog__headerbtn{
        font-size:26px;
      }
      .el-dialog__body{
        .allImg{
          width:30%;
          float:left;
          height:600px;
          img{
            width: 150px;
            height: 150px;
            margin: 5px;
            cursor: pointer;
          }
          .changeColor{
            border:4px solid #409eff;
          }
        }
      }
    }
    .originStyle{
      position:absolute;
      left:0;top:0;
      cursor: pointer;
      // transform-origin: 50% 50%;
    }
    #test_3{
      position: relative;
      width: 600px;
      height: 400px;
      overflow: hidden;
      // overflow: scroll;
      & > p{
        position: absolute;
        cursor: move;
        transform-origin: center;
        width: 100%;
        height: 100%;
        padding: 0;
        -webkit-margin-before: 0;
        -webkit-margin-after: 0;
        left: 0;
        top: 0;
        & > img{
          display: inline-block;
          vertical-align: middle;
        }
      }
    }
  }
</style>

本文標(biāo)題:vue項目中實現(xiàn)圖片預(yù)覽的公用組件功能-創(chuàng)新互聯(lián)
網(wǎng)站地址:http://chinadenli.net/article48/cepcep.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供服務(wù)器托管做網(wǎng)站、App設(shè)計面包屑導(dǎo)航、網(wǎng)站排名App開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)
国产精品香蕉免费手机视频| 美日韩一区二区精品系列| 亚洲中文字幕高清乱码毛片| 国产欧美一区二区久久| 爽到高潮嗷嗷叫之在现观看| 欧美亚洲三级视频在线观看| 日韩国产亚洲欧美另类| 人妻少妇久久中文字幕久久| 亚洲专区一区中文字幕| 亚洲精品蜜桃在线观看| 欧美久久一区二区精品| 大尺度激情福利视频在线观看| 欧美熟妇喷浆一区二区| 视频一区二区黄色线观看| 日本精品啪啪一区二区三区| 中文字幕人妻av不卡| 一区二区三区四区亚洲另类| 日韩中文字幕有码午夜美女| 国自产拍偷拍福利精品图片| 日韩一区欧美二区国产| 精品人妻av区波多野结依| 福利在线午夜绝顶三级| 国产精品视频一级香蕉| 激情亚洲一区国产精品久久| 欧美日韩国产综合在线| 午夜免费精品视频在线看| 出差被公高潮久久中文字幕| 最近的中文字幕一区二区| 亚洲黑人精品一区二区欧美| 韩国日本欧美国产三级| 欧美一区二区三区不卡高清视| 在线免费观看一二区视频| 国产精品欧美激情在线播放| 中日韩免费一区二区三区| 日韩欧美综合中文字幕| 午夜成年人黄片免费观看| 亚洲成人精品免费在线观看| 色哟哟哟在线观看视频| 欧美不卡午夜中文字幕| 色偷偷偷拍视频在线观看| 日韩中文无线码在线视频|