国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

vue 下列表側(cè)滑操作實例代碼詳解

2019-11-19 13:25:24
字體:
供稿:網(wǎng)友

由于是上線的項目且已經(jīng)按照數(shù)據(jù)邏輯去渲染了能看懂的看邏輯吧。有點(diǎn)多

效果如圖

<template> <div class="lottery-management-wrapper">  <ul>   <li class="lottery-management-list-wrapper">    <div class="lottery-management-list" v-for="(item , index) in activityListData">     <div class="lottery-management-list-left" @click="detailOfTheActivity(item)">      <dl>       <dd>        <h3>{{item.activityName}}</h3>        <p>活動時間:{{item.beginTime}}至{{item.endTime}}</p>       </dd>       <dt :class="item.status == 3 ? 'txt-red': item.status == 0 ? 'txt-blue' : ''">{{item.status == 3 ? '進(jìn)行中': item.status == 1 ? '已結(jié)束': item.status == 0 ? '待啟用' : ''}}</dt>      </dl>     </div>     <div class="lottery-management-list-right">      <a @click="startActivityAlert = true;currentItem = item;currentIndex = index" v-if="item.status == 0">啟用活動</a>      <span @click="delActivityAlert = true;currentItem = item;currentIndex = index" v-if="item.status == 1">刪除活動</span>      <span @click="stopActivityAlert = true;currentItem = item;currentIndex = index" v-if="item.status == 3 || item.status == 0">結(jié)束活動</span>     </div>    </div>   </li>  </ul>  <div class="add-wrapper" @click="addAwardActivity">   <span class="iconfont icon-tianjia1"></span>   <span class="text">新增活動</span>  </div>  <h4>商戶員工賬號只有活動查看權(quán)限,沒有活動操作權(quán)限</h4>  <transition name="fade">   <div class="mask-wrapper"      v-show="delActivityAlert"      @touchmove.prevent>    <tipsBox title="操作提示"         text1="是否刪除當(dāng)前活動"         button1="取消"         button2="確定"         @confirm="delActivity"         @cancel="delActivityAlert = false">    </tipsBox>   </div>  </transition>  <transition name="fade2">   <div class="mask-wrapper"      v-show="stopActivityAlert"      @touchmove.prevent>    <tipsBox title="操作提示"         text1="是否停止當(dāng)前活動"         button1="取消"         button2="確定"         @confirm="stopActivity"         @cancel="stopActivityAlert = false">    </tipsBox>   </div>  </transition>  <transition name="fade3">   <div class="mask-wrapper"      v-show="startActivityAlert"      @touchmove.prevent>    <tipsBox title="操作提示"         text1="是否啟用當(dāng)前活動"         button1="取消"         button2="確定"         @confirm="startActivity"         @cancel="startActivityAlert = false">    </tipsBox>   </div>  </transition> </div></template><script> import TipsBox from 'components/tipsBox/TipsBox'; import {configs} from 'common/js/config.js'; import {baseAjaxParam, baseAjaxErr} from 'common/js/publicFn.js'; const activityListApi = configs.baseApi + '/marketing/rouletter/activityList'; const overActivityApi = configs.baseApi + '/marketing/rouletter/overActivity'; const delActivityApi = configs.baseApi + '/marketing/rouletter/delActivity'; const startActivityApi = configs.baseApi + '/marketing/rouletter/startActivity'; export default {  data () {   return {    delActivityAlert: false,    stopActivityAlert: false,    startActivityAlert: false,    activityListData: [],    currentItem: null,    currentIndex: null   };  },  methods: {   getActivityList () {    let data = baseAjaxParam(this);    this.$http.jsonp(activityListApi, {params: data}).then((res) => {     if (res.body.code === 0) {      this.activityListData = res.body.data;      this.setSlide();     } else {      baseAjaxErr(this, res);     }    }).catch(function (err) {     alert('服務(wù)器錯誤:' + err.status);     console.log(err);    });   },   setSlide () {    this.$nextTick(() => {     let list = document.getElementsByClassName('lottery-management-list');     if (list) {      if (this.currentIndex !== null) {       list[this.currentIndex].firstElementChild.style.marginLeft = '0';      }      for (let i = 0; i < list.length; i++) {       (() => {        let start = 0;        list[i].ontouchstart = function (e) {         start = e.touches[0].pageX;        };        list[i].ontouchmove = function () {         list[i].ontouchend = function (e) {          let end = e.changedTouches[0].pageX;          let rightWidth = list[i].lastElementChild.offsetWidth;          if (end < start) {           list[i].firstElementChild.style.marginLeft = -rightWidth + 'px';          }          if (end > start) {           list[i].firstElementChild.style.marginLeft = '0';          }         };        };       })(i);      }     }    });   },   // 查看詳情   detailOfTheActivity (item) {    this.$router.push('/detailOfTheActivity?activityId=' + item.activityId);   },   // 刪除活動   delActivity () {    if (this.$store.state.roleId !== '0' && this.$store.state.roleId !== 'ROL197001010800007e4b5ce2fe28308' && this.$store.state.roleId !== 'ROL197001010800004ca4238a0b92382') {     if (!this.$store.state.authList['AUT20180705181442eQbFSPyr7HTOKji']) {      this.$store.commit('popSet', {tips: '無權(quán)限操作', status: 1, time: 1500});      return;     }    }    this.delActivityAlert = false;    let data = baseAjaxParam(this);    data.activityId = this.currentItem.activityId;    this.$http.jsonp(delActivityApi, {params: data}).then((res) => {     if (res.body.code === 0) {      this.$store.commit('popSet', {tips: '刪除動成功', status: 0, time: 1500});      this.getActivityList();     } else {      baseAjaxErr(this, res);     }    }).catch(function (err) {     alert('服務(wù)器錯誤:' + err.status);     console.log(err);    });   },   // 停止活動   stopActivity () {    if (this.$store.state.roleId !== '0' && this.$store.state.roleId !== 'ROL197001010800007e4b5ce2fe28308' && this.$store.state.roleId !== 'ROL197001010800004ca4238a0b92382') {     if (!this.$store.state.authList['AUT20180705181442eQbFSPyr7HTOKji']) {      this.$store.commit('popSet', {tips: '無權(quán)限操作', status: 1, time: 1500});      return;     }    }    this.stopActivityAlert = false;    let data = baseAjaxParam(this);    data.activityId = this.currentItem.activityId;    this.$http.jsonp(overActivityApi, {params: data}).then((res) => {     if (res.body.code === 0) {      this.$store.commit('popSet', {tips: '結(jié)束活動成功', status: 0, time: 1500});      this.getActivityList();     } else {      baseAjaxErr(this, res);     }    }).catch(function (err) {     alert('服務(wù)器錯誤:' + err.status);     console.log(err);    });   },   // 啟用活動   startActivity () {    if (this.$store.state.roleId !== '0' && this.$store.state.roleId !== 'ROL197001010800007e4b5ce2fe28308' && this.$store.state.roleId !== 'ROL197001010800004ca4238a0b92382') {     if (!this.$store.state.authList['AUT20180705181442eQbFSPyr7HTOKji']) {      this.$store.commit('popSet', {tips: '無權(quán)限操作', status: 1, time: 1500});      return;     }    }    this.startActivityAlert = false;    let data = baseAjaxParam(this);    data.activityId = this.currentItem.activityId;    this.$http.jsonp(startActivityApi, {params: data}).then((res) => {     if (res.body.code === 0) {      this.$store.commit('popSet', {tips: '啟用活動成功', status: 0, time: 1500});      this.getActivityList();     } else {      baseAjaxErr(this, res);     }    }).catch(function (err) {     alert('服務(wù)器錯誤:' + err.status);     console.log(err);    });   },   addAwardActivity () {    if (this.$store.state.roleId !== '0' && this.$store.state.roleId !== 'ROL197001010800007e4b5ce2fe28308' && this.$store.state.roleId !== 'ROL197001010800004ca4238a0b92382') {     if (!this.$store.state.authList['AUT20180705181442eQbFSPyr7HTOKji']) {      this.$store.commit('popSet', {tips: '無權(quán)限操作', status: 1, time: 1500});      return;     }    }    this.$router.push('addAwardActivity');   }  },  created () {   this.getActivityList();  },  components: {   TipsBox  } };</script><style lang="stylus" rel="stylesheet/stylus"> @import '../../../common/stylus/mixin' .lottery-management-wrapper {  width :100%;  position :absolute;  background-color :#ECF0F3;  min-height :100%;  .lottery-management-list-wrapper {   width :100%;   overflow hidden;   .lottery-management-list {    background-color :#fff;    margin-bottom cal(10);    overflow :hidden;    width :200%;    .lottery-management-list-left {     width :cal(750);     float :left;     transition: margin-left .4s;     dl {      overflow :hidden;      height :cal(128);      dd {       float left;       width :80%;       h3 {        font-size :cal(28);        color: #4A4A4A;        margin:cal(32) 0 0 cal(50);       }       p {        font-size : cal(18)        color:#4A4A4A;        margin:cal(16) 0 0 cal(50);       }      }      dt {       float :left;       width :20%;       color: #9B9B9B;       font-size :cal(26);       line-height :cal(128);      }      .txt-red {       color:#D0021B;      }      .txt-blue {       color:#4A90E2;      }     }    }    .lottery-management-list-right {     float :left;     overflow: hidden;     font-size :cal(24);     line-height :cal(128);     color :#ffffff;     text-align :center;     a {      float: left;      background-color :#70AEF6;      width :cal(190);      color :#ffffff;     }     span {      float: left;      width :cal(128);      background-color :#FE3A32;     }    }   }  }  .add-wrapper {   height: cal(100)   box-sizing: border-box   padding-top: cal(24)   margin-bottom: cal(72)   background: #fff   text-align: center   font-size: 0   margin-top :cal(20)   .icon-tianjia1 {    color: #fe6f3f    font-size: cal(54)    vertical-align: top    margin-right: cal(12)   }   .text {    line-height: cal(60)    vertical-align: top    color: #fe6f3f    font-size: cal(30)   }  }  h4 {   color: #D0021B;   font-size :cal(24);   text-align: center;   margin-bottom :cal(100);  }  .mask-wrapper {   position: fixed   left: 0   right: 0   bottom: 0   top: 0   background: rgba(0,0,0,.5)   &.fade-enter-active, &.fade-leave-active {    transition: all 0.2s linear   }   &.fade-enter,&.fade-leave-active{    opacity: 0   }   &.fade2-enter-active, &.fade2-leave-active {    transition: all 0.2s linear   }   &.fade2-enter,&.fade2-leave-active{    opacity: 0   }   &.fade3-enter-active, &.fade3-leave-active {    transition: all 0.2s linear   }   &.fade3-enter,&.fade3-leave-active{    opacity: 0   }  } }</style>

總結(jié)

以上所述是小編給大家介紹的vue 下列表側(cè)滑操作實例代碼詳解,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對武林網(wǎng)網(wǎng)站的支持!

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 浪卡子县| 绥宁县| 阿尔山市| 宜州市| 张家口市| 宣威市| 泸水县| 繁昌县| 内乡县| 邵东县| 定安县| 新田县| 铜鼓县| 枞阳县| 晋城| 嘉黎县| 克山县| 武功县| 安西县| 梁平县| 永康市| 靖边县| 临海市| 抚州市| 卢氏县| 马山县| 寿宁县| 黄大仙区| 澄城县| 子长县| 平泉县| 山东省| 广丰县| 尼木县| 琼结县| 镶黄旗| 峡江县| 义乌市| 德令哈市| 南京市| 青河县|