Vue2_时间线-流程审批

效果图: 

 实现代码:

1、基于 element-ui 中,时间线样式进行改造

2、根据接口返回值进行条件渲染

        <el-tab-pane label="流转记录" name="second">
          <!-- 时间线 -->
          <div class="block" style="padding-top: 40px; padding-left: 200px">
            <el-timeline>
              <el-timeline-item v-for="(activity, index) in activities" :key="index" :color="colors(activity.nodeName)">
                <!-- 方案一 -->
                <el-card v-if="activity.nodeName != '提交申请'" style="width: 85%" shadow="hover">
                  <div class="content">
                    <span><b>办理人:</b>{{ activity.handlerName }}</span>
                    <span><b>流程:</b>{{ activity.nodeName }}</span>
                    <span><b>办理时间:</b>{{ activity.auditTime }}</span>
                    <span><b>耗时:</b> {{ activity.elapsedTime }} </span>
                  </div>
                  <hr color="#eee" />
                  <div style="margin-top: 8px">
                    状态:<el-button type="text" size="small" :style="fontstyle(activity.agree)" class="status">{{
                      activity.agree == 1 ? '通过' : '拒绝'
                    }}</el-button>
                    <div style="margin-bottom: 8px">
                      审批意见:<span>{{ activity.auditInfo }}</span>
                    </div>
                  </div>
                </el-card>
                <!-- 方案二 -->
                <el-card v-else style="width: 85%" shadow="hover">
                  <div class="content">
                    <span><b>申请人:</b>{{ activity.handlerName }}</span>
                    <span><b>申请流程:</b>{{ activity.nodeName }}</span>
                    <span><b>提交时间:</b>{{ activity.auditTime }}</span>
                  </div>
                  <hr color="#eee" />
                  <div style="margin-top: 8px">
                    状态:<el-button type="text" size="small" :style="fontstyle(activity.agree)" class="status">{{
                      activity.agree == 1 ? '通过' : '拒绝'
                    }}</el-button>
                  </div>
                </el-card>
              </el-timeline-item>
            </el-timeline>
          </div>
        </el-tab-pane>
props: {
    // 接口需求参数
    detail: {
      type: Object,
      default: () => {
        return {};
      },
    },
 },
data() {
   return {
     activities: [],
  }
},
computed: {
    // 监听agree颜色变化
    fontstyle() {
      return (icontent) => {
        if (icontent == '1') {
          return { color: 'green' };
        } else {
          return { color: 'red' };
        }
      };
    },
  },
created() {
   this.getRecordApi();
},
methods:{
    // 流转记录圆点颜色
    colors(index) {
      if (index != null) {
        return '#2a9c4a';
      }
    },
    // 流转记录接口
    async getRecordApi() {
      if (get(this.detail, 'id', false)) {
        const res = await API.flowAudit.orderId({
          orderId: this.detail.orderId,
        });
        this.activities = res.datas;
        // 数组倒序
        let activities = this.activities.reverse();

        if (this.activities.length > 0) {
          for (let i = 0; i < this.activities.length; i++) {
            // 时间差计算
            console.log(this.activities[i].auditTime);
            console.log(
              (this.activities[i].elapsedTime = timediff(this.activities[i].auditTime, this.activities[0].auditTime))
            );
          }
        }

      }
    },
}

3、CSS样式 

<style scoped lang="scss" rel="stylesheet/scss">
.content {
  display: flex;
  justify-content: space-between;
  padding: 15px 0px;
  span {
    flex: 1;
  }
}
</style>

  • 3
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
工作流是指根据规定的流程和规则,通过各个环节的任务处理和信息传递,最终完成一个工作任务的整个过程。而审批历史页面则是工作流中的一个重要环节,用于记录和展示工作任务的审批历史信息。 jQuery是一种广泛应用于网页开发中的JavaScript库,它提供了丰富的功能和简洁的语法,能够简化页面开发和操作DOM的繁琐过程。对于审批历史页面而言,可以使用jQuery插件来实现一些复杂的交互效果或者是对历史记录进行处理和展示。 时间轴是一种常见的展示方式,可以将事件按照时间先后顺序排列,并通过时间轴上的节点来表示各个事件的发生时间。在审批历史页面中使用时间轴可以使历史记录更加直观和易读。使用jQuery插件可以便捷地实现时间轴的创建、事件节点的添加和交互效果的定制。 具体而言,实现工作流审批历史页面的jQuery插件时间轴可以按以下步骤进行: 1. 创建一个容器,用于承载时间轴和历史记录信息。 2. 使用jQuery插件创建一个时间组件,并设置样式、布局和交互效果。 3. 从后端获取审批历史数据,并按照时间顺序排序。 4. 遍历历史数据,根据每个审批记录的时间,在时间轴上添加相应的节点,并将节点的详细信息显示在节点上或者通过弹窗方式展示。 5. 添加事件监听,当用户点击节点时,展示该节点对应的详细信息。 6. 可根据需求添加其他交互效果,如动画、时间轴的滚动等。 7. 最后,将整个时间轴插件嵌入到工作流审批历史页面中,以展示审批历史信息。 通过使用jQuery插件实现时间轴功能,可以方便地展示工作流审批历史页面,使其更加直观、易读和美观,提升用户体验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值