Browse Source

框架升级,样式升级

master
陈裕财 5 years ago
parent
commit
0f058a5fb5
  1. 5
      src/api/login.js
  2. 530
      src/components/Breadcrumb/index.vue
  3. 388
      src/components/TopModules/all_modules.js
  4. 220
      src/components/TopModules/index.vue
  5. 85
      src/components/TopModules/top_modules_oa.js
  6. 19
      src/views/layout/components/Navbar.vue
  7. 1
      src/views/layout/components/Sidebar/Logo.vue
  8. 4
      src/views/layout/components/Sidebar/index.vue
  9. 18
      src/views/layout/components/TagsView.vue
  10. 91
      src/views/mdp/arc/archiveAttachment/AttachmentUpload.vue
  11. 1384
      src/views/mdp/arc/tag/TagMng.vue
  12. 2
      src/views/mdp/form/formData/FormDataMng.vue
  13. 2
      src/views/mdp/form/formData/FormDataMngForFlow.vue
  14. 2
      src/views/mdp/form/formData/FormDataMngForFlowTable.vue
  15. 3
      src/views/mdp/form/formDef/FormDefAdd.vue
  16. 3
      src/views/mdp/form/formDef/FormDefForFlowNode.vue
  17. 2
      src/views/mdp/form/formDef/FormDefList.vue
  18. 2
      src/views/mdp/form/formDef/FormDefMng.vue
  19. 2
      src/views/mdp/form/formField/FormField.vue
  20. 3
      src/views/mdp/form/formQx/FormQxSet.vue
  21. 3
      src/views/mdp/meta/category/CategoryAdd.vue
  22. 2
      src/views/mdp/meta/category/CategoryMng.vue
  23. 3
      src/views/mdp/meta/item/ItemAdd.vue
  24. 3
      src/views/mdp/meta/item/ItemEdit.vue
  25. 2
      src/views/mdp/meta/item/ItemMng.vue
  26. 3
      src/views/mdp/meta/itemOption/ItemOptionAdd.vue
  27. 2
      src/views/mdp/meta/itemOption/ItemOptionMng.vue
  28. 3
      src/views/mdp/meta/sysParam/ItemOptionAdd.vue
  29. 3
      src/views/mdp/meta/sysParam/ItemOptionEdit.vue
  30. 2
      src/views/mdp/meta/sysParam/SysParamMng.vue
  31. 2
      src/views/mdp/sys/branch/BranchSelect.vue
  32. 4
      src/views/mdp/sys/post/PostSelectCommon.vue
  33. 6
      src/views/mdp/sys/user/UsersSelect.vue
  34. 508
      src/views/mdp/sys/userDept/UserDeptEdit.vue
  35. 3
      src/views/mdp/workflow/biz/bizModel/BizModelAdd.vue
  36. 3
      src/views/mdp/workflow/biz/bizModel/BizModelEdit.vue
  37. 8
      src/views/mdp/workflow/biz/bizModel/BizModelMng.vue
  38. 8
      src/views/mdp/workflow/de/model/ModelMng.vue
  39. 4
      src/views/mdp/workflow/hi/comment/commentStep.vue
  40. 127
      src/views/mdp/workflow/hi/procinst/ProcinstMng.vue
  41. 8
      src/views/mdp/workflow/re/deployment/DeploymentMng.vue
  42. 18
      src/views/mdp/workflow/re/procdef/ProcdefListForParames.vue
  43. 16
      src/views/mdp/workflow/re/procdef/ProcdefListForSimpleStart.vue
  44. 44
      src/views/mdp/workflow/re/procdef/ProcdefListForStart.vue
  45. 8
      src/views/mdp/workflow/re/procdef/ProcdefMng.vue
  46. 10
      src/views/mdp/workflow/re/procdef/ProcdefSuspend.vue
  47. 3
      src/views/mdp/workflow/re/procdefParames/ActQxCodeSet.vue
  48. 3
      src/views/mdp/workflow/re/procdefParames/ProcdefParamesSet.vue
  49. 6
      src/views/mdp/workflow/re/procdefParamesTemplate/ProcdefParamesTemplateMng.vue
  50. 208
      src/views/mdp/workflow/ru/execution/ExecutionMng.vue
  51. 4
      src/views/mdp/workflow/ru/execution/ExecutionMngForFormData.vue
  52. 473
      src/views/mdp/workflow/ru/procinstParames/ProcinstParamesExecutionSet.vue
  53. 2
      src/views/mdp/workflow/ru/procinstParames/ProcinstParamesStartSet.vue
  54. 222
      src/views/mdp/workflow/ru/task/TaskMng.vue

5
src/api/login.js

@ -7,14 +7,13 @@ import config from '@/common/config'
let base=config.getOauth2LoginBasePath();
//let base='';
export function doLoginByUserloginid(userloginid, password,grantType,authType,branchId,deptid) {
export function doLoginByUserloginid(userloginid, password,grantType,authType,deptid) {
removeToken();
const data = {
userloginid: userloginid,
password: password,
authType:authType,
deptid:deptid,
branchId:branchId,
deptid:deptid
}
return axios({
url: base+'/login/token?grantType='+grantType,

530
src/components/Breadcrumb/index.vue

@ -6,38 +6,6 @@
<router-link v-else :to="item.redirect||item.path">{{generateTitle(item.meta.title)}}</router-link>
</el-breadcrumb-item>
</transition-group>
<el-button @click="drawer = true" type="primary" round plain style="margin-left: 16px;"> <i class="el-icon-menu" style="margin-right:5px"></i>全部应用</el-button>
<div class="drawer-box">
<el-drawer
:visible.sync="drawer"
:direction="direction">
<div class="drawer">
<div class="drawer-content">
<div class="drawer-content-input">
<el-input placeholder="请输入中文" v-model.trim="key" clearable prefix-icon = "el-icon-search" size="small" style="width:60%">
</el-input>
</div>
<div class="drawer-content-category" v-for="(item,index) in categorys" :key="index">
<div class="category-name" v-text="item.title"></div>
<div class="category-list">
<div
class="category-item"
v-for="(module,mindex) in item.childrens" :key="index+'_'+mindex"
@click="gotolink(module)"
:class="{highlight : module.isHighlight }"
>
<div class="module-icon">
<img :src="module.icon">
</div>
<div class="module-name" v-text="module.moduleName"></div>
</div>
</div>
</div>
</div>
</div>
</el-drawer>
</div>
</el-breadcrumb>
</template>
@ -54,403 +22,12 @@ export default {
drawer: false,
direction: 'ttb',
key:"",
//
categorys:[
{
title:"日常应用",
childrens:[
{
moduleName:"任务中心",
topModuleId:'oa',
link:"/mdp/workflow/ru/task/TaskListAssigneeToMe",
icon: require("../../assets/image/platform/module-task.png"),
isHighlight:false,
moduleType : '1' // 1- 2-
},
{
moduleName:"流程中心",
topModuleId:'oa',
link:"/mdp/workflow/ru/execution/ExecutionListMyMonitors",
icon: require("../../assets/image/platform/module-flow.png"),
isHighlight:false,
moduleType : '1' // 1- 2-
},
{
moduleName:"历史流程",
topModuleId:'oa',
link:"/mdp/workflow/hi/procinst/ProcinstListMyStart",
icon: require("../../assets/image/platform/module-historical.png"),
isHighlight:false,
moduleType : '1' // 1- 2-
},
{
moduleName:"模型中心",
topModuleId:'oa',
link:"/mdp/workflow/de/ModelMng",
icon: require("../../assets/image/platform/module-odelCenter.png"),
isHighlight:false,
moduleType : '1' // 1- 2-
},
{
moduleName:"智能表单",
topModuleId:'oa',
link:"/mdp/form/formDef/FormDefAdd",
icon: require("../../assets/image/platform/module-intelligentForms.png"),
isHighlight:false,
moduleType : '1' // 1- 2-
},
{
moduleName:"新闻管理",
topModuleId:'arc',
link:"/mdp/arc/news/newsMng",
icon: require("../../assets/image/platform/module-news.png"),
isHighlight:false,
moduleType : '3', // 1- 2- 3-
},
{
moduleName:"公告管理",
topModuleId:'arc',
link:"/mdp/arc/notice/noticeMng",
icon: require("../../assets/image/platform/module-notice.png"),
isHighlight:false,
moduleType : '3' // 1- 2- 3-
},
]
},
{
title:"通讯沟通",
childrens:[
{
moduleName:"通讯录",
topModuleId:'sys',
link:"/mdp/sys/user/deptUserMng",
icon: require("../../assets/image/platform/module-addressBook.png"),
isHighlight:false,
moduleType : '2' // 1- 2-
},
{
moduleName:"内部邮件",
topModuleId:'oa',
link:"/oa/mail/mailEmail/MailEmailInbox",
icon: require("../../assets/image/platform/module-email1.png"),
isHighlight:false,
moduleType : '1' // 1- 2-
},
{
moduleName:"外部邮件",
topModuleId:'oa',
link:"/oa/mail/mailAccount/MailAccountMng",
icon: require("../../assets/image/platform/module-email2.png"),
isHighlight:false,
moduleType : '1' // 1- 2-
},
{
moduleName:"短信",
topModuleId:'sms',
link:"",
icon: require("../../assets/image/platform/module-note.png"),
isHighlight:false,
moduleType : '2' // 1- 2-
},
{
moduleName:"聊天",
topModuleId:'im',
link:"",
icon: require("../../assets/image/platform/module-project.png"),
isHighlight:false,
moduleType : '2' // 1- 2-
},
]
},
{
title:"工作执行",
childrens:[
{
moduleName:"日程管理",
topModuleId:'oa',
link:"/oa/rc/rcScheduleMy/RcScheduleMyMng",
icon: require("../../assets/image/platform/module-schedule.png"),
isHighlight:false,
moduleType : '1' // 1- 2-
},
{
moduleName:"督办管理",
topModuleId:'oa',
link:"/oa/duban/dubanItem/DubanItem",
icon: require("../../assets/image/platform/module-supervise.png"),
isHighlight:false,
moduleType : '1' // 1- 2-
},
{
moduleName:"督办任务",
topModuleId:'oa',
link:"/oa/duban/dubanItemTask/HostDubanItemTask",
icon: require("../../assets/image/platform/module-supervisoryTask.png"),
isHighlight:false,
moduleType : '1' // 1- 2-
},
]
},
{
title:"行政管理",
childrens:[
{
moduleName:"组织",
topModuleId:'sys',
link:"/mdp/sys/dept/DeptMng",
icon: require("../../assets/image/platform/module-organization.png"),
isHighlight:false,
moduleType : '2' // 1- 2-
},
{
moduleName:"资产管理",
topModuleId:'oa',
link:"/oa/erp/pur/require/RequireMng",
icon: require("../../assets/image/platform/module-property.png"),
isHighlight:false,
moduleType : '1' // 1- 2-
},
{
moduleName:"会议管理",
topModuleId:'oa',
link:"/oa/meet/meetMeeting/MeetMeetingRequire",
icon: require("../../assets/image/platform/module-meeting.png"),
isHighlight:false,
moduleType : '1' // 1- 2-
},
{
moduleName:"印章中心",
topModuleId:'oa',
link:"/oa/sig/sigSignet/SigSignetMng",
icon: require("../../assets/image/platform/module-sealCenter.png"),
isHighlight:false,
moduleType : '1' // 1- 2-
},
{
moduleName:"车辆中心",
topModuleId:'oa',
link:"/oa/car/carOfficeCar/CarOfficeCarMng",
icon: require("../../assets/image/platform/module-car.png"),
isHighlight:false,
moduleType : '1' // 1- 2-
},
{
moduleName:"办公用品",
topModuleId:'oa',
link:"/oa/om/omCategory/OmCategoryMng",
icon: require("../../assets/image/platform/module-office.png"),
isHighlight:false,
moduleType : '1' // 1- 2-
},
]
},
{
title:"人事管理",
childrens:[
{
moduleName:"考勤管理",
topModuleId:'oa',
link:"/oa/kq/attendance/AttendanceMonth",
icon: require("../../assets/image/platform/module-attendance.png"),
isHighlight:false,
moduleType : '1' // 1- 2-
},
{
moduleName:"绩效考核",
topModuleId:'oa',
link:"/oa/jx/MyAssessment",
icon: require("../../assets/image/platform/module-performance.png"),
isHighlight:false,
moduleType : '1' // 1- 2-
},
{
moduleName:"档案信息",
topModuleId:'oa',
link:"/oa/hr/user/employeeInfo",
icon: require("../../assets/image/platform/module-record.png"),
isHighlight:false,
moduleType : '1' // 1- 2-
},
]
},
{
title:"仓储管理",
childrens:[
{
moduleName:"合同管理",
topModuleId:'oa',
link:"/oa/ht/contractCard/ContractCardMng",
icon: require("../../assets/image/platform/module-contract.png"),
isHighlight:false,
moduleType : '1' // 1- 2-
}
]
},
{
title:"业务管控",
childrens:[
{
moduleName:"业务中心",
topModuleId:'oa',
link:"/mdp/workflow/re/procdef/ProcdefListForParames",
icon: require("../../assets/image/platform/module-business.png"),
isHighlight:false,
moduleType : '1' // 1- 2-
},
{
moduleName:"客户管理",
topModuleId:'oa',
link:"/oa/crm/customer/CustomerIndex",
icon: require("../../assets/image/platform/module-customerCenter.png"),
isHighlight:false,
moduleType : '1' // 1- 2-
},
{
moduleName:"项目管理",
topModuleId:'xm',
link:"/xm/core/xmProject/XmProjectMng",
icon: require("../../assets/image/platform/module-project.png"),
isHighlight:false,
moduleType : '1' // 1- 2-
},
{
moduleName:"费用管理",
topModuleId:'ac',
link:"",
icon: require("../../assets/image/platform/module-cost.png"),
isHighlight:false,
moduleType : '2' // 1- 2-
},
{
moduleName:"防伪",
topModuleId:'audit',
link:"/audit/base/productLifeCycle/productLifeCycleDetail/Safeguard",
icon: require("../../assets/image/platform/anti-fake.png"),
isHighlight:false,
moduleType : '2' // 1- 2-
},{
moduleName:"溯源",
topModuleId:'audit',
link:"/audit/base/productLifeCycle/productLifeCycleDetail/ProductLifeCycleDetailMng",
icon: require("../../assets/image/platform/traceSource.png"),
isHighlight:false,
moduleType : '2' // 1- 2-
},{
moduleName:"审计",
topModuleId:'audit',
link:"/audit/base/oper/operLog/OperLogMng",
icon: require("../../assets/image/platform/audit.png"),
isHighlight:false,
moduleType : '2' // 1- 2-
},
]
},
{
title:"系统模块",
childrens:[
{
moduleName:"组织",
topModuleId:'sys',
link:"",
icon: require("../../assets/image/platform/module-organization.png"),
isHighlight:false,
moduleType : '2' // 1- 2-
},
{
moduleName:"内容",
topModuleId:'arc',
link:"",
icon: require("../../assets/image/platform/module-content.png"),
isHighlight:false,
moduleType : '2' // 1- 2-
},
{
moduleName:"流程",
topModuleId:'oa',
link:"",
icon: require("../../assets/image/platform/module-oa.png"),
isHighlight:false,
moduleType : '2' // 1- 2-
},
{
moduleName:"商城",
topModuleId:'mallm',
link:"",
icon: require("../../assets/image/platform/module-store.png"),
isHighlight:false,
moduleType : '2' // 1- 2-
} ,
{
moduleName:"营销",
topModuleId:'mk',
link:"",
icon: require("../../assets/image/platform/module-marketing.png"),
isHighlight:false,
moduleType : '2' // 1- 2-
},
{
moduleName:"财务",
topModuleId:'ac',
link:"",
icon: require("../../assets/image/platform/module-finance.png"),
isHighlight:false,
moduleType : '2' // 1- 2-
},
{
moduleName:"短信",
topModuleId:'',
link:"sms",
icon: require("../../assets/image/platform/module-note.png"),
isHighlight:false,
moduleType : '2' // 1- 2-
},
{
moduleName:"聊天",
topModuleId:'im',
link:"",
icon: require("../../assets/image/platform/module-project.png"),
isHighlight:false,
moduleType : '2' // 1- 2-
},
{
moduleName:"防伪",
topModuleId:'audit',
link:"/audit/base/productLifeCycle/productLifeCycleDetail/Safeguard",
icon: require("../../assets/image/platform/anti-fake.png"),
isHighlight:false,
moduleType : '2' // 1- 2-
},{
moduleName:"溯源",
topModuleId:'audit',
link:"/audit/base/productLifeCycle/productLifeCycleDetail/ProductLifeCycleDetailMng",
icon: require("../../assets/image/platform/traceSource.png"),
isHighlight:false,
moduleType : '2' // 1- 2-
},{
moduleName:"审计",
topModuleId:'audit',
link:"/audit/base/oper/operLog/OperLogMng",
icon: require("../../assets/image/platform/audit.png"),
isHighlight:false,
moduleType : '2' // 1- 2-
},
]
},
],
}
},
watch: {
$route() {
this.getBreadcrumb()
},
key(val){
console.log(this.key);
this.searchModule();
}
},
methods: {
generateTitle,
@ -462,42 +39,6 @@ export default {
}
this.levelList = matched
},
//
gotolink(module) {
if(module.topModuleId==process.env.CONTEXT){
this.drawer = false
this.$router.replace(module.link);
} else{
this.jumpToOtherSystem(module);
}
},
//
jumpToOtherSystem(module) {
let href = window.location.protocol + "//" + window.location.host + "/" + module.topModuleId + "/"+ process.env.VERSION +"/#" + module.link;
window.open(href, module.moduleName,null,true);
NProgress.done() // if current page is login will not trigger afterEach hook, so manually handle it
},
//
searchModule(){
for(let i =0 ; i <this.categorys.length; i++){
for(let j =0 ; j <this.categorys[i].childrens.length; j++){
let module = this.categorys[i].childrens[j];
this.categorys[i].childrens[j].isHighlight = false;
}
}
if(this.key != ""){
for(let i =0 ; i <this.categorys.length; i++){
for(let j =0 ; j <this.categorys[i].childrens.length; j++){
let module = this.categorys[i].childrens[j];
if(module.moduleName.indexOf(this.key) > -1){
this.categorys[i].childrens[j].isHighlight = true;
}
}
}
}
}
}
}
</script>
@ -513,75 +54,4 @@ export default {
cursor: text;
}
}
.drawer-box{
.drawer{
display: flex;
justify-content: center;
align-items: center;
.drawer-content{
width: 900px;
height: 100%;
.drawer-content-input{
display: flex;
justify-content: center;
}
.drawer-content-category{
.category-name{
color: #333333;
font-size: 16px;
}
.category-list{
display: flex;
justify-content: flex-start;
flex-wrap: wrap;
.category-item{
height: 70px;
width: 70px;
margin-right: 20px;
transition: all 0.3s;
.module-icon{
width: 70px;
height: 38px;
text-align: center;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
img{
width: 20px;
}
}
.module-name{
height: 32px;
line-height: 32px;
color:#666666;
font-size: 12px;
text-align: center;
}
}
.category-item:hover{
background: rgb(240, 241, 245);
}
}
}
}
}
.highlight{
transform: scale(1.05);
-webkit-box-shadow: 0 0 30px rgba(0, 0, 0, 0.1);
border-radius: 50%;
box-shadow: 0 0 30px rgba(0, 0, 0, 0.15);
}
}
</style>
<style rel="stylesheet/scss" lang="scss">
.drawer-box{
.el-drawer{
height: 95%!important;
overflow: auto;
}
}
</style>

388
src/components/TopModules/all_modules.js

@ -0,0 +1,388 @@
var categorys=
[
{
title:"日常应用",
childrens:[
{
moduleName:"任务中心",
topModuleId:'oa',
link:"/mdp/workflow/ru/task/TaskListAssigneeToMe",
icon: require("../../assets/image/platform/module-task.png"),
isHighlight:false,
moduleType : '1' // 模块类型,1-系统类模块 2-系统外模块
},
{
moduleName:"流程中心",
topModuleId:'oa',
link:"/mdp/workflow/ru/execution/ExecutionListMyMonitors",
icon: require("../../assets/image/platform/module-flow.png"),
isHighlight:false,
moduleType : '1' // 模块类型,1-系统类模块 2-系统外模块
},
{
moduleName:"历史流程",
topModuleId:'oa',
link:"/mdp/workflow/hi/procinst/ProcinstListMyStart",
icon: require("../../assets/image/platform/module-historical.png"),
isHighlight:false,
moduleType : '1' // 模块类型,1-系统类模块 2-系统外模块
},
{
moduleName:"模型中心",
topModuleId:'oa',
link:"/mdp/workflow/de/ModelMng",
icon: require("../../assets/image/platform/module-odelCenter.png"),
isHighlight:false,
moduleType : '1' // 模块类型,1-系统类模块 2-系统外模块
},
{
moduleName:"智能表单",
topModuleId:'oa',
link:"/mdp/form/formDef/FormDefAdd",
icon: require("../../assets/image/platform/module-intelligentForms.png"),
isHighlight:false,
moduleType : '1' // 模块类型,1-系统类模块 2-系统外模块
},
{
moduleName:"新闻管理",
topModuleId:'arc',
link:"/mdp/arc/news/newsMng",
icon: require("../../assets/image/platform/module-news.png"),
isHighlight:false,
moduleType : '3', // 模块类型,1-系统类模块 2-系统外模块 3-系统外模块的模块
},
{
moduleName:"公告管理",
topModuleId:'arc',
link:"/mdp/arc/notice/noticeMng",
icon: require("../../assets/image/platform/module-notice.png"),
isHighlight:false,
moduleType : '3' // 模块类型,1-系统类模块 2-系统外模块 3-系统外模块的模块
},
]
},
{
title:"通讯沟通",
childrens:[
{
moduleName:"通讯录",
topModuleId:'sys',
link:"/mdp/sys/user/deptUserMng",
icon: require("../../assets/image/platform/module-addressBook.png"),
isHighlight:false,
moduleType : '2' // 模块类型,1-系统类模块 2-系统外模块
},
{
moduleName:"内部邮件",
topModuleId:'oa',
link:"/oa/mail/mailEmail/MailEmailInbox",
icon: require("../../assets/image/platform/module-email1.png"),
isHighlight:false,
moduleType : '1' // 模块类型,1-系统类模块 2-系统外模块
},
{
moduleName:"外部邮件",
topModuleId:'oa',
link:"/oa/mail/mailAccount/MailAccountMng",
icon: require("../../assets/image/platform/module-email2.png"),
isHighlight:false,
moduleType : '1' // 模块类型,1-系统类模块 2-系统外模块
},
{
moduleName:"短信",
topModuleId:'sms',
link:"",
icon: require("../../assets/image/platform/module-note.png"),
isHighlight:false,
moduleType : '2' // 模块类型,1-系统类模块 2-系统外模块
},
{
moduleName:"聊天",
topModuleId:'im',
link:"",
icon: require("../../assets/image/platform/module-project.png"),
isHighlight:false,
moduleType : '2' // 模块类型,1-系统类模块 2-系统外模块
},
]
},
{
title:"工作执行",
childrens:[
{
moduleName:"日程管理",
topModuleId:'oa',
link:"/oa/rc/rcScheduleMy/RcScheduleMyMng",
icon: require("../../assets/image/platform/module-schedule.png"),
isHighlight:false,
moduleType : '1' // 模块类型,1-系统类模块 2-系统外模块
},
{
moduleName:"督办管理",
topModuleId:'oa',
link:"/oa/duban/dubanItem/DubanItem",
icon: require("../../assets/image/platform/module-supervise.png"),
isHighlight:false,
moduleType : '1' // 模块类型,1-系统类模块 2-系统外模块
},
{
moduleName:"督办任务",
topModuleId:'oa',
link:"/oa/duban/dubanItemTask/HostDubanItemTask",
icon: require("../../assets/image/platform/module-supervisoryTask.png"),
isHighlight:false,
moduleType : '1' // 模块类型,1-系统类模块 2-系统外模块
},
]
},
{
title:"行政管理",
childrens:[
{
moduleName:"组织",
topModuleId:'sys',
link:"/mdp/sys/dept/DeptMng",
icon: require("../../assets/image/platform/module-organization.png"),
isHighlight:false,
moduleType : '2' // 模块类型,1-系统类模块 2-系统外模块
},
{
moduleName:"资产管理",
topModuleId:'oa',
link:"/oa/erp/pur/require/RequireMng",
icon: require("../../assets/image/platform/module-property.png"),
isHighlight:false,
moduleType : '1' // 模块类型,1-系统类模块 2-系统外模块
},
{
moduleName:"会议管理",
topModuleId:'oa',
link:"/oa/meet/meetMeeting/MeetMeetingRequire",
icon: require("../../assets/image/platform/module-meeting.png"),
isHighlight:false,
moduleType : '1' // 模块类型,1-系统类模块 2-系统外模块
},
{
moduleName:"印章中心",
topModuleId:'oa',
link:"/oa/sig/sigSignet/SigSignetMng",
icon: require("../../assets/image/platform/module-sealCenter.png"),
isHighlight:false,
moduleType : '1' // 模块类型,1-系统类模块 2-系统外模块
},
{
moduleName:"车辆中心",
topModuleId:'oa',
link:"/oa/car/carOfficeCar/CarOfficeCarMng",
icon: require("../../assets/image/platform/module-car.png"),
isHighlight:false,
moduleType : '1' // 模块类型,1-系统类模块 2-系统外模块
},
{
moduleName:"办公用品",
topModuleId:'oa',
link:"/oa/om/omCategory/OmCategoryMng",
icon: require("../../assets/image/platform/module-office.png"),
isHighlight:false,
moduleType : '1' // 模块类型,1-系统类模块 2-系统外模块
},
]
},
{
title:"人事管理",
childrens:[
{
moduleName:"考勤管理",
topModuleId:'oa',
link:"/oa/kq/attendance/AttendanceMonth",
icon: require("../../assets/image/platform/module-attendance.png"),
isHighlight:false,
moduleType : '1' // 模块类型,1-系统类模块 2-系统外模块
},
{
moduleName:"绩效考核",
topModuleId:'oa',
link:"/oa/jx/MyAssessment",
icon: require("../../assets/image/platform/module-performance.png"),
isHighlight:false,
moduleType : '1' // 模块类型,1-系统类模块 2-系统外模块
},
{
moduleName:"档案信息",
topModuleId:'oa',
link:"/oa/hr/user/employeeInfo",
icon: require("../../assets/image/platform/module-record.png"),
isHighlight:false,
moduleType : '1' // 模块类型,1-系统类模块 2-系统外模块
},
]
},
{
title:"仓储管理",
childrens:[
{
moduleName:"合同管理",
topModuleId:'oa',
link:"/oa/ht/contractCard/ContractCardMng",
icon: require("../../assets/image/platform/module-contract.png"),
isHighlight:false,
moduleType : '1' // 模块类型,1-系统类模块 2-系统外模块
}
]
},
{
title:"业务管控",
childrens:[
{
moduleName:"业务中心",
topModuleId:'oa',
link:"/mdp/workflow/re/procdef/ProcdefListForParames",
icon: require("../../assets/image/platform/module-business.png"),
isHighlight:false,
moduleType : '1' // 模块类型,1-系统类模块 2-系统外模块
},
{
moduleName:"客户管理",
topModuleId:'oa',
link:"/oa/crm/customer/CustomerIndex",
icon: require("../../assets/image/platform/module-customerCenter.png"),
isHighlight:false,
moduleType : '1' // 模块类型,1-系统类模块 2-系统外模块
},
{
moduleName:"项目管理",
topModuleId:'xm',
link:"/xm/core/xmProject/XmProjectMng",
icon: require("../../assets/image/platform/module-project.png"),
isHighlight:false,
moduleType : '1' // 模块类型,1-系统类模块 2-系统外模块
},
{
moduleName:"费用管理",
topModuleId:'ac',
link:"",
icon: require("../../assets/image/platform/module-cost.png"),
isHighlight:false,
moduleType : '2' // 模块类型,1-系统类模块 2-系统外模块
},
{
moduleName:"防伪",
topModuleId:'audit',
link:"/audit/base/productLifeCycle/productLifeCycleDetail/Safeguard",
icon: require("../../assets/image/platform/anti-fake.png"),
isHighlight:false,
moduleType : '2' // 模块类型,1-系统类模块 2-系统外模块
},{
moduleName:"溯源",
topModuleId:'audit',
link:"/audit/base/productLifeCycle/productLifeCycleDetail/ProductLifeCycleDetailMng",
icon: require("../../assets/image/platform/traceSource.png"),
isHighlight:false,
moduleType : '2' // 模块类型,1-系统类模块 2-系统外模块
},{
moduleName:"审计",
topModuleId:'audit',
link:"/audit/base/oper/operLog/OperLogMng",
icon: require("../../assets/image/platform/audit.png"),
isHighlight:false,
moduleType : '2' // 模块类型,1-系统类模块 2-系统外模块
},
]
},
{
title:"系统模块",
childrens:[
{
moduleName:"组织",
topModuleId:'sys',
link:"",
icon: require("../../assets/image/platform/module-organization.png"),
isHighlight:false,
moduleType : '2' // 模块类型,1-系统类模块 2-系统外模块
},
{
moduleName:"内容",
topModuleId:'arc',
link:"",
icon: require("../../assets/image/platform/module-content.png"),
isHighlight:false,
moduleType : '2' // 模块类型,1-系统类模块 2-系统外模块
},
{
moduleName:"流程",
topModuleId:'oa',
link:"",
icon: require("../../assets/image/platform/module-oa.png"),
isHighlight:false,
moduleType : '2' // 模块类型,1-系统类模块 2-系统外模块
},
{
moduleName:"商城",
topModuleId:'mallm',
link:"",
icon: require("../../assets/image/platform/module-store.png"),
isHighlight:false,
moduleType : '2' // 模块类型,1-系统类模块 2-系统外模块
} ,
{
moduleName:"营销",
topModuleId:'mk',
link:"",
icon: require("../../assets/image/platform/module-marketing.png"),
isHighlight:false,
moduleType : '2' // 模块类型,1-系统类模块 2-系统外模块
},
{
moduleName:"财务",
topModuleId:'ac',
link:"",
icon: require("../../assets/image/platform/module-finance.png"),
isHighlight:false,
moduleType : '2' // 模块类型,1-系统类模块 2-系统外模块
},
{
moduleName:"短信",
topModuleId:'',
link:"sms",
icon: require("../../assets/image/platform/module-note.png"),
isHighlight:false,
moduleType : '2' // 模块类型,1-系统类模块 2-系统外模块
},
{
moduleName:"聊天",
topModuleId:'im',
link:"",
icon: require("../../assets/image/platform/module-project.png"),
isHighlight:false,
moduleType : '2' // 模块类型,1-系统类模块 2-系统外模块
},
{
moduleName:"防伪",
topModuleId:'audit',
link:"/audit/base/productLifeCycle/productLifeCycleDetail/Safeguard",
icon: require("../../assets/image/platform/anti-fake.png"),
isHighlight:false,
moduleType : '2' // 模块类型,1-系统类模块 2-系统外模块
},{
moduleName:"溯源",
topModuleId:'audit',
link:"/audit/base/productLifeCycle/productLifeCycleDetail/ProductLifeCycleDetailMng",
icon: require("../../assets/image/platform/traceSource.png"),
isHighlight:false,
moduleType : '2' // 模块类型,1-系统类模块 2-系统外模块
},{
moduleName:"审计",
topModuleId:'audit',
link:"/audit/base/oper/operLog/OperLogMng",
icon: require("../../assets/image/platform/audit.png"),
isHighlight:false,
moduleType : '2' // 模块类型,1-系统类模块 2-系统外模块
},
]
},
]
export default categorys;

220
src/components/TopModules/index.vue

@ -0,0 +1,220 @@
<template>
<section>
<div class="module-item" v-for="(item,index) in topModules" :key="index">
<div class="module-text" @click="gotolink(item)" >
<div class="box-icon">
<img :src="item.icon" height="20px" />
</div>
<div class="box-info">{{item.moduleName}}</div>
</div>
</div>
<div class="module-item">
<div class="module-text" @click="drawer=true" >
<div class="box-icon">
<i class="el-icon-menu" height="20px" />
</div>
<div class="box-info">全部应用</div>
</div>
</div>
<div class="drawer-box">
<el-drawer
:visible.sync="drawer"
:direction="direction">
<div class="drawer">
<div class="drawer-content">
<div class="drawer-content-input">
<el-input placeholder="请输入中文" v-model.trim="key" clearable prefix-icon = "el-icon-search" size="small" style="width:60%">
</el-input>
</div>
<div class="drawer-content-category" v-for="(item,index) in categorys" :key="index">
<div class="category-name" v-text="item.title"></div>
<div class="category-list">
<div
class="category-item"
v-for="(module,mindex) in item.childrens" :key="index+'_'+mindex"
@click="gotolink(module)"
:class="{highlight : module.isHighlight }"
>
<div class="module-icon">
<img :src="module.icon">
</div>
<div class="module-name" v-text="module.moduleName"></div>
</div>
</div>
</div>
</div>
</div>
</el-drawer>
</div>
</section>
</template>
<script>
import NProgress from 'nprogress' // progress bar
const topModulesData = require("./top_modules_"+process.env.CONTEXT+".js")
const allModulesData = require("./all_modules.js")
export default {
created() {
},
data() {
return {
levelList: null,
drawer: false,
direction: 'rtl',
key:"",
topModules: topModulesData.default,
//
categorys:allModulesData.default,
}
},
watch: {
key(val){
this.searchModule();
}
},
methods: {
//
gotolink(module) {
if(module.topModuleId==process.env.CONTEXT){
this.drawer = false
this.$router.push({path:module.link});
} else{
this.jumpToOtherSystem(module);
}
},
//
jumpToOtherSystem(module) {
let href = window.location.protocol + "//" + window.location.host + "/" + module.topModuleId + "/"+ process.env.VERSION +"/#" + module.link;
window.open(href, module.moduleName,null,true);
NProgress.done() // if current page is login will not trigger afterEach hook, so manually handle it
},
//
searchModule(){
for(let i =0 ; i <this.categorys.length; i++){
for(let j =0 ; j <this.categorys[i].childrens.length; j++){
let module = this.categorys[i].childrens[j];
this.categorys[i].childrens[j].isHighlight = false;
}
}
if(this.key != ""){
for(let i =0 ; i <this.categorys.length; i++){
for(let j =0 ; j <this.categorys[i].childrens.length; j++){
let module = this.categorys[i].childrens[j];
if(module.moduleName.indexOf(this.key) > -1){
this.categorys[i].childrens[j].isHighlight = true;
}
}
}
}
}
}
}
</script>
<style rel="stylesheet/scss" lang="scss" scoped>
.drawer-box{
.drawer{
padding-left: 10px;
padding-right: 10px;
display: flex;
justify-content: center;
align-items: center;
.drawer-content{
width: 900px;
height: 100%;
.drawer-content-input{
display: flex;
justify-content: center;
}
.drawer-content-category{
.category-name{
color: #333333;
font-size: 16px;
}
.category-list{
display: flex;
justify-content: flex-start;
flex-wrap: wrap;
.category-item{
height: 70px;
width: 70px;
margin-right: 20px;
transition: all 0.3s;
.module-icon{
width: 70px;
height: 38px;
text-align: center;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
img{
width: 20px;
}
}
.module-name{
height: 32px;
line-height: 32px;
color:#666666;
font-size: 12px;
text-align: center;
}
}
.category-item:hover{
background: rgb(240, 241, 245);
}
}
}
}
}
.highlight{
transform: scale(1.05);
-webkit-box-shadow: 0 0 30px rgba(0, 0, 0, 0.1);
border-radius: 50%;
box-shadow: 0 0 30px rgba(0, 0, 0, 0.15);
}
}
.module-item {
display: inline-block;
cursor: pointer;
fill: #5a5e66;
align-items: center;
text-align: center;
margin-left: 10px;
.module-text{
line-height: 22px;
font-size: 22px;
}
.box-icon {
padding-top:5px;
text-align: center;
}
.box-info {
text-align: center;
font-size: 14px;
color: #000000;
}
}
</style>
<style rel="stylesheet/scss" lang="scss">
.drawer-box{
.el-drawer{
height: 100%!important;
overflow: auto;
}
}
</style>

85
src/components/TopModules/top_modules_oa.js

@ -0,0 +1,85 @@
var topModules=
[
{
moduleName:"待审批",
topModuleId:'oa',
link:"/mdp/workflow/ru/task/TaskListAssigneeToMe",
icon: require("../../assets/image/platform/module-task.png"),
isHighlight:false,
moduleType : '1' // 模块类型,1-系统类模块 2-系统外模块
},
{
moduleName:"日程",
topModuleId:'oa',
link:"/oa/rc/rcScheduleMy/RcScheduleMyMng",
icon: require("../../assets/image/platform/module-schedule.png"),
isHighlight:false,
moduleType : '1' // 模块类型,1-系统类模块 2-系统外模块
},
{
moduleName:"会议",
topModuleId:'oa',
link:"/oa/meet/meetMeeting/MeetMeetingRequire",
icon: require("../../assets/image/platform/module-meeting.png"),
isHighlight:false,
moduleType : '1' // 模块类型,1-系统类模块 2-系统外模块
},
{
moduleName:"办公用品",
topModuleId:'oa',
link:"/oa/om/omCategory/OmCategoryMng",
icon: require("../../assets/image/platform/module-office.png"),
isHighlight:false,
moduleType : '1' // 模块类型,1-系统类模块 2-系统外模块
},
{
moduleName:"档案",
topModuleId:'oa',
link:"/oa/hr/user/employeeInfo",
icon: require("../../assets/image/platform/module-record.png"),
isHighlight:false,
moduleType : '1' // 模块类型,1-系统类模块 2-系统外模块
},
{
moduleName:"通讯录",
topModuleId:'sys',
link:"/mdp/sys/user/deptUserMng",
icon: require("../../assets/image/platform/module-addressBook.png"),
isHighlight:false,
moduleType : '2' // 模块类型,1-系统类模块 2-系统外模块
},
{
moduleName:"合同",
topModuleId:'oa',
link:"/oa/ht/contractCard/ContractCardMng",
icon: require("../../assets/image/platform/module-contract.png"),
isHighlight:false,
moduleType : '1' // 模块类型,1-系统类模块 2-系统外模块
},
{
moduleName:"财务",
topModuleId:'ac',
link:"",
icon: require("../../assets/image/platform/module-finance.png"),
isHighlight:false,
moduleType : '2' // 模块类型,1-系统类模块 2-系统外模块
},
{
moduleName:"项目",
topModuleId:'xm',
link:"/xm/core/xmProject/XmProjectMng",
icon: require("../../assets/image/platform/module-project.png"),
isHighlight:false,
moduleType : '1' // 模块类型,1-系统类模块 2-系统外模块
},
{
moduleName:"资产",
topModuleId:'oa',
link:"/oa/erp/pur/require/RequireMng",
icon: require("../../assets/image/platform/module-property.png"),
isHighlight:false,
moduleType : '1' // 模块类型,1-系统类模块 2-系统外模块
},
]
export default topModules

19
src/views/layout/components/Navbar.vue

@ -2,9 +2,11 @@
<el-menu class="navbar" mode="horizontal">
<hamburger class="hamburger-container" :toggleClick="toggleSideBar" :isActive="sidebar.opened"></hamburger>
<breadcrumb class="breadcrumb-container hidden-sm-and-down"></breadcrumb>
<!--<breadcrumb class="breadcrumb-container"></breadcrumb>-->
<top-modules class="modules-container"></top-modules>
<div class="right-menu">
<!--
<div class="hidden-sm-and-down" style="float:left;display:flex;align-items: center;height:100%;">
<el-tooltip v-if="workShop.locationName" class="item" effect="dark" :content="workShop.branchId+' '+workShop.shopId+' '+workShop.locationId" placement="top-start">
<el-tag>{{workShop.branchName}} {{workShop.locationName}}</el-tag>
@ -14,10 +16,11 @@
</el-tooltip>
<el-button @click="showSelectShopMethod" type="primary" v-if="workShop.isSuperAdmin||workShop.isPlatFormAdmin">切换商户</el-button>
</div>
-->
<error-log class="errLog-container right-menu-item hidden-sm-and-down"></error-log>
<screenfull class="screenfull right-menu-item"></screenfull>
<screenfull class="screenfull right-menu-item"></screenfull>
<lang-select class="international right-menu-item hidden-sm-and-down"></lang-select>
<el-tooltip class="hidden-sm-and-down" effect="dark" :content="$t('navbar.theme')" placement="bottom">
@ -95,6 +98,7 @@
<script>
import { mapGetters } from 'vuex'
import Breadcrumb from '@/components/Breadcrumb'
import TopModules from '@/components/TopModules'
import Hamburger from '@/components/Hamburger'
import ErrorLog from '@/components/ErrorLog'
import Screenfull from '@/components/Screenfull'
@ -109,7 +113,8 @@ export default {
ErrorLog,
Screenfull,
LangSelect,
ThemePicker
ThemePicker,
TopModules
},
data:function(){
return {
@ -234,12 +239,20 @@ export default {
height: 50px;
line-height: 50px;
border-radius: 0px !important;
background-color: lightblue;
.hamburger-container {
line-height: 58px;
height: 50px;
float: left;
padding: 0 10px;
}
.modules-container {
line-height: 58px;
height: 50px;
float: left;
padding: 0 10px;
}
.breadcrumb-container{
float: left;
}

1
src/views/layout/components/Sidebar/Logo.vue

@ -41,7 +41,6 @@ export default {
}
.sidebar-logo-container {
position: relative;
width: 100%;
height: 50px;
line-height: 50px;

4
src/views/layout/components/Sidebar/index.vue

@ -1,4 +1,6 @@
<template>
<section>
<logo :collapse="isCollapse"/>
<scroll-bar>
<el-menu
mode="vertical"
@ -9,10 +11,10 @@
text-color="#bfcbd9"
active-text-color="#409EFF"
>
<logo :collapse="isCollapse"/>
<sidebar-item :routes="permission_routers"></sidebar-item>
</el-menu>
</scroll-bar>
</section>
</template>
<script>

18
src/views/layout/components/TagsView.vue

@ -1,18 +1,6 @@
<template>
<div class="tags-view-container">
<scroll-pane class='tags-view-wrapper' ref='scrollPane'>
<router-link ref='tag' class="tags-view-item" :class="isActive(tag)?'active':''" v-for="tag in Array.from(visitedViews)"
:to="tag" :key="tag.path" @contextmenu.prevent.native="openMenu(tag,$event)">
{{generateTitle(tag.title)}}
<span class='el-icon-close' @click.prevent.stop='closeSelectedTag(tag)'></span>
</router-link>
</scroll-pane>
<ul class='contextmenu' v-show="visible" :style="{left:left+'px',top:top+'px'}">
<li @click="closeSelectedTag(selectedTag)">{{$t('tagsView.close')}}</li>
<li @click="closeOthersTags">{{$t('tagsView.closeOthers')}}</li>
<li @click="closeAllTags">{{$t('tagsView.closeAll')}}</li>
</ul>
</div>
<section>
</section>
</template>
<script>
@ -37,7 +25,7 @@ export default {
watch: {
$route() {
this.addViewTags()
this.moveToCurrentTag()
//this.moveToCurrentTag()
},
visible(value) {
if (value) {

91
src/views/mdp/arc/archiveAttachment/AttachmentUpload.vue

@ -56,9 +56,19 @@
:disabled="isDisabled"
>
<el-button type="text" :class="{ change: isDisabled }">上传附件</el-button>
<!-- <el-button >查看附件</el-button> -->
</el-upload>
</el-col>
<el-col :span="6" style="padding-right: 50px;">
<el-col v-if="isUserInfo&&isUserInfo==1" :span="6" style="padding-right: 50px;">
<el-button v-if="fileList==[]||fileList.length==0" @click="showFile">显示附件</el-button>
<el-button v-else @click="hideFile">隐藏附件</el-button>
<!-- <el-button
@click="handleOnlinePeview"
:disabled="previewOnlineUrls.length<=0"
>预览{{previewOnlineUrls.length}}张图</el-button> -->
</el-col>
<el-col v-else :span="6" style="padding-right: 50px;">
<el-button
@click="handleOnlinePeview"
:disabled="previewOnlineUrls.length<=0"
@ -74,7 +84,7 @@ import {
listArchiveAttachment,
delArchiveAttachment
} from "@/api/mdp/arc/archiveAttachment";
import {listHrUserAccessory} from "@/api/oa/hr/user/hrUserAccessory";
export default {
props: [
"branchId",
@ -84,22 +94,37 @@ export default {
"listType",
"limit",
"eliminate",
"isDisabled"
"isDisabled",
"userId",
"isUserInfo"
],
watch: {
// archiveId: function(archiveId){
// this.fileList = [];
// console.log(1,archiveId);
// // listHrUserAccessory({relevanceId:this.archiveId}).then(res => {
// // var files1 = res.data.data
// // files1.forEach(i => (i.name = i.name));
// // console.log(2,files1);
// // });
// },
archiveId: function(archiveId) {
var that = this;
this.$nextTick(_ => {
this.fileList = [];
listArchiveAttachment({ archiveId: this.archiveId }).then(res => {
var files = res.data.data;
if (files && files.length > 0) {
files.forEach(i => {
i.name = i.name;
that.fileList.push(i);
});
}
});
if(this.isUserInfo==1){
}else{
listArchiveAttachment({ archiveId: that.archiveId }).then(res => {
var files = res.data.data;
if (files && files.length > 0) {
files.forEach(i => {
i.name = i.name;
that.fileList.push(i);
});
}
});
}
});
},
eliminate: function(eliminate) {
@ -128,7 +153,7 @@ export default {
});
previewOnlineUrls.forEach(i => {
i.url =
config.getArcFileUploadBasePath() + "/" + i.url + "?name=" + i.name;
config.getArcFileUploadBasePath() + "/" + i.accessory + "?name=" + i.name;
});
console.log(
"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx00000000000000000000000000000000000"
@ -144,7 +169,9 @@ export default {
fileList: [],
showPreviewImage: false,
showOnePreviewImage: false,
image: null
image: null,
isshow:false,
isshowtrue:false
/**end 在上面加自定义属性**/
}; //end return
}, //end data
@ -157,16 +184,39 @@ export default {
handleSuccess(res, file) {
if (res.tips.isOk) {
file = Object.assign(file, res.data);
console.log(this.isshowtrue);
this.fileList.push(res.data);
if(!this.isshowtrue){
this.fileList = [];
}
console.log(this.fileList);
this.$emit('getCarFrontImageUrl',res.data.url)
this.$emit('getCarBackImageUrl',res.data.url)
this.$emit('getCarInnerImageUrl',res.data.url)
this.$emit('uploadSuccess',file)
this.$message.success('上传附件成功');
} else {
this.$message.warning(res.tips.msg);
return false;
}
},
showFile(){
console.log(6,this.fileList);
this.isshowtrue = true;
listHrUserAccessory({relevanceId:this.archiveId,userid:this.userId}).then(res => {
var files = res.data.data;
files.forEach(i => (i.name = i.name));
this.fileList = files;
console.log(2,this.fileList);
if(this.fileList.length == 0||!this.fileList.length){
this.$message('暂无附件');
}
});
},
hideFile(){
this.isshowtrue = false;
this.fileList = [];
},
handleRemove(file, fileList) {
if (!file.id || file.id == null || file.id == "") {
return true;
@ -226,13 +276,14 @@ export default {
var canDel = false;
this.fileList.forEach(item => {
if (item.name == file.name) {
if (item.canDel == "1") {
if (item.canDel == "1"||item.type == "1") {
canDel = true;
return;
}
}
});
if (canDel == false && file.id && file.id != null && file.id != "") {
console.log(66);
this.$message.warning(file.name + "设置了不允许删除");
return false;
} else if (
@ -252,13 +303,13 @@ export default {
this.$message({ message: "文件已经存在", type: "warning" });
return false;
} else {
if (file.size > 1024 * 1024 * 4) {
if (file.size > 1024 * 1024) {
//4M
this.$message({
message:
"文件大小为" +
file.size / (1024 * 1024) +
"M,大于4M,不允许上传。",
"M,大于1M,不允许上传。",
type: "warning"
});
return false;
@ -281,12 +332,6 @@ export default {
if (!this.archiveId) {
return;
}
listArchiveAttachment({ archiveId: this.archiveId }).then(res => {
var files = res.data.data;
files.forEach(i => (i.name = i.name));
this.fileList = files;
});
/**在下面写其它函数***/
} //end mounted
};

1384
src/views/mdp/arc/tag/TagMng.vue
File diff suppressed because it is too large
View File

2
src/views/mdp/form/formData/FormDataMng.vue

@ -91,7 +91,7 @@
{{showCalendar==true?'切换列表':'切换日历'}}
</el-tag>
</el-row>
<el-row class="app-container">
<el-row class="page-container border">
<el-col :xs="4" :sm="4" :md="3" :lg="3" :xl="3" class="hidden-sm-and-down">
<dept-tree ref="deptTree" show-root default-expand-all multiple show-checkbox :expand-on-click-node="false" v-on:check-change="handleDeptTreeCheckChange"></dept-tree>
</el-col>

2
src/views/mdp/form/formData/FormDataMngForFlow.vue

@ -31,7 +31,7 @@
<el-button v-if="filters.flowState!='1'" type="primary" @click="showAdd">新增数据</el-button>
<el-button v-if=" filters.flowState!='1'" type="danger" @click="batchDel" :disabled="this.sels.length===0">批量删除</el-button>
</sticky>
<el-row class="app-container">
<el-row class="page-container border">
<el-table v-if="filters.flowState=='0'" :data="formDatas" @sort-change="sortChange" height="240" highlight-current-row v-loading="listLoading" border @selection-change="selsChange" style="width: 100%;">
<el-table-column type="selection" width="55" v-if="showBtn"></el-table-column>
<el-table-column type="index" width="60"></el-table-column>

2
src/views/mdp/form/formData/FormDataMngForFlowTable.vue

@ -31,7 +31,7 @@
<el-button v-if="filters.flowState!='1'" type="primary" @click="showAdd">新增数据</el-button>
<el-button v-if=" filters.flowState!='1'" type="danger" @click="batchDel" :disabled="this.sels.length===0">批量删除</el-button>
</sticky>
<el-row class="app-container">
<el-row class="page-container border">
<el-table v-if="filters.flowState=='0'" :data="formDatas" @sort-change="sortChange" height="240" highlight-current-row v-loading="listLoading" border @selection-change="selsChange" style="width: 100%;">
<el-table-column type="selection" width="55" v-if="showBtn"></el-table-column>
<el-table-column type="index" width="60"></el-table-column>

3
src/views/mdp/form/formDef/FormDefAdd.vue

@ -1,7 +1,6 @@
<template>
<section>
<el-row class="app-container">
<!--新增界面 FormDef 表单定义-->
<el-row class="page-container border padding">
<form-field ref="fields" :form-def.sync="addForm" :fields.sync="fields"></form-field>
<el-form :model="addForm" label-width="120px" :rules="addFormRules" ref="addForm">

3
src/views/mdp/form/formDef/FormDefForFlowNode.vue

@ -1,7 +1,6 @@
<template>
<section>
<el-row class="app-container">
<!--新增界面 FormDef 表单定义-->
<el-row class="page-container border padding">
<form-field ref="fields" :visible="visible" :form-def.sync="addForm" :fields.sync="fields" :load-from-db="0"></form-field>
<el-form :model="addForm" label-width="120px" :rules="addFormRules" ref="addForm">

2
src/views/mdp/form/formDef/FormDefList.vue

@ -32,7 +32,7 @@
</sticky>
<el-row class="app-container">
<el-row class="page-container border">
<!--工具条2-->

2
src/views/mdp/form/formDef/FormDefMng.vue

@ -46,7 +46,7 @@
{{filters.user.username}}
</el-tag>
</el-row>
<el-row class="app-container">
<el-row class="page-container border">
<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>

2
src/views/mdp/form/formField/FormField.vue

@ -1,6 +1,6 @@
<template>
<section>
<el-row class="app-container">
<el-row class="page-container border">
<el-col :span="10">
<draggable id="delDrg" class="dragArea" :list="delFields" :options="{group:{ name:'g1'}, animation:150}" :no-transition-on-drag="true" @start="drag=true" @end="drag=false">
<el-badge :value="selectedFields.length" class="item">

3
src/views/mdp/form/formQx/FormQxSet.vue

@ -1,7 +1,6 @@
<template>
<section>
<el-row class="app-container">
<!--编辑界面 FormQx 表单权限-->
<el-row class="page-container border padding">
<el-form :model="editForm" label-width="140px" :rules="editFormRules" ref="editForm">
<el-form-item label="表单" prop="formId">
{{editForm.formId}}-{{formDef?formDef.formName:''}}

3
src/views/mdp/meta/category/CategoryAdd.vue

@ -1,7 +1,6 @@
<template>
<section>
<el-row>
<!--新增界面 Category 元数据分类-->
<el-row class="page-container border padding">
<el-form :model="addForm" label-width="120px" :rules="addFormRules" ref="addForm">
<el-form-item label="分类编号" prop="id">
<el-input v-model="addForm.id" auto-complete="off"></el-input><el-tag>为空则后台自动生成</el-tag>

2
src/views/mdp/meta/category/CategoryMng.vue

@ -6,7 +6,7 @@
<el-button type="primary" @click="showAdd">+元数据分类</el-button>
<el-button type="danger" v-loading="load.del" @click="batchDel" :disabled="this.sels.length===0">批量删除</el-button>
</sticky>
<el-row class="app-container">
<el-row class="page-container border">
<!--列表 Category 元数据分类-->
<el-table :data="categorys" @sort-change="sortChange" highlight-current-row v-loading="load.list" border @selection-change="selsChange" @row-click="rowClick" style="width: 100%;">
<el-table-column type="selection" width="55"></el-table-column>

3
src/views/mdp/meta/item/ItemAdd.vue

@ -1,7 +1,6 @@
<template>
<section>
<el-row>
<!--新增界面 Item 数据项定义-->
<el-row class="page-container border padding">
<el-form :model="addForm" label-width="120px" :rules="addFormRules" ref="addForm">
<el-form-item label="编号" prop="id">
<el-input v-model="addForm.id" auto-complete="off"></el-input><el-tag>为空则后台自动生成</el-tag>

3
src/views/mdp/meta/item/ItemEdit.vue

@ -1,7 +1,6 @@
<template>
<section>
<el-row>
<!--新增界面 Item 数据项定义-->
<el-row class="page-container border padding">
<el-form :model="editForm" label-width="120px" :rules="editFormRules" ref="editForm">
<el-form-item label="编号" prop="id">
<el-tag>{{editForm.id}}</el-tag>

2
src/views/mdp/meta/item/ItemMng.vue

@ -12,7 +12,7 @@
<el-button type="text" @click="showAdd" :disabled="readOnly==true">+字段</el-button>
<el-button type="text" v-loading="load.del" @click="batchDel" :disabled="this.sels.length===0 || readOnly==true">删除</el-button>
</sticky>
<el-row class="app-container">
<el-row class="page-container border">
<!--列表 Item 数据项定义-->
<el-table :data="items" @sort-change="sortChange" highlight-current-row v-loading="load.list" border @selection-change="selsChange" @row-click="rowClick" style="width: 100%;">
<el-table-column type="selection" min-width="55"></el-table-column>

3
src/views/mdp/meta/itemOption/ItemOptionAdd.vue

@ -1,7 +1,6 @@
<template>
<section>
<el-row>
<!--新增界面 ItemOption 数据项取值列表-->
<el-row class="page-container border padding">
<el-form :model="addForm" label-width="120px" :rules="addFormRules" ref="addForm">
<el-form-item label="选项值" prop="optionValue">
<el-input v-model="addForm.optionValue" auto-complete="off"></el-input>

2
src/views/mdp/meta/itemOption/ItemOptionMng.vue

@ -12,7 +12,7 @@
<el-button type="text" @click="showAdd" :disabled="readOnly==true">+字段值</el-button>
<el-button type="text" v-loading="load.del" @click="batchDel" :disabled="this.sels.length===0 || readOnly==true">删除</el-button>
</sticky>
<el-row class="app-container">
<el-row class="page-container border">
<!--列表 ItemOption 数据项取值列表-->
<el-table :data="itemOptions" @sort-change="sortChange" highlight-current-row v-loading="load.list" border @selection-change="selsChange" @row-click="rowClick" style="width: 100%;">
<el-table-column type="selection" width="55"></el-table-column>

3
src/views/mdp/meta/sysParam/ItemOptionAdd.vue

@ -1,7 +1,6 @@
<template>
<section>
<el-row>
<!--新增界面 ItemOption 数据项取值列表-->
<el-row class="page-container border padding">
<el-form :model="addForm" label-width="120px" :rules="addFormRules" ref="addForm">
<el-form-item label="参数代码" prop="id">
<el-input v-model="addForm.id" auto-complete="off"></el-input>

3
src/views/mdp/meta/sysParam/ItemOptionEdit.vue

@ -1,7 +1,6 @@
<template>
<section>
<el-row>
<!--新增界面 ItemOption 数据项取值列表-->
<el-row class="page-container border padding">
<el-form :model="editForm" label-width="120px" :rules="editFormRules" ref="editForm">
<el-form-item label="参数代码" prop="id">
<el-input v-model="editForm.id" auto-complete="off"></el-input>

2
src/views/mdp/meta/sysParam/SysParamMng.vue

@ -8,7 +8,7 @@
<el-button type="primary" @click="showAdd">+参数</el-button>
<el-button type="danger" v-loading="load.del" @click="batchDel" :disabled="this.sels.length===0">批量删除</el-button>
</sticky>
<el-row class="app-container">
<el-row class="page-container border">
<!--列表 ItemOption 数据项取值列表-->
<el-table :data="itemOptions" @sort-change="sortChange" highlight-current-row v-loading="load.list" border @selection-change="selsChange" @row-click="rowClick" style="width: 100%;">
<el-table-column type="selection" width="55"></el-table-column>

2
src/views/mdp/sys/branch/BranchSelect.vue

@ -4,7 +4,7 @@
<el-input v-model="filters.key" style="width: 20%;" placeholder="模糊查询"></el-input>
<el-button type="primary" v-loading="load.list" v-on:click="searchBranchs">查询</el-button>
</sticky>
<el-row class="app-container">
<el-row class="page-container border">
<!--列表 Branch 管理端机构表机构下面若干部门-->
<el-table :data="branchs" @sort-change="sortChange" highlight-current-row v-loading="load.list" border @selection-change="selsChange" @row-click="rowClick" style="width: 100%;">
<el-table-column type="index" width="60"></el-table-column>

4
src/views/mdp/sys/post/PostSelectCommon.vue

@ -1,6 +1,6 @@
<template>
<section>
<el-row class="app-container">
<el-row class="page-container border">
<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="searchPosts">查询</el-button>
@ -9,7 +9,7 @@
<i class="el-icon-question"></i>
</el-tooltip>
</el-row>
<el-row class="app-container">
<el-row class="page-container border">
<!--列表 Post sys_post-->
<el-table :data="posts" @sort-change="sortChange" highlight-current-row v-loading="load.list" border @selection-change="selsChange" @row-click="rowClick" style="width: 100%;">
<el-table-column type="selection" width="55"></el-table-column>

6
src/views/mdp/sys/user/UsersSelect.vue

@ -15,7 +15,7 @@
</el-tag>
</el-row>
<el-row class="app-container">
<el-row class="page-container border">
<el-col :span="6" style=" overflow-x:auto; height:600px;">
<dept-tree show-root default-expand-all show-checkbox :expand-on-click-node="false" @node-click="handleLeftDeptNodeClick" @branch-row-click="branchRowClick"></dept-tree>
</el-col>
@ -279,6 +279,10 @@
return;
}
}
// console.log(this.deptTree.deptNodeSelected)
// deptid
let returnData = this.sels.map(i=>{return {'userid':i.userid,'username':i.username,'sex':i.sex,'headimgurl':i.headimgurl,'email':i.email}});
if(this.isSelectByDept) returnData.deptData = this.currentSelectDeptData;
this.$emit('confirm',returnData);

508
src/views/mdp/sys/userDept/UserDeptEdit.vue

@ -2,75 +2,22 @@
<section>
<el-row>
<!--编辑界面 UserDept 用户部门关系表-->
<el-col :span="6" style=" overflow-x:auto; height:550px;">
<dept-tree
v-loading="load.list"
:branch-id="branch.id"
:checked-keys="defaultDeptids"
default-expand-all
show-checkbox
multiple
:expand-on-click-node="false"
ref="nodeTree"
@check-change="deptTreeCheckChange"
@branch-row-click="branchChange"
></dept-tree>
<el-col :span="6" style=" overflow-x:auto; height:550px;">
<dept-tree v-loading="load.list" :branch-id="branch.id" :checked-keys="defaultChecked" default-expand-all show-checkbox multiple :expand-on-click-node="false" ref="nodeTree" @check-change="deptTreeCheckChange" @branch-row-click="branchChange"></dept-tree>
</el-col>
<el-col :span="18">
<el-form
:model="editForm"
label-width="160px"
label-position="left"
v-loading="load.list"
:rules="editFormRules"
ref="editForm"
>
<el-form :model="editForm" label-width="160px" label-position="left" v-loading="load.list" :rules="editFormRules" ref="editForm">
<el-card class="box-card">
<div slot="header" class="clearfix">
<span>
<font style="color:blue;">{{user.username}}</font>加入的部门
<el-tag v-for="item in deptNodes " :key="item.deptid">{{item.deptName}}</el-tag>
{{deptNodes.length>0?'':'还没有加入任何部门'}}
<font style="color:green;">
<i class="el-icon-caret-left"></i>先选部门
</font>
<i class="el-icon-caret-bottom"></i>再选
<font style="color:red;">岗位</font>
</span>
<el-tooltip
class="item"
effect="dark"
content="如果选中的部门没有岗位,请先到【部门管理 -> 岗位设置 】将岗位与部门关联"
placement="top"
>
<span><font style="color:blue;">{{user.username}}</font> - 加入的部门及拥有的岗位如下 </span>
<el-tooltip class="item" effect="dark" content="如果选中的部门没有岗位,请先到【部门管理 -> 岗位设置 】将岗位与部门关联" placement="top">
<i class="el-icon-question"></i>
</el-tooltip>
</div>
<el-form-item
v-for="item in allDeptDeptPosts"
:label=" item.deptName "
style="border-bottom:1px dashed #00F;margin-left:10px;"
prop="deptid"
:key="item.deptid"
>
<el-checkbox
v-for="deptPost in item.deptPosts"
v-model="deptPost.checked"
:true-label="'1'"
:false-label="'0'"
:key="deptPost.postId"
>{{deptPost.postName}}</el-checkbox>
</el-form-item>
<el-form-item
v-for="item in noPostDepts"
:label=" item.deptName "
style="border-bottom:1px dashed #00F;margin-left:10px;"
prop="deptid"
:key="item.deptid"
>
<font style="color:red;">该部门还没设置岗位</font>
<el-button type="text" class="el-icon-right" @click="goToSetDeptPostPage">>去设置</el-button>
<el-form-item v-for="item in allDeptDeptPosts" :label=" item.deptName " style="border-bottom:1px dashed #00F;margin-left:10px;" prop="deptid" :key="item.deptid">
<el-checkbox v-for="deptPost in item.deptPosts" v-model="deptPost.checked" :true-label="'1'" :false-label="'0'" :key="deptPost.postId" :disabled="deptPost.disabled">{{deptPost.postName}}</el-checkbox>
</el-form-item>
</el-card>
<h5></h5>
<el-form-item>
@ -88,252 +35,209 @@
</template>
<script>
import util from "@/common/js/util"; //
import {
editUserDept,
listUserDept,
batchEditUserDept
} from "@/api/mdp/sys/userDept";
import { listDept } from "@/api/mdp/sys/dept";
import DeptTree from "../dept/DeptTree.vue"; //
import { listBranch } from "@/api/mdp/sys/branch";
import { mapGetters } from "vuex";
import {
listDeptPost,
delDeptPost,
batchDelDeptPost,
batchAddDeptPost
} from "@/api/mdp/sys/post/deptPost";
import { listDeptPostUserWithDeptPosts } from "@/api/mdp/sys/post/deptPostUser";
import util from '@/common/js/util';//
import { editUserDept, listUserDept, batchEditUserDept } from '@/api/mdp/sys/userDept';
import { listDept } from '@/api/mdp/sys/dept';
import DeptTree from '../dept/DeptTree.vue';//
import { listBranch } from '@/api/mdp/sys/branch';
import { mapGetters } from 'vuex'
import { listDeptPost, delDeptPost, batchDelDeptPost,batchAddDeptPost } from '@/api/mdp/sys/post/deptPost';
import { listDeptPostUserWithDeptPosts } from '@/api/mdp/sys/post/deptPostUser';
export default {
computed: {
...mapGetters([
'workShop'
]),
noQxDeptids(){
return [];
},
defaultChecked(){
return this.userDepts.map(i=>i.deptid);
},
},
props:['userDept','visible','user','branch'],
watch: {
'visible':function(visible) {
if(visible==true){
this.allDeptDeptPosts=[]
this.userDeptids=[];
if(this.$refs.nodeTree.branch!=null){
this.getUserDepts(this.$refs.nodeTree.branch);
}else{
this.getUserDepts(this.branch);
}
//this.load.list=false;
}
}
},
data() {
return {
options:{},//
load:{ list: false, edit: false, del: false, add: false },//...
editFormRules: {
userid: [
{ required: true, message: '用户编号不能为空', trigger: 'blur' }
]
},
// UserDept
editForm: {
userid:'',deptid:'',enabled:'',seq:'',branchId:'',id:''
},
/**begin 在下面加自定义属性,记得补上面的一个逗号**/
userDepts:[],
allDeptDeptPosts: [],//[{deptid:'',deptName:'',deptPosts:[{deptid:'',postId:'',postName:'',checked:''}]}]
deptTreeDatas:[],//
checkedDeptTreeNode:[],//
export default {
computed: {
...mapGetters(["workShop"])
},
props: ["userDept", "visible", "user", "branch"],
watch: {
visible: function(visible) {
if (visible == true) {
this.allDeptDeptPosts = [];
this.userDeptids = [];
this.deptNodes = [];
this.noPostDepts = [];
this.defaultDeptids = [];
if (this.$refs.nodeTree.branch != null) {
console.log("===========1111=========");
this.getUserDepts(this.$refs.nodeTree.branch);
} else {
console.log("===========2222========="+JSON.stringify(this.branch));
this.getUserDepts(this.branch);
}
/**end 在上面加自定义属性**/
}//end return
},//end data
//this.load.list=false;
}
}
},
data() {
return {
options: {}, //
load: { list: false, edit: false, del: false, add: false }, //...
editFormRules: {
userid: [
{ required: true, message: "用户编号不能为空", trigger: "blur" }
]
},
// UserDept
editForm: {
userid: "",
deptid: "",
enabled: "",
seq: "",
branchId: "",
id: ""
},
/**begin 在下面加自定义属性,记得补上面的一个逗号**/
deptNodes: [], //deptid:'',deptName:'',pdeptid:'',deptType:'',state:'',manager:'',leader:'',shortName:'',displayDeptid:'',orgType:'',managerName:'',leaderName:''
userDeptids: [], //
userDepts: [],
loadingDeptids: [], //
defaultDeptids: [], //
allDeptDeptPosts: [], //[{deptid:'',deptName:'',deptPosts:[{deptid:'',postId:'',postName:'',checked:''}]}]
noPostDepts: []
/**end 在上面加自定义属性**/
}; //end return
}, //end data
methods: {
// @cancel="editFormVisible=false"
handleCancel:function(){
this.$emit('cancel');
},
branchChange: function(branch){
this.allDeptDeptPosts=[];
this.getUserDepts(branch)
},
//UserDept @submit="afterEditSubmit"
editSubmit: function () {
if(this.user.userid==''){
this.$message.error('用户不能为空');
return;
}
this.load.edit=true
var msg="确认提交吗?";
this.$confirm(msg, '提示', {}).then(() => {
console.log("xxxxxxxxxxxxxx");
let delDeptids=[];
let deptids=this.$refs.nodeTree.$refs.deptTree.getCheckedKeys();
this.userDepts.forEach(ud=>{
if(!this.noQxDeptids.some(d=>d==ud.deptid)){
if(!deptids.some(deptid=>deptid==ud.deptid)){
delDeptids.push(ud.deptid)
}
}
})
let addDeptPostUsers=[];
let delDeptPostUsers=[];
this.allDeptDeptPosts.forEach(i=>{
i.deptPosts.forEach(k=>{
if(k.checked=='1'){
k.userid=this.user.userid
addDeptPostUsers.push(k)
}else if(k.checked=='0' && k.id!=''){
delDeptPostUsers.push(k)
}
})
})
console.log("ffffffffffffffffffffffffffffffffffffffffffffffffff");
methods: {
// @cancel="editFormVisible=false"
handleCancel: function() {
this.$emit("cancel");
},
branchChange: function(branch) {
this.allDeptDeptPosts = [];
this.getUserDepts(branch);
},
//UserDept @submit="afterEditSubmit"
editSubmit: function() {
if (this.user.userid == "") {
this.$message.error("用户不能为空");
return;
}
this.load.edit = true;
var msg = "确认提交吗?";
if (this.deptNodes.length == 0) {
msg = this.user.username + "不在任何部门,将从公司中删除该用户," + msg;
}
this.$confirm(msg, "提示", {})
.then(() => {
console.log("xxxxxxxxxxxxxx");
let delDeptids = [];
let deptids = this.$refs.nodeTree.$refs.deptTree.getCheckedKeys();
this.userDepts.forEach(ud => {
if (!deptids.some(deptid => deptid == ud.deptid)) {
delDeptids.push(ud.deptid);
}
});
let addDeptPostUsers = [];
let delDeptPostUsers = [];
this.allDeptDeptPosts.forEach(i => {
i.deptPosts.forEach(k => {
if (k.checked == "1") {
k.userid = this.user.userid;
addDeptPostUsers.push(k);
} else if (k.checked == "0" && k.id != "") {
delDeptPostUsers.push(k);
}
});
});
console.log("ffffffffffffffffffffffffffffffffffffffffffffffffff");
let branch=this.$refs.nodeTree.branch;
let params = {branchId:branch==null?this.branch.id:branch.id,userid:this.user.userid,deptids:deptids,delDeptids:delDeptids,delDeptPostUsers:delDeptPostUsers,addDeptPostUsers:addDeptPostUsers}
batchEditUserDept(params).then((res) => {
this.load.edit=false
var tips=res.data.tips;
if(tips.isOk){
this.$refs['editForm'].resetFields();
this.$emit('submit');// @submit="afterEditSubmit"
}
this.$message({ message: tips.msg, type: tips.isOk?'success':'error' });
}).catch((e) => {
console.log(e)
this.load.edit=false
});
}).catch((e)=>{
console.log(e)
this.load.edit=false;
})
},
/**begin 在下面加自定义方法,记得补上面的一个逗号**/
getUserDepts(branch){
this.load.list=true
let params={userid:this.user.userid};
params.branchId=branch.id;
listUserDept(params).then(res=>{
this.load.list=false
let uds=res.data.data
this.userDepts=uds;
let userDeptids=uds.map(i=>i.deptid);
this.getDeptPostUserWithDeptPosts(userDeptids);
}).catch(()=>this.load.list=false);
},
deptTreeCheckChange: function(data,checked,indeterminate){
console.log(data)
let deptids=this.$refs.nodeTree.$refs.deptTree.getCheckedKeys();
this.deptTreeDatas=this.$refs.nodeTree.depts;
this.checkedDeptTreeNode=this.$refs.nodeTree.$refs.deptTree.getCheckedNodes(false)
console.log("deptNodes"+this.deptNodes);
this.getDeptPostUserWithDeptPosts(deptids);
},
getDeptPostUserWithDeptPosts: function(deptids){
this.load.list=true
let params={userid: this.user.userid,deptids:deptids}
this.allDeptDeptPosts=[]
listDeptPostUserWithDeptPosts(params).then(res=>{
this.load.list=false
let allDeptDeptPosts=[];
let deptPosts=res.data.deptPosts
let deptPostUsers=res.data.deptPostUsers
deptPosts.forEach(i=>{
i.id='';
i.checked='0'
i.disabled=this.noQxDeptids.some(n=>n==i.deptid)
if(deptPostUsers.some(k=>{
if(k.deptid==i.deptid && k.postId==i.postId){
i.id=k.id
return true
}else{
return false
}
})){
i.checked='1'
}
})
deptPosts.forEach(i=>{
if(allDeptDeptPosts.some(k=>k.deptid==i.deptid )){
allDeptDeptPosts.forEach(j=>{
if(j.deptid==i.deptid){
j.deptPosts.push(i)
}
})
}else{
allDeptDeptPosts.push({deptid:i.deptid,deptName:i.deptName,deptPosts:[i]})
}
})
this.allDeptDeptPosts=allDeptDeptPosts
}).catch((e)=>{
this.load.list=false;
})
},
goToSetDeptPostPage:function(){
this.$router.push({path:'/mdp/sys/dept/DeptMng'});
}
/**end 在上面加自定义方法**/
},//end method
components: {
// 'user-dept-edit':UserDeptEdit
DeptTree
},
mounted() {
this.editForm=Object.assign(this.editForm, this.userDept);
this.getUserDepts(this.branch)
}
}
let branch = this.$refs.nodeTree.branch;
let params = {
branchId: branch == null ? this.branch.id : branch.id,
userid: this.user.userid,
deptids: deptids,
delDeptids: delDeptids,
delDeptPostUsers: delDeptPostUsers,
addDeptPostUsers: addDeptPostUsers
};
batchEditUserDept(params)
.then(res => {
this.load.edit = false;
var tips = res.data.tips;
if (tips.isOk) {
this.$refs["editForm"].resetFields();
this.$emit("submit"); // @submit="afterEditSubmit"
}
this.$message({
message: tips.msg,
type: tips.isOk ? "success" : "error"
});
})
.catch(e => {
console.log(e);
this.load.edit = false;
});
})
.catch(e => {
console.log(e);
this.load.edit = false;
});
},
/**begin 在下面加自定义方法,记得补上面的一个逗号**/
getUserDepts(branch) {
this.load.list = true;
let params = { userid: this.user.userid };
params.branchId = branch.id;
console.log("params==="+JSON.stringify(params));
listUserDept(params)
.then(res => {
this.load.list = false;
let uds = res.data.data;
this.userDepts = uds;
this.userDeptids = uds.map(i => i.deptid);
this.defaultDeptids = this.userDeptids;
this.getDeptPostUserWithDeptPosts(this.defaultDeptids);
})
.catch(() => (this.load.list = false));
},
deptTreeCheckChange: function(data, checked, indeterminate) {
console.log(
"deptTreeCheckChangedeptTreeCheckChangedeptTreeCheckChangedeptTreeCheckChangedeptTreeCheckChange"
);
console.log(data);
let deptids = this.$refs.nodeTree.$refs.deptTree.getCheckedKeys();
this.deptNodes = this.$refs.nodeTree.$refs.deptTree.getCheckedNodes(
false
);
console.log("deptNodes" + this.deptNodes);
this.getDeptPostUserWithDeptPosts(deptids);
},
getDeptPostUserWithDeptPosts: function(deptids) {
this.load.list = true;
let params = { userid: this.user.userid, deptids: deptids };
this.allDeptDeptPosts = [];
listDeptPostUserWithDeptPosts(params)
.then(res => {
this.deptNodes = this.$refs.nodeTree.$refs.deptTree.getCheckedNodes(
false
);
this.load.list = false;
let allDeptDeptPosts = [];
let deptPosts = res.data.deptPosts;
let deptPostUsers = res.data.deptPostUsers;
deptPosts.forEach(i => {
i.id = "";
i.checked = "0";
if (
deptPostUsers.some(k => {
if (k.deptid == i.deptid && k.postId == i.postId) {
i.id = k.id;
return true;
} else {
return false;
}
})
) {
i.checked = "1";
}
});
deptPosts.forEach(i => {
if (allDeptDeptPosts.some(k => k.deptid == i.deptid)) {
allDeptDeptPosts.forEach(j => {
if (j.deptid == i.deptid) {
j.deptPosts.push(i);
}
});
} else {
allDeptDeptPosts.push({
deptid: i.deptid,
deptName: i.deptName,
deptPosts: [i]
});
}
});
this.allDeptDeptPosts = allDeptDeptPosts;
this.noPostDepts = this.deptNodes.filter(
i => !this.allDeptDeptPosts.some(k => k.deptid == i.deptid)
);
})
.catch(e => {
this.load.list = false;
});
},
goToSetDeptPostPage: function() {
this.$router.push({ path: "/mdp/sys/dept/DeptMng" });
}
/**end 在上面加自定义方法**/
}, //end method
components: {
// 'user-dept-edit':UserDeptEdit
DeptTree
},
mounted() {
this.editForm = Object.assign(this.editForm, this.userDept);
this.getUserDepts(this.branch);
}
};
</script>
<style scoped>
</style>

3
src/views/mdp/workflow/biz/bizModel/BizModelAdd.vue

@ -1,7 +1,6 @@
<template>
<section>
<el-row class="app-container">
<!--新增界面 BizModel mdp_biz_model-->
<el-row class="page-container border padding">
<el-form :model="addForm" label-width="120px" :rules="addFormRules" ref="addForm">
<el-form-item label="业务名称" prop="bizName">
<el-input v-model="addForm.bizName" placeholder="业务名称" ></el-input>

3
src/views/mdp/workflow/biz/bizModel/BizModelEdit.vue

@ -1,7 +1,6 @@
<template>
<section>
<el-row class="app-container">
<!--编辑界面 BizModel mdp_biz_model-->
<el-row class="page-container border padding">
<el-form :model="editForm" label-width="120px" :rules="editFormRules" ref="editForm">
<el-form-item label="业务名称" prop="bizName" required>
<el-input v-model="editForm.bizName" placeholder="业务名称" ></el-input>

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

@ -1,7 +1,7 @@
<template>
<section>
<el-row class="app-container">
<el-row>
<el-row class="page-container border">
<el-row class="page-header">
<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>
@ -10,9 +10,9 @@
<el-button @click="showAdd" icon="el-icon-plus" style="margin-left: 13px;">业务模块</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 style="padding-top:20px;">
<el-row class="page-main">
<!--列表 BizModel mdp_biz_model-->
<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 ref="table" :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="index" width="40"></el-table-column>
<el-table-column sortable prop="bizName" label="业务名称" min-width="80" show-overflow-tooltip></el-table-column>

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

@ -1,7 +1,7 @@
<template>
<section>
<el-row class="app-container">
<el-row>
<el-row class="page-container border">
<el-row class="page-header">
<el-input v-model="filters.key" style="width:270px;" placeholder="模糊查询">
<template slot="append">
<el-button type="primary" v-on:click="searchModels" icon="el-icon-search">查询</el-button>
@ -12,9 +12,9 @@
icon="el-icon-download"
>导出数据</el-button>
</el-row>
<el-row style="padding-top:20px;">
<el-row class="page-main">
<!--列表 Model act_de_model-->
<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 ref="table" :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 prop="name" label="流程(点击查已发布版本)" min-width="300" show-overflow-tooltip>
<template slot-scope="scope">

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

@ -1,7 +1,7 @@
<template>
<section>
<el-row style="max-height:400px;overflow-y:scroll;overflow-x:hidden;">
<div style="border:1px dashed #000;padding:10px;">
<el-row style="border:1px dashed #000;padding:10px;">
<div >
<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">

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

@ -1,13 +1,8 @@
<template>
<section>
<el-row class="app-container">
<!-- <el-col :xs="4" :sm="4" :md="3" :lg="3" :xl="3" class="hidden-md-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="24" :lg="24" :xl="24">
<el-row class="page-container border">
<!--列表 Procinst act_hi_procinst-->
<el-row>
<el-row class="page-header">
<el-select v-model="filters.filterType" clearable placeholder="查询范围" class="hidden-lg-and-down">
<el-option value="" label="全部"> </el-option>
<el-option value="startUserId" label="我发起"> </el-option>
@ -19,19 +14,18 @@
<el-option v-for="item in categorys" :key="item" :label="item" :value="item"></el-option>
</el-select>
<el-date-picker v-model="filters.startTimeRanger" class="hidden-sm-and-down" type="daterange" align="right"
<el-date-picker v-model="filters.startTimeRanger" class="hidden-sm-and-down" type="daterange"
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:270px;" placeholder="模糊查询">
<template slot="append">
<el-button v-on:click="searchProcinsts" icon="el-icon-search">查询</el-button>
</template>
</el-input>
<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">
<el-input v-model="filters.key" placeholder="模糊查询"> </el-input>
<el-button type="primary" class="padding-left" v-on:click="searchProcinsts" icon="el-icon-search">查询</el-button>
<el-button class="padding-left" icon="el-icon-more" @click="moreFilterVisible=true" circle></el-button>
<el-drawer title="更多查询条件" :visible.sync="moreFilterVisible" append-to-body :size="400">
<el-row class="page-container more-filter">
<el-divider content-position="left">查询条件</el-divider>
<el-row>
<font >
查询范围
</font>
<el-select size="mini" v-model="filters.filterType" placeholder="查询范围">
@ -41,17 +35,17 @@
<el-option value="sponsors" label="我主办"> </el-option>
<el-option value="monitors" label="我监控"> </el-option>
</el-select>
</el-col>
<el-col :span="24">
<font class="more-label-font">
</el-row>
<el-row>
<font >
分类
</font>
<el-select size="mini" 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-col>
<el-col :span="24">
<font class="more-label-font">
</el-row>
<el-row>
<font >
标签查找
</font>
<el-row v-show="filters.tags && filters.tags.length>0">
@ -62,9 +56,9 @@
</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">
</el-row>
<el-row>
<font >
任务执行
</font>
<el-tag v-if="filters.assignee" :type="'success'" closable :disable-transitions="false"
@ -72,47 +66,46 @@
{{filters.assignee.username}}
</el-tag>
<el-button v-else size="mini" @click.native="userSelectVisible=true">选择执行人</el-button>
</el-col>
<el-col :span="24">
<font class="more-label-font">
</el-row>
<el-row>
<font >
开始日期
</font>
<el-date-picker v-model="filters.startTimeRanger" 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-col>
<el-col :span="24">
</el-row>
<el-row>
<font class="more-label-font">
<font >
计划完成日期
</font>
<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>
</el-col>
</el-row>
<!-- <el-col :span="24">
<category-tree class="hidden-lg-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" style="margin-top: 11px;">
<el-row>
<el-button size="mini" type="primary" v-on:click="searchProcinsts" icon="el-icon-search">查询</el-button>
</el-col>
</el-row>
<el-col :span="24">
<el-row>
<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-col>
</el-row>
</el-row>
<el-button slot="reference" icon="el-icon-more" style="margin-left: 13px;" circle></el-button>
</el-popover>
</el-drawer>
</el-row>
<el-row style="padding-top:20px;">
<el-table ref="table" :max-height="tableHeight" :data="procinsts" highlight-current-row
<el-row class="page-main">
<el-table ref="table" :height="tableHeight" :data="procinsts" 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="index" width="40"></el-table-column>
@ -149,15 +142,14 @@
@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>
<!--编辑 Execution act_ru_execution界面-->
<el-dialog title="任务详情" fullscreen :visible.sync="editFormVisible" :width="dialogWidth()"
<el-drawer title="任务详情" :visible.sync="editFormVisible" :size="dialogWidth()" :withHeader="false"
:close-on-click-modal="false">
<procinst-parames-execution-set :companyEmployees="companyEmployees" :companyDepts="companyDepts"
:taskInfo="editForm" :procDefId="editForm.procDefId" :procInstId="editForm.procInstId"
:visible="editFormVisible" @cancel="editFormVisible=false" @submit="afterEditSubmit">
</procinst-parames-execution-set>
</el-dialog>
</el-drawer>
</el-row>
</el-col>
<el-dialog append-to-body title="选择员工" :visible.sync="userSelectVisible" width="60%">
<users-select :select-userids="filters.assignee?[filters.assignee.userid]:[]" @confirm="onUserSelected">
@ -349,6 +341,7 @@
isBatchSetProcTags: false,
userSelectVisible: false,
tableHeight: 300,
moreFilterVisible:false,
/**end 自定义属性请在上面加 请加备注**/
};
}, //end data
@ -365,10 +358,10 @@
},
dialogWidth: function() {
if (screen.width > 500) {
return "80%";
if (screen.width > 600) {
return "60%";
} else {
return "100%";
return "80%";
}
},
handleSizeChange(pageSize) {
@ -917,7 +910,7 @@
});
this.$nextTick(() => {
var clientRect = this.$refs.table.$el.getBoundingClientRect();
var subHeight = 70 / 1000 * window.innerHeight;
var subHeight = 60 / 1000 * window.innerHeight;
this.tableHeight = window.innerHeight - clientRect.y - this.$refs.table.$el.offsetTop - subHeight;
if (this.isMyStart) {
this.filters.filterType = "startUserId"
@ -937,43 +930,5 @@
</script>
<style scoped>
.filters-show {
margin-left: 20px;
margin-top: 10px;
margin-bottom: 0px;
}
.filters-label {
font-size: 14px;
color: black;
font-weight: bold;
}
.more-filter-item {
margin: 20px 0px;
}
.more-filter-item .el-col {
margin: 2px 2px;
}
.more-filter-item button {
margin: 2px 2px;
}
.more-label-font {
text-align: center;
float: left;
height: 28px;
line-height: 28px;
margin-right: 10px;
}
.el-popover__title {
color: #303133;
font-size: 18px;
line-height: 1;
margin-bottom: 12px;
margin-top: 11px;
}
</style>

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

@ -1,7 +1,7 @@
<template>
<section>
<el-row class="app-container">
<el-row>
<el-row class="page-container border">
<el-row class="page-header">
<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-select>
@ -12,10 +12,10 @@
</el-input>
<el-button @click="handleDownload" icon="el-icon-download" style="">导出数据</el-button>
</el-row>
<el-row style="padding-top:20px;">
<el-row class="page-main">
<!--列表 Deployment act_re_deployment-->
<el-table
ref="table" :max-height="tableHeight"
ref="table" :height="tableHeight"
:data="deployments"
highlight-current-row
v-loading="listLoading"

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

@ -1,26 +1,22 @@
<template>
<section>
<el-row class="app-container">
<el-row>
<el-col>
<el-row>
<el-row class="page-container border">
<el-row class="page-header">
<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-input v-model="filters.key" style="width:270px;" placeholder="模糊查询">
<template slot="append">
<el-button type="primary" v-on:click="searchProcdefs" icon="el-icon-search">查询</el-button>
</template>
<el-input v-model="filters.key" placeholder="模糊查询">
</el-input>
<el-button type="primary" v-on:click="searchProcdefs" icon="el-icon-search">查询</el-button>
<el-button @click.native="showTagSelect(false)" icon="el-icon-search" style="margin-left: 13px;" class="hidden-sm-and-down">标签</el-button>
<el-button @click.native="showTagSelect(true)" icon="el-icon-plus" class="hidden-sm-and-down">标签</el-button>
<el-button @click="handleDownload" icon="el-icon-download" class="hidden-md-and-down">导出数据</el-button>
</el-row>
<el-row style="padding-top:20px;">
<el-row class="page-main">
<!--列表 Procdef act_re_procdef-->
<el-table
ref="table" :max-height="tableHeight"
ref="table" :height="tableHeight"
:data="procdefs"
highlight-current-row
v-loading="listLoading"
@ -141,8 +137,6 @@
></tag-mng>
</el-dialog>
</el-row>
</el-col>
</el-row>
</el-row>
</section>
</template>

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

@ -1,19 +1,17 @@
<template>
<section>
<el-row v-if="flowStartVisible==false" class="app-container">
<el-row>
<el-row v-if="flowStartVisible==false" class="page-container border">
<el-row class="page-header">
<el-input v-model="filters.key" style="width:270px;" 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-button type="primary" v-loading="listLoading" :disabled="listLoading" v-on:click="searchProcdefs"
icon="el-icon-search">查询</el-button>
<el-tag type="info" v-if="this.procdefs.length==0">如果没有找到流程请将业务编码{{this.filters.params.bizKey}}与流程进行关联
</el-tag>
</el-row>
<el-row style="padding-top:20px;">
<el-row class="page-main">
<!--列表 Procdef act_re_procdef-->
<el-table ref="procdefsTable" :max-height="tableHeight" :data="procdefs" highlight-current-row
<el-table ref="procdefsTable" :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="index" width="40"></el-table-column>
@ -326,7 +324,7 @@
this.$nextTick(() => {
var clientRect = this.$refs.procdefsTable.$el.getBoundingClientRect();
var subHeight = 70 / 1000 * window.innerHeight;
var subHeight = 60 / 1000 * window.innerHeight;
this.tableHeight = window.innerHeight - clientRect.y - this.$refs.procdefsTable.$el.offsetTop - subHeight;
})

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

@ -1,16 +1,13 @@
<template>
<section>
<el-row class="app-container">
<el-col>
<el-row>
<el-row class="page-container border">
<el-row class="page-header">
<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-input v-model="filters.key" style="width:270px;" 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" v-on:click="searchProcdefs" icon="el-icon-search">查询</el-button>
<el-button @click.native="showTagSelect(false)" icon="el-icon-search" class="hidden-md-and-down">标签</el-button>
<el-button @click.native="showTagSelect(true)" icon="el-icon-plus" class="hidden-md-and-down">标签</el-button>
@ -26,9 +23,9 @@
v-on:check-change="handleCategoryCheckChange"></category-tree>
</el-drawer>
</el-row>
<el-row style="padding-top:20px;">
<el-row class="page-main">
<!--列表 Procdef act_re_procdef-->
<el-table ref="procdefsTable" :max-height="tableHeight" :data="procdefs" highlight-current-row
<el-table ref="procdefsTable" :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="index" width="40"></el-table-column>
@ -86,7 +83,6 @@
@select-confirm="onTagSelected"></tag-mng>
</el-dialog>
</el-row>
</el-col>
</el-row>
</section>
</template>
@ -600,7 +596,7 @@
this.$nextTick(() => {
var clientRect = this.$refs.procdefsTable.$el.getBoundingClientRect();
var subHeight = 70 / 1000 * window.innerHeight;
var subHeight = 60 / 1000 * window.innerHeight;
this.tableHeight = window.innerHeight - clientRect.y - this.$refs.procdefsTable.$el.offsetTop - subHeight;
})
this.searchProcdefs();
@ -614,34 +610,6 @@
</script>
<style scoped>
.filters-show {
margin-left: 20px;
margin-top: 10px;
margin-bottom: 0px;
}
.filters-label {
font-size: 14px;
color: black;
font-weight: bold;
}
.el-button+.el-button {
margin-left: 0px;
}
</style>
<style>
.el-input-group__append,
.el-input-group__prepend {
background-color: #409EFF !important;
color: #ffffff !important;
vertical-align: middle;
display: table-cell;
position: relative;
border: 1px solid #409EFF !important;
padding: 0 20px;
width: 1px;
white-space: nowrap;
}
</style>

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

@ -1,6 +1,6 @@
<template>
<section>
<el-row class="app-container">
<section class="page-container border">
<el-row class="page-header">
<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>
@ -17,14 +17,14 @@
<el-button @click.native="showTagSelect(false)" >标签查找</el-button>
<el-button @click.native="showTagSelect(true)" >打标签</el-button>
</el-row>
<el-row class="app-container">
<el-row class="page-main">
<el-col :xs="4" :sm="4" :md="4" :lg="4" :xl="4" 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="20" :lg="20" :xl="20">
<!--列表 Procdef act_re_procdef-->
<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 ref="table" :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="index" width="40"></el-table-column>
<el-table-column prop="category" label="分类" min-width="80" ></el-table-column>

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

@ -1,8 +1,7 @@
<template>
<section>
<el-row class="app-container">
<el-col>
<el-row>
<el-row class="page-container border">
<el-row class="page-header" >
<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>
@ -16,9 +15,9 @@
<el-button @click="handleDownload" icon="el-icon-download" class="hidden-md-and-down">导出数据</el-button>
</el-row>
<!--列表 Procdef act_re_procdef-->
<el-row style="padding-top:20px;">
<el-row class="page-main">
<el-table
ref="table" :max-height="tableHeight"
ref="table" :height="tableHeight"
:data="procdefs"
highlight-current-row
v-loading="listLoading"
@ -121,7 +120,6 @@
></tag-mng>
</el-dialog>
</el-row>
</el-col>
</el-row>
</section>
</template>

3
src/views/mdp/workflow/re/procdefParames/ActQxCodeSet.vue

@ -1,7 +1,6 @@
<template>
<section>
<el-row class="app-container">
<el-form label-position="top" label-width="80px" :model="addForm" ref="addForm">
<el-row class="page-container border padding"> <el-form label-position="top" label-width="80px" :model="addForm" ref="addForm">
<el-form-item label="正文">
<el-checkbox v-model="qxCodeArr[0]" true-label="1" false-label="0">可看正文</el-checkbox>
<el-checkbox v-if="qxCodeArr[0]=='1'" v-model="qxCodeArr[1]" true-label="1" false-label="0">可修改正文</el-checkbox>

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

@ -1,7 +1,6 @@
<template>
<section>
<el-row class="app-container">
<!--新增界面 ProcinstParames 流程实例参数设置表-->
<el-row class="page-container border padding">
<el-col :span="24">
<!--新增界面 ProcdefParames 流程定义参数设置表-->
<el-form :model="addForm" label-width="120px" label-position="left" :rules="addFormRules" ref="addForm" v-loading="listLoading">

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

@ -1,15 +1,15 @@
<template>
<section>
<el-row class="app-container">
<el-row class="page-container border">
<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="page-container border">
<!--列表 ProcdefParamesTemplate mdp_re_procdef_parames_template-->
<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 ref="table" :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 sortable prop="mainTitle" label="流程标题" min-width="150" ></el-table-column>

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

@ -1,8 +1,7 @@
<template>
<section>
<el-row class="app-container">
<el-col v-if="showCalendar==false">
<el-row>
<el-row class="page-container">
<el-row class="page-header">
<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>
@ -13,30 +12,30 @@
<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-date-picker v-model="filters.startTimeRanger" class="" type="daterange" align="right"
<el-date-picker v-model="filters.startTimeRanger" 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:270px;" placeholder="模糊查询">
<template slot="append">
<el-button v-on:click="searchExecutions" icon="el-icon-search">查询</el-button>
</template>
<el-input v-model="filters.key" placeholder="模糊查询">
</el-input>
<el-button type="primary" v-on:click="searchExecutions" icon="el-icon-search">查询</el-button>
<el-button @click="moreFilterVisible=true" icon="el-icon-more" circle></el-button>
<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" style="margin-left: 13px;" class="hidden-lg-and-down" icon="el-icon-alarm-clock " v-on:click="showWeixin">
<el-button slot="reference" class="hidden-lg-and-down" icon="el-icon-alarm-clock " 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">
<el-drawer title="更多查询条件" :visible.sync="moreFilterVisible" append-to-body :size="400">
<el-row class="page-container more-filter">
<el-divider content-position="left">查询条件</el-divider>
<el-row>
<font>
查询范围
</font>
<el-select size="mini" v-model="filters.filterType" placeholder="查询范围">
@ -46,17 +45,17 @@
<el-option value="sponsors" label="我主办"> </el-option>
<el-option value="monitors" label="我监控"> </el-option>
</el-select>
</el-col>
<el-col :span="24">
<font class="more-label-font">
</el-row>
<el-row >
<font>
流程分类
</font>
<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-col>
<el-col :span="24">
<font class="more-label-font">
</el-row>
<el-row >
<font>
标签查找
</font>
<el-row v-show="filters.tags && filters.tags.length>0">
@ -67,9 +66,9 @@
</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">
</el-row>
<el-row >
<font>
任务执行
</font>
<el-tag v-if="filters.assignee" :type="'success'" closable :disable-transitions="false"
@ -77,62 +76,58 @@
{{filters.assignee.username}}
</el-tag>
<el-button v-else size="mini" @click.native="userSelectVisible=true">选择执行人</el-button>
</el-col>
<el-col :span="24">
<font class="more-label-font">
</el-row>
<el-row >
<font>
流程状态
</font>
<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 :span="24">
<font class="more-label-font">
</el-row>
<el-row >
<font>
开始日期
</font>
<el-date-picker v-model="filters.startTimeRanger" 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-col>
<el-col :span="24">
</el-row>
<el-row >
<font class="more-label-font">
<font>
计划完成日期
</font>
<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>
</el-col>
<el-col :span="24">
<el-checkbox size="mini" v-model="showCalendar">按日历风格显示</el-checkbox>
</el-col>
<el-col :span="24" style="margin-top: 11px;">
</el-row>
<el-row >
<el-button size="mini" type="primary" v-on:click="searchExecutions" icon="el-icon-search">查询</el-button>
</el-col>
</el-row>
<el-col :span="24">
<el-row >
<el-divider content-position="left">其它操作</el-divider>
<el-checkbox size="mini" v-model="showCalendar">按日历风格显示</el-checkbox>
<el-button size="mini" @click.native="showTagSelect(true)">添加标签</el-button>
<el-button size="mini" @click="handleDownload">导出数据</el-button>
</el-row>
<el-row >
<el-divider content-position="left">催办</el-divider>
<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-row>
</el-row>
<el-button slot="reference" icon="el-icon-more" style="margin-left: 13px;" circle></el-button>
</el-popover>
</el-drawer>
</el-row>
<!--列表 Execution act_ru_execution-->
<el-row style="padding-top:20px;">
<el-table ref="table" :max-height="tableHeight" :data="executions" highlight-current-row
<el-row v-if="showCalendar==false" class="page-main">
<el-table ref="table" :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="index" width="40"></el-table-column>
@ -164,7 +159,6 @@
</el-table-column>
<el-table-column label="操作" :width="screenWidth<500?80:160" fixed="right">
<template slot-scope="scope">
<el-button type="primary" @click="showTasksInfo( scope.row,scope.$index)">详情</el-button>
<el-dropdown @command="handleCommand" class="hidden-sm-and-down">
<span class="el-dropdown-link">
更多<i class="el-icon-arrow-down el-icon--right"></i>
@ -186,11 +180,9 @@
@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 v-if="showCalendar==true">
<el-calendar v-loading="listLoading" v-model="filters.calendarDate">
<el-calendar v-if="showCalendar==true" v-loading="listLoading" v-model="filters.calendarDate" class="page-main">
<!-- 这里使用的是 2.5 slot 语法对于新项目请使用 2.6 slot 语法-->
<template slot="dateCell" slot-scope="{date, data}">
<div :class="data.isSelected ? 'is-selected' : ''">
@ -248,7 +240,6 @@
</div>
</template>
</el-calendar>
</el-col>
<el-dialog append-to-body title="选择员工" :visible.sync="userSelectVisible" width="60%">
<users-select :select-userids="filters.assignee?[filters.assignee.userid]:[]" @confirm="onUserSelected">
</users-select>
@ -265,13 +256,12 @@
:visible="sendSmsVisible" @cancel="sendSmsVisible=false"></send-sms>
</el-dialog>
<!--编辑 Execution act_ru_execution界面-->
<el-dialog title="任务详情" :visible.sync="editFormVisible" fullscreen :width="dialogWidth()"
:close-on-click-modal="false">
<el-drawer title="任务详情" :visible.sync="editFormVisible" :size="dialogWidth()" :withHeader="false">
<procinst-parames-execution-set :companyEmployees="companyEmployees" :companyDepts="companyDepts"
:taskInfo='editForm' :isArchive="isArchive" :procDefId="editForm.procDefId" :procInstId="editForm.procInstId"
:visible="editFormVisible" @cancel="editFormVisible=false" @submit="afterEditSubmit">
</procinst-parames-execution-set>
</el-dialog>
</el-drawer>
</el-row>
</section>
</template>
@ -500,6 +490,7 @@
userSelectVisible: false,
showCalendar: true,
tableHeight: 300,
moreFilterVisible:false,
/**end 自定义属性请在上面加 请加备注**/
}
}, //end data
@ -630,7 +621,8 @@
console.log("xxxxxxxxxxxxxx进来了");
var task = Object.assign({}, row);
this.editForm = task;
this.editFormVisible=true;
/**
this.editForm = Object.assign({}, row);
this.$router.push({
name: 'ProcinstParamesExecutionSetRoute',
@ -638,6 +630,7 @@
taskInfo: task
}
});
*/
},
// Execution act_ru_execution
showAdd: function() {
@ -684,10 +677,10 @@
},
dialogWidth: function() {
if (screen.width > 500) {
return "80%";
if (screen.width > 600) {
return "60%";
} else {
return "100%";
return "80%";
}
},
//execution
@ -1244,10 +1237,10 @@
this.$nextTick(() => {
if (!this.showCalendar) {
var clientRect = this.$refs.table.$el.getBoundingClientRect();
var subHeight = 70 / 1000 * window.innerHeight;
var subHeight = 60 / 1000 * window.innerHeight;
this.tableHeight = window.innerHeight - clientRect.y - this.$refs.table.$el.offsetTop - subHeight;
} else {
var subHeight = 70 / 1000 * window.innerHeight;
var subHeight = 60 / 1000 * window.innerHeight;
this.tableHeight = window.innerHeight - subHeight;
}
});
@ -1272,94 +1265,5 @@
</script>
<style scoped>
.el-dropdown-link {
cursor: pointer;
color: #409EFF;
}
.el-icon-arrow-down {
font-size: 12px;
}
.filters-show {
margin-left: 20px;
margin-top: 10px;
margin-bottom: 0px;
}
.filters-label {
font-size: 14px;
color: black;
font-weight: bold;
}
.more-filter-item {
margin: 20px 0px;
}
.more-filter-item .el-col {
margin: 2px 2px;
}
.more-filter-item button {
margin: 2px 0px;
}
.more-label-font {
text-align: center;
float: left;
height: 28px;
line-height: 28px;
margin-right: 10px;
}
.el-divider--horizontal {
display: block;
height: 1px;
width: 100%;
margin: 24px 0;
padding-top: 20px;
margin-left: 0px;
background: #fff;
}
.el-divider__text.is-left {
left: 0px;
}
.el-divider__text {
padding: 0px 0px;
}
</style>
<style>
.el-input-group__append,
.el-input-group__prepend {
background-color: #409EFF !important;
color: #ffffff !important;
vertical-align: middle;
display: table-cell;
position: relative;
border: 1px solid #409EFF !important;
padding: 0 20px;
width: 1px;
white-space: nowrap;
}
.el-calendar__header {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;
padding: 20px 0px;
padding-top: 0px;
border: none;
}
.el-calendar__body {
padding: 12px 20px 35px;
border: 1px solid #EBEEF5;
}
</style>

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

@ -1,6 +1,6 @@
<template>
<section>
<el-row class="app-container">
<el-row class="page-container border">
<el-row>
<el-col :xs="22" :sm="22" :md="23" :lg="23" :xl="23">
<el-col :xs="8" :sm="8" :md="14" :lg="16" :xl="16">
@ -47,7 +47,7 @@
</el-col>
</el-row>
</el-row>
<el-row class="app-container">
<el-row class="page-container border">
<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-col>

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

@ -1,15 +1,13 @@
<template>
<section>
<el-row style="margin-left:-20px;">
<el-row>
<el-button type="text" @click.native="handleCancel" icon="el-icon-back">取消</el-button>
<section class="page-container page-full-height padding">
<el-row class="page-header">
<el-button class="hidden-md-and-down" 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" 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 class="hidden-md-and-down" 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
@ -32,234 +30,228 @@
</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-row>
</el-row>
<el-row v-show="showMainContextOnly==true">
<div style="padding: 20px;" v-html="addForm.mainContext"></div>
<el-row class="page-title padding-top">
<el-row class="hidden-md-and-down">
<el-col class="wf-sub-title"> {{addForm.mainTitle}}</el-col>
</el-row>
<el-row class="hidden-lg-and-up">
<el-col class="wf-title" v-if="addForm.mainTitle.length<30"> {{addForm.mainTitle}}</el-col>
<el-col class="wf-sub-title" v-if="addForm.mainTitle.length>30"> {{addForm.mainTitle}}</el-col>
</el-row>
<el-row style="padding-top:10px;">
<el-col :span="24" class="wf-sub-sub-title">
<font v-if="addForm.tagNames" >
<el-tag v-for="tag in (addForm.tagNames.split(','))" :key="tag"
:type="'warning'"
:disable-transitions="false" >
{{tag}}
</el-tag>
</font>
发起部门: {{addForm.startDeptName}} &nbsp;&nbsp;&nbsp;
&nbsp;{{addForm.startUsername}}&nbsp;&nbsp;
{{addForm.startDate}} &nbsp;发起
</el-col>
</el-row>
</el-row>
<el-row v-show="showMainContextOnly==false">
<el-row class="page-context" style="padding-top:10px;">
<el-row v-show="showMainContextOnly==true">
<div style="padding: 20px;" v-html="addForm.mainContext"></div>
</el-row>
<el-row v-show="showMainContextOnly==false">
<el-row>
<!--新增界面 ProcinstParames 流程实例参数设置表-->
<el-form :model="addForm" :label-width="labelWidth()" label-position="left" :rules="addFormRules" ref="addForm" >
<el-row class=" hidden-sm-and-down">
<el-col class="wf-title"> {{addForm.mainTitle}}</el-col>
</el-row>
<el-row class="hidden-md-and-up">
<el-col class="wf-sub-title"> {{addForm.mainTitle}}</el-col>
</el-row>
<el-row>
<el-col :span="24" class="wf-sub-title">
<font v-if="addForm.tagNames" >
<el-tag v-for="tag in (addForm.tagNames.split(','))" :key="tag"
:type="'warning'"
:disable-transitions="false" >
{{tag}}
</el-tag>
</font>
发起部门: {{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"
type="date" value-format="yyyy-MM-dd HH:mm:ss"
:picker-options="pickerOptions"
placeholder="选择计划完成日期" >
</el-date-picker>
完成 <el-button @click.native="updateFlowPlanFinishTime" :loading="addLoading" icon="el-icon-finished">保存日期</el-button>
<el-popover
placement="top-start"
title="设置主办监控人"
width="400"
trigger="manual" v-model="sponsorsAndMonitorsVisible">
<el-row>
<el-col :span="24" style="padding-top:5px;">
<font class="more-label-font">主办人:</font>
<el-select disabled value-key="userid" v-model="sponsors" multiple placeholder="请选择">
<el-option
v-for="item in baseUserList"
:key="item.userid"
:label="item.username"
:value="item">
<span style="float: left">{{ item.username }}</span>
<span style="float: right; color: #8492a6; font-size: 14px">{{ item.shortName }}</span>
</el-option>
</el-select>
</el-col>
<el-col :span="24" style="padding-top:5px;">
<font class="more-label-font">监控人:</font>
<el-select disabled value-key="userid" v-model="monitors" multiple placeholder="请选择">
<el-option
v-for="item in baseUserList"
:key="item.userid"
:label="item.username"
:value="item">
<span style="float: left">{{ item.username }}</span>
<span style="float: right; color: #8492a6; font-size: 13px">{{ item.shortName }}</span>
</el-option>
</el-select>
</el-col>
</el-row>
<el-button slot="reference" icon="el-icon-s-check" @click="showSponsorsAndMonitors">主办人监控人查询</el-button>
</el-popover>
</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>
</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>
</el-row>
<el-row>
<!--新增界面 ProcinstParames 流程实例参数设置表-->
<el-form :model="addForm" :label-width="labelWidth()" label-position="top" :rules="addFormRules" ref="addForm" >
<el-row>
预计
<el-date-picker style="width:20%;"
v-model="addForm.planFinishTime"
type="date" value-format="yyyy-MM-dd HH:mm:ss"
:picker-options="pickerOptions"
placeholder="选择计划完成日期" >
</el-date-picker>
完成 <el-button @click.native="updateFlowPlanFinishTime" :loading="addLoading" icon="el-icon-finished">保存日期</el-button>
<el-popover
placement="top-start"
title="设置主办监控人"
width="400"
trigger="manual" v-model="sponsorsAndMonitorsVisible">
<el-row>
<el-col :span="24" style="padding-top:5px;">
<font class="more-label-font">主办人:</font>
<el-select disabled value-key="userid" v-model="sponsors" multiple placeholder="请选择">
<el-option
v-for="item in baseUserList"
:key="item.userid"
:label="item.username"
:value="item">
<span style="float: left">{{ item.username }}</span>
<span style="float: right; color: #8492a6; font-size: 14px">{{ item.shortName }}</span>
</el-option>
</el-select>
</el-col>
<el-col :span="24" style="padding-top:5px;">
<font class="more-label-font">监控人:</font>
<el-select disabled value-key="userid" v-model="monitors" multiple placeholder="请选择">
<el-option
v-for="item in baseUserList"
:key="item.userid"
:label="item.username"
:value="item">
<span style="float: left">{{ item.username }}</span>
<span style="float: right; color: #8492a6; font-size: 13px">{{ item.shortName }}</span>
</el-option>
</el-select>
</el-col>
</el-row>
<el-button slot="reference" icon="el-icon-s-check" @click="showSponsorsAndMonitors">主办人监控人查询</el-button>
</el-popover>
</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>
</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>
</el-row>
<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>
<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>
<div class="wf-main-context-box" v-if="screenWidth<500">
<div style="padding: 20px;" v-html="addForm.mainContext"></div>
</div>
<div class="wf-main-context-box" v-if="screenWidth<500">
<div style="padding: 20px;" v-html="addForm.mainContext"></div>
</div>
</el-row>
<el-row>
<comment-step :task="task" :procInstId="procInstId" :refresh="refreshCommentList" @get-comments="getComments"></comment-step>
</el-row>
<div v-if="task.taskId">
<el-form-item :label="'办理意见'" prop="commentMsg">
<el-row class=" hidden-md-and-down" style="padding-top:10px;">
<el-radio-group v-model="task.action">
<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 v-show="taskInfo && taskInfo.delegation!='PENDING'" label="disAgree">不同意&nbsp;&nbsp;&nbsp;&nbsp;</el-radio>
<el-radio label="rejectToActivity">驳回&nbsp;&nbsp;&nbsp;&nbsp;</el-radio>
<el-radio label="sponsors">转主办&nbsp;&nbsp;&nbsp;&nbsp;</el-radio>
<el-radio label="rejectToStartUser">转发起人</el-radio>
<el-radio v-show="taskInfo && taskInfo.delegation!='RESOLVED'" label="transfer">请人代办</el-radio>
<el-radio label="delegate">请人协办,完成后返回给我</el-radio>
<el-radio v-show="taskInfo && taskInfo.delegation!='RESOLVED' && taskInfo.delegation=='PENDING'" label="resolve">返回给原执行人</el-radio>
<el-radio label="over">结束流程</el-radio>
</div>
<div v-else>
<el-radio label="claim">领取任务</el-radio>
</div>
</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-row>
<el-row v-show="showComment">
<comment-step :task="task" :procInstId="procInstId" :refresh="refreshCommentList" @get-comments="getComments"></comment-step>
</el-row>
<div v-if="task.taskId">
<el-form-item :label="'办理意见'" prop="commentMsg">
<el-row class=" hidden-md-and-down">
<el-radio-group v-model="task.action">
<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 v-show="taskInfo && taskInfo.delegation!='PENDING'" label="disAgree">不同意&nbsp;&nbsp;&nbsp;&nbsp;</el-radio>
<el-radio label="rejectToActivity">驳回&nbsp;&nbsp;&nbsp;&nbsp;</el-radio>
<el-radio label="sponsors">转主办&nbsp;&nbsp;&nbsp;&nbsp;</el-radio>
<el-radio label="rejectToStartUser">转发起人</el-radio>
<el-radio v-show="taskInfo && taskInfo.delegation!='RESOLVED'" label="transfer">请人代办</el-radio>
<el-radio label="delegate">请人协办,完成后返回给我</el-radio>
<el-radio v-show="taskInfo && taskInfo.delegation!='RESOLVED' && taskInfo.delegation=='PENDING'" label="resolve">返回给原执行人</el-radio>
<el-radio label="over">结束流程</el-radio>
</div>
<div v-else>
<el-radio label="claim">领取任务</el-radio>
</div>
</el-radio-group>
</el-row>
<el-row class=" hidden-lg-and-up">
<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 v-show="task.action=='rejectToActivity'" label="驳回节点" prop="rejectToActivity">
<el-col :span="10">
<el-select style="width:100%" value-key="taskId" v-model="task.rejectActivity" @change="rejectToActivitySelectChange" placeholder="请选择">
<el-option
v-for="item in comments"
:key="item.taskId"
:label="item.name"
:value="item">
<span style="float: left">{{ item.name }}</span>
<span style="float: right; color: #8492a6; font-size: 13px">{{ item.username }}-{{item.message}}</span>
</el-option>
</el-select>
</el-col>
</el-form-item>
<el-form-item v-show="task.action=='transfer'||task.action=='delegate'||needAssignee!=''||(actAssignee&&actAssignee.showNextAssignees=='1')" :label="nextAssigneeListLabel" prop="needAssignee">
<el-col :xs="24" :sm="18" :md="16" :lg="14" :xl="12">
<el-select value-key="userid" v-model="task.nextAssigneeList" multiple @change="nextAssigneeListSelectChange" placeholder="如果不选则系统自动判断">
<el-option
v-for="item in baseUserList"
:key="item.userid"
:label="item.username"
:value="item">
<span style="float: left">{{ item.username }}</span>
<span style="float: right; color: #8492a6; font-size: 13px">{{ item.shortName }}</span>
</el-option>
</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 v-show="task.action=='rejectToActivity'" label="驳回节点" prop="rejectToActivity">
<el-col :span="10">
<el-select style="width:100%" value-key="taskId" v-model="task.rejectActivity" @change="rejectToActivitySelectChange" placeholder="请选择">
<el-option
v-for="item in comments"
:key="item.taskId"
:label="item.name"
:value="item">
<span style="float: left">{{ item.name }}</span>
<span style="float: right; color: #8492a6; font-size: 13px">{{ item.username }}-{{item.message}}</span>
</el-option>
</el-select>
</el-col>
</el-form-item>
<el-form-item v-show="task.action=='transfer'||task.action=='delegate'||needAssignee!=''||(actAssignee&&actAssignee.showNextAssignees=='1')" :label="nextAssigneeListLabel" prop="needAssignee">
<el-col :xs="24" :sm="18" :md="16" :lg="14" :xl="12">
<el-select value-key="userid" style="width:80%" v-model="task.nextAssigneeList" multiple @change="nextAssigneeListSelectChange" placeholder="如果不选则系统自动判断">
<el-option
v-for="item in baseUserList"
:key="item.userid"
:label="item.username"
:value="item">
<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 @click.native="showCommonUserSelectDialog" :loading="addLoading">更多人员</el-button>
</el-col>
</el-form-item>
<el-button @click.native="showCommonUserSelectDialog" :loading="addLoading">更多人员</el-button>
</el-col>
</el-form-item>
</div>
</el-form>
</el-row>
<el-dialog
title="流程图"
:visible.sync="displayDiagram"
width="80%" append-to-body >
<el-image :fit="'contain'" :src="diagramUrl">
<div slot="error" class="image-slot">
<i class="el-icon-picture-outline"></i>
</div>
<el-row v-if="screenWidth<500" v-loading="listLoading" style="padding-top:10px;">
<el-col :span="24">
<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" @click.native="completeHandle" :loading="addLoading">提交任务</el-button>
<el-button v-if="task.action=='claim'" @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="addCandidateUsers" :loading="addLoading">添加候选人</el-button>
</el-col>
</el-row>
<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>
<div slot="placeholder" class="image-slot">
正在全力加载中<i class="el-icon-loading"></i>
</div>
</el-image>
<span slot="footer" class="dialog-footer">
<el-button type="primary" @click="displayDiagram = false">关闭</el-button>
</span>
</el-dialog>
<el-dialog append-to-body
title="查看审批人"
:visible.sync="nodeInfoVisible"
width="60%">
<procinst-node-info-set :node-infos="nodeInfos" :visible="nodeInfoVisible" @cancel="onNodeInfosCancel" @confirm="onNodeInfosConfirm"></procinst-node-info-set>
</el-dialog>
<el-dialog append-to-body
title="设置标签"
:visible.sync="tagSelectVisible"
width="60%">
<tag-mng :tagIds="addForm.tagIds==null?null:addForm.tagIds.split(',')" :jump="true" @select-confirm="onTagSelected"></tag-mng>
</el-dialog>
<el-dialog append-to-body
title="选择员工"
:visible.sync="userSelectVisible"
width="60%">
<users-select :select-userids="task.nextAssigneeList.map(i=>i.userid)" @confirm="onUserSelected"></users-select>
</el-dialog>
<el-dialog append-to-body
title="候选人/候选部门/候选岗位配置"
:visible.sync="selectCandidateSetVisible"
width="60%">
<task-candidate-set :taskId="taskInfo.taskId" :procInstId="taskInfo.procInstId" @confirm="selectCandidateSetVisible=false"></task-candidate-set>
</el-dialog>
</el-row>
<el-dialog
title="流程图"
:visible.sync="displayDiagram"
width="80%" append-to-body >
<el-image :fit="'contain'" :src="diagramUrl">
<div slot="error" class="image-slot">
<i class="el-icon-picture-outline"></i>
</div>
<div slot="placeholder" class="image-slot">
正在全力加载中<i class="el-icon-loading"></i>
</div>
</el-image>
<span slot="footer" class="dialog-footer">
<el-button type="primary" @click="displayDiagram = false">关闭</el-button>
</span>
</el-dialog>
<el-dialog append-to-body
title="查看审批人"
:visible.sync="nodeInfoVisible"
width="60%">
<procinst-node-info-set :node-infos="nodeInfos" :visible="nodeInfoVisible" @cancel="onNodeInfosCancel" @confirm="onNodeInfosConfirm"></procinst-node-info-set>
</el-dialog>
<el-dialog append-to-body
title="设置标签"
:visible.sync="tagSelectVisible"
width="60%">
<tag-mng :tagIds="addForm.tagIds==null?null:addForm.tagIds.split(',')" :jump="true" @select-confirm="onTagSelected"></tag-mng>
</el-dialog>
</el-row>
<el-row class="page-bottom">
<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-dialog append-to-body
title="选择员工"
:visible.sync="userSelectVisible"
width="60%">
<users-select :select-userids="task.nextAssigneeList.map(i=>i.userid)" @confirm="onUserSelected"></users-select>
</el-dialog>
<el-dialog append-to-body
title="候选人/候选部门/候选岗位配置"
:visible.sync="selectCandidateSetVisible"
width="60%">
<task-candidate-set :taskId="taskInfo.taskId" :procInstId="taskInfo.procInstId" @confirm="selectCandidateSetVisible=false"></task-candidate-set>
</el-dialog>
</el-row>
</section>
</template>
@ -1143,17 +1135,22 @@
</script>
<style>
<style scoped>
.wf-title {
text-align: center;
font: outline;
font-size:2.5em;
overflow-x:auto;
overflow-y:auto;
}
.wf-sub-title {
text-align: center;
font: outline;
margin-top: 0.875em;
margin-bottom: 0.875em;
font-size:1.5em;
overflow-x:auto;
overflow-y:auto;
}
.wf-sub-sub-title{
text-align: center;
}
.wf-main-context-box {
border:1px dashed #000;
@ -1172,4 +1169,16 @@
float:left;
padding-top:5px;
}
.page-title{
height: calc(10vh);
overflow-x:auto;
overflow-y:auto;
}
.page-context{
height: calc(70vh);
overflow: auto;
}
.page-bottom{
height: calc(5vh);
}
</style>

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

@ -1,6 +1,6 @@
<template>
<section>
<el-row class="app-container">
<el-row class="page-container border">
<!--新增界面 ProcinstParames 流程实例参数设置表-->
<el-col :span="24">

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

@ -1,19 +1,13 @@
<template>
<section>
<el-row class="app-container">
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
<el-row>
<el-row class="page-container page-height">
<el-row class="page-header">
<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-input v-model="filters.key" style="width:270px;" placeholder="模糊查询">
<template slot="append">
<div class="search">
<el-button @click="searchAssigneeToMeTasks" icon="el-icon-search">查询</el-button>
</div>
</template>
<el-input v-model="filters.key" class="input-width" placeholder="模糊查询">
</el-input>
<el-button type="primary" @click="searchAssigneeToMeTasks" icon="el-icon-search">查询</el-button>
<el-popover placement="top" width="375" trigger="manual" v-model="weixinContentVisible">
<p>{{weixinContent}}</p>
<div style="text-align: right; margin: 0">
@ -28,23 +22,24 @@
<el-button v-show="assigneeToMe===false" class="hidden-sm-and-down" v-on:click="showOaMsg">OAMSG催办</el-button>
<el-button @click.native="showTagSelect(false)" icon="el-icon-plus">标签</el-button>
<el-button @click="drawer = true" circle icon="el-icon-more"></el-button>
<el-button @click="moreFilterVisible = true" circle icon="el-icon-more"></el-button>
<el-drawer title="更多查询条件" :visible.sync="drawer" :with-header="false" append-to-body>
<el-row class="more-filter-item">
<el-drawer title="更多查询条件" :visible.sync="moreFilterVisible" append-to-body :size="400">
<el-row class="page-container more-filter">
<el-col :span="24">
<font class="more-label-font" style="margin-right: 13px;">
<el-divider content-position="left">查询条件</el-divider>
<el-row>
<font>
流程分类
</font>
<el-select v-model="filters.procCategory" clearable filterable placeholder="选择分类">
<el-select size="small" 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-col>
</el-row>
<el-col :span="24">
<font class="more-label-font">
<el-row>
<font >
标签查找
</font>
<el-row v-show="filters.tags && filters.tags.length>0">
@ -55,50 +50,43 @@
</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">
</el-row>
<el-row>
<font >
开始日期
</font>
<el-date-picker v-model="filters.startTimeRanger" type="daterange" align="right" unlink-panels
range-separator="-" start-placeholder="创建日期" end-placeholder="创建日期" value-format="yyyy-MM-dd HH:mm:ss"
:default-time="['00:00:00','23:59:59']" :picker-options="pickerOptions"></el-date-picker>
</el-col>
<el-col :span="24">
<font class="more-label-font">
</el-row>
<el-row>
<font >
计划完成日期
</font>
<el-date-picker v-model="filters.planFinishTimeRanger" type="daterange" align="right" unlink-panels
range-separator="-" start-placeholder="计划完成日期" end-placeholder="计划完成日期"
value-format="yyyy-MM-dd HH:mm:ss" :default-time="['00:00:00','23:59:59']"
:picker-options="pickerOptions"></el-date-picker>
</el-col>
<el-col :span="24">
<el-checkbox v-model="showCalendar">按日历风格显示</el-checkbox>
</el-col>
<el-col :span="24">
</el-row>
<el-row>
<el-button type="primary" @click="searchAssigneeToMeTasks" icon="el-icon-search"
style="margin-top: 11px;">查询</el-button>
</el-col>
<el-col :span="24">
</el-row>
<el-row>
<el-divider content-position="left">其它操作</el-divider>
<el-checkbox v-model="showCalendar">按日历风格显示</el-checkbox>
<el-button @click.native="showTagSelect(true)">添加标签</el-button>
<el-button @click="handleDownload">导出数据</el-button>
</el-col>
</el-row>
</el-row>
</el-drawer>
<el-row class="page-tips"><span></span></el-row>
</el-row>
<el-row style="padding-top:20px;" v-if="showCalendar==false">
<el-row v-if="showCalendar==false" class="page-main">
<!--列表 Task act_ru_task-->
<el-table ref="table" :data="tasks" highlight-current-row v-loading="listLoading" border
@selection-change="selsChange" @row-click="rowClick" style="width: 100%;" :max-height="tableHeight">
@selection-change="selsChange" @row-click="rowClick" style="width: 100%;" :height="tableHeight">
<el-table-column type="selection" width="40" v-if="screenWidth>=500" :class="'hidden-sm-and-down'">
</el-table-column>
<el-table-column type="index" width="40" :class="'hidden-sm-and-down'"></el-table-column>
@ -137,20 +125,20 @@
</el-table-column>
<el-table-column sortable v-if="assigneeToMe===false" prop="dueDate" label="处理时长" min-width="80"
show-overflow-tooltip></el-table-column>
<!--
<el-table-column label="操作" width="100" fixed="right">
<template slot-scope="scope">
<el-button type="primary" @click="showTaskDetail( scope.row,scope.$index)">详情</el-button>
</template>
</el-table-column>
-->
</el-table>
<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>
<!--编辑 Execution act_ru_execution界面-->
</el-row>
</el-col>
<el-col v-if="showCalendar==true">
<el-calendar v-loading="listLoading" v-model="filters.calendarDate">
<el-calendar v-if="showCalendar==true" v-loading="listLoading" v-model="filters.calendarDate">
<!-- 这里使用的是 2.5 slot 语法对于新项目请使用 2.6 slot 语法-->
<template slot="dateCell" scope="{date, data}">
<div :class="data.isSelected ? 'is-selected' : ''">
@ -208,19 +196,18 @@
</div>
</template>
</el-calendar>
</el-col>
<el-dialog title="短信催办" :visible.sync="sendSmsVisible" :width="dialogWidth()" :close-on-click-modal="false">
<send-sms :sms-body-params="smsBodyParams" :sms-user-list="smsUserList" :load-phoneno-by-userid="true"
:visible="sendSmsVisible" @cancel="sendSmsVisible=false"></send-sms>
</el-dialog>
<el-dialog fullscreen title="任务详情" :visible.sync="editFormVisible" :width="dialogWidth()"
<el-drawer fullscreen title="任务详情" :visible.sync="editFormVisible" :size="dialogWidth()" :withHeader="false"
:close-on-click-modal="false">
<procinst-parames-execution-set :companyEmployees="companyEmployees" :companyDepts="companyDepts"
:taskInfo="editForm" :procDefId="editForm.procDefId" :procInstId="editForm.procInstId"
:visible="editFormVisible" @cancel="editFormVisible=false" @submit="afterEditSubmit">
</procinst-parames-execution-set>
</el-dialog>
</el-drawer>
<el-dialog append-to-body title="标签条件" :visible.sync="tagSelectVisible" class="dialog-body" width="60%">
<tag-mng :tagIds="filters.tags?filters.tags.map(i=>i.tagId):[]" :jump="true" @select-confirm="onTagSelected">
</tag-mng>
@ -453,7 +440,7 @@
myBranchDepts: [],
categorys: [],
tagSelectVisible: false,
drawer: false,
moreFilterVisible: false,
showCalendar: true,
tableHeight: 300,
/** end 自定义属性请在上面加 请加备注**/
@ -496,10 +483,10 @@
this.getTasks();
},
dialogWidth: function() {
if (screen.width > 500) {
return "80%";
if (screen.width > 600) {
return "60%";
} else {
return "100%";
return "80%";
}
},
@ -1015,14 +1002,17 @@
// Task act_ru_task
showTaskDetail: function(row, index) {
// this.editFormVisible = true;
this.editForm = Object.assign({}, row);
this.editFormVisible = true;
/**
this.$router.push({
name: "ProcinstParamesExecutionSetRoute",
params: {
taskInfo: row
}
});
*/
},
// Task act_ru_task
showAdd: function() {
@ -1401,10 +1391,10 @@
this.$nextTick(() => {
if (!this.showCalendar) {
var clientRect = this.$refs.table.$el.getBoundingClientRect();
var subHeight = 70 / 1000 * window.innerHeight;
var subHeight = 60 / 1000 * window.innerHeight;
this.tableHeight = window.innerHeight - clientRect.y - this.$refs.table.$el.offsetTop - subHeight;
} else {
var subHeight = 70 / 1000 * window.innerHeight;
var subHeight = 60 / 1000 * window.innerHeight;
this.tableHeight = window.innerHeight - subHeight;
}
})
@ -1432,130 +1422,6 @@
</script>
<style rel="stylesheet/scss" lang="scss" scoped>
.filters-show {
margin-left: 20px;
margin-top: 10px;
margin-bottom: 0px;
}
.filters-label {
font-size: 14px;
color: black;
font-weight: bold;
}
.dialog-body {
padding: 0px 0px;
}
.more-filter-item {
margin: 20px 20px;
}
.more-filter-item .el-col {
margin: 2px 2px;
}
.more-filter-item button {
margin: 2px 2px;
}
.calendar-cell-data {
flex: 1;
display: inline-block;
align-items: left;
justify-content: space-between;
font-size: 14px;
color: #4386c6;
ispan {
margin-left: 0px;
font-size: 18px;
font-weight: 600;
}
}
.el-ic {
display: none;
i,
span {
padding: 0 0px;
font-size: 18px;
font-weight: 600;
}
}
.calendar-cell-data:hover .el-ic {
color: #428bca !important;
display: inline-block;
margin-left: 20px;
}
.calendar-cell-datat:hover {
font-weight: bold;
}
.more-label-font {
text-align: center;
float: left;
height: 28px;
line-height: 28px;
margin-right: 10px;
margin-top: 2px;
}
.el-input--medium .el-input__inner {
height: 36px;
line-height: 36px;
margin-left: 2px;
}
.el-divider--horizontal {
display: block;
height: 1px;
width: 100%;
margin: 24px 0;
padding-top: 20px;
margin-left: 0px;
background: #fff;
}
.el-divider__text.is-left {
left: 0px;
}
</style>
<style>
.el-input-group__append, .el-input-group__prepend {
background-color: #409EFF!important;
color: #ffffff!important;
vertical-align: middle;
display: table-cell;
position: relative;
border: 1px solid #409EFF!important;
padding: 0 20px;
width: 1px;
white-space: nowrap;
}
.el-calendar__header {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;
padding: 20px 0px;
border: none;
}
.el-calendar__body {
padding: 12px 20px 35px;
border: 1px solid #EBEEF5;
}
.el-divider__text {
position: absolute;
background-color: #FFF;
padding: 0px 0px;
color: #303133;
}
</style>
Loading…
Cancel
Save