You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
180 lines
5.1 KiB
Plaintext
180 lines
5.1 KiB
Plaintext
11 months ago
|
<template>
|
||
|
<div id="Runing">
|
||
|
<el-table ref="runTable" :data="tableData" height="80vh" row-key="WorkID" default-expand-all border
|
||
|
style="width: 100%; margin-bottom: 20px" :row-class-name="tableRowClassName"
|
||
|
:tree-props="{ children: 'children', hasChildren: 'hasChildren' }">
|
||
|
<el-table-column label="#" width="50" fixed type="index">
|
||
|
</el-table-column>
|
||
|
<el-table-column prop="Title" label="标题" fixed width="350">
|
||
|
<template slot-scope="scope">
|
||
|
<span v-if="scope.row.type != null">
|
||
|
<i :class="
|
||
|
scope.row.IsRead === 1
|
||
|
? 'fas fa-envelope-open iconColor-w'
|
||
|
: 'fas fa-envelope iconColor'
|
||
|
">
|
||
|
</i>
|
||
|
<span :class="scope.row.IsRead === 1 ? 'pl-5' : 'cellColor pl-5'">{{ scope.row.Title }}</span>
|
||
|
</span>
|
||
|
<span v-else><el-link :underline="false" type="primary" @click="sikpMyflow(scope.row)">
|
||
|
<i :class="
|
||
|
scope.row.IsRead === 1
|
||
|
? 'fas fa-envelope-open iconColor-w'
|
||
|
: 'fas fa-envelope iconColor'
|
||
|
">
|
||
|
</i>
|
||
|
<span :class="scope.row.IsRead === 1 ? 'pl-5' : 'cellColor pl-5'">{{ scope.row.Title }}</span>
|
||
|
</el-link>
|
||
|
</span>
|
||
|
</template>
|
||
|
</el-table-column>
|
||
|
<el-table-column prop="StarterName" label="发起人/部门" width="140">
|
||
|
<template slot-scope="scope">
|
||
|
<span>{{ scope.row.StarterName }};{{ scope.row.DeptName }}</span>
|
||
|
</template>
|
||
|
</el-table-column>
|
||
|
<el-table-column prop="NodeName" label="节点/流程" width="150">
|
||
|
</el-table-column>
|
||
|
<el-table-column prop="RDT" label="到达时间" width="160">
|
||
|
</el-table-column>
|
||
|
<el-table-column prop="TodoEmps" label="当前处理人"> </el-table-column>
|
||
|
<!--<el-table-column label="操作" width="150">
|
||
|
<template slot-scope="scope">
|
||
|
<el-button @click="handleClick(scope.row)" type="text" size="small">轨迹</el-button>
|
||
|
<el-button type="text" size="small">撤销</el-button>
|
||
|
<el-button type="text" size="small">催办</el-button>
|
||
|
</template>
|
||
|
</el-table-column>-->
|
||
|
</el-table>
|
||
|
|
||
|
<el-pagination background @size-change="handleSizeChange" @current-change="handleCurrentChange"
|
||
|
:current-page="currentPage" :page-sizes="[5, 10, 15, 20]" :page-size="pageSize"
|
||
|
layout="total,sizes, prev, pager, next" :total="total" v-show="total > 0"></el-pagination>
|
||
|
</div>
|
||
|
</template>
|
||
|
|
||
|
<script>
|
||
|
import { openMyView } from "./api/Dev2Interface";
|
||
|
|
||
|
export default {
|
||
|
name: "Runing",
|
||
|
components: {},
|
||
|
data() {
|
||
|
return {
|
||
|
title: "在途",
|
||
|
data: {},
|
||
|
tableData: [],
|
||
|
total: 0, // 总数
|
||
|
currentPage: 1, // 当前页
|
||
|
pageSize: 15, //一页显示的行数
|
||
|
};
|
||
|
},
|
||
|
|
||
|
beforeCreate() { },
|
||
|
created() {
|
||
|
this.loadData();
|
||
|
},
|
||
|
methods: {
|
||
|
tableRowClassName({ row }) {
|
||
|
if (row.type === null) return "";
|
||
|
|
||
|
if (row.type === 1) {
|
||
|
return "success-row";
|
||
|
}
|
||
|
return "";
|
||
|
},
|
||
|
// 获取数据
|
||
|
loadData() {
|
||
|
let handler = new this.HttpHandler("BP.WF.HttpHandler.WF");
|
||
|
handler.AddPara("Domain", process.env.VUE_APP_DOMAIN);
|
||
|
let data = handler.DoMethodReturnString("Runing_Init");
|
||
|
if (data.indexOf("err@") != -1) {
|
||
|
this.$message.error(data);
|
||
|
console.log(data);
|
||
|
return;
|
||
|
}
|
||
|
this.data = JSON.parse(data);
|
||
|
this.total = this.data.length;
|
||
|
// eslint-disable-next-line no-mixed-spaces-and-tabs
|
||
|
this.filterData();
|
||
|
this.paging();
|
||
|
},
|
||
|
|
||
|
// 分页
|
||
|
paging() {
|
||
|
let start = (this.currentPage - 1) * this.pageSize;
|
||
|
let end = this.currentPage * this.pageSize;
|
||
|
let arr = this.data.slice(start, end);
|
||
|
this.pageData(arr);
|
||
|
},
|
||
|
|
||
|
// 过滤数据
|
||
|
filterData() {
|
||
|
this.data.forEach((item) => {
|
||
|
const ff = item.TodoEmps;
|
||
|
const arrays = ff.split(";");
|
||
|
let nameArry = [];
|
||
|
for (let i = 0; i < arrays.length; i++) {
|
||
|
nameArry.push(arrays[i].split(",")[1]);
|
||
|
}
|
||
|
item.TodoEmps = nameArry.join(";")
|
||
|
});
|
||
|
},
|
||
|
// 过滤数据
|
||
|
pageData(data) {
|
||
|
this.tableData = [];
|
||
|
data.forEach((item) => {
|
||
|
this.tableData.push(item);
|
||
|
});
|
||
|
},
|
||
|
// 查询
|
||
|
onSubmit() { },
|
||
|
handleSizeChange(val) {
|
||
|
this.pageSize = val;
|
||
|
this.currentPage = 1;
|
||
|
this.paging();
|
||
|
console.log(`每页 ${val} 条`);
|
||
|
},
|
||
|
handleCurrentChange(val) {
|
||
|
this.currentPage = val;
|
||
|
this.paging();
|
||
|
console.log(`当前页: ${val}`);
|
||
|
},
|
||
|
|
||
|
//跳转到jflow页面
|
||
|
sikpMyflow(work) {
|
||
|
let params = {};
|
||
|
params.WorkID = work.WorkID;
|
||
|
params.FK_Flow = work.FK_Flow;
|
||
|
params.FK_Node = work.FK_Node;
|
||
|
params.FID = work.FID;
|
||
|
openMyView(params, this);
|
||
|
},
|
||
|
},
|
||
|
|
||
|
//监听
|
||
|
computed: {},
|
||
|
|
||
|
//监听后执行动作
|
||
|
watch: {},
|
||
|
};
|
||
|
</script>
|
||
|
|
||
|
<style>
|
||
|
|
||
|
.el-table__fixed-body-wrapper {
|
||
|
top: 40px !important;
|
||
|
}
|
||
|
|
||
|
.cellColor {
|
||
|
color: #545454;
|
||
|
}
|
||
|
|
||
|
.iconColor {
|
||
|
color: #f56c6c;
|
||
|
}
|
||
|
|
||
|
.iconColor-w {
|
||
|
color: #909399;
|
||
|
}
|
||
|
</style>
|