zoukankan      html  css  js  c++  java
  • vue中使用transition做动画(在方法中改变元素样式的时候,外边需要包裹个定时器)

    <template>
      <div class="casehistory">
        <jzrlist :isup="isup" :lastOrder="lastOrder" :djs="djs" @getjzrinfo="getjzrinfo"></jzrlist>
        <div class="classCaseHsitoryBox" :style="{height: 'calc(100vh - ' + chagePatient + ')'}">
          <div class="contentBox">
            <!-- 无病历信息 -->
            <div style="display:none" class="noMsg">
              <img src="../../assets/img/no_case.png" alt />
              <p>您暂无病历信息~</p>
            </div>
            <!-- 有就诊人且有就诊人病历信息 -->
            <div class="havePatient">
              <div class="time">2019-05-01 星期三</div>
              <!-- 病历信息(检查单) -->
              <div class="reportBox reportCensor">
                <h4>病历信息(检查单)</h4>
                <ul>
                  <li>
                    <img
                      src="https://file.syrjia.com/uploadFiles/uploadImgs/20200528/20200528120247.png"
                      alt
                    />
                  </li>
                  <li>
                    <img
                      src="https://file.syrjia.com/uploadFiles/uploadImgs/20200528/20200528120247.png"
                      alt
                    />
                  </li>
                  <li>
                    <img
                      src="https://file.syrjia.com/uploadFiles/uploadImgs/20200528/20200528120247.png"
                      alt
                    />
                  </li>
                  <li>
                    <img
                      src="https://file.syrjia.com/uploadFiles/uploadImgs/20200528/20200528120247.png"
                      alt
                    />
                  </li>
                </ul>
              </div>
              <!-- 病历信息(处方单) -->
              <div class="reportBox reportPrescription">
                <h4>病历信息(处方)</h4>
               
                  <ul>
                    <img
                      class="msgMor"
                      @click=" type ? type = false : type =true"
                      src="../../assets/img/msgMore.png"
                      alt
                    />
                     <transition-group name="slide">
                      <!-- type代表数据的长度如果是3为真,为6(需要改为数据的.length)为假  -->
                    <li class="more" v-for="(n,index) in 6" v-if="index < (!type ? 3 : 6)" :key="index">
                      <img
                        src="https://file.syrjia.com/uploadFiles/uploadImgs/20200528/20200528120247.png"
                        alt
                      />
                    </li>
                     </transition-group>
                  </ul>
              
              </div>
              <div class="remark">
                <h4>备注</h4>
                <p>备注备注备注备注备注备注备注备注备注备注备注备注备注备注备注备注备注备注备注备注备注备注备注备注备注备注备注备注备注备注备注</p>
              </div>
              <div class="time">2019-05-01 星期三</div>
              <div class="doctor">
                <div class="docPro">
                  <img
                    src="https://file.syrjia.com/uploadFiles/uploadImgs/20200528/20200528120247.png"
                    alt
                  />
                  <h5>张萌医生</h5>
                </div>
                <h4>诊断:腰间盘突出</h4>
                <p>点此查看为您开具的调理方案>></p>
              </div>
            </div>
            <!-- 无就诊人 ——创建就诊人-->
            <div style="display:none" class="createPaitent">
              <p>您还没有创建就诊人</p>
              <span>点击创建</span>
            </div>
            <!-- 无就诊人——填写就诊人信息 -->
            <div style="display:none" class="fillInMsg">
              <div class="tip">请添加就诊人,和我建立联系</div>
              <peopleInfo :isDescript="true" ref="peopleInfo" @getData="getData"></peopleInfo>
            </div>
    
            <!-- 更新病历信息按钮  -->
            <footer>
              <div class="updateMsg">更新病历信息</div>
              <div class="createSubmit">提交</div>
            </footer>
          </div>
        </div>
      </div>
    </template>
    
    <script>
    import { Toast } from "vant";
    export default {
      name: "casehistory",
      data() {
        return {
          chagePatient: "1.9rem",
          isup: false,
          lastOrder: {},
          djs: "",
          jzrinfo: "",
          type: false
        };
      },
      mounted() {},
      methods: {
        getjzrinfo(data) {
          this.jzrinfo = data;
        },
        getData(data) {
          //获取创建就诊人时的信息
          console.log(data);
          this.form = data;
        }
      },
      components: {
        jzrlist: resolve => require(["@/components/doctor/jzrList"], resolve),
        peopleInfo: resolve =>
          require(["@/components/people/people_info"], resolve),
        [Toast.name]: Toast
      }
    };
    </script>
    
    <style rel='stylesheet/scss' lang='scss' scoped>
    .slide-enter-active{
     transition:all .5s linear;
     }
     .slide-leave-active{
      transition:all .5s linear;
     }
     .slide-enter{
       transform: translateY(-10%);
      // opacity: 0;
     }
     .slide-leave-to{
      // opacity: 0;
      transform: translateY(-10%);
     }
    
    img {
      max- 100%;
    }
    .casehistory {
      background: #fff;
    }
    .classCaseHsitoryBox {
      margin-top: 0.9rem;
      .contentBox {
        .havePatient {
          .time {
            background-color: #f5f5f5;
            height: 0.7rem;
            line-height: 0.7rem;
            padding: 0 0.3rem;
            font-size: 0.26rem;
          }
          .reportBox {
            padding: 0 0.3rem;
            h4 {
              font-size: 0.28rem;
              padding: 0.38rem 0;
            }
            ul {
              overflow: hidden;
              border-bottom: 1px solid #eeeeee;
              padding-bottom: 0.1rem;
              position: relative;
              .msgMor {
                 0.41rem;
                position: absolute;
                right: 0.33rem;
                top: 0.65rem;
              }
              li {
                 2.1rem;
                height: 2.1rem;
                border: 1px solid #e6e7ec;
                box-shadow: 0px 0px 0.1rem 0px rgba(182, 168, 167, 0.23);
                border-radius: 0.1rem;
                overflow: hidden;
                margin: 0 0.29rem 0.29rem 0;
                float: left;
                &:nth-of-type(3n) {
                  margin-right: 0;
                }
                &.more {
                   1.7rem;
                  height: 1.7rem;
                }
              }
            }
          }
          .remark {
            padding: 0 0.3rem;
            h4 {
              font-size: 0.28rem;
              margin: 0.38rem 0 0.25rem 0;
            }
            p {
              line-height: 0.45rem;
              font-size: 0.3rem;
              margin-bottom: 0.45rem;
            }
          }
          .doctor {
            padding: 0.4rem 0.3rem;
            margin-bottom: 1rem;
            font-size: 0.3rem;
            .docPro {
              display: flex;
              align-items: center;
              img {
                 0.64rem;
                height: 0.64rem;
                border-radius: 50%;
              }
              h5 {
                margin-left: 0.26rem;
              }
            }
            h4 {
              margin: 0.28rem 0;
            }
            p {
              color: #8f5f3b;
            }
          }
        }
        // 无病历信息
        .noMsg {
          text-align: center;
          img {
            margin: 2.88rem auto 0;
            font-size: 0.32rem;
            color: #666666;
             2.64rem;
            overflow: hidden;
            text-align: center;
          }
          p {
            text-align: center;
            font-size: 0.28rem;
            color: #666666;
            margin-top: 0.6rem;
          }
        }
        //无就诊人 ——创建
        .createPaitent {
          padding: 0 0.3rem;
          height: 1rem;
          font-size: 0.3rem;
          display: flex;
          justify-content: space-between;
          align-items: center;
          border-top: 1px solid #eeeeee;
          span {
             1.28rem;
            height: 0.5rem;
            border-radius: 0.25rem;
            background-color: #da0428;
            font-size: 0.24rem;
            color: #fff;
            text-align: center;
            line-height: 0.5rem;
          }
        }
        //无就诊人——填写信息
        .fillInMsg {
          .tip {
            height: 0.9rem;
            background-color: #f3f3f3;
            font-size: 0.26rem;
            color: #666;
            padding: 0 0.3rem;
            line-height: 0.9rem;
          }
        }
      }
      footer {
        .createSubmit,
        .updateMsg {
          height: 1rem;
          color: #fff;
          text-align: center;
          line-height: 1rem;
          font-size: 0.32rem;
          position: fixed;
          bottom: 0;
           100%;
        }
        .updateMsg {
          background-color: #da0428;
        }
        .createSubmit {
          background-color: #e4e4e4;
        }
      }
    }
    </style>
    

      

  • 相关阅读:
    [bzoj1008](HNOI2008)越狱(矩阵快速幂加速递推)
    [BZOJ1007](HNOI2008)水平可见直线(半平面交习题)
    [bzoj1006](HNOI2008)神奇的国度(弦图最小染色)【太难不会】
    [BZOJ1005](HNOI 2008)明明的烦恼
    unity3d环境安装指南: Unity 4.5.5 + Visual Studio 2010
    再议Unity 3D
    Android系统简介(中):系统架构
    Android系统简介(上):历史渊源
    Spread 之自定义对角线cellType源码: DiagonalCellType
    通信行业OSS支撑系统软件研发思考
  • 原文地址:https://www.cnblogs.com/fkcqwq/p/12983138.html
Copyright © 2011-2022 走看看