Browse Source

工作流升级

master
陈裕财 5 years ago
parent
commit
1489ffae62
  1. 7
      src/api/mdp/workflow/ru/procinstNodeInfo.js
  2. 37
      src/views/mdp/workflow/biz/bizModel/BizModelMng.vue
  3. 37
      src/views/mdp/workflow/de/model/ModelMng.vue
  4. 45
      src/views/mdp/workflow/hi/comment/commentStep.vue
  5. 421
      src/views/mdp/workflow/hi/procinst/ProcinstMng.vue
  6. 33
      src/views/mdp/workflow/re/deployment/DeploymentMng.vue
  7. 38
      src/views/mdp/workflow/re/procdef/ProcdefListForBizStart.vue
  8. 85
      src/views/mdp/workflow/re/procdef/ProcdefListForParames.vue
  9. 30
      src/views/mdp/workflow/re/procdef/ProcdefListForSimpleStart.vue
  10. 100
      src/views/mdp/workflow/re/procdef/ProcdefListForStart.vue
  11. 19
      src/views/mdp/workflow/re/procdef/ProcdefMng.vue
  12. 98
      src/views/mdp/workflow/re/procdef/ProcdefSuspend.vue
  13. 18
      src/views/mdp/workflow/re/procdefParames/ProcdefParamesSet.vue
  14. 19
      src/views/mdp/workflow/re/procdefParamesTemplate/ProcdefParamesTemplateMng.vue
  15. 417
      src/views/mdp/workflow/ru/execution/ExecutionMng.vue
  16. 4
      src/views/mdp/workflow/ru/execution/ExecutionMngForFormData.vue
  17. 48
      src/views/mdp/workflow/ru/procinstParames/ProcinstNodeInfoSet.vue
  18. 179
      src/views/mdp/workflow/ru/procinstParames/ProcinstParamesExecutionSet.vue
  19. 29
      src/views/mdp/workflow/ru/procinstParames/ProcinstParamesExecutionSetRoute.vue
  20. 12
      src/views/mdp/workflow/ru/procinstParames/ProcinstParamesStartSet.vue
  21. 13
      src/views/mdp/workflow/ru/procinstParames/ProcinstParamesStartSetRoute.vue
  22. 305
      src/views/mdp/workflow/ru/task/TaskMng.vue

7
src/api/mdp/workflow/ru/procinstNodeInfo.js

@ -13,6 +13,10 @@ let base = config.getWorkflowBasePath();
//普通查询 条件之间and关系 //普通查询 条件之间and关系
export const listProcinstNodeInfo = params => { return axios.get(`${base}/mdp/workflow/ru/procinstNodeInfo/list`, { params: params }); }; export const listProcinstNodeInfo = params => { return axios.get(`${base}/mdp/workflow/ru/procinstNodeInfo/list`, { params: params }); };
//普通查询 条件之间and关系
export const getNodeInfos = params => { return axios.get(`${base}/mdp/workflow/ru/procinstNodeInfo/getNodeInfos`, { params: params }); };
//修改一条mdp_ru_procinst_node_info记录
export const updateNodeInfos = params => { return axios.post(`${base}/mdp/workflow/ru/procinstNodeInfo/updateNodeInfos`, params); };
//模糊查询mdp_ru_procinst_node_info 条件之间or关系 //模糊查询mdp_ru_procinst_node_info 条件之间or关系
//export const listProcinstNodeInfoKey = params => { return axios.get(`${base}/mdp/workflow/ru/procinstNodeInfo/listKey`, { params: params }); }; //export const listProcinstNodeInfoKey = params => { return axios.get(`${base}/mdp/workflow/ru/procinstNodeInfo/listKey`, { params: params }); };
@ -28,6 +32,3 @@ export const editProcinstNodeInfo = params => { return axios.post(`${base}/mdp/w
//新增一条mdp_ru_procinst_node_info //新增一条mdp_ru_procinst_node_info
export const addProcinstNodeInfo = params => { return axios.post(`${base}/mdp/workflow/ru/procinstNodeInfo/add`, params); }; export const addProcinstNodeInfo = params => { return axios.post(`${base}/mdp/workflow/ru/procinstNodeInfo/add`, params); };
export const getNodeInfos = params => { return axios.get(`${base}/mdp/workflow/ru/procinstNodeInfo/getNodeInfos`, { params: params }); };

37
src/views/mdp/workflow/biz/bizModel/BizModelMng.vue

@ -1,26 +1,28 @@
<template> <template>
<section> <section>
<sticky :className="'sub-navbar draft'">
<el-row class="app-container">
<el-row> <el-row>
<el-input v-model="filters.key" style="width:20%;" placeholder="模糊查询"></el-input>
<el-button type="primary" v-loading="load.list" :disabled="load.list==true" v-on:click="searchBizModels">查询</el-button>
<el-button type="primary" @click="showAdd">+业务模块</el-button>
<el-button type="danger" v-loading="load.del" @click="batchDel" :disabled="this.sels.length===0 || load.del==true">批量删除</el-button>
<el-input v-model="filters.key" style="width:30%;" placeholder="模糊查询">
<template slot="append">
<el-button type="primary" v-loading="load.list" :disabled="load.list==true" v-on:click="searchBizModels" icon="el-icon-search">查询</el-button>
</template>
</el-input>
<el-button type="primary" @click="showAdd" icon="el-icon-plus">业务模块</el-button>
<el-button type="danger" v-loading="load.del" @click="batchDel" :disabled="this.sels.length===0 || load.del==true" icon="el-icon-delete"></el-button>
</el-row> </el-row>
</sticky>
<el-row class="app-container">
<el-row style="padding-top:10px;">
<!--列表 BizModel mdp_biz_model--> <!--列表 BizModel mdp_biz_model-->
<el-table :data="bizModels" highlight-current-row v-loading="load.list" border @selection-change="selsChange" @row-click="rowClick" style="width: 100%;">
<el-table ref="table" :max-height="tableHeight" :data="bizModels" highlight-current-row v-loading="load.list" border @selection-change="selsChange" @row-click="rowClick" style="width: 100%;">
<el-table-column sortable type="selection" width="40"></el-table-column> <el-table-column sortable type="selection" width="40"></el-table-column>
<el-table-column sortable type="index" width="40"></el-table-column> <el-table-column sortable type="index" width="40"></el-table-column>
<el-table-column sortable prop="bizName" label="业务名称" min-width="80" ></el-table-column>
<el-table-column sortable prop="bizKey" label="业务编码" min-width="80" ></el-table-column>
<el-table-column sortable prop="modelKey" label="模型编码" min-width="80" ></el-table-column>
<el-table-column sortable prop="modelName" label="模型名称" min-width="80" ></el-table-column>
<el-table-column sortable prop="bizName" label="业务名称" min-width="80" show-overflow-tooltip></el-table-column>
<el-table-column sortable prop="bizKey" label="业务编码" min-width="80" show-overflow-tooltip></el-table-column>
<el-table-column sortable prop="modelKey" label="模型编码" min-width="80" show-overflow-tooltip></el-table-column>
<el-table-column sortable prop="modelName" label="模型名称" min-width="80" show-overflow-tooltip></el-table-column>
<el-table-column label="操作" width="160" fixed="right" > <el-table-column label="操作" width="160" fixed="right" >
<template slot-scope="scope"> <template slot-scope="scope">
<el-button @click="showEdit( scope.row,scope.$index)"></el-button>
<el-button type="danger" @click="handleDel(scope.row,scope.$index)"></el-button>
<el-button @click="showEdit( scope.row,scope.$index)" icon="el-icon-edit"></el-button>
<el-button type="danger" @click="handleDel(scope.row,scope.$index)" icon="el-icon-delete"></el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@ -36,6 +38,7 @@
<biz-model-add :disabled-select-model="!!modelKey" :biz-model="addForm" :visible="addFormVisible" @cancel="addFormVisible=false" @submit="afterAddSubmit"></biz-model-add> <biz-model-add :disabled-select-model="!!modelKey" :biz-model="addForm" :visible="addFormVisible" @cancel="addFormVisible=false" @submit="afterAddSubmit"></biz-model-add>
</el-dialog> </el-dialog>
</el-row> </el-row>
</el-row>
</section> </section>
</template> </template>
@ -94,7 +97,8 @@
//bizModel //bizModel
editForm: { editForm: {
bizName:'',bizKey:'',modelKey:'',modelName:'',id:'',branchId:'' bizName:'',bizKey:'',modelKey:'',modelName:'',id:'',branchId:''
}
},
tableHeight:300,
/**begin 自定义属性请在下面加 请加备注**/ /**begin 自定义属性请在下面加 请加备注**/
/**end 自定义属性请在上面加 请加备注**/ /**end 自定义属性请在上面加 请加备注**/
@ -244,6 +248,9 @@
this.editForm.modelKey=this.modelKey this.editForm.modelKey=this.modelKey
this.editForm.modelName=this.modelName this.editForm.modelName=this.modelName
this.$nextTick(() => { this.$nextTick(() => {
var clientRect=this.$refs.table.$el.getBoundingClientRect();
var subHeight=70/1000 * window.innerHeight;
this.tableHeight = window.innerHeight -clientRect.y - this.$refs.table.$el.offsetTop-subHeight;
this.getBizModels(); this.getBizModels();
}); });
} }

37
src/views/mdp/workflow/de/model/ModelMng.vue

@ -1,24 +1,28 @@
<template> <template>
<section> <section>
<sticky :className="'sub-navbar draft'">
<el-input v-model="filters.key" style="width:20%;" placeholder="模糊查询"></el-input>
<el-button type="primary" v-on:click="searchModels">查询</el-button>
<el-row class="app-container">
<el-row>
<el-input v-model="filters.key" style="width:30%;" placeholder="模糊查询">
<template slot="append">
<el-button type="primary" v-on:click="searchModels" icon="el-icon-search">查询</el-button>
</template>
</el-input>
<el-button <el-button
type="primary"
@click="handleDownload" @click="handleDownload"
icon="el-icon-download"
>导出数据</el-button> >导出数据</el-button>
</sticky>
<el-row class="app-container">
</el-row>
<el-row style="padding-top:10px;">
<!--列表 Model act_de_model--> <!--列表 Model act_de_model-->
<el-table :data="models" highlight-current-row v-loading="listLoading" border @selection-change="selsChange" @row-click="rowClick" style="width: 100%;">
<el-table ref="table" :max-height="tableHeight" :data="models" highlight-current-row v-loading="listLoading" border @selection-change="selsChange" @row-click="rowClick" style="width: 100%;">
<el-table-column type="index" width="40"></el-table-column> <el-table-column type="index" width="40"></el-table-column>
<el-table-column sortable prop="name" label="流程(点击查已发布版本)" min-width="300" >
<el-table-column prop="name" label="流程(点击查已发布版本)" min-width="300" show-overflow-tooltip>
<template slot-scope="scope"> <template slot-scope="scope">
<el-link type="primary" @click="showDeploymentList( scope.row,scope.$index)">{{scope.row.name}} </el-link> <el-link type="primary" @click="showDeploymentList( scope.row,scope.$index)">{{scope.row.name}} </el-link>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column sortable prop="version" label="模型版本" min-width="80" ></el-table-column>
<el-table-column sortable prop="description" label="描述" width="120">
<el-table-column sortable prop="version" label="模型版本" min-width="80" show-overflow-tooltip></el-table-column>
<el-table-column prop="description" label="描述" width="120" show-overflow-tooltip>
<template slot-scope="scope"> <template slot-scope="scope">
<el-popover <el-popover
placement="top-start" placement="top-start"
@ -31,10 +35,10 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column sortable prop="modelComment" label="备注" min-width="80" ></el-table-column>
<el-table-column sortable prop="created" label="创建时间" min-width="120" ></el-table-column>
<el-table-column sortable prop="lastUpdated" label="更新时间" min-width="120" ></el-table-column>
<el-table-column sortable prop="lastUpdatedBy" label="更新人" min-width="120" ></el-table-column>
<el-table-column prop="modelComment" label="备注" min-width="80" show-overflow-tooltip></el-table-column>
<el-table-column sortable prop="created" label="创建时间" min-width="120" show-overflow-tooltip></el-table-column>
<el-table-column sortable prop="lastUpdated" label="更新时间" min-width="120" show-overflow-tooltip></el-table-column>
<el-table-column prop="lastUpdatedBy" label="更新人" min-width="120" show-overflow-tooltip></el-table-column>
<el-table-column label="操作" width="300" fixed="right"> <el-table-column label="操作" width="300" fixed="right">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button @click="showDiagram( scope.row,scope.$index)">流程图</el-button> <el-button @click="showDiagram( scope.row,scope.$index)">流程图</el-button>
@ -54,6 +58,7 @@
<deployment-mng :modelKey="editForm.modelKey"></deployment-mng> <deployment-mng :modelKey="editForm.modelKey"></deployment-mng>
</el-dialog> </el-dialog>
</el-row> </el-row>
</el-row>
</section> </section>
</template> </template>
@ -110,6 +115,7 @@
companyDepts:[], companyDepts:[],
deploymentVisible:false, deploymentVisible:false,
categorys:[], categorys:[],
tableHeight:300,
/**end 自定义属性请在上面加 请加备注**/ /**end 自定义属性请在上面加 请加备注**/
} }
},//end data },//end data
@ -378,6 +384,9 @@
mounted() { mounted() {
this.$nextTick(() => { this.$nextTick(() => {
var clientRect=this.$refs.table.$el.getBoundingClientRect();
var subHeight=70/1000 * window.innerHeight;
this.tableHeight = window.innerHeight -clientRect.y - this.$refs.table.$el.offsetTop-subHeight;
this.getModels(); this.getModels();
}); });

45
src/views/mdp/workflow/hi/comment/commentStep.vue

@ -1,22 +1,37 @@
<template> <template>
<section> <section>
<el-row style="max-height:400px;overflow-y:scroll;overflow-x:hidden;"> <el-row style="max-height:400px;overflow-y:scroll;overflow-x:hidden;">
<!--工具条1-->
<!--如果有更多工具条,放开此注释
<el-col :span="24" class="toolbar" style="padding-bottom: 0px;">
<el-col :span="4">
<div style="border:1px dashed #000;padding:10px;">
<div v-if="!comments || comments.length<=0" style="padding-left: 10px;">暂无信息</div>
<el-steps :space="60" direction="vertical" process-status="process" finish-status="success">
<el-step v-for="(item,index) in comments " :key="index" status="success">
<div slot="title">
<el-col :span="24">
{{item.name==''||item.name==null?item.message:item.name}}
<font v-if="screenWidth>500"> &nbsp;&nbsp;{{item.time}}
</font>
<font v-if="screenWidth<500">{{formatTaskTime(item.time)}}</font>
</el-col> </el-col>
</div>
<div slot="description" style="color: #303133;">
<div style="display: inline-block;">{{item.username?item.username:item.userid}}</div>
<el-divider style="display: inline-block;" direction="vertical"></el-divider>
<div style="display: inline-block;">{{item.message}}</div>
</div>
</el-step>
<el-step v-if="task && task.taskId" status="process" icon="el-icon-edit">
<div slot="title">
<el-col :span="24">
{{task.taskName}} <el-tag type="warning">当前节点</el-tag>
<font v-if="screenWidth>500"> &nbsp;&nbsp;{{task.startTime}}
</font>
<font v-if="screenWidth<500">{{formatTaskTime(task.startTime)}}</font>
</el-col> </el-col>
-->
<div style="border:1px dashed #000">
<div v-if="!comments || comments.length<=0" style="padding-left: 10px;">暂无信息</div>
<el-steps :space="60" direction="vertical">
<el-step v-for="item in comments " :title="item.name" >
<div slot="title"><el-col :span="24"> ><font v-if="screenWidth>500">任务:</font>{{item.name==''||item.name==null?'未知的节点名字':item.name}} <font v-if="screenWidth>500">办理时间 :{{item.time}}</font><font v-if="screenWidth<500">{{formatTaskTime(item.time)}}</font></el-col> </div>
</div>
<div slot="description" style="color: #303133;"> <div slot="description" style="color: #303133;">
<el-col :xs="8" :sm="6" :md="4" :lg="3" :xl="1"><div>{{item.username?item.username:item.userid}}></div></el-col><el-col :xs="16" :sm="18" :md="20" :lg="21" :xl="23"><div>{{item.message}}</div></el-col>
<div style="display: inline-block;">{{task.assigneeName?task.assigneeName:task.assignee}}</div>
<el-divider style="display: inline-block;" direction="vertical"></el-divider>
<div style="display: inline-block;">请尽快处理</div>
</div> </div>
</el-step> </el-step>
</el-steps> </el-steps>
@ -33,7 +48,7 @@
import { listDept } from '@/api/mdp/sys/dept';// import { listDept } from '@/api/mdp/sys/dept';//
import moment from "moment"; import moment from "moment";
export default { export default {
props:['refresh','procInstId'],
props:['refresh','procInstId','task'],
watch: { watch: {
'refresh':function(refresh) { 'refresh':function(refresh) {
if(refresh==true){ if(refresh==true){
@ -47,7 +62,7 @@
computed:{ computed:{
screenWidth:function(){ screenWidth:function(){
return screen.width; return screen.width;
}
},
}, },
data() { data() {
return { return {

421
src/views/mdp/workflow/hi/procinst/ProcinstMng.vue

@ -1,89 +1,30 @@
<template> <template>
<section> <section>
<sticky :className="'sub-navbar draft'">
<el-row>
<el-col :xs="22" :sm="22" :md="23" :lg="23" :xl="23">
<el-col :xs="8" :sm="8" :md="5" :lg="4" :xl="4">
<el-input v-model="filters.key" style="width:100%;" placeholder="模糊查询"></el-input>
<el-row class="app-container">
<el-col :xs="4" :sm="4" :md="3" :lg="3" :xl="3" class="hidden-sm-and-down">
<category-tree
ref="categoryTree"
multiple
:expandOnClickNode="false"
:defaultExpandAll="true"
show-checkbox
:current-key="addForm.categoryId"
v-on:check-change="handleCategoryCheckChange"
></category-tree>
</el-col> </el-col>
<el-col :xs="8" :sm="8" :md="5" :lg="4" :xl="4">
<el-select
v-model="filters.procCategory"
style="width:99%;"
clearable
filterable
placeholder="请选择分类"
>
<el-option v-for="item in categorys" :key="item" :label="item" :value="item"></el-option>
<el-col :xs="24" :sm="24" :md="21" :lg="21" :xl="21">
<!--列表 Procinst act_hi_procinst-->
<el-row>
<el-select v-model="filters.filterType" clearable placeholder="查询范围" class="hidden-md-and-down">
<el-option value="" label="全部"> </el-option>
<el-option value="startUserId" label="我发起"> </el-option>
<el-option value="partake" label="我参与"> </el-option>
<el-option value="sponsors" label="我主办"> </el-option>
<el-option value="monitors" label="我监控"> </el-option>
</el-select> </el-select>
</el-col>
<el-col :xs="8" :sm="8" :md="14" :lg="16" :xl="16">
<el-button type="primary" v-on:click="searchProcinsts">查询</el-button>
<el-button @click.native="showTagSelect(false)">标签查找</el-button>
<el-button @click.native="showTagSelect(true)">打标签</el-button>
<el-button type="primary" @click="handleDownload">导出数据</el-button>
<el-button v-if="isAll" :type="filters.allBtn?'success':''" v-on:click="searchAll">全部</el-button>
<el-button
:type="filters.otherParames.startUserId?'success':''"
v-on:click="searchMyStart"
>我发起</el-button>
<el-button
:type="filters.otherParames.partake?'success':''"
v-on:click="searchMyPartake"
>我参与</el-button>
<el-button
:type="filters.otherParames.sponsors?'success':''"
v-on:click="searchMySponsors"
>我主办</el-button>
<el-button
:type="filters.otherParames.monitors?'success':''"
v-on:click="searchMyMonitors"
>我监控</el-button>
<el-button
:type="filters.otherParames.isEnd==0?'success':''"
v-on:click="searchNotEnd"
>未结束</el-button>
<el-button :type="filters.otherParames.isEnd==1?'success':''" v-on:click="searchEnd">已结束</el-button>
</el-col>
</el-col>
<el-col :xs="2" :sm="2" :md="1" :lg="1" :xl="1">
<el-button @click="drawer = true" type="text">更多</el-button>
<el-drawer title="更多查询条件" :visible.sync="drawer" :with-header="false" append-to-body>
<el-row class="more-filter-item">
<el-button v-if="isAll" :type="filters.allBtn?'success':''" v-on:click="searchAll">全部</el-button>
<el-button
:type="filters.otherParames.startUserId?'success':''"
v-on:click="searchMyStart"
>我发起</el-button>
<el-button
:type="filters.otherParames.partake?'success':''"
v-on:click="searchMyPartake"
>我参与</el-button>
<el-button
:type="filters.otherParames.sponsors?'success':''"
v-on:click="searchMySponsors"
>我主办</el-button>
<el-button
:type="filters.otherParames.monitors?'success':''"
v-on:click="searchMyMonitors"
>我监控</el-button>
<el-button
:type="filters.otherParames.isEnd==0?'success':''"
v-on:click="searchNotEnd"
>未结束</el-button>
<el-button
:type="filters.otherParames.isEnd==1?'success':''"
v-on:click="searchEnd"
>已结束</el-button>
<el-button @click.native="showTagSelect(false)">标签查找</el-button>
<el-button @click.native="showTagSelect(true)">打标签</el-button>
<el-button @click.native="userSelectVisible=true">任务执行人</el-button>
<el-button type="primary" @click="handleDownload">导出数据</el-button>
<el-col :span="24">
开始日期
<el-date-picker <el-date-picker
v-model="filters.startTimeRanger"
v-model="filters.startTimeRanger" class="hidden-sm-and-down"
type="daterange" type="daterange"
align="right" align="right"
unlink-panels unlink-panels
@ -92,59 +33,88 @@
end-placeholder="创建日期" end-placeholder="创建日期"
value-format="yyyy-MM-dd" value-format="yyyy-MM-dd"
:default-time="['00:00:00','23:59:59']" :default-time="['00:00:00','23:59:59']"
:picker-options="pickerOptions"
></el-date-picker>
:picker-options="pickerOptions">
</el-date-picker>
<el-input v-model="filters.key" style="width:20%;" placeholder="模糊查询">
<template slot="append">
<el-button v-on:click="searchProcinsts" icon="el-icon-search">查询</el-button>
</template>
</el-input>
<el-popover
placement="top"
width="375"
trigger="manual"
v-model="weixinContentVisible">
<p>{{weixinContent}}</p>
<div style="text-align: right; margin: 0">
<el-button size="mini" type="text" @click="doCopyWeixinUrl">拷贝链接</el-button>
<el-button type="primary" size="mini" @click="doCopyWeixinContent">拷贝内容</el-button>
</div>
<el-button slot="reference" class="hidden-sm-and-down" v-on:click="showWeixin">微信催办</el-button>
</el-popover>
<el-popover
title="更多查询条件"
placement="top-start"
width="400"
trigger="click">
<el-row class="more-filter-item">
<el-col :span="24">
<font class="more-label-font">
查询范围
</font>
<el-select size="mini" v-model="filters.filterType" placeholder="查询范围">
<el-option value="" label="全部"> </el-option>
<el-option value="startUserId" label="我发起"> </el-option>
<el-option value="partake" label="我参与"> </el-option>
<el-option value="sponsors" label="我主办"> </el-option>
<el-option value="monitors" label="我监控"> </el-option>
</el-select>
</el-col> </el-col>
<el-col :span="24"> <el-col :span="24">
计划完成
<el-date-picker
v-model="filters.planFinishTimeRanger"
type="daterange"
align="right"
unlink-panels
range-separator="至"
start-placeholder="计划完成日期"
end-placeholder="计划完成日期"
value-format="yyyy-MM-dd"
:default-time="['00:00:00','23:59:59']"
:picker-options="pickerOptions"
></el-date-picker>
<font class="more-label-font">
标签查找
</font>
<el-row v-show="filters.tags && filters.tags.length>0">
<el-tag
:key="tag.tagId"
v-for="tag in filters.tags"
:type="''"
closable
:disable-transitions="false"
@click="showTagSelect(false)"
@close="handleFiltersTagClose(tag,'tags')">
{{tag.tagName}}
</el-tag>
</el-row>
<el-button v-if="filters.tags==null || filters.tags.length==0" size="mini" @click.native="showTagSelect(false)">选择标签</el-button>
</el-col> </el-col>
<el-col :span="24" > <el-col :span="24" >
实际完成
<el-date-picker
v-model="filters.endTimeRanger"
type="daterange"
align="right"
unlink-panels
range-separator="至"
start-placeholder="实际完成日期"
end-placeholder="实际完成日期"
value-format="yyyy-MM-dd"
:default-time="['00:00:00','23:59:59']"
:picker-options="pickerOptions"
></el-date-picker>
<font class="more-label-font">
任务执行人
</font>
<el-tag v-if="filters.assignee"
:type="'success'"
closable
:disable-transitions="false"
@click="userSelectVisible=true"
@close="handleFiltersTagClose('','assignee')">
{{filters.assignee.username}}
</el-tag>
<el-button v-else size="mini" @click.native="userSelectVisible=true" >选择执行人</el-button>
</el-col> </el-col>
</el-row>
<category-tree
class="hidden-md-and-up"
ref="categoryTree"
multiple
:expandOnClickNode="false"
:defaultExpandAll="true"
show-checkbox
:current-key="addForm.categoryId"
v-on:check-change="handleCategoryCheckChange"
></category-tree>
</el-drawer>
<el-col :span="24" >
<el-button size="mini" :type="filters.suspensionState=='2'?'success':''" v-on:click="filters.suspensionState='2'">挂起的</el-button>
<el-button size="mini" :type="filters.suspensionState=='1'?'success':''" v-on:click="filters.suspensionState='1'">活动的</el-button>
</el-col> </el-col>
</el-row>
</sticky>
<el-row class="filters-show">
<font class="filters-label">已选条件:</font>
<el-col :span="24">
<font class="more-label-font">
开始日期
</font>
<el-date-picker <el-date-picker
v-model="filters.startTimeRanger" v-model="filters.startTimeRanger"
class="hidden-sm-and-down"
type="daterange" type="daterange"
align="right" align="right"
unlink-panels unlink-panels
@ -153,118 +123,51 @@
end-placeholder="创建日期" end-placeholder="创建日期"
value-format="yyyy-MM-dd" value-format="yyyy-MM-dd"
:default-time="['00:00:00','23:59:59']" :default-time="['00:00:00','23:59:59']"
:picker-options="pickerOptions"
></el-date-picker>
:picker-options="pickerOptions">
</el-date-picker>
</el-col>
<el-col :span="24">
<font class="more-label-font">
计划完成日期
</font>
<el-date-picker <el-date-picker
v-model="filters.endTimeRanger"
class="hidden-sm-and-down"
v-model="filters.planFinishTimeRanger"
type="daterange" type="daterange"
align="right" align="right"
unlink-panels unlink-panels
range-separator="至" range-separator="至"
start-placeholder="实际完成日期"
end-placeholder="实际完成日期"
start-placeholder="计划完成日期"
end-placeholder="计划完成日期"
value-format="yyyy-MM-dd" value-format="yyyy-MM-dd"
:default-time="['00:00:00','23:59:59']" :default-time="['00:00:00','23:59:59']"
:picker-options="pickerOptions"
></el-date-picker>
<el-tag
v-if="filters.tags"
:key="tag.tagId"
v-for="tag in filters.tags"
:type="''"
closable
:disable-transitions="false"
@close="handleFiltersTagClose(tag,'tags')"
>{{tag.tagName}}</el-tag>
<el-tag
v-if="filters.categoryTreeNodes"
:key="tag.id"
v-for="tag in filters.categoryTreeNodes"
:type="'info'"
closable
:disable-transitions="false"
@close="handleFiltersTagClose(tag,'categoryTreeNodes')"
>{{tag.name}}</el-tag>
<el-tag
v-if="filters.taskType=='0'"
:type="'warning'"
:disable-transitions="false"
>{{filters.taskType=='0'?'已领取':''}}</el-tag>
<el-tag
v-if="filters.taskType=='1'"
:type="'warning'"
:disable-transitions="false"
>{{filters.taskType=='1'?'待领取':''}}</el-tag>
<el-tag
v-if="filters.otherParames.partake"
:type="'warning'"
:disable-transitions="false"
>{{'我参与'}}</el-tag>
<el-tag
v-if="filters.otherParames.sponsors"
:type="'warning'"
:disable-transitions="false"
>{{'我主办'}}</el-tag>
<el-tag
v-if="filters.otherParames.monitors"
:type="'warning'"
:disable-transitions="false"
>{{'我监控'}}</el-tag>
<el-tag
v-if="filters.otherParames.isEnd=='1'"
:type="'warning'"
:disable-transitions="false"
>{{'已结束'}}</el-tag>
<el-tag
v-if="filters.otherParames.isEnd=='0'"
:type="'warning'"
:disable-transitions="false"
>{{'未结束'}}</el-tag>
<el-tag
v-if="filters.otherParames.startUserId"
:type="'warning'"
:disable-transitions="false"
>{{'我发起'}}</el-tag>
<el-tag
v-if="filters.procCategory"
:type="'dangger'"
closable
:disable-transitions="false"
@close="handleFiltersTagClose('','procCategory')"
>{{filters.procCategory}}</el-tag>
<el-tag
v-if="filters.key"
:type="'success'"
closable
:disable-transitions="false"
@close="handleFiltersTagClose('','key')"
>{{filters.key}}</el-tag>
:picker-options="pickerOptions">
</el-date-picker>
</el-col>
<el-col :span="24">
<category-tree class="hidden-md-and-up" ref="categoryTree" multiple :expandOnClickNode="false" :defaultExpandAll="true" show-checkbox :current-key="addForm.categoryId" v-on:check-change="handleCategoryCheckChange" ></category-tree>
</el-col>
<el-col :span="24">
<el-checkbox size="mini" v-model="showCalendar">按日历风格显示</el-checkbox>
<el-button size="mini" type="primary" v-on:click="searchExecutions" icon="el-icon-search">查询</el-button>
</el-col>
<el-tag
v-if="filters.assignee"
:type="'success'"
closable
:disable-transitions="false"
@close="handleFiltersTagClose('','assignee')"
>{{filters.assignee.username}}</el-tag>
</el-row>
<el-row class="app-container">
<el-col :xs="4" :sm="4" :md="3" :lg="3" :xl="3" class="hidden-sm-and-down">
<category-tree
ref="categoryTree"
multiple
:expandOnClickNode="false"
:defaultExpandAll="true"
show-checkbox
:current-key="addForm.categoryId"
v-on:check-change="handleCategoryCheckChange"
></category-tree>
<el-col :span="24">
<el-divider content-position="left">其它操作</el-divider>
<el-button size="mini" @click.native="showTagSelect(true)" >给任务打标签</el-button>
<el-button size="mini" @click="handleDownload">导出数据</el-button>
<el-button size="mini" v-on:click="showWeixinTask">微信催办</el-button>
<el-button size="mini" v-on:click="showSendSms">短信催办</el-button>
<el-button size="mini" v-on:click="showOaMsg">OAMSG催办</el-button>
</el-col> </el-col>
<el-col :xs="24" :sm="24" :md="21" :lg="21" :xl="21">
<!--列表 Procinst act_hi_procinst-->
</el-row>
<el-button slot="reference" icon="el-icon-more" circle></el-button>
</el-popover>
</el-row>
<el-row style="padding-top:10px;">
<el-table <el-table
ref="table"
:max-height="tableHeight"
:data="procinsts" :data="procinsts"
highlight-current-row highlight-current-row
v-loading="listLoading" v-loading="listLoading"
@ -275,7 +178,7 @@
> >
<el-table-column type="selection" width="40"></el-table-column> <el-table-column type="selection" width="40"></el-table-column>
<el-table-column type="index" width="40"></el-table-column> <el-table-column type="index" width="40"></el-table-column>
<el-table-column sortable prop="mainTitle" label="流程(点击详情)" min-width="300" >
<el-table-column sortable prop="mainTitle" label="流程(点击详情)" min-width="300" show-overflow-tooltip>
<template slot-scope="scope"> <template slot-scope="scope">
<el-link type="primary" @click="showEdit( scope.row,scope.$index)">{{scope.row.mainTitle}}</el-link> <el-link type="primary" @click="showEdit( scope.row,scope.$index)">{{scope.row.mainTitle}}</el-link>
</template> </template>
@ -285,15 +188,17 @@
prop="startDeptName" prop="startDeptName"
label="发起部门" label="发起部门"
min-width="180" min-width="180"
show-overflow-tooltip
></el-table-column> ></el-table-column>
<el-table-column <el-table-column
sortable sortable
prop="startUsername" prop="startUsername"
label="发起人" label="发起人"
min-width="120" min-width="120"
show-overflow-tooltip
></el-table-column> ></el-table-column>
<el-table-column sortable prop="tagNames" label="标签" min-width="150">
<el-table-column sortable prop="tagNames" label="标签" min-width="150"
show-overflow-tooltip>
<template slot-scope="scope"> <template slot-scope="scope">
<el-tag <el-tag
v-for="tagName in (scope.row.tagNames?scope.row.tagNames.split(','):[])" v-for="tagName in (scope.row.tagNames?scope.row.tagNames.split(','):[])"
@ -306,28 +211,28 @@
prop="startTime" prop="startTime"
label="发起时间" label="发起时间"
min-width="120" min-width="120"
show-overflow-tooltip
></el-table-column> ></el-table-column>
<el-table-column <el-table-column
sortable sortable
prop="planFinishTime" prop="planFinishTime"
label="到期时间" label="到期时间"
min-width="120" min-width="120"
show-overflow-tooltip
></el-table-column> ></el-table-column>
<el-table-column <el-table-column
sortable sortable
prop="endTime" prop="endTime"
label="结束时间" label="结束时间"
min-width="120" min-width="120"
show-overflow-tooltip
></el-table-column> ></el-table-column>
<el-table-column <el-table-column
sortable sortable
prop="duration" prop="duration"
label="执行时长" label="执行时长"
min-width="120" min-width="120"
show-overflow-tooltip
:formatter="formatterDuration" :formatter="formatterDuration"
></el-table-column> ></el-table-column>
@ -336,20 +241,21 @@
prop="sponsors" prop="sponsors"
label="主办" label="主办"
min-width="80" min-width="80"
show-overflow-tooltip
></el-table-column> ></el-table-column>
<el-table-column <el-table-column
sortable sortable
prop="monitors" prop="monitors"
label="监控" label="监控"
min-width="80" min-width="80"
show-overflow-tooltip
></el-table-column> ></el-table-column>
<el-table-column <el-table-column
sortable sortable
prop="deleteReason" prop="deleteReason"
label="删除原因" label="删除原因"
min-width="120" min-width="120"
show-overflow-tooltip
></el-table-column> ></el-table-column>
</el-table> </el-table>
<el-pagination <el-pagination
@ -381,6 +287,7 @@
@submit="afterEditSubmit" @submit="afterEditSubmit"
></procinst-parames-execution-set> ></procinst-parames-execution-set>
</el-dialog> </el-dialog>
</el-row>
</el-col> </el-col>
<el-dialog append-to-body title="选择员工" :visible.sync="userSelectVisible" width="60%"> <el-dialog append-to-body title="选择员工" :visible.sync="userSelectVisible" width="60%">
@ -449,7 +356,8 @@ export default {
], ],
planFinishTimeRanger: [], planFinishTimeRanger: [],
endTimeRanger: [], endTimeRanger: [],
assignee: null
assignee: null,
filterType:'',
}, },
pickerOptions: { pickerOptions: {
shortcuts: [ shortcuts: [
@ -566,7 +474,8 @@ export default {
categorys: [], categorys: [],
tagSelectVisible: false, tagSelectVisible: false,
isBatchSetProcTags: false, isBatchSetProcTags: false,
userSelectVisible: false
userSelectVisible: false,
tableHeight:300,
/**end 自定义属性请在上面加 请加备注**/ /**end 自定义属性请在上面加 请加备注**/
}; };
}, //end data }, //end data
@ -686,8 +595,18 @@ export default {
if (this.filters.assignee != null) { if (this.filters.assignee != null) {
params.assignee = this.filters.assignee.userid; params.assignee = this.filters.assignee.userid;
} }
if (this.filters.otherParames) {
params = Object.assign(params, this.filters.otherParames);
if(this.filters.filterType=='startUserId'){
params.startUserId=this.userInfo.userid
}
if(this.filters.filterType=='partake'){
params.partake=this.userInfo.userid
}
if(this.filters.filterType=='sponsors'){
params.sponsors='%'+this.userInfo.userid+'%'
}
if(this.filters.filterType=='monitors'){
params.monitors='%'+this.userInfo.userid+'%'
} }
if (this.filters.proccategory != "") { if (this.filters.proccategory != "") {
params.category = this.filters.proccategory; params.category = this.filters.proccategory;
@ -1110,19 +1029,21 @@ export default {
this.categorys = res.data.data; this.categorys = res.data.data;
}); });
this.$nextTick(() => { this.$nextTick(() => {
var clientRect=this.$refs.table.$el.getBoundingClientRect();
var subHeight=70/1000 * window.innerHeight;
this.tableHeight = window.innerHeight -clientRect.y - this.$refs.table.$el.offsetTop-subHeight;
if(this.isMyStart){ if(this.isMyStart){
this.searchMyStart();
this.filters.filterType="startUserId"
}else if(this.isMyMonitors){ }else if(this.isMyMonitors){
this.searchMyMonitors();
this.filters.filterType="monitors"
}else if(this.isMySponsors){ }else if(this.isMySponsors){
this.searchMySponsors();
this.filters.filterType="sponsors"
}else if(this.isMyPartake){ }else if(this.isMyPartake){
this.searchMyPartake();
this.filters.filterType="partake"
}else if(this.isAll){ }else if(this.isAll){
this.searchAll();
} else {
this.getProcinsts();
} }
this.getProcinsts();
}); });
} }
}; };
@ -1150,4 +1071,10 @@ export default {
.more-filter-item button { .more-filter-item button {
margin: 2px 2px; margin: 2px 2px;
} }
.more-label-font{
text-align:center;
float:left;
padding-top:5px;
}
</style> </style>

33
src/views/mdp/workflow/re/deployment/DeploymentMng.vue

@ -1,16 +1,21 @@
<template> <template>
<section> <section>
<sticky :className="'sub-navbar draft'">
<el-input v-model="filters.key" style="width:20%;" placeholder="模糊查询"></el-input>
<el-row class="app-container">
<el-row>
<el-select v-model="filters.category" clearable filterable placeholder="请选择分类"> <el-select v-model="filters.category" clearable filterable placeholder="请选择分类">
<el-option v-for="item in categorys" :key="item" :label="item" :value="item"></el-option> <el-option v-for="item in categorys" :key="item" :label="item" :value="item"></el-option>
</el-select> </el-select>
<el-button type="primary" v-on:click="searchDeployments">查询</el-button>
<el-button type="primary" @click="handleDownload">导出数据</el-button>
</sticky>
<el-row class="app-container">
<el-input v-model="filters.key" style="width:30%;" placeholder="模糊查询">
<template slot="append">
<el-button type="primary" v-on:click="searchDeployments" icon="el-icon-search">查询</el-button>
</template>
</el-input>
<el-button @click="handleDownload" icon="el-icon-download">导出数据</el-button>
</el-row>
<el-row style="padding-top:10px;">
<!--列表 Deployment act_re_deployment--> <!--列表 Deployment act_re_deployment-->
<el-table <el-table
ref="table" :max-height="tableHeight"
:data="deployments" :data="deployments"
highlight-current-row highlight-current-row
v-loading="listLoading" v-loading="listLoading"
@ -22,15 +27,15 @@
<el-table-column type="selection" width="40"></el-table-column> <el-table-column type="selection" width="40"></el-table-column>
<el-table-column type="index" width="40"></el-table-column> <el-table-column type="index" width="40"></el-table-column>
<el-table-column sortable prop="category" label="分类" min-width="80" ></el-table-column>
<el-table-column sortable prop="key" label="业务编码" min-width="150"></el-table-column>
<el-table-column sortable prop="name" label="发布包名" min-width="300"></el-table-column>
<el-table-column sortable prop="category" label="分类" min-width="80" show-overflow-tooltip></el-table-column>
<el-table-column sortable prop="key" label="业务编码" min-width="150" show-overflow-tooltip></el-table-column>
<el-table-column sortable prop="name" label="发布包名" min-width="300" show-overflow-tooltip></el-table-column>
<el-table-column <el-table-column
sortable sortable
prop="deployTime" prop="deployTime"
label="发布时间" label="发布时间"
min-width="80" min-width="80"
show-overflow-tooltip
></el-table-column> ></el-table-column>
<el-table-column label="操作" width="150" fixed="right"> <el-table-column label="操作" width="150" fixed="right">
<template slot-scope="scope"> <template slot-scope="scope">
@ -64,6 +69,7 @@
></deployment-add> ></deployment-add>
</el-dialog> </el-dialog>
</el-row> </el-row>
</el-row>
</section> </section>
</template> </template>
@ -131,7 +137,8 @@ export default {
key: "", key: "",
engineVersion: "" engineVersion: ""
}, },
categorys: []
categorys: [],
tableHeight:300,
/**begin 自定义属性请在下面加 请加备注**/ /**begin 自定义属性请在下面加 请加备注**/
/**end 自定义属性请在上面加 请加备注**/ /**end 自定义属性请在上面加 请加备注**/
@ -374,6 +381,10 @@ export default {
this.categorys = res.data.data; this.categorys = res.data.data;
}); });
this.$nextTick(() => { this.$nextTick(() => {
var clientRect=this.$refs.table.$el.getBoundingClientRect();
var subHeight=70/1000 * window.innerHeight;
this.tableHeight = window.innerHeight -clientRect.y - this.$refs.table.$el.offsetTop-subHeight;
this.getDeployments(); this.getDeployments();
}); });
} }

38
src/views/mdp/workflow/re/procdef/ProcdefListForBizStart.vue

@ -27,7 +27,6 @@
}, },
data() { data() {
return { return {
paramsStr:'',
filters: { filters: {
params:{ params:{
@ -52,23 +51,19 @@
methods: { methods: {
closeTab(){ closeTab(){
var key="ProcdefListForBizStart"
this.$store.dispatch('delVisitedViews', this.$route) this.$store.dispatch('delVisitedViews', this.$route)
localStorage.removeItem(key)
this.$router.back(-1); this.$router.back(-1);
}
},//end methods
components: {
//
}, },
activated:function(){
dataInit(){
this.$nextTick(()=>{
var key="ProcdefListForBizStart"
if(this.$route.query && this.$route.query.params){ if(this.$route.query && this.$route.query.params){
let paramsJsonStr=this.$route.query.params; let paramsJsonStr=this.$route.query.params;
this.paramsStr=paramsJsonStr;
let params= JSON.parse(decodeURIComponent(paramsJsonStr)) let params= JSON.parse(decodeURIComponent(paramsJsonStr))
this.filters.params=params; this.filters.params=params;
localStorage.setItem(key,JSON.stringify(params))
/** /**
let extVars={formDataIds:[row.id],formId:row.formId} let extVars={formDataIds:[row.id],formId:row.formId}
let jsonExtVars=JSON.stringify(extVars); let jsonExtVars=JSON.stringify(extVars);
@ -82,11 +77,30 @@
this.$router.push({path:'/mdp/workflow/ru/execution/ExecutionMngForFormData',query:{params:jsonParmas}}); this.$router.push({path:'/mdp/workflow/ru/execution/ExecutionMngForFormData',query:{params:jsonParmas}});
*/ */
}else if(this.$route.params){
}else if(this.$route.params && this.$route.params.mainTitle){
this.filters.params=this.$route.params; this.filters.params=this.$route.params;
var paramsJsonStr=JSON.stringify(this.$route.params);
localStorage.setItem(key,paramsJsonStr)
}else{
var paramsJsonStr=localStorage.getItem(key);
if(paramsJsonStr){
this.filters.params=JSON.parse(paramsJsonStr);
}
} }
})
}
},//end methods
components: {
//
},
activated:function(){
this.dataInit();
}, },
mounted() { mounted() {
this.dataInit();
} }
} }

85
src/views/mdp/workflow/re/procdef/ProcdefListForParames.vue

@ -1,51 +1,7 @@
<template> <template>
<section> <section>
<sticky :className="'sub-navbar draft'">
<el-input v-model="filters.key" style="width:20%;" placeholder="模糊查询"></el-input>
<el-select v-model="filters.procCategory" clearable filterable placeholder="请选择分类">
<el-option v-for="item in categorys" :key="item" :label="item" :value="item"></el-option>
</el-select>
<el-button type="primary" v-on:click="searchProcdefs">查询</el-button>
<el-button type="primary" @click="handleDownload">导出数据</el-button>
<el-button @click.native="showTagSelect(false)">标签查找</el-button>
<el-button @click.native="showTagSelect(true)">打标签</el-button>
</sticky>
<el-row class="filters-show">
<font class="filters-label">已选条件:</font>
<el-tag
v-if="filters.tags"
:key="tag.tagId"
v-for="tag in filters.tags"
:type="''"
closable
:disable-transitions="false"
@close="handleFiltersTagClose(tag,'tags')"
>{{tag.tagName}}</el-tag>
<el-tag
v-if="filters.categoryTreeNodes"
:key="tag.id"
v-for="tag in filters.categoryTreeNodes"
:type="'info'"
closable
:disable-transitions="false"
@close="handleFiltersTagClose(tag,'categoryTreeNodes')"
>{{tag.name}}</el-tag>
<el-tag
v-if="filters.procCategory"
:type="'dangger'"
closable
:disable-transitions="false"
@close="handleFiltersTagClose('','procCategory')"
>{{filters.procCategory}}</el-tag>
<el-tag
v-if="filters.key"
:type="'success'"
closable
:disable-transitions="false"
@close="handleFiltersTagClose('','key')"
>{{filters.key}}</el-tag>
</el-row>
<el-row class="app-container"> <el-row class="app-container">
<el-row>
<el-col :xs="4" :sm="4" :md="4" :lg="4" :xl="4" class="hidden-sm-and-down"> <el-col :xs="4" :sm="4" :md="4" :lg="4" :xl="4" class="hidden-sm-and-down">
<category-tree <category-tree
ref="categoryTree" ref="categoryTree"
@ -58,8 +14,24 @@
></category-tree> ></category-tree>
</el-col> </el-col>
<el-col :xs="24" :sm="24" :md="20" :lg="20" :xl="20"> <el-col :xs="24" :sm="24" :md="20" :lg="20" :xl="20">
<el-row>
<el-select v-model="filters.procCategory" clearable filterable placeholder="请选择分类">
<el-option v-for="item in categorys" :key="item" :label="item" :value="item"></el-option>
</el-select>
<el-button @click.native="showTagSelect(false)">标签</el-button>
<el-input v-model="filters.key" style="width:20%;" placeholder="模糊查询">
<template slot="append">
<el-button type="primary" v-on:click="searchProcdefs" icon="el-icon-search">查询</el-button>
</template>
</el-input>
<el-button type="primary" @click="handleDownload" icon="el-icon-download">导出数据</el-button>
<el-button @click.native="showTagSelect(true)">打标签</el-button>
</el-row>
<el-row style="padding-top:10px;">
<!--列表 Procdef act_re_procdef--> <!--列表 Procdef act_re_procdef-->
<el-table <el-table
ref="table" :max-height="tableHeight"
:data="procdefs" :data="procdefs"
highlight-current-row highlight-current-row
v-loading="listLoading" v-loading="listLoading"
@ -70,14 +42,14 @@
> >
<el-table-column type="selection" width="40"></el-table-column> <el-table-column type="selection" width="40"></el-table-column>
<el-table-column type="index" width="40"></el-table-column> <el-table-column type="index" width="40"></el-table-column>
<el-table-column sortable prop="category" label="分类" min-width="80" ></el-table-column>
<el-table-column sortable prop="name" label="流程(点击进入参数设置)" min-width="300" >
<el-table-column sortable prop="category" label="分类" min-width="80" show-overflow-tooltip></el-table-column>
<el-table-column sortable prop="name" label="流程(点击进入参数设置)" min-width="200" show-overflow-tooltip>
<template slot-scope="scope"> <template slot-scope="scope">
<el-link type="primary" @click="showProcdefParamesSet( scope.row,scope.$index)">{{scope.row.name}} </el-link> <el-link type="primary" @click="showProcdefParamesSet( scope.row,scope.$index)">{{scope.row.name}} </el-link>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column sortable prop="version" label="版本" min-width="80" ></el-table-column>
<el-table-column sortable prop="tagNames" label="标签" min-width="80" >
<el-table-column sortable prop="version" label="版本" min-width="80" show-overflow-tooltip></el-table-column>
<el-table-column sortable prop="tagNames" label="标签" min-width="80" show-overflow-tooltip>
<template slot-scope="scope"> <template slot-scope="scope">
<el-tag <el-tag
v-for="(tagName,index) in (scope.row.tagNames?scope.row.tagNames.split(','):[])" v-for="(tagName,index) in (scope.row.tagNames?scope.row.tagNames.split(','):[])"
@ -93,7 +65,7 @@
:formatter="formatterSuspensionState" :formatter="formatterSuspensionState"
></el-table-column> ></el-table-column>
<el-table-column sortable prop="key" label="模型编码" min-width="180" ></el-table-column>
<el-table-column sortable prop="key" label="模型编码" min-width="180" show-overflow-tooltip></el-table-column>
<el-table-column <el-table-column
sortable sortable
prop="description" prop="description"
@ -148,8 +120,7 @@
<!--流程图界面--> <!--流程图界面-->
<el-dialog <el-dialog
title="流程参数设置" title="流程参数设置"
:visible.sync="procdefParamesVisible"
width="80%"
:visible.sync="procdefParamesVisible" append-to-body fullscreen
:close-on-click-modal="false" :close-on-click-modal="false"
> >
<procdef-parames-set <procdef-parames-set
@ -180,8 +151,10 @@
@select-confirm="onTagSelected" @select-confirm="onTagSelected"
></tag-mng> ></tag-mng>
</el-dialog> </el-dialog>
</el-row>
</el-col> </el-col>
</el-row> </el-row>
</el-row>
</section> </section>
</template> </template>
@ -256,7 +229,8 @@ export default {
categorys: [], categorys: [],
tagSelectVisible: false, tagSelectVisible: false,
isBatchSetProcTags: false, isBatchSetProcTags: false,
bizModelVisible: false
bizModelVisible: false,
tableHeight:300,
/**end 自定义属性请在上面加 请加备注**/ /**end 自定义属性请在上面加 请加备注**/
}; };
}, //end data }, //end data
@ -633,6 +607,11 @@ export default {
listCategorys({ tenantId: this.userInfo.branchId }).then(res => { listCategorys({ tenantId: this.userInfo.branchId }).then(res => {
this.categorys = res.data.data; this.categorys = res.data.data;
}); });
this.$nextTick(()=>{
var clientRect=this.$refs.table.$el.getBoundingClientRect();
var subHeight=70/1000 * window.innerHeight;
this.tableHeight = window.innerHeight -clientRect.y - this.$refs.table.$el.offsetTop-subHeight;
})
this.getProcdefs(); this.getProcdefs();
} }
}; };

30
src/views/mdp/workflow/re/procdef/ProcdefListForSimpleStart.vue

@ -1,23 +1,17 @@
<template> <template>
<section> <section>
<el-row v-if="flowStartVisible==false">
<sticky :className="'sub-navbar draft'">
<el-row v-if="flowStartVisible==false" class="app-container">
<el-row > <el-row >
<el-col :span="22">
<el-col :xs="8" :sm="8" :md="6" :lg="6" :xl="6">
<el-input v-model="filters.key" style="width:100%;" placeholder="模糊查询"></el-input>
</el-col>
<el-col :xs="8" :sm="8" :md="6" :lg="6" :xl="6">
<el-button type="primary" v-on:click="searchProcdefs">查询</el-button>
</el-col>
<el-input v-model="filters.key" style="width:30%;" placeholder="模糊查询">
<template slot="append">
<el-button type="primary" v-loading="listLoading" :disabled="listLoading" v-on:click="searchProcdefs" icon="el-icon-search">查询</el-button>
</template>
</el-input>
<el-tag type="info" v-if="this.procdefs.length==0">如果没有找到流程请将业务编码{{this.filters.params.bizKey}}与流程进行关联</el-tag> <el-tag type="info" v-if="this.procdefs.length==0">如果没有找到流程请将业务编码{{this.filters.params.bizKey}}与流程进行关联</el-tag>
</el-col>
</el-row> </el-row>
</sticky>
<el-row class="app-container">
<el-col :xs="24" :sm="24" :md="21" :lg="21" :xl="21">
<el-row style="padding-top:10px;">
<!--列表 Procdef act_re_procdef--> <!--列表 Procdef act_re_procdef-->
<el-table ref="procdefsTable" :data="procdefs" highlight-current-row v-loading="listLoading" border @selection-change="selsChange" @row-click="rowClick" style="width: 100%;">
<el-table ref="procdefsTable" :max-height="tableHeight" :data="procdefs" highlight-current-row v-loading="listLoading" border @selection-change="selsChange" @row-click="rowClick" style="width: 100%;">
<el-table-column type="selection" width="40"></el-table-column> <el-table-column type="selection" width="40"></el-table-column>
<el-table-column type="index" width="40"></el-table-column> <el-table-column type="index" width="40"></el-table-column>
<el-table-column sortable prop="category" label="分类" min-width="80" ></el-table-column> <el-table-column sortable prop="category" label="分类" min-width="80" ></el-table-column>
@ -42,7 +36,6 @@
<el-pagination layout="total, sizes, prev, pager, next" @current-change="handleCurrentChange" @size-change="handleSizeChange" :page-sizes="[10,20, 50, 100, 500]" :current-page="pageInfo.pageNum" :page-size="pageInfo.pageSize" :total="pageInfo.total" style="float:right;"> <el-pagination layout="total, sizes, prev, pager, next" @current-change="handleCurrentChange" @size-change="handleSizeChange" :page-sizes="[10,20, 50, 100, 500]" :current-page="pageInfo.pageNum" :page-size="pageInfo.pageSize" :total="pageInfo.total" style="float:right;">
</el-pagination> </el-pagination>
</el-col>
<!--流程图界面--> <!--流程图界面-->
<el-dialog title="流程图" :visible.sync="diagramVisible" width="80%" :close-on-click-modal="false"> <el-dialog title="流程图" :visible.sync="diagramVisible" width="80%" :close-on-click-modal="false">
@ -141,6 +134,7 @@
categorys:[], categorys:[],
tagSelectVisible:false, tagSelectVisible:false,
isBatchSetProcTags:false, isBatchSetProcTags:false,
tableHeight:300,
/**end 自定义属性请在上面加 请加备注**/ /**end 自定义属性请在上面加 请加备注**/
} }
},//end data },//end data
@ -299,6 +293,12 @@
this.filters.params=this.params; this.filters.params=this.params;
this.searchProcdefs(); this.searchProcdefs();
} }
this.$nextTick(()=>{
var clientRect=this.$refs.procdefsTable.$el.getBoundingClientRect();
var subHeight=70/1000 * window.innerHeight;
this.tableHeight = window.innerHeight -clientRect.y - this.$refs.procdefsTable.$el.offsetTop-subHeight;
})
} }

100
src/views/mdp/workflow/re/procdef/ProcdefListForStart.vue

@ -1,37 +1,41 @@
<template> <template>
<section> <section>
<sticky :className="'sub-navbar draft'">
<el-row>
<el-col :span="22">
<el-col :xs="8" :sm="8" :md="6" :lg="6" :xl="6">
<el-input v-model="filters.key" style="width:100%;" placeholder="模糊查询"></el-input>
<el-row class="app-container">
<el-col :xs="4" :sm="4" :md="3" :lg="3" :xl="3" class="hidden-sm-and-down">
<category-tree
ref="categoryTree"
multiple
:expandOnClickNode="false"
:defaultExpandAll="true"
show-checkbox
:current-key="addForm.categoryId"
v-on:check-change="handleCategoryCheckChange"
></category-tree>
</el-col> </el-col>
<el-col :xs="8" :sm="8" :md="6" :lg="6" :xl="6">
<el-col :xs="24" :sm="24" :md="21" :lg="21" :xl="21">
<el-row>
<el-select <el-select
v-model="filters.procCategory" v-model="filters.procCategory"
style="width:100%;'"
clearable clearable
filterable filterable
placeholder="请选择分类" placeholder="请选择分类"
> >
<el-option v-for="item in categorys" :key="item" :label="item" :value="item"></el-option> <el-option v-for="item in categorys" :key="item" :label="item" :value="item"></el-option>
</el-select> </el-select>
</el-col>
<el-col :xs="8" :sm="8" :md="6" :lg="6" :xl="6">
<el-button type="primary" v-on:click="searchProcdefs">查询</el-button>
<el-input v-model="filters.key" style="width:20%;" placeholder="模糊查询">
<template slot="append">
<el-button type="primary" v-on:click="searchProcdefs" icon="el-icon-search">查询</el-button>
</template>
</el-input>
<el-button @click.native="showTagSelect(false)">标签查找</el-button> <el-button @click.native="showTagSelect(false)">标签查找</el-button>
<el-button @click.native="showTagSelect(true)">打标签</el-button> <el-button @click.native="showTagSelect(true)">打标签</el-button>
</el-col>
</el-col>
<el-col :span="2">
<el-button @click="drawer = true" type="text">更多</el-button> <el-button @click="drawer = true" type="text">更多</el-button>
<el-drawer title="更多查询条件" :visible.sync="drawer" :with-header="false" append-to-body> <el-drawer title="更多查询条件" :visible.sync="drawer" :with-header="false" append-to-body>
<el-button @click.native="showTagSelect(false)">标签查找</el-button> <el-button @click.native="showTagSelect(false)">标签查找</el-button>
<el-button @click.native="showTagSelect(true)">打标签</el-button> <el-button @click.native="showTagSelect(true)">打标签</el-button>
<el-button type="primary" @click="handleDownload">导出数据</el-button>
<el-button type="primary" @click="handleDownload" icon="el-icon-download">导出数据</el-button>
<category-tree <category-tree
class="hidden-md-and-up" class="hidden-md-and-up"
ref="categoryTree" ref="categoryTree"
@ -43,61 +47,11 @@
v-on:check-change="handleCategoryCheckChange" v-on:check-change="handleCategoryCheckChange"
></category-tree> ></category-tree>
</el-drawer> </el-drawer>
</el-col>
</el-row>
</sticky>
<el-row class="filters-show">
<font class="filters-label">已选条件:</font>
<el-tag
v-if="filters.tags"
:key="tag.tagId"
v-for="tag in filters.tags"
:type="''"
closable
:disable-transitions="false"
@close="handleFiltersTagClose(tag,'tags')"
>{{tag.tagName}}</el-tag>
<el-tag
v-if="filters.categoryTreeNodes"
:key="tag.id"
v-for="tag in filters.categoryTreeNodes"
:type="'info'"
closable
:disable-transitions="false"
@close="handleFiltersTagClose(tag,'categoryTreeNodes')"
>{{tag.name}}</el-tag>
<el-tag
v-if="filters.procCategory"
:type="'dangger'"
closable
:disable-transitions="false"
@close="handleFiltersTagClose('','procCategory')"
>{{filters.procCategory}}</el-tag>
<el-tag
v-if="filters.key"
:type="'success'"
closable
:disable-transitions="false"
@close="handleFiltersTagClose('','key')"
>{{filters.key}}</el-tag>
</el-row> </el-row>
<el-row class="app-container">
<el-col :xs="4" :sm="4" :md="3" :lg="3" :xl="3" class="hidden-sm-and-down">
<category-tree
ref="categoryTree"
multiple
:expandOnClickNode="false"
:defaultExpandAll="true"
show-checkbox
:current-key="addForm.categoryId"
v-on:check-change="handleCategoryCheckChange"
></category-tree>
</el-col>
<el-col :xs="24" :sm="24" :md="21" :lg="21" :xl="21">
<el-row style="padding-top:10px;">
<!--列表 Procdef act_re_procdef--> <!--列表 Procdef act_re_procdef-->
<el-table <el-table
ref="procdefsTable"
ref="procdefsTable" :max-height="tableHeight"
:data="procdefs" :data="procdefs"
highlight-current-row highlight-current-row
v-loading="listLoading" v-loading="listLoading"
@ -167,8 +121,6 @@
:total="pageInfo.total" :total="pageInfo.total"
style="float:right;" style="float:right;"
></el-pagination> ></el-pagination>
</el-col>
<!--流程图界面--> <!--流程图界面-->
<el-dialog <el-dialog
title="流程图" title="流程图"
@ -208,6 +160,8 @@
></tag-mng> ></tag-mng>
</el-dialog> </el-dialog>
</el-row> </el-row>
</el-col>
</el-row>
</section> </section>
</template> </template>
@ -301,7 +255,8 @@ export default {
flowStartVisible: false, // flowStartVisible: false, //
categorys: [], categorys: [],
tagSelectVisible: false, tagSelectVisible: false,
isBatchSetProcTags: false
isBatchSetProcTags: false,
tableHeight:300,
/**end 自定义属性请在上面加 请加备注**/ /**end 自定义属性请在上面加 请加备注**/
}; };
}, //end data }, //end data
@ -693,6 +648,11 @@ export default {
this.filters.params = this.params; this.filters.params = this.params;
} }
this.$nextTick(()=>{
var clientRect=this.$refs.procdefsTable.$el.getBoundingClientRect();
var subHeight=70/1000 * window.innerHeight;
this.tableHeight = window.innerHeight -clientRect.y - this.$refs.procdefsTable.$el.offsetTop-subHeight;
})
this.searchProcdefs(); this.searchProcdefs();
listCategorys({ tenantId: this.userInfo.branchId }).then(res => { listCategorys({ tenantId: this.userInfo.branchId }).then(res => {
this.categorys = res.data.data; this.categorys = res.data.data;

19
src/views/mdp/workflow/re/procdef/ProcdefMng.vue

@ -1,7 +1,11 @@
<template> <template>
<section> <section>
<sticky :className="'sub-navbar draft'">
<el-input v-model="filters.key" style="width:20%;" placeholder="模糊查询"></el-input>
<el-row class="app-container">
<el-input v-model="filters.key" style="width:20%;" placeholder="模糊查询">
<template slot="append">
<el-button type="primary" v-on:click="searchProcdefs" icon="el-icon-search">查询</el-button>
</template>
</el-input>
<el-select v-model="filters.procCategory" clearable filterable placeholder="请选择分类"> <el-select v-model="filters.procCategory" clearable filterable placeholder="请选择分类">
<el-option <el-option
v-for="item in categorys" v-for="item in categorys"
@ -10,10 +14,9 @@
:value="item"> :value="item">
</el-option> </el-option>
</el-select> </el-select>
<el-button type="primary" v-on:click="searchProcdefs">查询</el-button>
<el-button @click.native="showTagSelect(false)" >标签查找</el-button> <el-button @click.native="showTagSelect(false)" >标签查找</el-button>
<el-button @click.native="showTagSelect(true)" >打标签</el-button> <el-button @click.native="showTagSelect(true)" >打标签</el-button>
</sticky>
</el-row>
<el-row class="filters-show"> <el-row class="filters-show">
<font class="filters-label">已选条件:</font> <font class="filters-label">已选条件:</font>
<el-tag v-if="filters.tags" <el-tag v-if="filters.tags"
@ -57,7 +60,7 @@
<el-col :xs="24" :sm="24" :md="20" :lg="20" :xl="20"> <el-col :xs="24" :sm="24" :md="20" :lg="20" :xl="20">
<!--列表 Procdef act_re_procdef--> <!--列表 Procdef act_re_procdef-->
<el-table :data="procdefs" highlight-current-row v-loading="listLoading" border @selection-change="selsChange" @row-click="rowClick" style="width: 100%;">
<el-table ref="table" :max-height="tableHeight" :data="procdefs" highlight-current-row v-loading="listLoading" border @selection-change="selsChange" @row-click="rowClick" style="width: 100%;">
<el-table-column type="selection" width="40"></el-table-column> <el-table-column type="selection" width="40"></el-table-column>
<el-table-column type="index" width="40"></el-table-column> <el-table-column type="index" width="40"></el-table-column>
<el-table-column prop="category" label="分类" min-width="80" ></el-table-column> <el-table-column prop="category" label="分类" min-width="80" ></el-table-column>
@ -152,6 +155,7 @@
categorys:[], categorys:[],
tagSelectVisible:false, tagSelectVisible:false,
isBatchSetProcTags:false, isBatchSetProcTags:false,
tableHeight:300,
/**end 自定义属性请在上面加 请加备注**/ /**end 自定义属性请在上面加 请加备注**/
} }
},//end data },//end data
@ -400,6 +404,11 @@
}, },
mounted() { mounted() {
this.$nextTick(()=>{
var clientRect=this.$refs.table.$el.getBoundingClientRect();
var subHeight=70/1000 * window.innerHeight;
this.tableHeight = window.innerHeight -clientRect.y - this.$refs.table.$el.offsetTop-subHeight;
})
listCategorys({tenantId:this.userInfo.branchId}).then(res=>{ listCategorys({tenantId:this.userInfo.branchId}).then(res=>{
this.categorys=res.data.data this.categorys=res.data.data
}) })

98
src/views/mdp/workflow/re/procdef/ProcdefSuspend.vue

@ -1,51 +1,5 @@
<template> <template>
<section> <section>
<sticky :className="'sub-navbar draft'">
<el-input v-model="filters.key" style="width:20%;" placeholder="模糊查询"></el-input>
<el-select v-model="filters.procCategory" clearable filterable placeholder="请选择分类">
<el-option v-for="item in categorys" :key="item" :label="item" :value="item"></el-option>
</el-select>
<el-button type="primary" v-on:click="searchProcdefs">查询</el-button>
<el-button type="primary" @click="handleDownload">导出数据</el-button>
<el-button @click.native="showTagSelect(false)">标签查找</el-button>
<el-button @click.native="showTagSelect(true)">打标签</el-button>
</sticky>
<el-row class="filters-show">
<font class="filters-label">已选条件:</font>
<el-tag
v-if="filters.tags"
:key="tag.tagId"
v-for="tag in filters.tags"
:type="''"
closable
:disable-transitions="false"
@close="handleFiltersTagClose(tag,'tags')"
>{{tag.tagName}}</el-tag>
<el-tag
v-if="filters.categoryTreeNodes"
:key="tag.id"
v-for="tag in filters.categoryTreeNodes"
:type="'info'"
closable
:disable-transitions="false"
@close="handleFiltersTagClose(tag,'categoryTreeNodes')"
>{{tag.name}}</el-tag>
<el-tag
v-if="filters.procCategory"
:type="'dangger'"
closable
:disable-transitions="false"
@close="handleFiltersTagClose('','procCategory')"
>{{filters.procCategory}}</el-tag>
<el-tag
v-if="filters.key"
:type="'success'"
closable
:disable-transitions="false"
@close="handleFiltersTagClose('','key')"
>{{filters.key}}</el-tag>
</el-row>
<el-row class="app-container"> <el-row class="app-container">
<el-col :xs="4" :sm="4" :md="4" :lg="4" :xl="4" class="hidden-sm-and-down"> <el-col :xs="4" :sm="4" :md="4" :lg="4" :xl="4" class="hidden-sm-and-down">
<category-tree <category-tree
@ -59,8 +13,23 @@
></category-tree> ></category-tree>
</el-col> </el-col>
<el-col :xs="24" :sm="24" :md="20" :lg="20" :xl="20"> <el-col :xs="24" :sm="24" :md="20" :lg="20" :xl="20">
<el-row>
<el-select v-model="filters.procCategory" clearable filterable placeholder="请选择分类">
<el-option v-for="item in categorys" :key="item" :label="item" :value="item"></el-option>
</el-select>
<el-button @click.native="showTagSelect(false)">标签查找</el-button>
<el-input v-model="filters.key" style="width:20%;" placeholder="模糊查询">
<template slot="append">
<el-button type="primary" v-on:click="searchProcdefs" icon="el-icon-search">查询</el-button>
</template>
</el-input>
<el-button type="primary" @click="handleDownload" icon="el-icon-download">导出数据</el-button>
<el-button @click.native="showTagSelect(true)">打标签</el-button>
</el-row>
<!--列表 Procdef act_re_procdef--> <!--列表 Procdef act_re_procdef-->
<el-row style="padding-top:10px;">
<el-table <el-table
ref="table" :max-height="tableHeight"
:data="procdefs" :data="procdefs"
highlight-current-row highlight-current-row
v-loading="listLoading" v-loading="listLoading"
@ -71,18 +40,18 @@
> >
<el-table-column type="selection" width="40"></el-table-column> <el-table-column type="selection" width="40"></el-table-column>
<el-table-column type="index" width="40"></el-table-column> <el-table-column type="index" width="40"></el-table-column>
<el-table-column sortable prop="category" label="分类" min-width="80" ></el-table-column>
<el-table-column sortable prop="name" label="模型名称" min-width="80" ></el-table-column>
<el-table-column sortable prop="category" label="分类" min-width="100" show-overflow-tooltip></el-table-column>
<el-table-column sortable prop="name" label="模型名称" min-width="150" show-overflow-tooltip></el-table-column>
<el-table-column <el-table-column
sortable sortable
prop="suspensionState" prop="suspensionState"
label="状态" label="状态"
min-width="80" min-width="80"
show-overflow-tooltip
:formatter="formatterSuspensionState" :formatter="formatterSuspensionState"
></el-table-column> ></el-table-column>
<el-table-column prop="tagNames" label="标签" min-width="80" >
<el-table-column prop="tagNames" label="标签" min-width="80" show-overflow-tooltip>
<template slot-scope="scope"> <template slot-scope="scope">
<el-tag <el-tag
v-for="tagName in (scope.row.tagNames?scope.row.tagNames.split(','):[])" v-for="tagName in (scope.row.tagNames?scope.row.tagNames.split(','):[])"
@ -90,37 +59,30 @@
>{{tagName}}</el-tag> >{{tagName}}</el-tag>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column sortable prop="key" label="业务编码" min-width="80" ></el-table-column>
<el-table-column sortable prop="version" label="版本" min-width="80" ></el-table-column>
<el-table-column sortable prop="key" label="业务编码" min-width="80" show-overflow-tooltip></el-table-column>
<el-table-column sortable prop="version" label="版本" min-width="80" show-overflow-tooltip></el-table-column>
<el-table-column <el-table-column
sortable sortable
prop="deploymentId" prop="deploymentId"
label="部署编号" label="部署编号"
min-width="80" min-width="80"
show-overflow-tooltip
></el-table-column> ></el-table-column>
<el-table-column <el-table-column
sortable sortable
prop="resourceName" prop="resourceName"
label="模型文件名称" label="模型文件名称"
min-width="80" min-width="80"
></el-table-column>
<el-table-column
sortable
prop="dgrmResourceName"
label="图片名称"
min-width="80"
show-overflow-tooltip
></el-table-column> ></el-table-column>
<el-table-column <el-table-column
sortable sortable
prop="description" prop="description"
label="描述" label="描述"
min-width="80" min-width="80"
show-overflow-tooltip
></el-table-column> ></el-table-column>
<el-table-column label="操作" min-width="150" fixed="right" >
<el-table-column label="操作" width="200" fixed="right" >
<template slot-scope="scope"> <template slot-scope="scope">
<el-button @click="showDiagram( scope.row,scope.$index)">流程图</el-button> <el-button @click="showDiagram( scope.row,scope.$index)">流程图</el-button>
<el-button <el-button
@ -169,6 +131,7 @@
@select-confirm="onTagSelected" @select-confirm="onTagSelected"
></tag-mng> ></tag-mng>
</el-dialog> </el-dialog>
</el-row>
</el-col> </el-col>
</el-row> </el-row>
</section> </section>
@ -242,7 +205,8 @@ export default {
diagramUrl: "", // diagramUrl: "", //
categorys: [], categorys: [],
tagSelectVisible: false, tagSelectVisible: false,
isBatchSetProcTags: false
isBatchSetProcTags: false,
tableHeight:300,
/**end 自定义属性请在上面加 请加备注**/ /**end 自定义属性请在上面加 请加备注**/
}; };
}, //end data }, //end data
@ -616,6 +580,12 @@ export default {
listCategorys({ tenantId: this.userInfo.branchId }).then(res => { listCategorys({ tenantId: this.userInfo.branchId }).then(res => {
this.categorys = res.data.data; this.categorys = res.data.data;
}); });
this.$nextTick(()=>{
var clientRect=this.$refs.table.$el.getBoundingClientRect();
var subHeight=70/1000 * window.innerHeight;
this.tableHeight = window.innerHeight -clientRect.y - this.$refs.table.$el.offsetTop-subHeight;
})
this.getProcdefs(); this.getProcdefs();
} }
}; };

18
src/views/mdp/workflow/re/procdefParames/ProcdefParamesSet.vue

@ -100,6 +100,7 @@
{{showAssigneeTips(scope.row)}} {{showAssigneeTips(scope.row)}}
<el-button round v-if="scope.row.candidate=='1'" type="warning" @click.native="showCandidateSelectDialog(scope.row,'')" :loading="addLoading">选候选人</el-button> <el-button round v-if="scope.row.candidate=='1'" type="warning" @click.native="showCandidateSelectDialog(scope.row,'')" :loading="addLoading">选候选人</el-button>
<el-button round v-if="scope.row.candidate!='1' " type="success" @click.native="showUserSelectDialog(scope.row,'')" :loading="addLoading">选人员</el-button> <el-button round v-if="scope.row.candidate!='1' " type="success" @click.native="showUserSelectDialog(scope.row,'')" :loading="addLoading">选人员</el-button>
<el-button round v-if="scope.row.toCreater!='1'" type="primary" @click.native="setAssigneeAsStartUser(scope.row)">转发起人</el-button>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@ -466,6 +467,7 @@
this.actSelected.nodeUsers=actAssignee.nodeUsers; this.actSelected.nodeUsers=actAssignee.nodeUsers;
this.actSelected.groupIds=actAssignee.groupIds this.actSelected.groupIds=actAssignee.groupIds
this.actSelected.toCreater='0'
}, },
onUserSelected:function(users){ onUserSelected:function(users){
@ -477,6 +479,7 @@
} }
}) })
this.actSelected.nodeUsers=users this.actSelected.nodeUsers=users
this.actSelected.toCreater='0'
}, },
onTagSelected:function(tags){ onTagSelected:function(tags){
@ -528,7 +531,9 @@
}, },
showAssigneeTips(actAssignee){ showAssigneeTips(actAssignee){
var tips=[]; var tips=[];
if(actAssignee.candidate=='1'){
if(actAssignee.toCreater=='1'){
tips.push("流程发起人作为执行人")
} else if(actAssignee.candidate=='1'){
if(actAssignee.nodeUsers){ if(actAssignee.nodeUsers){
var userCount=actAssignee.nodeUsers.length; var userCount=actAssignee.nodeUsers.length;
tips.push(userCount+"个候选用户"); tips.push(userCount+"个候选用户");
@ -689,6 +694,17 @@
showNodeForm:function(nodeInfo){ showNodeForm:function(nodeInfo){
this.actSelected=nodeInfo this.actSelected=nodeInfo
this.nodeFormVisible=true this.nodeFormVisible=true
},
setAssigneeAsStartUser(nodeInfo){
if(nodeInfo.allowOverUser=='0'){
this.$message.error("该节点不允许改变执行人")
return ;
}
this.actSelected=nodeInfo
this.actSelected.toCreater='1'
this.actSelected.candidate='0'
this.actSelected.showNextAssignees='0'
} }
},//end method },//end method
components: { components: {

19
src/views/mdp/workflow/re/procdefParamesTemplate/ProcdefParamesTemplateMng.vue

@ -1,12 +1,15 @@
<template> <template>
<section> <section>
<sticky :className="'sub-navbar draft'">
<el-input v-model="filters.key" style="width: 20%;" placeholder="模糊查询"></el-input>
<el-button type="primary" v-loading="load.list" :disabled="load.list==true" v-on:click="searchProcdefParamesTemplates">查询</el-button>
</sticky>
<el-row class="app-container">
<el-input v-model="filters.key" style="width: 20%;" placeholder="模糊查询">
<template slot="append">
<el-button type="primary" v-on:click="searchProcdefParamesTemplates" icon="el-icon-search">查询</el-button>
</template>
</el-input>
</el-row>
<el-row class="app-container"> <el-row class="app-container">
<!--列表 ProcdefParamesTemplate mdp_re_procdef_parames_template--> <!--列表 ProcdefParamesTemplate mdp_re_procdef_parames_template-->
<el-table :data="procdefParamesTemplates" highlight-current-row v-loading="load.list" border @selection-change="selsChange" @row-click="rowClick" style="width: 100%;">
<el-table ref="table" :max-height="tableHeight" :data="procdefParamesTemplates" highlight-current-row v-loading="load.list" border @selection-change="selsChange" @row-click="rowClick" style="width: 100%;">
<el-table-column type="index" width="40"></el-table-column> <el-table-column type="index" width="40"></el-table-column>
<el-table-column sortable prop="mainTitle" label="流程标题" min-width="150" ></el-table-column> <el-table-column sortable prop="mainTitle" label="流程标题" min-width="150" ></el-table-column>
@ -82,7 +85,8 @@
//procdefParamesTemplate //procdefParamesTemplate
editForm: { editForm: {
id:'',isRefForm:'',monitors:'',sponsors:'',formId:'',procDefId:'',userid:'',lastDate:'',mainContext:'',mainTitle:'',bizUrl:'',bizName:'',categoryId:'',branchId:'',formShowType:'',fp:'',sp:'',tp:'',pconfig:'',fo:'',fi:'',tagNames:'',tagIds:'',mainQx:'',modelKey:'' id:'',isRefForm:'',monitors:'',sponsors:'',formId:'',procDefId:'',userid:'',lastDate:'',mainContext:'',mainTitle:'',bizUrl:'',bizName:'',categoryId:'',branchId:'',formShowType:'',fp:'',sp:'',tp:'',pconfig:'',fo:'',fi:'',tagNames:'',tagIds:'',mainQx:'',modelKey:''
}
},
tableHeight:300,
/**begin 自定义属性请在下面加 请加备注**/ /**begin 自定义属性请在下面加 请加备注**/
/**end 自定义属性请在上面加 请加备注**/ /**end 自定义属性请在上面加 请加备注**/
@ -226,6 +230,9 @@
}, },
mounted() { mounted() {
this.$nextTick(() => { this.$nextTick(() => {
var clientRect=this.$refs.table.$el.getBoundingClientRect();
var subHeight=70/1000 * window.innerHeight;
this.tableHeight = window.innerHeight -clientRect.y - this.$refs.table.$el.offsetTop-subHeight;
this.getProcdefParamesTemplates(); this.getProcdefParamesTemplates();
}); });
} }

417
src/views/mdp/workflow/ru/execution/ExecutionMng.vue

@ -1,32 +1,36 @@
<template> <template>
<section> <section>
<sticky :className="'sub-navbar draft'">
<el-row>
<el-col :xs="22" :sm="22" :md="23" :lg="23" :xl="23">
<el-col :xs="8" :sm="8" :md="5" :lg="4" :xl="4">
<el-input v-model="filters.key" style="width:100%;" placeholder="模糊查询"></el-input>
<el-row class="app-container">
<el-col :xs="4" :sm="4" :md="3" :lg="3" :xl="3" class="hidden-sm-and-down">
<category-tree ref="categoryTree" multiple :expandOnClickNode="false" :defaultExpandAll="true" show-checkbox :current-key="addForm.categoryId" v-on:check-change="handleCategoryCheckChange" ></category-tree>
</el-col> </el-col>
<el-col :xs="8" :sm="8" :md="5" :lg="4" :xl="4">
<el-select v-model="filters.procCategory" style="width:99%;" clearable filterable placeholder="请选择分类">
<el-option
v-for="item in categorys"
:key="item"
:label="item"
:value="item">
</el-option>
<el-col v-if="showCalendar==false" :xs="24" :sm="24" :md="21" :lg="21" :xl="21">
<el-row>
<el-select v-model="filters.filterType" clearable placeholder="查询范围" class="hidden-md-and-down">
<el-option value="" label="全部"> </el-option>
<el-option value="startUserId" label="我发起"> </el-option>
<el-option value="partake" label="我参与"> </el-option>
<el-option value="sponsors" label="我主办"> </el-option>
<el-option value="monitors" label="我监控"> </el-option>
</el-select> </el-select>
</el-col>
<el-col :xs="8" :sm="8" :md="14" :lg="16" :xl="16">
<el-button v-on:click="searchExecutions">查询</el-button>
<el-button @click.native="showTagSelect(false)" >标签查找</el-button>
<el-button @click.native="showTagSelect(true)" >打标签</el-button>
<el-button v-if="isAll" :type="filters.allBtn?'success':''" v-on:click="searchAll">全部</el-button>
<el-button :type="filters.otherParames.startUserId?'success':''" v-on:click="searchMyStart">我发起</el-button>
<el-button :type="filters.otherParames.partake?'success':''" v-on:click="searchMyPartake">我参与</el-button>
<el-button :type="filters.otherParames.sponsors?'success':''" v-on:click="searchMySponsors">我主办</el-button>
<el-button :type="filters.otherParames.monitors?'success':''" v-on:click="searchMyMonitors">我监控</el-button>
<el-date-picker
v-model="filters.startTimeRanger" class="hidden-sm-and-down"
type="daterange"
align="right"
unlink-panels
range-separator="至"
start-placeholder="创建日期"
end-placeholder="创建日期"
value-format="yyyy-MM-dd"
:default-time="['00:00:00','23:59:59']"
:picker-options="pickerOptions">
</el-date-picker>
<el-input v-model="filters.key" style="width:20%;" placeholder="模糊查询">
<template slot="append">
<el-button v-on:click="searchExecutions" icon="el-icon-search">查询</el-button>
</template>
</el-input>
<el-popover <el-popover
placement="top" placement="top"
width="375" width="375"
@ -39,43 +43,68 @@
</div> </div>
<el-button slot="reference" class="hidden-sm-and-down" v-on:click="showWeixin">微信催办</el-button> <el-button slot="reference" class="hidden-sm-and-down" v-on:click="showWeixin">微信催办</el-button>
</el-popover> </el-popover>
<el-button class="hidden-sm-and-down" v-on:click="showSendSms">短信催办</el-button>
<el-button class="hidden-sm-and-down" v-on:click="showOaMsg">OAMSG催办</el-button>
<el-button :type="filters.otherParames.suspensionState=='2'?'success':''" v-on:click="searchSuspend">挂起的</el-button>
<el-button :type="filters.otherParames.suspensionState=='1'?'success':''" v-on:click="searchActivite">活动的</el-button>
<el-popover
title="更多查询条件"
placement="top-start"
width="400"
trigger="click">
<el-row class="more-filter-item">
<el-col :span="24">
<font class="more-label-font">
查询范围
</font>
<el-select size="mini" v-model="filters.filterType" placeholder="查询范围">
<el-option value="" label="全部"> </el-option>
<el-option value="startUserId" label="我发起"> </el-option>
<el-option value="partake" label="我参与"> </el-option>
<el-option value="sponsors" label="我主办"> </el-option>
<el-option value="monitors" label="我监控"> </el-option>
</el-select>
</el-col> </el-col>
<el-col :span="24">
<font class="more-label-font">
标签查找
</font>
<el-row v-show="filters.tags && filters.tags.length>0">
<el-tag
:key="tag.tagId"
v-for="tag in filters.tags"
:type="''"
closable
:disable-transitions="false"
@click="showTagSelect(false)"
@close="handleFiltersTagClose(tag,'tags')">
{{tag.tagName}}
</el-tag>
</el-row>
<el-button v-if="filters.tags==null || filters.tags.length==0" size="mini" @click.native="showTagSelect(false)">选择标签</el-button>
</el-col>
<el-col :span="24" >
<font class="more-label-font">
任务执行人
</font>
<el-tag v-if="filters.assignee"
:type="'success'"
closable
:disable-transitions="false"
@click="userSelectVisible=true"
@close="handleFiltersTagClose('','assignee')">
{{filters.assignee.username}}
</el-tag>
<el-button v-else size="mini" @click.native="userSelectVisible=true" >选择执行人</el-button>
</el-col> </el-col>
<el-col :span="24" >
<el-button size="mini" :type="filters.suspensionState=='2'?'success':''" v-on:click="filters.suspensionState='2'">挂起的</el-button>
<el-button size="mini" :type="filters.suspensionState=='1'?'success':''" v-on:click="filters.suspensionState='1'">活动的</el-button>
<el-col :xs="2" :sm="2" :md="1" :lg="1" :xl="1">
<el-button @click="drawer = true" type="text" >
更多
</el-button>
<el-drawer
title="更多查询条件"
:visible.sync="drawer"
:with-header="false" append-to-body>
<el-row class="more-filter-item">
<el-col :span="24" >
<el-button @click.native="showTagSelect(false)" >标签查找</el-button>
<el-button @click.native="showTagSelect(true)" >打标签</el-button>
<el-button v-if="isAll" :type="filters.allBtn?'success':''" v-on:click="searchAll">全部</el-button>
<el-button :type="filters.otherParames.startUserId?'success':''" v-on:click="searchMyStart">我发起</el-button>
<el-button :type="filters.otherParames.partake?'success':''" v-on:click="searchMyPartake">我参与</el-button>
<el-button :type="filters.otherParames.sponsors?'success':''" v-on:click="searchMySponsors">我主办</el-button>
<el-button :type="filters.otherParames.monitors?'success':''" v-on:click="searchMyMonitors">我监控</el-button>
<el-button :type="filters.otherParames.suspensionState=='2'?'success':''" v-on:click="searchSuspend">挂起的</el-button>
<el-button :type="filters.otherParames.suspensionState=='1'?'success':''" v-on:click="searchActivite">活动的</el-button>
<el-button v-on:click="showWeixinTask">微信催办</el-button>
<el-button v-on:click="showSendSms">短信催办</el-button>
<el-button v-on:click="showOaMsg">OAMSG催办</el-button>
<el-button @click.native="userSelectVisible=true" >任务执行人</el-button>
<el-button type="primary" @click="handleDownload">导出数据</el-button>
</el-col> </el-col>
<el-col :span="24"> <el-col :span="24">
开始日期<el-date-picker
<font class="more-label-font">
开始日期
</font>
<el-date-picker
v-model="filters.startTimeRanger" v-model="filters.startTimeRanger"
type="daterange" type="daterange"
align="right" align="right"
@ -89,7 +118,11 @@
</el-date-picker> </el-date-picker>
</el-col> </el-col>
<el-col :span="24"> <el-col :span="24">
计划完成<el-date-picker
<font class="more-label-font">
计划完成日期
</font>
<el-date-picker
v-model="filters.planFinishTimeRanger" v-model="filters.planFinishTimeRanger"
type="daterange" type="daterange"
align="right" align="right"
@ -102,161 +135,49 @@
:picker-options="pickerOptions"> :picker-options="pickerOptions">
</el-date-picker> </el-date-picker>
</el-col> </el-col>
<el-col :span="24"> <el-col :span="24">
<el-checkbox v-model="showCalendar">按日历风格显示</el-checkbox>
</el-col>
<category-tree class="hidden-md-and-up" ref="categoryTree" multiple :expandOnClickNode="false" :defaultExpandAll="true" show-checkbox :current-key="addForm.categoryId" v-on:check-change="handleCategoryCheckChange" ></category-tree> <category-tree class="hidden-md-and-up" ref="categoryTree" multiple :expandOnClickNode="false" :defaultExpandAll="true" show-checkbox :current-key="addForm.categoryId" v-on:check-change="handleCategoryCheckChange" ></category-tree>
</el-row>
</el-col>
<el-col :span="24">
<el-checkbox size="mini" v-model="showCalendar">按日历风格显示</el-checkbox>
<el-button size="mini" type="primary" v-on:click="searchExecutions" icon="el-icon-search">查询</el-button>
</el-col>
</el-drawer>
<el-col :span="24">
<el-divider content-position="left">其它操作</el-divider>
<el-button size="mini" @click.native="showTagSelect(true)" >给任务打标签</el-button>
<el-button size="mini" @click="handleDownload">导出数据</el-button>
<el-button size="mini" v-on:click="showWeixinTask">微信催办</el-button>
<el-button size="mini" v-on:click="showSendSms">短信催办</el-button>
<el-button size="mini" v-on:click="showOaMsg">OAMSG催办</el-button>
</el-col> </el-col>
</el-row> </el-row>
</sticky>
<el-row class="filters-show">
<font class="filters-label">已选条件:</font>
<el-date-picker
v-model="filters.startTimeRanger" class="hidden-sm-and-down"
type="daterange"
align="right"
unlink-panels
range-separator="至"
start-placeholder="创建日期"
end-placeholder="创建日期"
value-format="yyyy-MM-dd"
:default-time="['00:00:00','23:59:59']"
:picker-options="pickerOptions">
</el-date-picker>
<el-date-picker
v-model="filters.planFinishTimeRanger" class="hidden-sm-and-down"
type="daterange"
align="right"
unlink-panels
range-separator="至"
start-placeholder="计划完成日期"
end-placeholder="计划完成日期"
value-format="yyyy-MM-dd"
:default-time="['00:00:00','23:59:59']"
:picker-options="pickerOptions">
</el-date-picker>
<el-tag v-if="filters.tags"
:key="tag.tagId"
v-for="tag in filters.tags"
:type="''"
closable
:disable-transitions="false"
@close="handleFiltersTagClose(tag,'tags')">
{{tag.tagName}}
</el-tag>
<el-tag v-if="filters.categoryTreeNodes"
:key="tag.id"
v-for="tag in filters.categoryTreeNodes"
:type="'info'"
closable
:disable-transitions="false"
@close="handleFiltersTagClose(tag,'categoryTreeNodes')">
{{tag.name}}
</el-tag>
<el-tag v-if="filters.taskType=='0'"
:type="'warning'"
:disable-transitions="false" >
{{filters.taskType=='0'?'已领取':''}}
</el-tag>
<el-tag v-if="filters.taskType=='1'"
:type="'warning'"
:disable-transitions="false" >
{{filters.taskType=='1'?'待领取':''}}
</el-tag>
<el-tag v-if="filters.otherParames.partake"
:type="'warning'"
:disable-transitions="false" >
{{'我参与'}}
</el-tag>
<el-tag v-if="filters.otherParames.sponsors"
:type="'warning'"
:disable-transitions="false" >
{{'我主办'}}
</el-tag>
<el-tag v-if="filters.otherParames.monitors"
:type="'warning'"
:disable-transitions="false" >
{{'我监控'}}
</el-tag>
<el-tag v-if="filters.otherParames.suspensionState=='1'"
:type="'warning'"
:disable-transitions="false" >
{{'已激活'}}
</el-tag>
<el-tag v-if="filters.otherParames.suspensionState=='2'"
:type="'warning'"
:disable-transitions="false" >
{{'已挂起'}}
</el-tag>
<el-tag v-if="filters.otherParames.startUserId"
:type="'warning'"
:disable-transitions="false" >
{{'我发起'}}
</el-tag>
<el-tag v-if="filters.procCategory"
:type="'dangger'"
closable
:disable-transitions="false"
@close="handleFiltersTagClose('','procCategory')" >
{{filters.procCategory}}
</el-tag>
<el-tag v-if="filters.key"
:type="'success'"
closable
:disable-transitions="false"
@close="handleFiltersTagClose('','key')">
{{filters.key}}
</el-tag>
<el-tag v-if="filters.assignee"
:type="'success'"
closable
:disable-transitions="false"
@close="handleFiltersTagClose('','assignee')">
{{filters.assignee.username}}
</el-tag>
<el-tag
:type="'success'"
:disable-transitions="false"
closable
@click="handleFiltersTagClose(showCalendar,'calendar')"
@close="handleFiltersTagClose(showCalendar,'calendar')">
{{showCalendar==true?'切换列表':'切换日历'}}
</el-tag>
<el-button slot="reference" icon="el-icon-more" circle></el-button>
</el-popover>
</el-row> </el-row>
<el-row class="app-container">
<el-col :xs="4" :sm="4" :md="3" :lg="3" :xl="3" class="hidden-sm-and-down">
<category-tree ref="categoryTree" multiple :expandOnClickNode="false" :defaultExpandAll="true" show-checkbox :current-key="addForm.categoryId" v-on:check-change="handleCategoryCheckChange" ></category-tree>
</el-col>
<el-col v-if="showCalendar==false" :xs="24" :sm="24" :md="21" :lg="21" :xl="21">
<!--列表 Execution act_ru_execution--> <!--列表 Execution act_ru_execution-->
<el-table :data="executions" highlight-current-row v-loading="listLoading" border @selection-change="selsChange" @row-click="rowClick" style="width: 100%;">
<el-row style="padding-top:10px;">
<el-table ref="table" :max-height="tableHeight" :data="executions" highlight-current-row v-loading="listLoading" border @selection-change="selsChange" @row-click="rowClick" style="width: 100%;">
<el-table-column type="selection" width="40"></el-table-column> <el-table-column type="selection" width="40"></el-table-column>
<el-table-column type="index" width="40"></el-table-column> <el-table-column type="index" width="40"></el-table-column>
<el-table-column sortable prop="mainTitle" label="流程【任务】(点击详情)" min-width="300" >
<el-table-column sortable prop="mainTitle" label="流程(点击详情)" min-width="300" show-overflow-tooltip>
<template slot-scope="scope"> <template slot-scope="scope">
<el-link type="primary" @click="showTasksInfo( scope.row,scope.$index)">{{scope.row.mainTitle}}{{scope.row.taskName}}</el-link>
<el-link type="primary" @click="showTasksInfo( scope.row,scope.$index)">{{scope.row.mainTitle}}</el-link>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column sortable prop="tagNames" label="标签" min-width="100" >
<el-table-column prop="taskName" label="当前节点" min-width="100" show-overflow-tooltip>
</el-table-column>
<el-table-column sortable prop="tagNames" label="标签" min-width="100" show-overflow-tooltip>
<template slot-scope="scope"> <template slot-scope="scope">
<el-tag v-for="tagName in (scope.row.tagNames?scope.row.tagNames.split(','):[])" :key="tagName">{{tagName}}</el-tag> <el-tag v-for="tagName in (scope.row.tagNames?scope.row.tagNames.split(','):[])" :key="tagName">{{tagName}}</el-tag>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column sortable prop="assigneeName" label="执行人" width="100" ></el-table-column>
<el-table-column sortable prop="startUsername" label="发起人" width="100" ></el-table-column>
<el-table-column sortable prop="startTime" label="发起时间" width="120" ></el-table-column>
<el-table-column sortable prop="planFinishTime" label="到期时间" width="120" ></el-table-column>
<el-table-column sortable prop="startDeptName" label="发起部门" width="150" ></el-table-column>
<el-table-column sortable prop="suspensionState" label="状态" min-width="80" :formatter="formatterSuspensionState"></el-table-column>
<el-table-column sortable prop="assigneeName" label="执行人" width="100" show-overflow-tooltip></el-table-column>
<el-table-column sortable prop="startUsername" label="发起人" width="100" show-overflow-tooltip></el-table-column>
<el-table-column sortable prop="startTime" label="发起时间" width="120" show-overflow-tooltip></el-table-column>
<el-table-column sortable prop="planFinishTime" label="到期时间" width="120" show-overflow-tooltip></el-table-column>
<el-table-column sortable prop="startDeptName" label="发起部门" width="150" show-overflow-tooltip></el-table-column>
<el-table-column prop="suspensionState" label="状态" min-width="80" :formatter="formatterSuspensionState"></el-table-column>
<el-table-column label="操作" :width="screenWidth<500?80:160" fixed="right"> <el-table-column label="操作" :width="screenWidth<500?80:160" fixed="right">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button type="primary" @click="showTasksInfo( scope.row,scope.$index)">详情</el-button> <el-button type="primary" @click="showTasksInfo( scope.row,scope.$index)">详情</el-button>
@ -275,7 +196,7 @@
</el-table> </el-table>
<el-pagination layout="total, prev, next" @current-change="handleCurrentChange" @size-change="handleSizeChange" :page-sizes="[10,20, 50, 100, 500]" :current-page="pageInfo.pageNum" :page-size="pageInfo.pageSize" :total="pageInfo.total" style="float:right;"></el-pagination> <el-pagination layout="total, prev, next" @current-change="handleCurrentChange" @size-change="handleSizeChange" :page-sizes="[10,20, 50, 100, 500]" :current-page="pageInfo.pageNum" :page-size="pageInfo.pageSize" :total="pageInfo.total" style="float:right;"></el-pagination>
</el-row>
</el-col> </el-col>
<el-col v-if="showCalendar==true" :xs="24" :sm="24" :md="21" :lg="21" :xl="21"> <el-col v-if="showCalendar==true" :xs="24" :sm="24" :md="21" :lg="21" :xl="21">
@ -401,8 +322,6 @@
return { return {
filters: { filters: {
key: '', key: '',
otherParames:{},
allBtn:false,
procCategory:'', procCategory:'',
categoryTreeNodes:[], categoryTreeNodes:[],
tags:[], tags:[],
@ -410,6 +329,8 @@
planFinishTimeRanger:[], planFinishTimeRanger:[],
assignee:null,// assignee:null,//
calendarDate:util.formatDate.format(toStartTime,'yyyy-MM-dd'), calendarDate:util.formatDate.format(toStartTime,'yyyy-MM-dd'),
filterType:'',
suspensionState:'',//1/2
}, },
pickerOptions: { pickerOptions: {
shortcuts: [{ shortcuts: [{
@ -500,6 +421,7 @@
isBatchSetProcTags:false, isBatchSetProcTags:false,
userSelectVisible:false, userSelectVisible:false,
showCalendar:true, showCalendar:true,
tableHeight:300,
/**end 自定义属性请在上面加 请加备注**/ /**end 自定义属性请在上面加 请加备注**/
} }
},//end data },//end data
@ -589,8 +511,20 @@
if(this.filters.assignee!=null && this.filters.assignee.userid){ if(this.filters.assignee!=null && this.filters.assignee.userid){
params.assignee=this.filters.assignee.userid params.assignee=this.filters.assignee.userid
} }
if(this.filters.otherParames){
params=Object.assign(params,this.filters.otherParames);
if(this.filters.filterType=='startUserId'){
params.startUserId=this.userInfo.userid
}
if(this.filters.filterType=='partake'){
params.partake=this.userInfo.userid
}
if(this.filters.filterType=='sponsors'){
params.sponsors='%'+this.userInfo.userid+'%'
}
if(this.filters.filterType=='monitors'){
params.monitors='%'+this.userInfo.userid+'%'
}
if(this.filters.suspensionState){
params.suspensionState=this.filters.suspensionState
} }
params.tenantId=this.userInfo.branchId params.tenantId=this.userInfo.branchId
this.listLoading = true; this.listLoading = true;
@ -716,66 +650,6 @@
}, },
/**begin 自定义函数请在下面加**/ /**begin 自定义函数请在下面加**/
searchMyPartake(){
this.pageInfo.pageNum=1;
this.pageInfo.total=0;
this.pageInfo.count=true;
this.filters.allBtn=false;
this.filters.otherParames={partake: this.userInfo.userid};
this.getExecutions();
},
searchMyStart(){
this.pageInfo.pageNum=1;
this.pageInfo.total=0;
this.pageInfo.count=true;
this.filters.allBtn=false;
this.filters.otherParames={startUserId: this.userInfo.userid};
this.getExecutions();
},
searchMySponsors(){
this.pageInfo.pageNum=1;
this.pageInfo.total=0;
this.pageInfo.count=true;
this.filters.allBtn=false;
this.filters.otherParames={sponsors:'%'+this.userInfo.userid+'%'};
this.getExecutions();
},
searchMyMonitors(){
this.pageInfo.pageNum=1;
this.pageInfo.total=0;
this.pageInfo.count=true;
this.filters.allBtn=false;
this.filters.otherParames={monitors:'%'+this.userInfo.userid+'%'};
this.getExecutions();
},
searchActivite(){
this.pageInfo.pageNum=1;
this.pageInfo.total=0;
this.pageInfo.count=true;
this.filters.allBtn=false;
this.filters.otherParames=Object.assign(this.filters.otherParames,{suspensionState:1});
this.getExecutions();
},
searchSuspend(){
this.pageInfo.pageNum=1;
this.pageInfo.total=0;
this.pageInfo.count=true;
this.filters.allBtn=false;
this.filters.otherParames=Object.assign(this.filters.otherParames,{suspensionState:2});
this.getExecutions();
} ,
searchAll(){
this.pageInfo.pageNum=1;
this.pageInfo.total=0;
this.pageInfo.count=true;
this.filters.allBtn=true;
if(this.isMyStart||this.isMyMonitors||this.isMySponsors||this.isMyPartake){
this.filters.otherParames=Object.assign(this.filters.otherParames,{suspensionState:null});
}else{
this.filters.otherParames={};
}
this.searchExecutions();
} ,
handleFiltersTagClose:function(tag,paramsName){ handleFiltersTagClose:function(tag,paramsName){
if(paramsName=='key'){ if(paramsName=='key'){
this.filters.key=null; this.filters.key=null;
@ -1212,17 +1086,27 @@
this.showCalendar=false; this.showCalendar=false;
} }
this.$nextTick(() => { this.$nextTick(() => {
if(!this.showCalendar){
var clientRect=this.$refs.table.$el.getBoundingClientRect();
var subHeight=70/1000 * window.innerHeight;
this.tableHeight = window.innerHeight -clientRect.y - this.$refs.table.$el.offsetTop-subHeight;
}else{
var subHeight=70/1000 * window.innerHeight;
this.tableHeight = window.innerHeight-subHeight;
}
if(this.isMyStart){ if(this.isMyStart){
this.searchMyStart();
this.filters.filterType="startUserId"
}else if(this.isMyMonitors){ }else if(this.isMyMonitors){
this.searchMyMonitors();
this.filters.filterType="monitors"
}else if(this.isMySponsors){ }else if(this.isMySponsors){
this.searchMySponsors();
this.filters.filterType="sponsors"
}else if(this.isMyPartake){ }else if(this.isMyPartake){
this.searchMyPartake();
this.filters.filterType="partake"
}else if(this.isAll){ }else if(this.isAll){
this.searchAll();
} }
this.searchExecutions();
}); });
// //
@ -1264,4 +1148,9 @@
.more-filter-item button { .more-filter-item button {
margin: 2px 2px; margin: 2px 2px;
} }
.more-label-font{
text-align:center;
float:left;
padding-top:5px;
}
</style> </style>

4
src/views/mdp/workflow/ru/execution/ExecutionMngForFormData.vue

@ -1,6 +1,6 @@
<template> <template>
<section> <section>
<sticky :className="'sub-navbar draft'">
<el-row class="app-container">
<el-row> <el-row>
<el-col :xs="22" :sm="22" :md="23" :lg="23" :xl="23"> <el-col :xs="22" :sm="22" :md="23" :lg="23" :xl="23">
<el-col :xs="8" :sm="8" :md="14" :lg="16" :xl="16"> <el-col :xs="8" :sm="8" :md="14" :lg="16" :xl="16">
@ -46,7 +46,7 @@
</el-drawer> </el-drawer>
</el-col> </el-col>
</el-row> </el-row>
</sticky>
</el-row>
<el-row class="app-container"> <el-row class="app-container">
<el-col :span="24" v-if="executions.length==0"> <el-col :span="24" v-if="executions.length==0">
<el-button type="primary" v-if="executions.length==0" v-loading="listLoading" v-on:click="startProc">还没有发起审核或者流程已结束点击发起流程</el-button> <el-button type="primary" v-if="executions.length==0" v-loading="listLoading" v-on:click="startProc">还没有发起审核或者流程已结束点击发起流程</el-button>

48
src/views/mdp/workflow/ru/procinstParames/ProcinstNodeInfoSet.vue

@ -1,10 +1,10 @@
<template> <template>
<section> <section>
<el-row class="app-container">
<el-button @click="handleCancel">取消</el-button>
<el-button @click="confirm">确定</el-button>
<el-row>
<el-button @click="handleCancel" icon="el-icon-back">取消</el-button>
<el-button type="primary" @click="confirm" icon="el-icon-finished">确定</el-button>
</el-row> </el-row>
<el-row class="app-container">
<el-row style="padding-top:10px;">
<!--新增界面 ProcinstParames 流程实例参数设置表--> <!--新增界面 ProcinstParames 流程实例参数设置表-->
<el-table <el-table
:data="nodeInfoList" :data="nodeInfoList"
@ -23,8 +23,9 @@
min-width="250"> min-width="250">
<template slot-scope="scope"> <template slot-scope="scope">
{{showAssigneeTips(scope.row)}} {{showAssigneeTips(scope.row)}}
<el-button round v-if="scope.row.candidate=='1'" type="warning" @click.native="showCandidateSelectDialog(scope.row,'')" :loading="listLoading">选候选人</el-button>
<el-button round v-if="scope.row.candidate!='1'" type="success" @click.native="showUserSelectDialog(scope.row,'')" :loading="listLoading">选人员</el-button>
<el-button round v-if="scope.row.candidate=='1' && scope.row.allowOverUser!='0'" type="warning" @click.native="showCandidateSelectDialog(scope.row,'')" :loading="listLoading">选候选人</el-button>
<el-button round v-if="scope.row.candidate!='1' && scope.row.allowOverUser!='0'" type="success" @click.native="showUserSelectDialog(scope.row,'')" :loading="listLoading">选人员</el-button>
<el-button round v-if="scope.row.toCreater!='1'" type="primary" @click.native="setAssigneeAsStartUser(scope.row)">转发起人</el-button>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@ -34,7 +35,7 @@
width="150"> width="150">
<template slot-scope="scope"> <template slot-scope="scope">
<el-checkbox v-model="scope.row.showNextAssignees" label="可手选" true-label="1" false-label="0" border></el-checkbox>
<el-checkbox v-if="scope.row.allowOverUser!='0'" v-model="scope.row.showNextAssignees" label="可手选" true-label="1" false-label="0" border></el-checkbox>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@ -42,7 +43,7 @@
label="候选任务" label="候选任务"
width="120"> width="120">
<template slot-scope="scope"> <template slot-scope="scope">
<el-checkbox v-model="scope.row.candidate" label="候选" true-label="1" false-label="0" border></el-checkbox>
<el-checkbox v-if="scope.row.allowOverUser!='0'" v-model="scope.row.candidate" label="候选" true-label="1" false-label="0" border></el-checkbox>
</template> </template>
</el-table-column> </el-table-column>
@ -123,7 +124,7 @@
methods: { methods: {
// @cancel="addFormVisible=false" // @cancel="addFormVisible=false"
handleCancel:function(){ handleCancel:function(){
this.nodeInfoList=JSON.parse(JSON.stringify(this.nodeInfoListOld))
//this.nodeInfoList=JSON.parse(JSON.stringify(this.nodeInfoListOld))
this.$emit('cancel'); this.$emit('cancel');
}, },
confirm:function(){ confirm:function(){
@ -135,27 +136,37 @@
this.nodeInfoSeleced.nodeUsers=nodeInfo.nodeUsers; this.nodeInfoSeleced.nodeUsers=nodeInfo.nodeUsers;
this.nodeInfoSeleced.groupIds=nodeInfo.groupIds this.nodeInfoSeleced.groupIds=nodeInfo.groupIds
this.nodeInfoSeleced.toCreater='0'
}, },
onUserSelected:function(users){ onUserSelected:function(users){
this.userSelectVisible=false; this.userSelectVisible=false;
this.nodeInfoSeleced.nodeUsers=users this.nodeInfoSeleced.nodeUsers=users
this.nodeInfoSeleced.toCreater='0'
}, },
showUserSelectDialog:function(nodeInfoSeleced,index){ showUserSelectDialog:function(nodeInfoSeleced,index){
console.log(nodeInfoSeleced);
if(nodeInfoSeleced.allowOverUser=='0'){
this.$message.error("当前节点不允许变更执行人")
return;
}
this.userSelectVisible=true; this.userSelectVisible=true;
this.nodeInfoSeleced=nodeInfoSeleced; this.nodeInfoSeleced=nodeInfoSeleced;
}, },
showCandidateSelectDialog:function(nodeInfoSeleced,index){ showCandidateSelectDialog:function(nodeInfoSeleced,index){
console.log(nodeInfoSeleced);
if(nodeInfoSeleced.allowOverUser=='0'){
this.$message.error("当前节点不允许变更执行人")
return;
}
this.candidateSelectVisible=true; this.candidateSelectVisible=true;
this.nodeInfoSeleced=nodeInfoSeleced; this.nodeInfoSeleced=nodeInfoSeleced;
}, },
showAssigneeTips(nodeInfo){ showAssigneeTips(nodeInfo){
var tips=[]; var tips=[];
if(nodeInfo.candidate=='1'){
if(nodeInfo.toCreater=='1'){
tips.push("流程发起人作为执行人")
}else if(nodeInfo.candidate=='1'){
if(nodeInfo.nodeUsers){ if(nodeInfo.nodeUsers){
var userCount=nodeInfo.nodeUsers.length; var userCount=nodeInfo.nodeUsers.length;
tips.push(userCount+"个候选用户"); tips.push(userCount+"个候选用户");
@ -164,13 +175,13 @@
var groupCount=nodeInfo.groupIds.split(",").length; var groupCount=nodeInfo.groupIds.split(",").length;
tips.push(groupCount+"个候选部门/岗位"); tips.push(groupCount+"个候选部门/岗位");
} }
if(tips.length==0){ if(tips.length==0){
tips.push("未配置任何候选人/候选部门/候选岗位"); tips.push("未配置任何候选人/候选部门/候选岗位");
} }
}else{ }else{
if(nodeInfo.nodeUsers){ if(nodeInfo.nodeUsers){
tips=tips.concat(nodeInfo.nodeUsers.map(i=>i.username)); tips=tips.concat(nodeInfo.nodeUsers.map(i=>i.username));
}else{ }else{
tips.push("未配置任何任务执行人"); tips.push("未配置任何任务执行人");
@ -226,6 +237,17 @@
this.qxVisible=true; this.qxVisible=true;
this.nodeInfoSeleced=nodeInfo; this.nodeInfoSeleced=nodeInfo;
}, },
setAssigneeAsStartUser(nodeInfoSeleced){
if(nodeInfoSeleced.allowOverUser=='0'){
this.$message.error("当前节点不允许变更执行人")
return;
}
this.nodeInfoSeleced=nodeInfoSeleced
this.nodeInfoSeleced.toCreater='1'
this.nodeInfoSeleced.candidate='0'
this.nodeInfoSeleced.showNextAssignees='0'
}
},//end method },//end method
components: { components: {

179
src/views/mdp/workflow/ru/procinstParames/ProcinstParamesExecutionSet.vue

@ -1,17 +1,17 @@
<template> <template>
<section> <section>
<sticky :className="'sub-navbar draft'" style="margin-left:-20px;">
<el-row style="margin-left:-20px;">
<el-row> <el-row>
<el-button @click.native="handleCancel">取消</el-button>
<el-button v-if="screenWidth>=500" @click.native="handlePrint" >打印</el-button>
<el-button v-if="isArchive" @click.native="handleArchive" >归档</el-button>
<el-button v-if="task.taskId" @click.native="addComment" :loading="addLoading">只存办理意见</el-button>
<el-button @click.native="tagSelectVisible=true" :loading="tagSetLoading">打标签</el-button>
<el-button v-if="displayDiagram==false" @click="showDiagram()">查看流程图</el-button>
<el-button @click="showNodeInfoDialog">配置审批人</el-button>
<el-button @click="showComment=!showComment">{{showComment==false?"显示流转信息":"隐藏流转信息"}}</el-button>
<el-button @click="showMainContext=!showMainContext">{{showMainContext==false?"显示正文":"隐藏正文"}}</el-button>
<el-button @click="showMainContextOnly=!showMainContextOnly">{{showMainContextOnly==false?"只看正文":"显示全部"}}</el-button>
<el-button type="text" @click.native="handleCancel" icon="el-icon-back">取消</el-button>
<el-button type="text" v-if="screenWidth>=500" @click.native="handlePrint" icon="el-icon-printer">打印</el-button>
<el-button type="text" v-if="isArchive" @click.native="handleArchive" icon="el-icon-s-grid">归档</el-button>
<el-button type="text" v-if="task.taskId" @click.native="addComment" :loading="addLoading" icon="el-icon-finished">只存办理意见</el-button>
<el-button type="text" @click.native="tagSelectVisible=true" :loading="tagSetLoading" icon="el-icon-finished">打标签</el-button>
<el-button type="text" v-if="displayDiagram==false" @click="showDiagram()" icon="el-icon-picture-outline">查看流程图</el-button>
<el-button type="text" @click="showNodeInfoDialog" icon="el-icon-s-check">配置审批人</el-button>
<el-button type="text" @click="showComment=!showComment" icon="el-icon-document">{{showComment==false?"显示流转信息":"隐藏流转信息"}}</el-button>
<el-button type="text" @click="showMainContext=!showMainContext" icon="el-icon-document" class=" hidden-md-and-down">{{showMainContext==false?"显示正文":"隐藏正文"}}</el-button>
<el-button type="text" @click="showMainContextOnly=!showMainContextOnly" icon="el-icon-finished" class=" hidden-sm-and-down">{{showMainContextOnly==false?"只看正文":"显示全部"}}</el-button>
<el-popover <el-popover
placement="top" placement="top"
width="600" width="600"
@ -20,16 +20,26 @@
<div v-if="modelFilesVisible==true" style="text-align: right; margin: 0"> <div v-if="modelFilesVisible==true" style="text-align: right; margin: 0">
<attachment-upload :branch-id="userInfo.branchId" :deptid="userInfo.deptid" :archive-id="procDefId" :category-id="taskInfo.categoryId"></attachment-upload> <attachment-upload :branch-id="userInfo.branchId" :deptid="userInfo.deptid" :archive-id="procDefId" :category-id="taskInfo.categoryId"></attachment-upload>
</div> </div>
<el-button slot="reference" class="hidden-sm-and-down" v-on:click="modelFilesVisible=!modelFilesVisible">附件模板</el-button>
<el-button slot="reference" type="text" class="hidden-sm-and-down" v-on:click="modelFilesVisible=!modelFilesVisible" icon="el-icon-document-copy">附件模板</el-button>
</el-popover>
<el-popover
placement="top"
width="600"
trigger="click"
v-model="modelFilesVisible">
<div v-if="modelFilesVisible==true" style="text-align: right; margin: 0">
<attachment-upload :branch-id="userInfo.branchId" :deptid="userInfo.deptid" :archive-id="taskInfo.paramsId" :category-id="taskInfo.categoryId"></attachment-upload>
</div>
<el-button slot="reference" type="text" class="hidden-sm-and-down" v-on:click="modelFilesVisible=!modelFilesVisible" icon="el-icon-document-copy">流程附件</el-button>
</el-popover> </el-popover>
</el-row> </el-row>
</sticky>
</el-row>
<el-row v-show="showMainContextOnly==true"> <el-row v-show="showMainContextOnly==true">
<div style="padding: 20px;" v-html="addForm.mainContext"></div> <div style="padding: 20px;" v-html="addForm.mainContext"></div>
</el-row> </el-row>
<el-row v-show="showMainContextOnly==false"> <el-row v-show="showMainContextOnly==false">
<el-col>
<el-row>
<!--新增界面 ProcinstParames 流程实例参数设置表--> <!--新增界面 ProcinstParames 流程实例参数设置表-->
<el-form :model="addForm" :label-width="labelWidth()" label-position="left" :rules="addFormRules" ref="addForm" > <el-form :model="addForm" :label-width="labelWidth()" label-position="left" :rules="addFormRules" ref="addForm" >
<el-row class=" hidden-sm-and-down"> <el-row class=" hidden-sm-and-down">
@ -38,10 +48,8 @@
<el-row class="hidden-md-and-up"> <el-row class="hidden-md-and-up">
<el-col class="wf-sub-title"> {{addForm.mainTitle}}</el-col> <el-col class="wf-sub-title"> {{addForm.mainTitle}}</el-col>
</el-row> </el-row>
<el-row class="hidden-sm-and-down">
<el-col :span="20" class="wf-sub-title"> <el-tag>发起部门: {{addForm.startDeptName}}</el-tag> <el-tag>: {{addForm.startUsername}}</el-tag> <el-tag>{{addForm.startDate}}</el-tag></el-col>
</el-row>
<el-form-item label="标签">
<el-row>
<el-col :span="24" class="wf-sub-title">
<font v-if="addForm.tagNames" > <font v-if="addForm.tagNames" >
<el-tag v-for="tag in (addForm.tagNames.split(','))" :key="tag" <el-tag v-for="tag in (addForm.tagNames.split(','))" :key="tag"
:type="'warning'" :type="'warning'"
@ -49,33 +57,23 @@
{{tag}} {{tag}}
</el-tag> </el-tag>
</font> </font>
{{addForm.tagNames?'':'还没有标签,去打一个呗-->'}}
<el-button @click.native="tagSelectVisible=true" :loading="tagSetLoading">打标签</el-button>
<el-button v-if="displayDiagram==false" @click="showDiagram()">查看流程图</el-button>
</el-form-item>
<el-form-item label="计划完成时间" prop="planFinishTime">
<el-col :span="10">
<el-date-picker style="width:100%;"
发起部门: {{addForm.startDeptName}} &nbsp;&nbsp;&nbsp;
&nbsp;{{addForm.startUsername}}&nbsp;&nbsp;
{{addForm.startDate}} &nbsp;发起
</el-col>
</el-row>
<el-row>
预计
<el-date-picker style="width:20%;"
v-model="addForm.planFinishTime" v-model="addForm.planFinishTime"
type="date" value-format="yyyy-MM-dd HH:mm:ss" type="date" value-format="yyyy-MM-dd HH:mm:ss"
:picker-options="pickerOptions" :picker-options="pickerOptions"
placeholder="选择计划完成日期" > placeholder="选择计划完成日期" >
</el-date-picker> </el-date-picker>
</el-col> <el-button @click.native="updateFlowPlanFinishTime" :loading="addLoading"></el-button> <font style="margin-left:5px;"></font>
</el-form-item>
<el-form-item label="发起部门" class="hidden-md-and-up">
<el-col :span="20"> {{addForm.startDeptName}}</el-col>
<el-col :span="4">
<el-button v-if="displayDiagram==false" @click="showDiagram()">查看流程图</el-button>
</el-col>
</el-form-item>
<el-form-item label="发起人" class="hidden-md-and-up">
{{addForm.startUsername}} {{addForm.startDate}}
</el-form-item>
<el-col :span="24">
<el-col :span="12">
<el-form-item label="主办人" prop="sponsors" >
<el-select disabled value-key="userid" style="width:99%" v-model="sponsors" multiple placeholder="请选择">
完成 <el-button @click.native="updateFlowPlanFinishTime" :loading="addLoading" icon="el-icon-finished">保存日期</el-button>
主办人
<el-select disabled value-key="userid" v-model="sponsors" multiple placeholder="请选择">
<el-option <el-option
v-for="item in baseUserList" v-for="item in baseUserList"
:key="item.userid" :key="item.userid"
@ -85,11 +83,9 @@
<span style="float: right; color: #8492a6; font-size: 14px">{{ item.shortName }}</span> <span style="float: right; color: #8492a6; font-size: 14px">{{ item.shortName }}</span>
</el-option> </el-option>
</el-select> </el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="监控人" prop="monitors" >
<el-select disabled value-key="userid" style="width:99%" v-model="monitors" multiple placeholder="请选择">
<font class=" hidden-md-and-down">
监控人
<el-select disabled value-key="userid" v-model="monitors" multiple placeholder="请选择">
<el-option <el-option
v-for="item in baseUserList" v-for="item in baseUserList"
:key="item.userid" :key="item.userid"
@ -99,45 +95,29 @@
<span style="float: right; color: #8492a6; font-size: 13px">{{ item.shortName }}</span> <span style="float: right; color: #8492a6; font-size: 13px">{{ item.shortName }}</span>
</el-option> </el-option>
</el-select> </el-select>
</el-form-item>
</el-col>
</el-col>
<el-col :span="24" v-if="addForm.isRefForm=='1' && addForm.formId && addForm.formShowType!='table'">
</font>
</el-row>
<el-row v-if="addForm.isRefForm=='1' && addForm.formId && addForm.formShowType!='table'" style="padding-top:10px;">
<form-data-mng-for-flow-form :formShowType="addForm.formShowType" :companyDepts="companyDepts" :companyEmployees="companyEmployees" :formId="addForm.formId" :qxCode="qxCode" :procInstId="procInstId" :flowStartUserid="addForm.userid" :submitEvent="formDataSubmitEvent" @submit="startSubmit"><div></div></form-data-mng-for-flow-form> <form-data-mng-for-flow-form :formShowType="addForm.formShowType" :companyDepts="companyDepts" :companyEmployees="companyEmployees" :formId="addForm.formId" :qxCode="qxCode" :procInstId="procInstId" :flowStartUserid="addForm.userid" :submitEvent="formDataSubmitEvent" @submit="startSubmit"><div></div></form-data-mng-for-flow-form>
</el-col>
<el-col :span="24" v-if="actAssignee&&actAssignee.formId?true:false" >
</el-row>
<el-row v-if="actAssignee&&actAssignee.formId?true:false" style="padding-top:10px;">
<form-data-for-flow-node :visible="actAssignee&&actAssignee.formId?true:false" :form-id="actAssignee.formId" :form-fields-json="actAssignee.formFieldsJson" :submit-event="formDataSubmitEvent" @submit="startSubmit"><div></div></form-data-for-flow-node> <form-data-for-flow-node :visible="actAssignee&&actAssignee.formId?true:false" :form-id="actAssignee.formId" :form-fields-json="actAssignee.formFieldsJson" :submit-event="formDataSubmitEvent" @submit="startSubmit"><div></div></form-data-for-flow-node>
</el-col>
</el-row>
<el-col :span="24" v-if="addForm.mainContext && addForm.mainContext.length>0 && showMainContext">
<el-form-item label="流程正文" prop="mainContext" v-loading="listLoading" >
<div style="border:1px dashed #000" v-if="screenWidth>=500">
<el-row v-if="addForm.mainContext && addForm.mainContext.length>0 && showMainContext">
<div class="wf-main-context-box" v-if="screenWidth>=500">
<div style="padding: 20px;" class="wf-main-context" v-html="addForm.mainContext"></div> <div style="padding: 20px;" class="wf-main-context" v-html="addForm.mainContext"></div>
</div> </div>
</el-form-item>
<div style="border:1px dashed #000" v-if="screenWidth<500">
<div class="wf-main-context-box" v-if="screenWidth<500">
<div style="padding: 20px;" v-html="addForm.mainContext"></div> <div style="padding: 20px;" v-html="addForm.mainContext"></div>
</div> </div>
</el-col>
<el-form-item label="流程附件" prop="attachment">
<el-button @click="showAttachment=!showAttachment">{{showAttachment==true?"隐藏附件":"显示附件"}}</el-button>
<el-col v-if="showAttachment" :span="24">
<el-col :xs="20" :sm="18" :md="16" :lg="14" :xl="12"><attachment-upload :branch-id="userInfo.branchId" :deptid="userInfo.deptid" :archive-id="taskInfo.paramsId" :category-id="taskInfo.categoryId"></attachment-upload></el-col>
</el-col>
</el-form-item>
<el-form-item v-show="showComment" label="流转信息" prop="commentMsg">
<comment-step v-if="screenWidth>=500" :procInstId="procInstId" :refresh="refreshCommentList" @get-comments="getComments"></comment-step>
</el-form-item>
<comment-step v-if="screenWidth<500" :procInstId="procInstId" :refresh="refreshCommentList" @get-comments="getComments"></comment-step>
</el-row>
<el-row>
<comment-step :task="task" :procInstId="procInstId" :refresh="refreshCommentList" @get-comments="getComments"></comment-step>
</el-row>
<div v-if="task.taskId"> <div v-if="task.taskId">
<el-form-item label="当前任务" prop="commentMsg">
<el-tag>{{task.taskName}} </el-tag> <el-tag>{{ task.assigneeName? task.assigneeName:'' }}</el-tag>
</el-form-item>
<el-form-item :label="'办理意见'" prop="commentMsg"> <el-form-item :label="'办理意见'" prop="commentMsg">
<el-input type="textarea" :rows="3" v-model="task.commentMsg" auto-complete="off" ></el-input>
</el-form-item>
<el-form-item label="下一操作" prop="action">
<el-row class=" hidden-md-and-down" style="padding-top:10px;">
<el-radio-group v-model="task.action"> <el-radio-group v-model="task.action">
<div v-if="task.action!='claim'"> <div v-if="task.action!='claim'">
<el-radio min-width="60px" v-show="taskInfo && taskInfo.delegation!='PENDING'" label="agree">同意&nbsp;&nbsp;&nbsp;&nbsp;</el-radio> <el-radio min-width="60px" v-show="taskInfo && taskInfo.delegation!='PENDING'" label="agree">同意&nbsp;&nbsp;&nbsp;&nbsp;</el-radio>
@ -154,6 +134,28 @@
<el-radio label="claim">领取任务</el-radio> <el-radio label="claim">领取任务</el-radio>
</div> </div>
</el-radio-group> </el-radio-group>
</el-row>
<el-row class=" hidden-lg-and-up" style="padding-top:10px;">
<el-select v-model="task.action" placeholder="请选择办理意见" >
<div v-if="task.action!='claim'">
<el-option v-show="taskInfo && taskInfo.delegation!='PENDING'" label="同意" value="agree"> </el-option>
<el-option v-show="taskInfo && taskInfo.delegation!='PENDING'" label="不同意" value="disAgree"> </el-option>
<el-option label="驳回" value="rejectToActivity"> </el-option>
<el-option label="转主办" value="sponsors"> </el-option>
<el-option label="转发起人" value="rejectToStartUser"> </el-option>
<el-option v-show="taskInfo && taskInfo.delegation!='RESOLVED'" label="请人代办" value="transfer"> </el-option>
<el-option label="请人协办,完成后返回给我" value="delegate"> </el-option>
<el-option v-show="taskInfo && taskInfo.delegation!='RESOLVED' && taskInfo.delegation=='PENDING'" label="返回给原执行人" value="resolve"> </el-option>
<el-option label="结束流程" value="over"> </el-option>
</div>
<div v-else>
<el-radio label="claim">领取任务</el-radio>
</div>
</el-select>
</el-row>
<el-row style="padding-top:10px;">
<el-input type="textarea" :rows="3" v-model="task.commentMsg" auto-complete="off" ></el-input>
</el-row>
</el-form-item> </el-form-item>
<el-form-item v-show="task.action=='rejectToActivity'" label="驳回节点" prop="rejectToActivity"> <el-form-item v-show="task.action=='rejectToActivity'" label="驳回节点" prop="rejectToActivity">
<el-col :span="10"> <el-col :span="10">
@ -185,7 +187,7 @@
</el-col> </el-col>
</el-form-item> </el-form-item>
</div> </div>
<el-row v-if="screenWidth<500" v-loading="listLoading">
<el-row v-if="screenWidth<500" v-loading="listLoading" style="padding-top:10px;">
<el-col :span="24"> <el-col :span="24">
<el-button @click.native="handleCancel">取消</el-button> <el-button @click.native="handleCancel">取消</el-button>
<el-button v-if="screenWidth>=500" @click.native="handlePrint" >打印</el-button> <el-button v-if="screenWidth>=500" @click.native="handlePrint" >打印</el-button>
@ -196,17 +198,17 @@
<el-button v-if="task.action=='claim' && task.taskId && sponsors.some(i=>i.userid==userInfo.userid)" @click.native="addCandidateUsers" :loading="addLoading">添加候选人</el-button> <el-button v-if="task.action=='claim' && task.taskId && sponsors.some(i=>i.userid==userInfo.userid)" @click.native="addCandidateUsers" :loading="addLoading">添加候选人</el-button>
</el-col> </el-col>
</el-row> </el-row>
<el-form-item v-if="screenWidth>=500" v-loading="listLoading">
<el-button @click.native="handleCancel">取消</el-button>
<el-button v-if="screenWidth>=500" @click.native="handlePrint" >打印</el-button>
<el-button v-if="isArchive" @click.native="handleArchive" >归档</el-button>
<el-button v-if="task.taskId" @click.native="addComment" :loading="addLoading">只存办理意见</el-button>
<el-button v-if="task.action!='claim' && task.taskId" type="primary" @click.native="completeHandle" :loading="addLoading">提交任务</el-button>
<el-button v-if="task.action=='claim' && task.taskId" @click.native="completeHandle" :loading="addLoading">领取任务</el-button>
<el-button v-if="task.action=='claim' && task.taskId && sponsors.some(i=>i.userid==userInfo.userid)" @click.native="showTaskCandidateSet" :loading="addLoading">添加候选人</el-button>
<el-form-item v-if="screenWidth>=500" v-loading="listLoading" style="padding-top:10px;">
<el-button @click.native="handleCancel" icon="el-icon-back">取消</el-button>
<el-button v-if="screenWidth>=500" @click.native="handlePrint" icon="el-icon-printer">打印</el-button>
<el-button v-if="isArchive" @click.native="handleArchive" icon="el-icon-s-grid">归档</el-button>
<el-button v-if="task.taskId" @click.native="addComment" :loading="addLoading" icon="el-icon-finished">只存办理意见</el-button>
<el-button v-if="task.action!='claim' && task.taskId" type="primary" @click.native="completeHandle" :loading="addLoading" icon="el-icon-finished">提交任务</el-button>
<el-button v-if="task.action=='claim' && task.taskId" @click.native="completeHandle" :loading="addLoading" icon="el-icon-finished">领取任务</el-button>
<el-button v-if="task.action=='claim' && task.taskId && sponsors.some(i=>i.userid==userInfo.userid)" @click.native="showTaskCandidateSet" :loading="addLoading" icon="el-icon-s-check">添加候选人</el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
</el-col>
</el-row>
<el-dialog <el-dialog
title="流程图" title="流程图"
:visible.sync="displayDiagram" :visible.sync="displayDiagram"
@ -1120,14 +1122,17 @@
text-align: center; text-align: center;
font: outline; font: outline;
font-size:2.5em; font-size:2.5em;
margin-top: 0.875em;
} }
.wf-sub-title { .wf-sub-title {
text-align: center; text-align: center;
font: outline; font: outline;
font-size:1.875em;
margin-top: 0.875em; margin-top: 0.875em;
margin-bottom: 0.875em; margin-bottom: 0.875em;
}
.wf-main-context-box {
border:1px dashed #000;
margin-bottom: 10px;
margin-top: 10px;
} }
.wf-main-context p { .wf-main-context p {
color: #585858; color: #585858;

29
src/views/mdp/workflow/ru/procinstParames/ProcinstParamesExecutionSetRoute.vue

@ -26,13 +26,30 @@
},//end data },//end data
methods: { methods: {
afterEditSubmit:function(){ afterEditSubmit:function(){
var key='ProcinstParamesExecutionSetRoute'
localStorage.removeItem(key)
this.$store.dispatch('delVisitedViews', {path:'/mdp/workflow/ru/procinstParames/ProcinstParamesExecutionSetRoute',name:'ProcinstParamesExecutionSetRoute'}) this.$store.dispatch('delVisitedViews', {path:'/mdp/workflow/ru/procinstParames/ProcinstParamesExecutionSetRoute',name:'ProcinstParamesExecutionSetRoute'})
}, },
handleCancel:function(){ handleCancel:function(){
var key='ProcinstParamesExecutionSetRoute'
localStorage.removeItem(key)
this.$store.dispatch('delVisitedViews', {path:'/mdp/workflow/ru/procinstParames/ProcinstParamesExecutionSetRoute',name:'ProcinstParamesExecutionSetRoute'}) this.$store.dispatch('delVisitedViews', {path:'/mdp/workflow/ru/procinstParames/ProcinstParamesExecutionSetRoute',name:'ProcinstParamesExecutionSetRoute'})
this.$router.back(-1) this.$router.back(-1)
},
initData(){
this.$nextTick(()=>{
var key='ProcinstParamesExecutionSetRoute'
if(this.$route.params && this.$route.params.taskInfo){
this.editFormVisible=true;
this.taskInfo=this.$route.params.taskInfo
localStorage.setItem(key,JSON.stringify(this.taskInfo))
}else{
var taskInfoStr=localStorage.getItem(key)
this.editFormVisible=true;
this.taskInfo=JSON.parse(taskInfoStr);
}
})
} }
},//end methods },//end methods
@ -40,13 +57,11 @@
ProcinstParamesExecutionSet ProcinstParamesExecutionSet
// //
}, },
activated(){
this.initData();
},
mounted() { mounted() {
if(this.$route.params){
this.editFormVisible=true;
this.taskInfo=this.$route.params.taskInfo
}
this.initData();
} }
} }

12
src/views/mdp/workflow/ru/procinstParames/ProcinstParamesStartSet.vue

@ -119,8 +119,8 @@
</el-col> </el-col>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button @click.native="handleCancel">取消</el-button>
<el-button type="primary" @click.native="startHandle" :loading="addLoading">发起流程</el-button>
<el-button @click.native="handleCancel" icon="el-icon-back">取消</el-button>
<el-button type="primary" @click.native="startHandle" :loading="addLoading" icon="el-icon-finished">发起流程</el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
</el-col> </el-col>
@ -134,8 +134,9 @@
<el-dialog append-to-body <el-dialog append-to-body
title="配置审批人" title="配置审批人"
:visible.sync="nodeInfoVisible" :visible.sync="nodeInfoVisible"
width="60%">
<procinst-node-info-set :node-infos="nodeInfos" :visible="nodeInfoVisible" @cancel="onMainQxCancel" @confirm="onNodeInfosConfirm"></procinst-node-info-set>
fullscreen
>
<procinst-node-info-set :node-infos="nodeInfos" :visible="nodeInfoVisible" @cancel="onNodeInfosCancel" @confirm="onNodeInfosConfirm"></procinst-node-info-set>
</el-dialog> </el-dialog>
<el-dialog <el-dialog
title="流程图" title="流程图"
@ -548,6 +549,9 @@
this.mainQxVisible=false; this.mainQxVisible=false;
this.addForm.mainQx=qxCode; this.addForm.mainQx=qxCode;
}, },
onNodeInfosCancel(){
this.nodeInfoVisible=false;
},
onNodeInfosConfirm:function(nodeInfos){ onNodeInfosConfirm:function(nodeInfos){
this.nodeInfoVisible=false; this.nodeInfoVisible=false;
this.nodeInfos=nodeInfos this.nodeInfos=nodeInfos

13
src/views/mdp/workflow/ru/procinstParames/ProcinstParamesStartSetRoute.vue

@ -43,13 +43,22 @@
// //
}, },
mounted() { mounted() {
console.log("this.$route.params-------------------"+JSON.stringify(this.$route.params));
if(this.$route.params){
var key="ProcinstParamesStartSetRoute"
if(this.$route.params.procdef){
this.flowStartVisible=true; this.flowStartVisible=true;
this.procdef=this.$route.params.procdef this.procdef=this.$route.params.procdef
if(this.$route.params.params){ if(this.$route.params.params){
this.filters.params=this.$route.params.params this.filters.params=this.$route.params.params
} }
localStorage.setItem(key,JSON.stringify(this.$route.params));
}else{
var paramsStr= localStorage.getItem(key);
var params=JSON.parse(paramsStr);
this.procdef=params.procdef
if(params.params){
this.filters.params=params.params
}
} }

305
src/views/mdp/workflow/ru/task/TaskMng.vue

@ -1,86 +1,25 @@
<template> <template>
<section> <section>
<sticky :className="'sub-navbar draft'">
<el-row>
<el-col :xs="22" :sm="22" :md="23" :lg="23" :xl="23">
<el-col :xs="8" :sm="8" :md="5" :lg="4" :xl="4">
<el-input v-model="filters.key" style="width:100%;" placeholder="模糊查询"></el-input>
</el-col>
<el-col :xs="8" :sm="8" :md="5" :lg="4" :xl="4">
<el-select
v-model="filters.procCategory"
style="width:99%;"
clearable
filterable
placeholder="流程分类"
>
<el-option v-for="item in categorys" :key="item" :label="item" :value="item"></el-option>
</el-select>
<el-row class="app-container">
<el-col :xs="4" :sm="4" :md="3" :lg="3" :xl="3" class="hidden-sm-and-down">
<category-tree
ref="categoryTree"
multiple
:expandOnClickNode="false"
:defaultExpandAll="true"
show-checkbox
:current-key="addForm.categoryId"
v-on:check-change="handleCategoryCheckChange"
></category-tree>
</el-col> </el-col>
<el-col :xs="8" :sm="8" :md="14" :lg="16" :xl="16">
<el-button
v-show="assigneeToMe!==false"
:type="filters.taskType=='0'?'success':''"
v-on:click="searchAssigneeToMeTasks"
>已领取</el-button>
<el-button
v-show="assigneeToMe!==false"
:type="filters.taskType=='1'?'success':''"
v-on:click="searchMyCandidateUserTasks"
>待领取</el-button>
<el-button @click.native="showTagSelect(false)">标签查找</el-button>
<el-button @click.native="showTagSelect(true)">打标签</el-button>
<el-button type="primary" @click="handleDownload">导出数据</el-button>
<el-select
v-show="assigneeToMe===false && filters.taskType=='0'"
class="hidden-sm-and-down"
v-model="filters.assignee"
clearable
filterable
placeholder="请选择用户"
>
<el-option
v-for="item in companyEmployees"
:key="item.userid"
:label="item.username"
:value="item.userid"
>
<span style="float: left">{{ item.username }}</span>
<span style="float: right; color: #8492a6; font-size: 13px">{{ item.shortName }}</span>
</el-option>
</el-select>
<el-select
v-show="assigneeToMe===false && filters.taskType=='1'"
v-model="filters.candidateUser"
class="hidden-sm-and-down"
clearable
filterable
placeholder="请选择用户"
>
<el-option
v-for="item in companyEmployees"
:key="item.userid"
:label="item.username"
:value="item.userid"
>
<span style="float: left">{{ item.username }}</span>
<span style="float: right; color: #8492a6; font-size: 13px">{{ item.shortName }}</span>
</el-option>
</el-select>
<el-button
v-show="assigneeToMe===false"
:type="filters.taskType=='0'?'success':''"
v-on:click="searchAssigneeToAnyTasks"
>已领取</el-button>
<el-button
v-show="assigneeToMe===false"
:type="filters.taskType=='1'?'success':''"
class="hidden-sm-and-down"
v-on:click="searchAnyCandidateUserTasks"
>待领取</el-button>
<el-col :xs="24" :sm="24" :md="21" :lg="21" :xl="21">
<el-row>
<el-button @click.native="showTagSelect(false)">标签 </el-button>
<el-input v-model="filters.key" style="width:30%;" placeholder="模糊查询">
<template slot="append">
<el-button @click="searchAssigneeToMeTasks" icon="el-icon-search">查询</el-button>
</template>
</el-input>
<el-popover placement="top" width="375" trigger="manual" v-model="weixinContentVisible"> <el-popover placement="top" width="375" trigger="manual" v-model="weixinContentVisible">
<p>{{weixinContent}}</p> <p>{{weixinContent}}</p>
<div style="text-align: right; margin: 0"> <div style="text-align: right; margin: 0">
@ -105,26 +44,39 @@
class="hidden-sm-and-down" class="hidden-sm-and-down"
v-on:click="showOaMsg" v-on:click="showOaMsg"
>OAMSG催办</el-button> >OAMSG催办</el-button>
</el-col>
</el-col>
<el-col :xs="2" :sm="2" :md="1" :lg="1" :xl="1">
<el-button @click="drawer = true" type="text">更多</el-button> <el-button @click="drawer = true" type="text">更多</el-button>
<el-drawer title="更多查询条件" :visible.sync="drawer" :with-header="false" append-to-body> <el-drawer title="更多查询条件" :visible.sync="drawer" :with-header="false" append-to-body>
<el-row class="more-filter-item"> <el-row class="more-filter-item">
<el-button
v-show="assigneeToMe!==false"
:type="filters.taskType=='0'?'success':''"
v-on:click="searchAssigneeToMeTasks"
>已领取</el-button>
<el-button
v-show="assigneeToMe!==false"
:type="filters.taskType=='1'?'success':''"
v-on:click="searchMyCandidateUserTasks"
>待领取</el-button>
<el-col :span="24">
<el-select
v-model="filters.procCategory"
style="width:99%;"
clearable
filterable
placeholder="流程分类"
>
<el-option v-for="item in categorys" :key="item" :label="item" :value="item"></el-option>
</el-select>
</el-col>
<el-button @click.native="showTagSelect(false)">标签查找</el-button>
<el-button @click.native="showTagSelect(true)">打标签</el-button>
<el-button type="primary" @click="handleDownload">导出数据</el-button>
<el-col :span="24">
<font class="more-label-font">
标签查找
</font>
<el-row v-show="filters.tags && filters.tags.length>0">
<el-tag
:key="tag.tagId"
v-for="tag in filters.tags"
:type="''"
closable
:disable-transitions="false"
@click="showTagSelect(false)"
@close="handleFiltersTagClose(tag,'tags')">
{{tag.tagName}}
</el-tag>
</el-row>
<el-button v-if="filters.tags==null || filters.tags.length==0" size="mini" @click.native="showTagSelect(false)">选择标签</el-button>
</el-col>
<el-col :span="24"> <el-col :span="24">
开始日期 开始日期
<el-date-picker <el-date-picker
@ -155,10 +107,8 @@
:picker-options="pickerOptions" :picker-options="pickerOptions"
></el-date-picker> ></el-date-picker>
</el-col> </el-col>
<el-col :span="24"> <el-col :span="24">
<el-checkbox v-model="showCalendar">按日历风格显示</el-checkbox>
</el-col>
</el-row>
<category-tree <category-tree
class="hidden-md-and-up" class="hidden-md-and-up"
ref="categoryTree" ref="categoryTree"
@ -169,105 +119,24 @@
:current-key="addForm.categoryId" :current-key="addForm.categoryId"
v-on:check-change="handleCategoryCheckChange" v-on:check-change="handleCategoryCheckChange"
></category-tree> ></category-tree>
</el-drawer>
</el-col>
<el-col :span="24">
<el-checkbox v-model="showCalendar">按日历风格显示</el-checkbox>
<el-button type="primary" @click="searchAssigneeToMeTasks" icon="el-icon-search">查询</el-button>
</el-col>
<el-col :span="24">
<el-divider content-position="left">其它操作</el-divider>
<el-button @click.native="showTagSelect(true)">打标签</el-button>
<el-button @click="handleDownload">导出数据</el-button>
</el-col> </el-col>
</el-row> </el-row>
</sticky>
<el-row class="filters-show">
<font class="filters-label">已选条件:</font>
<el-date-picker
v-model="filters.startTimeRanger"
class="hidden-sm-and-down"
type="daterange"
align="right"
unlink-panels
range-separator="至"
start-placeholder="创建日期"
end-placeholder="创建日期"
value-format="yyyy-MM-dd"
:default-time="['00:00:00','23:59:59']"
:picker-options="pickerOptions"
></el-date-picker>
<el-date-picker
v-model="filters.planFinishTimeRanger"
class="hidden-sm-and-down"
type="daterange"
align="right"
unlink-panels
range-separator="至"
start-placeholder="计划完成日期"
end-placeholder="计划完成日期"
value-format="yyyy-MM-dd"
:default-time="['00:00:00','23:59:59']"
:picker-options="pickerOptions"
></el-date-picker>
<el-tag
v-if="filters.tags"
:key="tag.tagId"
v-for="tag in filters.tags"
:type="''"
closable
:disable-transitions="false"
@close="handleFiltersTagClose(tag,'tags')"
>{{tag.tagName}}</el-tag>
<el-tag
v-if="filters.categoryTreeNodes"
:key="tag.id"
v-for="tag in filters.categoryTreeNodes"
:type="'info'"
closable
:disable-transitions="false"
@close="handleFiltersTagClose(tag,'categoryTreeNodes')"
>{{tag.name}}</el-tag>
<el-tag
v-if="filters.taskType=='0'"
:type="'warning'"
:disable-transitions="false"
>{{filters.taskType=='0'?'已领取':''}}</el-tag>
<el-tag
v-if="filters.taskType=='1'"
:type="'warning'"
:disable-transitions="false"
>{{filters.taskType=='1'?'待领取':''}}</el-tag>
<el-tag
v-if="filters.procCategory"
:type="'dangger'"
closable
:disable-transitions="false"
@close="handleFiltersTagClose('','procCategory')"
>{{filters.procCategory}}</el-tag>
<el-tag
v-if="filters.key"
:type="'success'"
closable
:disable-transitions="false"
@close="handleFiltersTagClose('','key')"
>{{filters.key}}</el-tag>
<el-tag
:type="'success'"
:disable-transitions="false"
closable
@click="handleFiltersTagClose(showCalendar,'calendar')"
@close="handleFiltersTagClose(showCalendar,'calendar')"
>{{showCalendar==true?'切换列表':'切换日历'}}</el-tag>
</el-drawer>
</el-row> </el-row>
<el-row class="app-container">
<el-col :xs="4" :sm="4" :md="3" :lg="3" :xl="3" class="hidden-sm-and-down">
<category-tree
ref="categoryTree"
multiple
:expandOnClickNode="false"
:defaultExpandAll="true"
show-checkbox
:current-key="addForm.categoryId"
v-on:check-change="handleCategoryCheckChange"
></category-tree>
</el-col>
<el-col v-if="showCalendar==false" :xs="24" :sm="24" :md="21" :lg="21" :xl="21">
<el-row style="padding-top:10px;" v-if="showCalendar==false" >
<!--列表 Task act_ru_task--> <!--列表 Task act_ru_task-->
<el-table <el-table
ref="table"
:data="tasks" :data="tasks"
highlight-current-row highlight-current-row
v-loading="listLoading" v-loading="listLoading"
@ -275,6 +144,7 @@
@selection-change="selsChange" @selection-change="selsChange"
@row-click="rowClick" @row-click="rowClick"
style="width: 100%;" style="width: 100%;"
:max-height="tableHeight"
> >
<el-table-column <el-table-column
type="selection" type="selection"
@ -283,11 +153,17 @@
:class="'hidden-sm-and-down'" :class="'hidden-sm-and-down'"
></el-table-column> ></el-table-column>
<el-table-column type="index" width="40" :class="'hidden-sm-and-down'"></el-table-column> <el-table-column type="index" width="40" :class="'hidden-sm-and-down'"></el-table-column>
<el-table-column sortable prop="mainTitle" label="流程[任务](点击详情)" min-width="300">
<el-table-column sortable prop="mainTitle" label="流程(点击详情)" min-width="300" show-overflow-tooltip>
<template slot-scope="scope"> <template slot-scope="scope">
<el-link type="primary" @click="showTaskDetail( scope.row,scope.$index)">{{scope.row.mainTitle}}{{scope.row.taskName}}</el-link>
<el-link type="primary" @click="showTaskDetail( scope.row,scope.$index)">{{scope.row.mainTitle}}</el-link>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column
prop="taskName"
label="当前节点"
min-width="120"
show-overflow-tooltip
></el-table-column>
<el-table-column sortable prop="tagNames" label="标签" min-width="100"> <el-table-column sortable prop="tagNames" label="标签" min-width="100">
<template slot-scope="scope"> <template slot-scope="scope">
<el-tag <el-tag
@ -301,13 +177,14 @@
prop="startDeptName" prop="startDeptName"
label="发起部门" label="发起部门"
min-width="120" min-width="120"
show-overflow-tooltip
></el-table-column> ></el-table-column>
<el-table-column <el-table-column
sortable sortable
prop="startUsername" prop="startUsername"
label="发起人" label="发起人"
min-width="100" min-width="100"
show-overflow-tooltip
></el-table-column> ></el-table-column>
<el-table-column <el-table-column
sortable sortable
@ -315,23 +192,23 @@
prop="assigneeName" prop="assigneeName"
label="执行人" label="执行人"
min-width="100" min-width="100"
show-overflow-tooltip
></el-table-column> ></el-table-column>
<el-table-column <el-table-column
sortable sortable
prop="createTime" prop="createTime"
label="创建时间" label="创建时间"
min-width="120" min-width="120"
show-overflow-tooltip
></el-table-column> ></el-table-column>
<el-table-column <el-table-column
sortable sortable
prop="planFinishTime" prop="planFinishTime"
label="到期时间" label="到期时间"
min-width="120" min-width="120"
show-overflow-tooltip
></el-table-column> ></el-table-column>
<el-table-column <el-table-column
sortable
v-if="assigneeToMe===false" v-if="assigneeToMe===false"
prop="suspensionState" prop="suspensionState"
label="状态" label="状态"
@ -345,20 +222,21 @@
label="代办" label="代办"
min-width="80" min-width="80"
:formatter="formatterDelegation" :formatter="formatterDelegation"
show-overflow-tooltip
></el-table-column> ></el-table-column>
<el-table-column <el-table-column
sortable sortable
prop="claimTime" prop="claimTime"
label="委办时间" label="委办时间"
min-width="120" min-width="120"
show-overflow-tooltip
></el-table-column> ></el-table-column>
<el-table-column <el-table-column
sortable sortable
prop="description" prop="description"
label="备注" label="备注"
min-width="80" min-width="80"
show-overflow-tooltip
></el-table-column> ></el-table-column>
<el-table-column <el-table-column
sortable sortable
@ -366,6 +244,7 @@
prop="dueDate" prop="dueDate"
label="处理时长" label="处理时长"
min-width="80" min-width="80"
show-overflow-tooltip
></el-table-column> ></el-table-column>
<el-table-column label="操作" width="100" fixed="right"> <el-table-column label="操作" width="100" fixed="right">
<template slot-scope="scope"> <template slot-scope="scope">
@ -384,6 +263,7 @@
style="float:right;" style="float:right;"
></el-pagination> ></el-pagination>
<!--编辑 Execution act_ru_execution界面--> <!--编辑 Execution act_ru_execution界面-->
</el-row>
</el-col> </el-col>
<el-col v-if="showCalendar==true" :xs="24" :sm="24" :md="21" :lg="21" :xl="21"> <el-col v-if="showCalendar==true" :xs="24" :sm="24" :md="21" :lg="21" :xl="21">
<el-calendar v-loading="listLoading" v-model="filters.calendarDate"> <el-calendar v-loading="listLoading" v-model="filters.calendarDate">
@ -739,7 +619,8 @@ export default {
categorys: [], categorys: [],
tagSelectVisible: false, tagSelectVisible: false,
drawer: false, drawer: false,
showCalendar: true
showCalendar: true,
tableHeight:300,
/** end 自定义属性请在上面加 请加备注**/ /** end 自定义属性请在上面加 请加备注**/
}; };
}, // end data }, // end data
@ -1626,6 +1507,16 @@ export default {
} else { } else {
this.showCalendar = false; this.showCalendar = false;
} }
this.$nextTick(()=>{
if(!this.showCalendar){
var clientRect=this.$refs.table.$el.getBoundingClientRect();
var subHeight=70/1000 * window.innerHeight;
this.tableHeight = window.innerHeight -clientRect.y - this.$refs.table.$el.offsetTop-subHeight;
}else{
var subHeight=70/1000 * window.innerHeight;
this.tableHeight = window.innerHeight -subHeight;
}
})
this.myBranchDepts = this.myDepts.filter(i => { this.myBranchDepts = this.myDepts.filter(i => {
if (i.branchId == this.userInfo.branchId) { if (i.branchId == this.userInfo.branchId) {
@ -1634,18 +1525,6 @@ export default {
return false; return false;
} }
}); });
console.log(
"this.assigneeToMe------------------------" + this.assigneeToMe !== false
);
console.log(
"this.assigneeToMe------------------------" + this.assigneeToMe != false
);
console.log(
"this.assigneeToMe------------------------" + !this.assigneeToMe
);
console.log(
"this.assigneeToMe------------------------" + this.assigneeToMe
);
if (this.assigneeToMe !== false) { if (this.assigneeToMe !== false) {
if (this.isClaim == undefined || this.isClaim === false) { if (this.isClaim == undefined || this.isClaim === false) {

Loading…
Cancel
Save