123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346 |
- <template>
- <el-card style="min-height: 464px;overflow: hidden;">
- <div slot="header" class="clearfix">
- <img src="../../assets/image/sq.png" style="display: block;float: left;margin: 1px 5px 0 0;" height="15" width="17"/>
- <span>我的工作</span>
- <el-button style="float: right; padding: 3px 0;color: #000000;" type="text" @click="more">更多</el-button>
- </div>
- <el-tabs v-model="activeName" @tab-click="handleClick">
- <el-tab-pane label="待办工作" name="first">
- <el-table :data="toListItem" style="width: 100%;" size="mini" :header-cell-style="[]" empty-text="暂无数据">
- <template slot="empty">
- <div>
- <div>
- <svg width="64" height="41" viewBox="0 0 64 41" xmlns="http://www.w3.org/2000/svg"><g transform="translate(0 1)" fill="none" fillRule="evenodd"><ellipse fill="#F5F5F5" cx="32" cy="33" rx="32" ry="7"></ellipse><g fillRule="nonzero" stroke="#D9D9D9"><path d="M55 12.76L44.854 1.258C44.367.474 43.656 0 42.907 0H21.093c-.749 0-1.46.474-1.947 1.257L9 12.761V22h46v-9.24z"></path><path d="M41.613 15.931c0-1.605.994-2.93 2.227-2.931H55v18.137C55 33.26 53.68 35 52.05 35h-40.1C10.32 35 9 33.259 9 31.137V13h11.16c1.233 0 2.227 1.323 2.227 2.928v.022c0 1.605 1.005 2.901 2.237 2.901h14.752c1.232 0 2.237-1.308 2.237-2.913v-.007z" fill="#FAFAFA"></path></g></g></svg>
- </div>
- <p>暂无数据</p>
- </div>
- </template>
- <el-table-column prop="taskName" label="流程名称" width="180" align="left">
- <template slot-scope="scope">
- <el-button type="text" style="color: #606266"><span>{{scope.row.taskName}}</span></el-button>
- </template>
- </el-table-column>
- <el-table-column prop="fwtitle" label="标题" align="left" >
- <template slot-scope="scope">
- <el-button type="text" @click="openactform(scope.row.processInstanceId,scope.row.businessKey,scope.row.name,scope.row.title,scope.row.taskName)" style="color: #606266">{{scope.row.title}}</el-button>
- </template>
- </el-table-column>
- <el-table-column prop="name" label="当前处理" width="180" align="center">
- <template slot-scope="scope">
- <el-button type="text" style="color: #606266"><span>{{scope.row.name}}</span></el-button>
- </template>
- </el-table-column>
- <el-table-column prop="createTime" label="到达时间" width="180" align="center">
- <template slot-scope="scope">
- <el-button type="text" style="color: #606266"><span>{{scope.row.createTime | timefilters}}</span></el-button>
- </template>
- </el-table-column>
- </el-table>
- </el-tab-pane>
- <el-tab-pane label="已办工作" name="second">
- <el-table class="body" size="mini" :data="doneList1" :header-cell-style="{}">
- <!-- <el-table-column type="index" label="序号" width="50" align="center"></el-table-column>-->
- <el-table-column prop="taskName" label="流程名称" width="180" align="left">
- <template slot-scope="scope">
- <el-button type="text" style="color: #606266"><span>{{scope.row.taskName}}</span></el-button>
- </template>
- </el-table-column>
- <el-table-column prop="fwtitle" label="标题" align="left">
- <template slot-scope="scope">
- <el-button type="text" @click="detern1(scope.row)" style="color: #606266">{{scope.row.title}}</el-button>
- </template>
- </el-table-column>
- <el-table-column prop="name" label="当前处理" width="180" align="center">
- <template slot-scope="scope">
- <el-button type="text" style="color: #606266"><span>{{scope.row.name}}</span></el-button>
- </template>
- </el-table-column>
- <el-table-column prop="createTime" label="办理时间" width="180" align="center">
- <template slot-scope="scope">
- <el-button type="text" style="color: #606266"><span>{{scope.row.createTime | timefilters}}</span></el-button>
- </template>
- </el-table-column>
- </el-table>
- </el-tab-pane>
- </el-tabs>
- <el-dialog id="actform" title="待办工作详情" :visible.sync="actOpen" :before-close="cancel" append-to-body width="80%"
- top="10" height="90%">
- <!-- 动态引入组件-->
- <component :is="actForm" :data="details":actOpen="actOpen" @getList="getList" ></component>
- <Option :optiontitle="optiontitle" :optionactkey="optionactkey" :optionid="optionid" :optionName="optionName" v-show="optiontrue"></Option>
- </el-dialog>
- <el-dialog id="actform1" title="已办工作详情" :visible.sync="actOpen1" :before-close="cancel" append-to-body width="80%" top="10" height="90%">
- <!-- 动态引入组件-->
- <component :is="actForm1" :data="details1":actOpen="actOpen1" @getList="getList1" ></component>
- </el-dialog>
- </el-card>
- </template>
- <script>
- import { havedInfo } from "@/api/activiti/form/fw";
- import moment from "moment";
- import {toDoItemListInfo} from "@/api/activiti/form/fw";
- import {getCurrentFlowFormKey,getStartFormKey } from '@/api/activiti/process/startprocess'
- import Option from "@/components/files/option";
- export default {
- components: {Option},
- filters: {
- timefilters(val) {
- if (val == null || val == "") {
- return "暂无时间";
- } else {
- let d = new Date(val); //val 为表格内取到的后台时间
- let month =
- d.getMonth() + 1 < 10 ? "0" + (d.getMonth() + 1) : d.getMonth() + 1;
- let day = d.getDate() < 10 ? "0" + d.getDate() : d.getDate();
- let hours = d.getHours() < 10 ? "0" + d.getHours() : d.getHours();
- let min = d.getMinutes() < 10 ? "0" + d.getMinutes() : d.getMinutes();
- let sec = d.getSeconds() < 10 ? "0" + d.getSeconds() : d.getSeconds();
- let times=d.getFullYear() + '-' + month + '-' + day + ' ' + hours + ':' + min + ':' + sec;
- return moment(val).format("YYYY-MM-DD HH:mm")
- }
- }
- },
- data() {
- return {
- dialogVisible:false,
- tabPosition:'left',
- optiontrue:false,
- optiontitle:'',
- optionactkey:'',
- optionName:'',
- optionid:'',
- actForm: null,
- actForm1: null,
- actOpen:false,
- actOpen1:false,
- //传入到下一页面的值
- details:{
- getactkey: '',
- formId:'',
- flg:'1'},
- details1:{getactkey: '',
- formId:'',
- flg:'2'},
- activeName: 'first',
- doneList1: [],
- toListItem: [],
- //参数
- raddarParams: {
- pageNum: 1,
- pageSize: 5,
- // orderByColumn: "createTime",
- // isAsc:"desc",//排序方式
- },
- queryParams: {
- pageNum: 1,
- pageSize: 5,
- // executionId:undefined,
- // processInstanceId:undefined,
- // createTime:undefined,
- // formKey:undefined,
- // name:undefined,
- // businessKey:undefined,
- // taskName:undefined,
- // id:undefined,
- // title:undefined,
- // processDfinitionId:undefined,
- // assign:undefined,
- },
- //参数
- query: {
- pageNum: 1,
- pageSize: 4,
- actkey:undefined,
- create_time:undefined,
- avtive_send:undefined,
- fwtitle:undefined,
- apply_user:undefined,
- title:undefined,
- content:undefined,
- copy_to:undefined,
- applyUser:undefined,
- update_time:undefined,
- security_class:undefined,
- businessKey:undefined,
- ponderance:undefined,
- taskName:undefined,
- dispose:undefined,
- id:undefined,
- fwdept:undefined,
- update_by:undefined,
- accessory:undefined,
- taskid:undefined,
- definitionId:undefined,
- },
- }
- },
- created() {
- this.getList1();
- this.getList();
- this.cancel();
- },
- methods: {
- // 取消按钮
- cancel() {
- this.actOpen=false;
- this.actOpen1 = false;
- },
- reset() {
- this.form = {
- mailGuid: undefined,
- senderName: undefined,
- senderAccount: undefined,
- receiverName: undefined,
- receiverAccount: undefined,
- mailTheme: undefined,
- mailContent: undefined,
- createTime: undefined,
- status: "0",
- deleteTime: undefined
- };
- this.resetForm("form");
- },
- getList1() {
- this.loading = true;
- havedInfo(this.raddarParams).then(response => {
- console.log(response.rows)
- this.doneList1 = response.rows;
- this.loading = false;
- this.$emit('getNum','yb',response.total)
- });
- },
- handleClick(tab, event) {
- console.log(tab, event);
- },
- getList() {
- this.loading = true;
- // 待办请求
- toDoItemListInfo(this.queryParams).then(response => {
- this.toListItem = response.rows;
- if(this.toListItem.length<5){
- this.toListItem.length=response.rows.length
- }else{
- this.toListItem.length=5
- }
- this.title = response.title;
- this.loading = false;
- this.$emit('getNum','db',response.total)
- });
- this.actOpen=false;
- this.actOpen1=false;
- },
- openactform(actkey,id,name,title,taskName) {
- //var actkey=row.processDfinitionId;
- // alert(id)
- //var id=row.businessKey
- if(name == "赋文号归档分发"){
- this.optiontrue = true;
- this.optiontitle = title;
- this.optionactkey = actkey;
- this.optionid = id;
- this.optionName=taskName;
- }else{
- this.optiontrue = false;
- }
- let vue = this
- actkey=actkey.split(":")[0];
- this.details.getactkey = actkey//动态传参到下面的页面
- this.details.formId = id//动态传参到下面的页面
- this.details.flg = 1//动态传参到下面的flg
- getCurrentFlowFormKey(actkey).then(response => {
- var path = response.msg
- this.actForm = () => Promise.resolve().then(() => require(`@/views/${path}`))
- this.actOpen = true
- })
- this.actOpen =false
- return vue.actForm = this.actForm
- },
- detern(row){
- const actkey = row.actkey
- const form = row || this.form
- this.$router.push({path:'/actwork/todo/tododetails',query: {bd:form,id:actkey }})
- },
- detern1(row){
- var actkey=row.processDfinitionId
- var id=row.businessKey
- let vue = this
- actkey=actkey.split(":")[0];
- this.details.getactkey = actkey//动态传参到下面的页面
- this.details.formId = id//动态传参到下面的页面
- this.details.flg = 2//动态传参到下面的flg
- getStartFormKey(actkey).then(response => {
- var path = response.msg
- this.actForm = () => Promise.resolve().then(() => require(`@/views/${path}`))
- })
- this.actOpen = true
- return vue.actForm = this.actForm
- // const actkey = row.taskid || this.ids
- // const form = row || this.form
- // this.$router.push({path:'/actwork/havedone/havedetails',query: {bd:form,id:actkey }})
- },
- more(){
- if(this.activeName=='first'){
- this.$router.replace('/todo')
- }else {
- this.$router.replace('/havedone')
- }
- },
- }
- };
- </script>
- <style lang="less" scoped>
- .el-table--medium td {
- padding: 9px 0 !important;
- }
- .clearfix{
- color:#1890ff;
- }
- body .el-table th.gutter{
- display: table-cell!important;
- }
- .el-table__header{
- width: 100% !important;
- }
- .el-table__thead{
- width: 100% !important;
- }
- .el-table__body{
- width: 100% !important;
- }
- /*.clearfix:before,*/
- /*.clearfix:after {*/
- /*display: table;*/
- /*content: "";*/
- /*}*/
- /*.clearfix:after {*/
- /*clear: both*/
- /*}*/
- .el-card__header{
- background: #f5f5f5;
- color:#1890ff;
- }
- .el-card__body {
- padding: 15px 20px 20px 20px;
- height: 354px;
- }
- .el-card__header{
- background: #f5f5f5;
- }
- </style>
|