修改任务父类与任务种类的关联关系

main
jinna 3 years ago
parent 2e64b29843
commit 013c3a6f97
  1. 96
      src/api/plugin/workflow/workorder.js
  2. 41
      src/config/website.js
  3. 19
      src/const/maintenance/basics.js
  4. 17
      src/const/workflow/crontab.js
  5. 17
      src/const/workflow/implementation.js
  6. 8
      src/const/workflow/todo.js
  7. 8
      src/const/workflow/workorder.js
  8. 9
      src/views/maintenance/system.vue
  9. 19
      src/views/maintenance/task.vue
  10. 30
      src/views/plugin/workflow/process/components/detail.vue
  11. 4
      src/views/plugin/workflow/process/components/effect.vue
  12. 11
      src/views/plugin/workflow/process/components/form.vue
  13. 20
      src/views/plugin/workflow/process/crontab.vue
  14. 33
      src/views/plugin/workflow/process/implementation.vue
  15. 31
      src/views/plugin/workflow/process/todo.vue
  16. 31
      src/views/plugin/workflow/process/workorder.vue

@ -1,85 +1,93 @@
import request from '@/router/axios'; import request from "@/router/axios";
const prefix = '/api/blade-workflow/workOrder' const prefix = "/api/blade-workflow/workOrder";
const prefix2 = '/api/blade-workflow/autoProcess' const prefix2 = "/api/blade-workflow/autoProcess";
// 流程中心查询 // 流程中心查询
export const getList = (query) => { export const getList = (query) => {
return request({ return request({
url: `${prefix}/historyWorkOrder`, url: `${prefix}/historyWorkOrder`,
method: 'get', method: "get",
params:query params: query,
}) });
} };
// 导出 // 导出
export const exportExcel = (query) => { export const exportExcel = (query) => {
return request({ return request({
url: `${prefix}/exportExcel`, url: `${prefix}/exportExcel`,
method: 'get', method: "get",
params:query, params: query,
responseType: 'blob' responseType: "blob",
}) });
} };
// 头部查询 // 头部查询
export const conditionalData = (query) => { export const conditionalData = (query) => {
return request({ return request({
url: `${prefix}/conditionalData`, url: `${prefix}/conditionalData`,
method: 'get', method: "get",
params:query params: query,
}) });
} };
// 任务种类
export const taskType = (query) => {
return request({
url: `/api/blade-workflow/taskInfo/taskTypeData`,
method: "get",
params: query,
});
};
// 我的待办 // 我的待办
export const todoList = (query) => { export const todoList = (query) => {
return request({ return request({
url: `${prefix}/myToDo`, url: `${prefix}/myToDo`,
method: 'get', method: "get",
params:query params: query,
}) });
} };
// 定时任务 // 定时任务
export const taskList = (query) => { export const taskList = (query) => {
return request({ return request({
url: `${prefix2}/list`, url: `${prefix2}/list`,
method: 'get', method: "get",
params:query params: query,
}) });
} };
// 定时任务终止 // 定时任务终止
export const taskRemove = (query) => { export const taskRemove = (query) => {
return request({ return request({
url: `${prefix2}/remove`, url: `${prefix2}/remove`,
method: 'post', method: "post",
params:query params: query,
}) });
} };
// 重复模式 // 重复模式
export const repeatMode = () => { export const repeatMode = () => {
return request({ return request({
url: "/api/blade-system/dict-biz/dictionary?code=repeat_mode", url: "/api/blade-system/dict-biz/dictionary?code=repeat_mode",
method: 'get', method: "get",
}) });
} };
// 工单记录 // 工单记录
export const implementation = (query) => { export const implementation = (query) => {
return request({ return request({
url: `${prefix}/workOrderRecord`, url: `${prefix}/workOrderRecord`,
method: 'get', method: "get",
params:query params: query,
}) });
} };
// 实施反馈提交 // 实施反馈提交
export const add = (obj) => { export const add = (obj) => {
return request({ return request({
url: `${prefix}/submit`, url: `${prefix}/submit`,
method: 'post', method: "post",
data:obj data: obj,
}) });
} };
// 导出 // 导出
export const workOrderExcel = (query) => { export const workOrderExcel = (query) => {
return request({ return request({
url: `${prefix}/workOrderExcel`, url: `${prefix}/workOrderExcel`,
method: 'get', method: "get",
params:query, params: query,
responseType: 'blob' responseType: "blob",
}) });
} };

@ -4,17 +4,17 @@
export default { export default {
title: "saber", title: "saber",
logo: "S", logo: "S",
key: 'saber',//配置主键,目前用于存储 key: "saber", //配置主键,目前用于存储
indexTitle: 'Saber Admin', indexTitle: "Saber Admin",
clientId: 'saber', // 客户端id clientId: "saber", // 客户端id
clientSecret: 'saber_secret', // 客户端密钥 clientSecret: "saber_secret", // 客户端密钥
tenantMode: true, // 是否开启租户模式 tenantMode: true, // 是否开启租户模式
tenantId: "000000", // 管理组租户编号 tenantId: "000000", // 管理组租户编号
captchaMode: true, // 是否开启验证码模式 captchaMode: true, // 是否开启验证码模式
switchMode: false, // 是否开启部门切换模式 switchMode: false, // 是否开启部门切换模式
lockPage: '/lock', lockPage: "/lock",
tokenTime: 3000, tokenTime: 3000,
tokenHeader: 'Blade-Auth', tokenHeader: "Blade-Auth",
//http的status默认放行列表 //http的status默认放行列表
statusWhiteList: [], statusWhiteList: [],
//配置首页不可关闭 //配置首页不可关闭
@ -25,27 +25,30 @@ export default {
params: {}, params: {},
query: {}, query: {},
meta: { meta: {
i18n: 'dashboard' i18n: "dashboard",
}, },
group: [], group: [],
close: false close: false,
}, },
//配置菜单的属性 //配置菜单的属性
menu: { menu: {
iconDefault: 'iconfont icon-caidan', iconDefault: "iconfont icon-caidan",
props: { props: {
label: 'name', label: "name",
path: 'path', path: "path",
icon: 'source', icon: "source",
children: 'children' children: "children",
} },
}, },
// 第三方系统授权地址 // 第三方系统授权地址
authUrl: 'http://localhost/blade-auth/oauth/render', authUrl: "http://localhost/blade-auth/oauth/render",
// 报表设计器地址(cloud端口为8108,boot端口为80) // 报表设计器地址(cloud端口为8108,boot端口为80)
reportUrl: 'http://localhost:8108/ureport', reportUrl: "http://localhost:8108/ureport",
// 单点登录系统认证(blade-auth服务的地) // 单点登录系统认证(blade-auth服务的地)
ssoUrl: 'http://localhost:8100/oauth/authorize?client_id=saber&response_type=code&redirect_uri=', ssoUrl:
"http://localhost:8100/oauth/authorize?client_id=saber&response_type=code&redirect_uri=",
// 单点登录回调地址(Saber服务的地址) // 单点登录回调地址(Saber服务的地址)
redirectUri: 'http://localhost:1888', redirectUri: "http://localhost:1888",
} operModule: "操作对象",
adminDept: "部门名称",
};

@ -1,3 +1,5 @@
import website from "../../config/website";
export const tableOption = { export const tableOption = {
index: true, index: true,
indexLabel: "序号", indexLabel: "序号",
@ -23,8 +25,10 @@ export const tableOption = {
menu: false, menu: false,
column: [ column: [
{ {
// label: "数据库/系统名称",
type: "select", type: "select",
label: "数据库/系统名称", label: "部门系统",
prop: "databaseProjectName", prop: "databaseProjectName",
align: "left", align: "left",
overHidden: true, overHidden: true,
@ -39,11 +43,12 @@ export const tableOption = {
allowCreate: true, allowCreate: true,
filterable: true, filterable: true,
formslot: true, formslot: true,
rules: [{ required: true, message: "请输入数据库/系统名称" }], rules: [{ required: true, message: "请输入部门系统" }],
}, },
{ {
type: "input", type: "input",
label: "数据库/系统别名", // label: "数据库/系统别名",
label: "部门系统别名",
prop: "dataBaseAlias", prop: "dataBaseAlias",
align: "left", align: "left",
overHidden: true, overHidden: true,
@ -121,7 +126,8 @@ export const tableOption = {
}, },
{ {
type: "select", type: "select",
label: "管理部门", // label: "管理部门",
label: website.adminDept,
prop: "deptId", prop: "deptId",
align: "left", align: "left",
overHidden: true, overHidden: true,
@ -133,11 +139,12 @@ export const tableOption = {
hide: true, hide: true,
disabled: false, disabled: false,
span: 8, span: 8,
rules: [{ required: true, message: "请选择管理部门" }], rules: [{ required: true, message: "请选择" + website.adminDept }],
}, },
{ {
type: "input", type: "input",
label: "管理部门", // label: "管理部门",
label: website.adminDept,
prop: "deptName", prop: "deptName",
align: "left", align: "left",
overHidden: true, overHidden: true,

@ -1,14 +1,16 @@
import website from "../../config/website";
export const tableOption = { export const tableOption = {
index: true, index: true,
indexLabel: "序号", indexLabel: "序号",
indexWidth:120, indexWidth: 120,
selection: false, selection: false,
border: false, border: false,
gutter: 60, //设置input的大小 gutter: 60, //设置input的大小
headerAlign: "left", headerAlign: "left",
align: "left", align: "left",
menuAlign:'left', menuAlign: "left",
menuHeaderAlign:'left', menuHeaderAlign: "left",
menuBtn: true, menuBtn: true,
editBtn: false, editBtn: false,
delBtn: false, delBtn: false,
@ -18,7 +20,7 @@ export const tableOption = {
columnBtn: false, columnBtn: false,
refreshBtn: false, refreshBtn: false,
header: false, header: false,
menuWidth:200, menuWidth: 200,
column: [ column: [
{ {
type: "input", type: "input",
@ -50,7 +52,8 @@ export const tableOption = {
}, },
{ {
type: "input", type: "input",
label: "管理部门", // label: "管理部门",
label: website.adminDept,
prop: "deptName", prop: "deptName",
align: "left", align: "left",
overHidden: true, overHidden: true,
@ -69,7 +72,7 @@ export const tableOption = {
align: "left", align: "left",
overHidden: true, overHidden: true,
}, },
{ {
label: "创建时间", label: "创建时间",
type: "datetime", type: "datetime",
@ -94,4 +97,4 @@ export const tableOption = {
valueFormat: "yyyy-MM-dd HH:mm:ss", valueFormat: "yyyy-MM-dd HH:mm:ss",
}, },
], ],
} };

@ -1,3 +1,5 @@
import website from "../../config/website";
export const tableOption = { export const tableOption = {
index: true, index: true,
indexLabel: "序号", indexLabel: "序号",
@ -35,19 +37,26 @@ export const tableOption = {
align: "left", align: "left",
overHidden: true, overHidden: true,
}, },
{
type: "input",
// label: "管理部门",
label: website.adminDept,
prop: "managementName",
align: "left",
overHidden: true,
},
{ {
type: "input", type: "input",
// label: "操作模块", // label: "操作模块",
label: "操作对象", label: website.operModule,
prop: "operateSysName", prop: "operateSysName",
align: "left", align: "left",
overHidden: true, overHidden: true,
}, },
{ {
type: "input", type: "input",
label: "管理部门", label: "详情",
prop: "managementName", prop: "detail",
align: "left", align: "left",
overHidden: true, overHidden: true,
}, },

@ -1,3 +1,5 @@
import website from "../../config/website";
export const tableOption = { export const tableOption = {
index: true, index: true,
indexLabel: "序号", indexLabel: "序号",
@ -37,7 +39,8 @@ export const tableOption = {
}, },
{ {
type: "input", type: "input",
label: "操作模块", label: website.operModule,
// label: "操作模块",
prop: "operateSysName", prop: "operateSysName",
align: "left", align: "left",
overHidden: true, overHidden: true,
@ -58,7 +61,8 @@ export const tableOption = {
}, },
{ {
type: "input", type: "input",
label: "管理部门", // label: "管理部门",
label: website.adminDept,
prop: "managementName", prop: "managementName",
align: "left", align: "left",
overHidden: true, overHidden: true,

@ -1,3 +1,5 @@
import website from "../../config/website";
export const tableOption = { export const tableOption = {
index: true, index: true,
indexLabel: "序号", indexLabel: "序号",
@ -37,7 +39,8 @@ export const tableOption = {
}, },
{ {
type: "input", type: "input",
label: "操作模块", label: website.operModule,
// label: "操作模块",
prop: "xitongmingchengshujuku", prop: "xitongmingchengshujuku",
align: "left", align: "left",
overHidden: true, overHidden: true,
@ -51,7 +54,8 @@ export const tableOption = {
}, },
{ {
type: "input", type: "input",
label: "管理部门", // label: "管理部门",
label: website.adminDept,
prop: "$guanlibumen", prop: "$guanlibumen",
align: "left", align: "left",
overHidden: true, overHidden: true,

@ -2,9 +2,10 @@
<div class="cus-container"> <div class="cus-container">
<el-form :model="searchForm"> <el-form :model="searchForm">
<div class="search"> <div class="search">
<!-- placeholder="数据库/系统名称" -->
<el-select <el-select
v-model="searchForm.databaseProjectName" v-model="searchForm.databaseProjectName"
placeholder="数据库/系统名称" placeholder="部门系统"
class="search-select" class="search-select"
filterable filterable
> >
@ -45,9 +46,10 @@
> >
</el-option> </el-option>
</el-select> </el-select>
<!-- placeholder="管理部门" -->
<el-select <el-select
v-model="searchForm.deptId" v-model="searchForm.deptId"
placeholder="管理部门" :placeholder="website.adminDept"
class="search-select" class="search-select"
> >
<el-option <el-option
@ -121,7 +123,7 @@
> >
<template slot="databaseProjectNameForm"> <template slot="databaseProjectNameForm">
<el-select <el-select
placeholder="请输入数据库/系统名称" placeholder="请输入部门系统"
v-model="form.databaseProjectName" v-model="form.databaseProjectName"
@change="databaseChange" @change="databaseChange"
filterable filterable
@ -162,6 +164,7 @@ import {
} from "@/api/maintenance/system.js"; } from "@/api/maintenance/system.js";
import {getBasicsData,getTemplate,getDatabaseType,getDataList,addPullData,addList} from "@/api/maintenance/basics.js"; import {getBasicsData,getTemplate,getDatabaseType,getDataList,addPullData,addList} from "@/api/maintenance/basics.js";
import { tableOption } from "@/const/maintenance/basics.js"; import { tableOption } from "@/const/maintenance/basics.js";
import website from '@/config/website';
import { getToken } from "@/util/auth"; import { getToken } from "@/util/auth";
export default { export default {

@ -6,6 +6,7 @@
v-model="searchForm.taskParentId" v-model="searchForm.taskParentId"
placeholder="任务父类" placeholder="任务父类"
class="search-select" class="search-select"
@change="changeParent"
> >
<el-option <el-option
v-for="item in parentList" v-for="item in parentList"
@ -110,12 +111,16 @@ import {
getTaskLevel, getTaskLevel,
getTaskTypeData, getTaskTypeData,
} from "@/api/maintenance/task.js"; } from "@/api/maintenance/task.js";
import {
taskType,
} from "@/api/plugin/workflow/workorder.js";
import { tableOption } from "@/const/maintenance/task.js"; import { tableOption } from "@/const/maintenance/task.js";
export default { export default {
data() { data() {
return { return {
searchForm: { searchForm: {
timeArr: null, timeArr: null,
taskTypeName:''
}, },
conpanyList: [{ label: "运维公司", value: 1 }], conpanyList: [{ label: "运维公司", value: 1 }],
option: tableOption, option: tableOption,
@ -129,6 +134,7 @@ export default {
loading: false, loading: false,
parentList: [], parentList: [],
levelList: [], levelList: [],
taskTypeList:[]
}; };
}, },
created() { created() {
@ -148,9 +154,15 @@ export default {
const column = this.findObject(this.option.column, "taskLevel"); const column = this.findObject(this.option.column, "taskLevel");
column.dicData = res.data.data; column.dicData = res.data.data;
}); });
getTaskTypeData().then((res) => { // getTaskTypeData().then((res) => {
this.taskTypeList = res.data.data; // this.taskTypeList = res.data.data;
}); // });
},
changeParent(val){
this.searchForm.taskTypeName = ''
taskType({parentId:val,isDetail:1}).then(res =>{
this.taskTypeList = res.data.data
})
}, },
// //
onLoad() { onLoad() {
@ -199,6 +211,7 @@ export default {
}, },
// //
searchHandle(index) { searchHandle(index) {
this.taskTypeList = []
this.page.currentPage = 1; this.page.currentPage = 1;
if (index === 2) { if (index === 2) {
this.searchForm = { this.searchForm = {

@ -395,9 +395,10 @@ export default {
// xitongmokuaishujubiao.dicData = res.data.data; // xitongmokuaishujubiao.dicData = res.data.data;
this.taskTableData = res.data.data; this.taskTableData = res.data.data;
console.log('taskTableData ===>',this.taskTableData) console.log('taskTableData ===>',this.taskTableData)
if(xitongmokuaishujubiao.dicData.length !== 0){ if(this.taskTableData.length !== 0){
// this.form.xitongmokuaishujubiao = xitongmokuaishujubiao.dicData[0].id; // this.form.xitongmokuaishujubiao = xitongmokuaishujubiao.dicData[0].id;
this.form.xitongmokuaishujubiao = this.taskTableData[0].id; // this.form.xitongmokuaishujubiao = this.taskTableData[0].id;
this.form.xitongmokuaishujubiao = ''
}else{ }else{
this.form.xitongmokuaishujubiao = '' this.form.xitongmokuaishujubiao = ''
} }
@ -423,15 +424,18 @@ export default {
this.isDraft = false this.isDraft = false
}else{ }else{
if(this.taskAndDataBaseList.length !== 0){ if(this.taskAndDataBaseList.length !== 0){
this.form.xitongmingchengshujuku = this.taskAndDataBaseList[0].id this.form.xitongmingchengshujuku = '';
this.systemChange(this.taskAndDataBaseList[0].id,-1) this.form.xitongmokuaishujubiao = "";
this.taskTableData = []
// this.systemChange(this.taskAndDataBaseList[0].id,-1)
}else{ }else{
this.form.xitongmingchengshujuku = '' this.form.xitongmingchengshujuku = ''
const xitongmokuaishujubiao = this.findObject( const xitongmokuaishujubiao = this.findObject(
this.option.column, this.option.column,
"xitongmokuaishujubiao" "xitongmokuaishujubiao"
); );
xitongmokuaishujubiao.dicData = res.data.data; // xitongmokuaishujubiao.dicData = res.data.data;
this.taskTableData = []
this.form.xitongmokuaishujubiao = ""; this.form.xitongmokuaishujubiao = "";
} }
} }
@ -489,17 +493,25 @@ export default {
} }
option.column.find(item => item.prop == 'renwudengji').dicUrl = '' option.column.find(item => item.prop == 'renwudengji').dicUrl = ''
this.option = option; this.option = option;
console.log('summary',this.option)
let detail = this.option.column.find(item => item.label == '详情')
let colTmp = this.option.column.find(item => item.label == "系统名称/数据库/部门"); let colTmp = this.option.column.find(item => item.label == "系统名称/数据库/部门");
let colTmp1 = this.option.column.find(item => item.label == "管理部门");
if(colTmp) { if(colTmp) {
colTmp.label = '部门系统' colTmp.label = '部门系统'
} }
console.log('option ===>',this.option) if(colTmp1){
colTmp1.label = '部门名称'
}
if(detail.disabled){
detail.placeholder = ' '
}
this.vars = vars; this.vars = vars;
// //
const { yunweigongsi, renwufulei, xitongmingchengshujuku } = const { yunweigongsi, renwufulei, xitongmingchengshujuku } =
variables; variables;
console.log('status ==>',status)
// //
if(status !== 'todo'){ if(status !== 'todo'){
const companyData = await getCompany({isDetail:1}); const companyData = await getCompany({isDetail:1});
@ -528,7 +540,9 @@ export default {
renwudengji.dicData = taskTypeLevel.data.data; renwudengji.dicData = taskTypeLevel.data.data;
}else{ }else{
const companyData = await getCompany({isDetail:0}); const companyData = await getCompany({isDetail:0});
this.companyList = companyData.data.data this.companyList = companyData.data.data;
// this.companyList.push({id:"1630747415619584001",name:""},{id:"1635747415619584001",name:"1"})
// console.log('companyList',this.companyList)
// let ywgs = this.findObject(option.column, "yunweigongsi"); // let ywgs = this.findObject(option.column, "yunweigongsi");
// ywgs.dicData = companyData.data.data; // ywgs.dicData = companyData.data.data;
// ywgs.disabled = ywgs.dicData.length == 1 ? true : false // ywgs.disabled = ywgs.dicData.length == 1 ? true : false

@ -53,6 +53,7 @@
import { downloadFile } from "@/api/plugin/workflow/form.js"; import { downloadFile } from "@/api/plugin/workflow/form.js";
import { add } from "@/api/plugin/workflow/workorder.js"; import { add } from "@/api/plugin/workflow/workorder.js";
import { mapGetters } from "vuex"; import { mapGetters } from "vuex";
import website from '@/config/website';
export default { export default {
data() { data() {
return { return {
@ -79,7 +80,8 @@ export default {
}, },
{ {
type: "input", type: "input",
label: "管理部门", // label: "",
label: website.adminDept,
placeholder:' ', placeholder:' ',
span: 7, span: 7,
display: true, display: true,

@ -58,7 +58,7 @@
allow-create allow-create
clearable clearable
v-model="form.xitongmingchengshujuku" v-model="form.xitongmingchengshujuku"
placeholder="请选择系统名称/数据库/别名" placeholder="请选择部门系统"
@change="systemChange" @change="systemChange"
> >
<el-option <el-option
@ -253,7 +253,9 @@ export default {
isDraft:false isDraft:false
}; };
}, },
created() {}, created() {
console.log('xinjian')
},
methods: { methods: {
// - // -
companyChange(id) { companyChange(id) {
@ -294,13 +296,14 @@ export default {
if(this.taskAndDataBaseList.length !== 0){ if(this.taskAndDataBaseList.length !== 0){
// this.form.xitongmingchengshujuku = this.taskAndDataBaseList[0].id // this.form.xitongmingchengshujuku = this.taskAndDataBaseList[0].id
// this.systemChange(this.taskAndDataBaseList[0].id,-1) // this.systemChange(this.taskAndDataBaseList[0].id,-1)
this.form.xitongmingchengshujuku = ''
}else{ }else{
this.form.xitongmingchengshujuku = '' this.form.xitongmingchengshujuku = ''
const xitongmokuaishujubiao = this.findObject( const xitongmokuaishujubiao = this.findObject(
this.option.column, this.option.column,
"xitongmokuaishujubiao" "xitongmokuaishujubiao"
); );
xitongmokuaishujubiao.dicData = res.data.data; xitongmokuaishujubiao.dicData = [];
this.form.xitongmokuaishujubiao = ""; this.form.xitongmokuaishujubiao = "";
} }
} }
@ -438,6 +441,8 @@ export default {
// //
const companyData = await getCompany({isDetail:0}); const companyData = await getCompany({isDetail:0});
this.companyList = companyData.data.data; this.companyList = companyData.data.data;
// this.companyList.push({id:"1630747415619584001",name:""},{id:"1635747415619584001",name:"1"})
// console.log('companyList',this.companyList)
if (companyData.data.data.length > 0) { if (companyData.data.data.length > 0) {
const id = companyData.data.data[0].id; const id = companyData.data.data[0].id;
this.form.yunweigongsi = id; this.form.yunweigongsi = id;

@ -7,6 +7,7 @@
placeholder="任务父类" placeholder="任务父类"
class="search-select" class="search-select"
clearable clearable
@change="changeParent"
> >
<el-option <el-option
v-for="item in taskParent" v-for="item in taskParent"
@ -117,6 +118,11 @@
>终止</el-button >终止</el-button
> >
</template> </template>
<template slot-scope="scope" slot="operaModule">
<span
>{{ scope.row.operaModule == '' ? '--' : scope.row.operaModule }}</span
>
</template>
</avue-crud> </avue-crud>
</div> </div>
</div> </div>
@ -126,6 +132,7 @@ import {
taskList as getList, taskList as getList,
conditionalData, conditionalData,
taskRemove, taskRemove,
taskType,
repeatMode, repeatMode,
} from "@/api/plugin/workflow/workorder.js"; } from "@/api/plugin/workflow/workorder.js";
import { tableOption } from "@/const/workflow/crontab.js"; import { tableOption } from "@/const/workflow/crontab.js";
@ -135,7 +142,9 @@ export default {
mixins: [exForm], mixins: [exForm],
data() { data() {
return { return {
searchForm: {}, searchForm: {
taskType:''
},
option: tableOption, option: tableOption,
page: { page: {
currentPage: 1, currentPage: 1,
@ -165,7 +174,7 @@ export default {
const { taskParent, taskInfos, depts, users, taskLevel } = const { taskParent, taskInfos, depts, users, taskLevel } =
res.data.data; res.data.data;
this.taskParent = taskParent; this.taskParent = taskParent;
this.taskInfos = taskInfos; // this.taskInfos = taskInfos;
this.depts = depts; this.depts = depts;
this.users = users; this.users = users;
this.taskLevel = taskLevel; this.taskLevel = taskLevel;
@ -174,6 +183,12 @@ export default {
this.repeatModeList = res.data.data; this.repeatModeList = res.data.data;
}); });
}, },
changeParent(val){
this.searchForm.taskType = ''
taskType({parentId:val,isDetail:1}).then(res =>{
this.taskInfos = res.data.data
})
},
// //
onLoad() { onLoad() {
this.loading = true; this.loading = true;
@ -208,6 +223,7 @@ export default {
// //
searchHandle(index) { searchHandle(index) {
this.page.currentPage = 1; this.page.currentPage = 1;
this.taskInfos = []
if (index === 2) { if (index === 2) {
this.searchForm = { this.searchForm = {
timeArr: null, timeArr: null,

@ -7,6 +7,7 @@
placeholder="任务父类" placeholder="任务父类"
class="search-select" class="search-select"
clearable clearable
@change="changeParent"
> >
<el-option <el-option
v-for="item in taskParent" v-for="item in taskParent"
@ -30,9 +31,10 @@
> >
</el-option> </el-option>
</el-select> </el-select>
<!-- placeholder="管理部门" -->
<el-select <el-select
v-model="searchForm.management" v-model="searchForm.management"
placeholder="管理部门" :placeholder="website.adminDept"
class="search-select" class="search-select"
clearable clearable
> >
@ -94,8 +96,8 @@
class="search-picker" class="search-picker"
type="datetimerange" type="datetimerange"
range-separator="至" range-separator="至"
start-placeholder="创建日期" start-placeholder="创建时间开始"
end-placeholder="结束日期" end-placeholder="创建时间结束"
></el-date-picker> ></el-date-picker>
<div style="margin-left: auto"> <div style="margin-left: auto">
<el-button class="search-btn" @click="searchHandle(1)" <el-button class="search-btn" @click="searchHandle(1)"
@ -141,6 +143,16 @@
> {{ scope.row.isFinish === 0 ? "待实施" : "已完成" }}</span > {{ scope.row.isFinish === 0 ? "待实施" : "已完成" }}</span
> >
</template> </template>
<template slot-scope="scope" slot="operateSysName">
<span
>{{ scope.row.operateSysName == '' ? '--' : scope.row.operateSysName }}</span
>
</template>
<template slot-scope="scope" slot="detail">
<span
>{{ scope.row.detail == '' ? '--' : scope.row.detail }}</span
>
</template>
</avue-crud> </avue-crud>
</div> </div>
</div> </div>
@ -149,15 +161,19 @@
import { import {
implementation as getList, implementation as getList,
conditionalData, conditionalData,
taskType,
workOrderExcel, workOrderExcel,
} from "@/api/plugin/workflow/workorder.js"; } from "@/api/plugin/workflow/workorder.js";
import exForm from "../mixins/ex-form"; import exForm from "../mixins/ex-form";
import website from '@/config/website';
import { tableOption } from "@/const/workflow/implementation.js"; import { tableOption } from "@/const/workflow/implementation.js";
export default { export default {
mixins: [exForm], mixins: [exForm],
data() { data() {
return { return {
searchForm: {}, searchForm: {
taskType:''
},
option: tableOption, option: tableOption,
page: { page: {
currentPage: 1, currentPage: 1,
@ -194,12 +210,18 @@ export default {
const { taskParent, taskInfos, depts, users, taskLevel } = const { taskParent, taskInfos, depts, users, taskLevel } =
res.data.data; res.data.data;
this.taskParent = taskParent; this.taskParent = taskParent;
this.taskInfos = taskInfos; // this.taskInfos = taskInfos;
this.depts = depts; this.depts = depts;
this.users = users; this.users = users;
this.taskLevel = taskLevel; this.taskLevel = taskLevel;
}); });
}, },
changeParent(val){
this.searchForm.taskType = ''
taskType({parentId:val,isDetail:1}).then(res =>{
this.taskInfos = res.data.data
})
},
// //
onLoad() { onLoad() {
this.loading = true; this.loading = true;
@ -235,6 +257,7 @@ export default {
// //
searchHandle(index) { searchHandle(index) {
this.page.currentPage = 1; this.page.currentPage = 1;
this.taskInfos = []
if (index === 2) { if (index === 2) {
this.searchForm = { this.searchForm = {
timeArr: null, timeArr: null,

@ -7,6 +7,7 @@
placeholder="任务父类" placeholder="任务父类"
class="search-select" class="search-select"
clearable clearable
@change="changeParent"
> >
<el-option <el-option
v-for="item in taskParent" v-for="item in taskParent"
@ -44,9 +45,10 @@
> >
</el-option> </el-option>
</el-select> </el-select>
<!-- placeholder="管理部门" -->
<el-select <el-select
v-model="searchForm.managementName" v-model="searchForm.managementName"
placeholder="管理部门" :placeholder="website.adminDept"
class="search-select" class="search-select"
clearable clearable
> >
@ -94,8 +96,8 @@
class="search-picker" class="search-picker"
type="datetimerange" type="datetimerange"
range-separator="至" range-separator="至"
start-placeholder="创建开始日期" start-placeholder="创建时间开始"
end-placeholder="创建结束日期" end-placeholder="创建时间结束"
></el-date-picker> ></el-date-picker>
<div style="margin-left:auto;"> <div style="margin-left:auto;">
<el-button class="search-btn" @click="searchHandle(1)">查询</el-button> <el-button class="search-btn" @click="searchHandle(1)">查询</el-button>
@ -137,6 +139,11 @@
>{{ scope.row.approvalStatus }}</span >{{ scope.row.approvalStatus }}</span
> >
</template> </template>
<template slot-scope="scope" slot="operateSysName">
<span
>{{ scope.row.operateSysName == '' ? '--' : scope.row.operateSysName }}</span
>
</template>
</avue-crud> </avue-crud>
</div> </div>
</div> </div>
@ -145,15 +152,19 @@
import { import {
todoList as getList, todoList as getList,
conditionalData, conditionalData,
taskType
} from "@/api/plugin/workflow/workorder.js"; } from "@/api/plugin/workflow/workorder.js";
import { tableOption } from "@/const/workflow/todo.js"; import { tableOption } from "@/const/workflow/todo.js";
import website from '@/config/website';
import { mapGetters } from "vuex"; import { mapGetters } from "vuex";
import exForm from "../mixins/ex-form"; import exForm from "../mixins/ex-form";
export default { export default {
mixins: [exForm], mixins: [exForm],
data() { data() {
return { return {
searchForm: {}, searchForm: {
taskTypeName:''
},
option: tableOption, option: tableOption,
page: { page: {
currentPage: 1, currentPage: 1,
@ -196,12 +207,21 @@ export default {
const { taskParent, taskInfos, depts, users, taskLevel } = const { taskParent, taskInfos, depts, users, taskLevel } =
res.data.data; res.data.data;
this.taskParent = taskParent; this.taskParent = taskParent;
this.taskInfos = taskInfos; // this.taskInfos = taskInfos;
this.depts = depts; this.depts = depts;
this.users = users; this.users = users;
this.taskLevel = taskLevel; this.taskLevel = taskLevel;
}); });
}, },
changeParent(val){
this.searchForm.taskTypeName = ''
let tmp = this.taskParent.find(item => item.dictValue == val)
if(tmp){
taskType({parentId:tmp.id,isDetail:1}).then(res =>{
this.taskInfos = res.data.data
})
}
},
// //
onLoad() { onLoad() {
this.loading = true; this.loading = true;
@ -238,6 +258,7 @@ export default {
// //
searchHandle(index) { searchHandle(index) {
this.page.currentPage = 1; this.page.currentPage = 1;
this.taskInfos = []
if (index === 2) { if (index === 2) {
this.searchForm = { this.searchForm = {
timeArr: null, timeArr: null,

@ -7,6 +7,7 @@
placeholder="任务父类" placeholder="任务父类"
class="search-select" class="search-select"
clearable clearable
@change="changeParent"
> >
<el-option <el-option
v-for="item in taskParent" v-for="item in taskParent"
@ -44,9 +45,10 @@
> >
</el-option> </el-option>
</el-select> </el-select>
<!-- placeholder="管理部门" -->
<el-select <el-select
v-model="searchForm.management" v-model="searchForm.management"
placeholder="管理部门" :placeholder="website.adminDept"
class="search-select" class="search-select"
clearable clearable
> >
@ -121,8 +123,8 @@
class="search-picker" class="search-picker"
type="datetimerange" type="datetimerange"
range-separator="至" range-separator="至"
start-placeholder="创建开始日期" start-placeholder="创建时间开始"
end-placeholder="创建结束日期" end-placeholder="创建时间结束"
></el-date-picker> ></el-date-picker>
<div style="margin-left:auto;"> <div style="margin-left:auto;">
<el-button class="search-btn" @click="searchHandle(1)" <el-button class="search-btn" @click="searchHandle(1)"
@ -173,6 +175,11 @@
>{{ scope.row.status }}</span >{{ scope.row.status }}</span
> >
</template> </template>
<template slot-scope="scope" slot="xitongmingchengshujuku">
<span
>{{ scope.row.xitongmingchengshujuku == '' ? '--' : scope.row.xitongmingchengshujuku }}</span
>
</template>
</avue-crud> </avue-crud>
</div> </div>
</div> </div>
@ -181,16 +188,20 @@
import { import {
getList, getList,
conditionalData, conditionalData,
taskType,
exportExcel, exportExcel,
repeatMode repeatMode
} from "@/api/plugin/workflow/workorder.js"; } from "@/api/plugin/workflow/workorder.js";
import exForm from "../mixins/ex-form"; import exForm from "../mixins/ex-form";
import { tableOption } from "@/const/workflow/workorder.js"; import { tableOption } from "@/const/workflow/workorder.js";
import website from '@/config/website';
export default { export default {
mixins: [exForm], mixins: [exForm],
data() { data() {
return { return {
searchForm: {}, searchForm: {
taskType:''
},
option: tableOption, option: tableOption,
page: { page: {
currentPage: 1, currentPage: 1,
@ -237,12 +248,21 @@ export default {
const { taskParent, taskInfos, depts, users, taskLevel } = const { taskParent, taskInfos, depts, users, taskLevel } =
res.data.data; res.data.data;
this.taskParent = taskParent; this.taskParent = taskParent;
this.taskInfos = taskInfos; // this.taskInfos = taskInfos;
this.depts = depts; this.depts = depts;
this.users = users; this.users = users;
this.taskLevel = taskLevel; this.taskLevel = taskLevel;
}); });
}, },
changeParent(val){
this.searchForm.taskType = ''
let tmp = this.taskParent.find(item => item.dictValue == val)
if(tmp){
taskType({parentId:tmp.id,isDetail:1}).then(res =>{
this.taskInfos = res.data.data
})
}
},
getRepeat(){ getRepeat(){
repeatMode().then(res =>{ repeatMode().then(res =>{
console.log(res) console.log(res)
@ -284,6 +304,7 @@ export default {
// //
searchHandle(index) { searchHandle(index) {
this.page.currentPage = 1; this.page.currentPage = 1;
this.taskInfos = []
if (index === 2) { if (index === 2) {
this.searchForm = { this.searchForm = {
timeArr: null, timeArr: null,

Loading…
Cancel
Save