copy.vue 5.44 KB
Newer Older
lanbaoming's avatar
lanbaoming committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
<template>
  <div class="app-container">
    <!-- 搜索工作栏 -->
    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
      <el-form-item :label="$t('流程编号')" prop="instanceId">
        <el-input v-model="queryParams.instanceId" :placeholder="$t('请输入流程编号')" clearable/>
      </el-form-item>
      <el-form-item :label="$t('流程名称')" prop="processName">
        <el-input v-model="queryParams.processName" :placeholder="$t('请输入任务名称')" clearable/>
      </el-form-item>
      <el-form-item :label="$t('流程分类')" prop="categoryId">
        <el-select v-model="queryParams.categoryId" :placeholder="$t('请选择流程分类')" clearable>
          <el-option v-for="dict in this.getDictDatas(DICT_TYPE.BPM_MODEL_CATEGORY)"
                     :key="dict.value" :label="$l(dict, 'label')" :value="dict.value"/>
        </el-select>
      </el-form-item>
      <el-form-item :label="$t('创建时间')">
        <el-date-picker v-model="dateRangeCreateTime" style="width: 240px" value-format="yyyy-MM-dd"
                        type="daterange" range-separator="-" :start-placeholder="$t('开始日期')" :end-placeholder="$t('结束日期')"/>
      </el-form-item>
      <el-form-item :label="$t('业务编号')" prop="businessNo">
        <el-input v-model="queryParams.businessNo" :placeholder="$t('请输入业务编号')" clearable
                  @keyup.enter.native="handleQuery"/>
      </el-form-item>
      <el-form-item>
        <el-button type="primary" icon="el-icon-search" @click="handleQuery">{{$t('搜索')}}</el-button>
        <el-button icon="el-icon-refresh" @click="resetQuery">{{$t('重置')}}</el-button>
      </el-form-item>
    </el-form>

    <!-- 列表 -->
    <el-table v-loading="loading" :data="list">
      <el-table-column :label="$t('流程编号')" align="center" prop="instanceId" width="320"/>
      <el-table-column :label="$t('业务编号')" align="center" prop="businessNo" />
      <el-table-column :label="$t('流程名称')" align="center" prop="processName"/>
      <!-- <el-table-column :label="$t('业务编号')" align="center" prop="processName"/> -->
      <el-table-column :label="$t('流程分类')" align="center" prop="categoryId">
        <template slot-scope="scope">
          <dict-tag :type="DICT_TYPE.BPM_MODEL_CATEGORY" :value="scope.row.categoryId" />
        </template>
      </el-table-column>
      <!-- <el-table-column :label="$t('当前审批节点')" align="center" prop="originatorName"/>
      <el-table-column :label="$t('状态')" align="center" prop="originatorName"/>
      <el-table-column :label="$t('结果')" align="center" prop="originatorName"/> -->

      <!-- <el-table-column :label="$t('流程发起人')" align="center" prop="originatorName"/> -->
      <el-table-column :label="$t('提交时间')" align="center" prop="createTime" width="180">
        <template slot-scope="scope">
          <span>{{ parseTime(scope.row.createTime) }}</span>
        </template>
      </el-table-column>
      <!-- <el-table-column :label="$t('结束时间')" align="center" prop="createTime" width="180">
        <template slot-scope="scope">
          <span>{{ parseTime(scope.row.createTime) }}</span>
        </template>
      </el-table-column> -->
      <el-table-column :label="$t('操作')" align="center" fixed="right" class-name="small-padding fixed-width">
        <template slot-scope="scope">
          <el-button size="mini" type="text" icon="el-icon-edit" @click="handleAudit(scope.row)"
                     v-hasPermi="['bpm:task:query']">{{$t('详情')}}
          </el-button>
        </template>
      </el-table-column>
    </el-table>
    <!-- 分页组件 -->
    <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNo" :limit.sync="queryParams.pageSize"
                @pagination="getList"/>

  </div>
</template>

<script>
import {getCopyTaskPage} from '@/api/bpm/task'

export default {
76 77
  //lanbm 2024-05-08 添加查询条件不清空优化
  name: "BpmTaskCopy",
lanbaoming's avatar
lanbaoming committed
78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103
  components: {},
  data() {
    return {
      // 遮罩层
      loading: true,
      // 显示搜索条件
      showSearch: true,
      // 总条数
      total: 0,
      // 待办任务列表
      list: [],
      // 查询参数
      dateRangeCreateTime: [],
      queryParams: {
        pageNo: 1,
        pageSize: 10,
        instanceId: null,
        categoryId: null,
        processName: null

      },
    };
  },
  created() {
    this.getList();
  },
104 105 106 107 108 109 110 111
  watch: {
    //lanbm 2024-05-08 添加页面再次进入刷新列表优化
    $route(to) {
      if (this.$route.path == "/task/copy") {
        this.getList();
      }
    },
  },
lanbaoming's avatar
lanbaoming committed
112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141
  methods: {
    /** 查询列表 */
    getList() {
      this.loading = true;
      // 处理查询参数
      let params = {...this.queryParams};
      this.addBeginAndEndTime(params, this.dateRangeCreateTime, 'createTime');
      getCopyTaskPage(params).then(response => {
        this.list = response.data.list;
        this.total = response.data.total;
        this.loading = false;
      });
    },
    /** 搜索按钮操作 */
    handleQuery() {
      this.queryParams.pageNo = 1;
      this.getList();
    },
    /** 重置按钮操作 */
    resetQuery() {
      this.dateRangeCreateTime = [];
      this.resetForm("queryForm");
      this.handleQuery();
    },
    handleAudit(row) {
      this.$router.push({path: "/bpm/process-instance/detail", query: {id: row.instanceId}});
    },
  }
};
</script>