main
赵培友 3 years ago
parent 159f4f39de
commit ccd7b52542
  1. 28
      src/api/plugin/workflow/workorder.js
  2. 3
      src/const/maintenance/database.js
  3. 99
      src/const/workflow/implementation.js
  4. 12
      src/const/workflow/todo.js
  5. 133
      src/option/user/info.js
  6. 6
      src/router/views/index.js
  7. 1
      src/views/plugin/workflow/mixins/ex-form.js
  8. 305
      src/views/plugin/workflow/process/components/effect.vue
  9. 3
      src/views/plugin/workflow/process/components/form.vue
  10. 337
      src/views/plugin/workflow/process/implementation.vue
  11. 224
      src/views/plugin/workflow/process/todo.vue
  12. 5
      src/views/plugin/workflow/process/workorder.vue

@ -1,7 +1,7 @@
import request from '@/router/axios';
const prefix = '/api/blade-workflow/workOrder'
const prefix2 = '/api/blade-workflow/autoProcess'
// 工单记录查询
// 流程中心查询
export const getList = (query) => {
return request({
url: `${prefix}/historyWorkOrder`,
@ -57,3 +57,29 @@ export const repeatMode = () => {
method: 'get',
})
}
// 工单记录
export const implementation = (query) => {
return request({
url: `${prefix}/workOrderRecord`,
method: 'get',
params:query
})
}
// 实施反馈提交
export const add = (obj) => {
return request({
url: `${prefix}/submit`,
method: 'post',
data:obj
})
}
// 导出
export const workOrderExcel = (query) => {
return request({
url: `${prefix}/workOrderExcel`,
method: 'get',
params:query,
responseType: 'blob'
})
}

@ -76,18 +76,21 @@ export const tableOption = {
prop: "companyName",
type: "input",
align: "left",
overHidden:true,
},
{
label: "表名",
prop: "dataTableName",
type: "input",
align: "left",
overHidden:true,
},
{
label: "中文表别名",
prop: "dataTableAlias",
type: "input",
align: "left",
overHidden:true,
},
],
};

@ -0,0 +1,99 @@
export const tableOption = {
index: true,
indexLabel: "序号",
indexWidth:120,
selection: false,
border: false,
gutter: 60, //设置input的大小
headerAlign: "left",
align: "left",
menuAlign:'left',
menuHeaderAlign:'left',
menuBtn: true,
editBtn: false,
delBtn: false,
addBtn: false,
tip: false,
searchMenuSpan: 3, //控制搜索按钮
columnBtn: false,
refreshBtn: false,
// dialogCustomClass: "custom",
header: false,
menuWidth:120,
column: [
{
type: "input",
label: "任务父类",
prop: "taskParentName",
align: "left",
overHidden: true,
},
{
type: "input",
label: "任务种类",
prop: "taskTypeName",
align: "left",
overHidden: true,
},
{
type: "input",
label: "操作模块",
prop: "operateSysName",
align: "left",
overHidden: true,
},
{
type: "input",
label: "管理部门",
prop: "managementName",
align: "left",
overHidden: true,
},
{
type: "input",
label: "运维公司",
prop: "maintenanceCompanyName",
align: "left",
overHidden: true,
},
{
type: "input",
label: "发起人",
prop: "applyUserName",
align: "left",
overHidden: true,
},
{
type: "input",
label: "审批状态",
prop: "isFinish",
align: "left",
overHidden: true,
},
{
label: "创建时间",
type: "datetime",
overHidden: true,
prop: "createTime",
format: "yyyy-MM-dd HH:mm",
valueFormat: "yyyy-MM-dd HH:mm:ss",
},
{
label: "结束时间",
type: "datetime",
overHidden: true,
prop: "finishTime",
format: "yyyy-MM-dd HH:mm",
valueFormat: "yyyy-MM-dd HH:mm:ss",
},
{
label: "期望完成时间",
type: "datetime",
overHidden: true,
prop: "expectedCompletionTime",
format: "yyyy-MM-dd HH:mm",
valueFormat: "yyyy-MM-dd HH:mm:ss",
},
],
}

@ -24,21 +24,21 @@ export const tableOption = {
{
type: "input",
label: "任务父类",
prop: "taskParent",
prop: "taskParentName",
align: "left",
overHidden: true,
},
{
type: "input",
label: "任务种类",
prop: "taskType",
prop: "taskTypeName",
align: "left",
overHidden: true,
},
{
type: "input",
label: "操作模块",
prop: "operateSys",
prop: "operateSysName",
align: "left",
overHidden: true,
},
@ -52,21 +52,21 @@ export const tableOption = {
{
type: "input",
label: "管理部门",
prop: "management",
prop: "managementName",
align: "left",
overHidden: true,
},
{
type: "input",
label: "运维公司",
prop: "currentResponsiblePerson",
prop: "maintenanceCompanyName",
align: "left",
overHidden: true,
},
{
type: "input",
label: "发起人",
prop: "applyUser",
prop: "applyUserName",
align: "left",
overHidden: true,
},

@ -1,71 +1,82 @@
export default {
tabs: true,
tabsActive: 1,
column: [{ label: "头像", prop: "avatar",display:false}],
group: [
{
label: '个人信息',
prop: 'info',
column: [{
label: '头像',
type: 'upload',
listType: 'picture-img',
propsHttp: {
res: 'data',
url: 'link',
label: "个人信息",
prop: "info",
column: [
{
label: "头像",
type: "upload",
listType: "picture-img",
propsHttp: {
res: "data",
url: "link",
},
canvasOption: {
text: " ",
ratio: 0.1,
},
action: "/api/blade-resource/oss/endpoint/put-file",
tip: "只能上传jpg/png用户头像,且不超过500kb",
span: 12,
row: true,
prop: "avatar",
},
canvasOption: {
text: ' ',
ratio: 0.1
{
label: "姓名",
span: 12,
row: true,
prop: "realName",
},
action: '/api/blade-resource/oss/endpoint/put-file',
tip: '只能上传jpg/png用户头像,且不超过500kb',
span: 12,
row: true,
prop: 'avatar'
}, {
label: '姓名',
span: 12,
row: true,
prop: 'realName'
}, {
label: '用户名',
span: 12,
row: true,
prop: 'name'
}, {
label: '手机号',
span: 12,
row: true,
prop: 'phone'
}, {
label: '邮箱',
prop: 'email',
span: 12,
row: true,
}]
{
label: "用户名",
span: 12,
row: true,
prop: "name",
},
{
label: "手机号",
span: 12,
row: true,
prop: "phone",
},
{
label: "邮箱",
prop: "email",
span: 12,
row: true,
},
],
},
{
label: '修改密码',
prop: 'password',
column: [{
label: '原密码',
span: 12,
row: true,
type: 'password',
prop: 'oldPassword'
}, {
label: '新密码',
span: 12,
row: true,
type: 'password',
prop: 'newPassword'
}, {
label: '确认密码',
span: 12,
row: true,
type: 'password',
prop: 'newPassword1'
}]
}
label: "修改密码",
prop: "password",
column: [
{
label: "原密码",
span: 12,
row: true,
type: "password",
prop: "oldPassword",
},
{
label: "新密码",
span: 12,
row: true,
type: "password",
prop: "newPassword",
},
{
label: "确认密码",
span: 12,
row: true,
type: "password",
prop: "newPassword1",
},
],
},
],
}
};

@ -136,6 +136,12 @@ export default [{
name: '流程详情',
component: () =>
import( /* webpackChunkName: "views" */ '@/views/plugin/workflow/process/components/detail'),
},
{
path: 'process/effect',
name: '实施',
component: () =>
import( /* webpackChunkName: "views" */ '@/views/plugin/workflow/process/components/effect'),
}
]
}]

@ -41,7 +41,6 @@ export default {
methods: {
// 动态路由跳转
dynamicRoute(row, type, async = false, parent) {
console.log(row);
const {
id,
taskId,

@ -0,0 +1,305 @@
<template>
<basic-container>
<avue-skeleton :loading="waiting" avatar :rows="8">
<avue-form
v-model="form"
ref="form"
:option="option"
:upload-after="uploadAfter"
>
<template slot="uploadRecords">
<el-table
v-if="form.uploadRecords && form.uploadRecords.length > 0"
:data="form.uploadRecords"
style="width: 100%"
>
<el-table-column prop="name" label="附件名称" width="250">
<template slot-scope="scope">
<span
style="color: blue; cursor: pointer"
@click="download(scope.row)"
>{{ scope.row.name }}</span
>
</template>
</el-table-column>
<el-table-column prop="createUser" label="上传人" width="180">
</el-table-column>
<el-table-column prop="createTime" label="上传时间" width="240">
</el-table-column>
<el-table-column label="操作">
<template slot-scope="scope">
<i
v-if="userInfo.real_name === scope.row.createUser && form.isFinish!==1"
class="el-icon-delete"
style="cursor: pointer"
@click="deleteFile(scope.$index)"
></i>
</template>
</el-table-column>
</el-table>
<span v-else></span>
</template>
</avue-form>
<div class="footer" v-if="form.isFinish === 0">
<el-button type="success" @click="submit" :loading="subLoading"
>实施提交</el-button
>
</div>
</avue-skeleton>
</basic-container>
</template>
<script>
import { downloadFile } from "@/api/plugin/workflow/form.js";
import { add } from "@/api/plugin/workflow/workorder.js";
import { mapGetters } from "vuex";
export default {
data() {
return {
waiting: false,
form: {},
subLoading: false,
option: {
labelPosition: "left",
labelSuffix: ":",
labelWidth: 120,
gutter: 0,
submitBtn: false,
emptyBtn: false,
column: [
{
type: "input",
label: "运维公司",
span: 7,
display: true,
prop: "maintenanceCompanyName",
labelPosition: "top",
disabled: true,
},
{
type: "input",
label: "管理部门",
span: 7,
display: true,
prop: "managementName",
labelPosition: "top",
disabled: true,
},
{
type: "input",
label: "任务父类",
span: 7,
display: true,
prop: "taskParentName",
labelPosition: "top",
disabled: true,
},
{
type: "input",
label: "任务种类",
span: 7,
display: true,
prop: "taskTypeName",
labelPosition: "top",
disabled: true,
},
{
type: "input",
label: "任务等级",
span: 7,
display: true,
prop: "taskLevelName",
labelPosition: "top",
disabled: true,
// dicUrl: "/api/blade-workflow//taskInfo/taskLevel",
// dicMethod: "get",
},
{
type: "input",
label: "系统名称/数据库",
span: 7,
display: true,
prop: "operateSysName",
labelPosition: "top",
disabled: true,
},
{
type: "input",
label: "数据模块/数据表",
span: 7,
display: true,
prop: "operateModuleName",
labelPosition: "top",
disabled: true,
},
{
type: "datetime",
label: "期望完成时间",
span: 7,
display: true,
format: "yyyy-MM-dd HH:mm",
valueFormat: "yyyy-MM-dd HH:mm:ss",
prop: "expectedCompletionTime",
labelPosition: "top",
disabled: true,
},
{
type: "input",
label: "重复模式",
span: 7,
display: true,
prop: "repeatModeName",
labelPosition: "top",
disabled: true,
// dicUrl: "/api/blade-system/dict-biz/dictionary?code=repeat_mode",
// dicMethod: "get",
},
// {
// type: "textarea",
// label: "",
// span: 24,
// display: true,
// prop: "beizhu",
// labelPosition: "top",
// disabled: true,
// },
{
type: "upload",
propsHttp: {
res: "data",
url: "path",
name: "name",
},
action: "/api/blade-workflow/database/upload",
display: JSON.parse(this.$route.query.form).isFinish === 0 ? true : false,
span: 24,
showFileList: true,
multiple: true,
limit: 10,
prop: "shangchuan",
labelPosition: "top",
dragFile: true,
label: "附件上传",
},
{
type: "input",
span: 24,
display: true,
prop: "uploadRecords",
labelPosition: "top",
},
{
type: "textarea",
label: "实施反馈",
span: 24,
display: true,
prop: "remark",
labelPosition: "top",
rules: [{ required: true, message: "请输入实施反馈" }],
disabled: JSON.parse(this.$route.query.form).isFinish === 1 ? true : false,
},
],
},
};
},
created() {
const {
maintenanceCompanyName,
managementName,
taskParentName,
taskTypeName,
taskLevelName,
operateSysName,
operateModuleName,
repeatModeName,
uploadRecords,
expectedCompletionTime,
isFinish,
id,
remark
} = JSON.parse(this.$route.query.form);
this.form = {
maintenanceCompanyName,
managementName,
taskParentName,
taskTypeName,
taskLevelName,
operateSysName,
operateModuleName,
repeatModeName,
uploadRecords,
expectedCompletionTime,
isFinish,
id,
remark
};
},
computed: {
...mapGetters(["userInfo"]),
},
methods: {
//
async download(row) {
let res = await downloadFile({
path: row.path,
});
let blob = new Blob([res.data], {
type: res.type,
});
let downloadElement = document.createElement("a");
let href = window.URL.createObjectURL(blob);
downloadElement.href = href;
downloadElement.download = row.name;
document.body.appendChild(downloadElement);
downloadElement.click();
window.URL.revokeObjectURL(href);
},
//
uploadAfter(res, done, loading, column) {
if (typeof this.form.uploadRecords == "string") {
this.form.uploadRecords = this.form.uploadRecords.split("");
}
this.form.uploadRecords.push(res);
done();
this.$message.success("上传成功!");
},
//
deleteFile(index) {
this.$confirm("确定要删除附件吗?", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
}).then(() => {
this.form.uploadRecords.splice(index, 1);
});
},
submit() {
this.subLoading = true;
if (this.form.remark === "") {
this.$message.warning("请输入实施反馈!");
this.subLoading = false;
return;
}
const { id, uploadRecords, remark } = this.form;
add({ id, uploadRecords, remark })
.then((res) => {
console.log(res)
this.subLoading = false;
this.$message.success("提交成功!");
this.$router.replace("/plugin/workflow/process/implementation");
})
.catch((err) => {
this.subLoading = false;
this.$message.error("提交失败!");
});
},
},
};
</script>
<style scoped lang="scss">
.footer {
display: flex;
justify-content: center;
}
</style>

@ -310,9 +310,6 @@ export default {
let res = await downloadFile({
path: row.path,
});
// const fileName = res.headers["content-disposition"].split(";");
// const filename2 = fileName[1].split("=");
// const filename3 = decodeURIComponent(filename2[1]);
let blob = new Blob([res.data], {
type: res.type,
});

@ -0,0 +1,337 @@
<template>
<div class="cus-container">
<el-form :model="searchForm">
<div class="search">
<div>
<el-select
v-model="searchForm.taskParent"
placeholder="任务父类"
class="search-select"
clearable
>
<el-option
v-for="item in taskParent"
:key="item.id"
:label="item.dictValue"
:value="item.id"
>
</el-option>
</el-select>
<el-select
v-model="searchForm.taskType"
placeholder="任务种类"
class="search-select"
clearable
>
<el-option
v-for="item in taskInfos"
:key="item.id"
:label="item.taskTypeName"
:value="item.id"
>
</el-option>
</el-select>
<el-select
v-model="searchForm.management"
placeholder="管理部门"
class="search-select"
clearable
>
<el-option
v-for="item in depts"
:key="item.id"
:label="item.deptName"
:value="item.id"
>
</el-option>
</el-select>
<el-select
v-model="searchForm.taskLevel"
placeholder="任务级别"
class="search-select"
clearable
>
<el-option
v-for="item in taskLevel"
:key="item.id"
:label="item.dictValue"
:value="item.id"
>
</el-option>
</el-select>
<el-select
v-model="searchForm.isFinish"
placeholder="状态"
class="search-select"
clearable
>
<el-option
v-for="item in statusList"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</el-select>
<el-select
v-model="searchForm.applyUser"
placeholder="发起人"
class="search-select"
clearable
>
<el-option
v-for="item in users"
:key="item.id"
:label="item.realName"
:value="item.id"
>
</el-option>
</el-select>
<el-date-picker
style="width: 314px; margin-right: 20px"
v-model="searchForm.timeArr"
format="yyyy-MM-dd HH:mm"
value-format="yyyy-MM-dd HH:mm:ss"
class="search-picker"
type="datetimerange"
range-separator="至"
start-placeholder="创建开始日期"
end-placeholder="创建结束日期"
></el-date-picker>
</div>
<div class="search-line">
<div style="display: flex">
<el-date-picker
style="width: 314px; margin-right: 20px"
v-model="searchForm.timeArr2"
format="yyyy-MM-dd HH:mm"
value-format="yyyy-MM-dd HH:mm:ss"
class="search-picker"
type="datetimerange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
></el-date-picker>
<el-button class="search-btn" @click="searchHandle(1)"
>查询</el-button
>
<div class="search-reset" @click="searchHandle(2)">
<i class="el-icon-refresh-right" style="font-size: 20px"></i>
</div>
</div>
<el-button
class="search-btn"
style="margin: 0; background: #2ee27c"
@click="exportHandle"
>导出</el-button
>
</div>
</div>
</el-form>
<div style="margin-top: 30px">
<avue-crud
id="avue-id"
ref="crud"
:option="option"
:data="tableData"
:page.sync="page"
:table-loading="loading"
@current-change="currentChange"
@size-change="sizeChange"
>
<template slot-scope="{ row }" slot="menu">
<el-button @click="details(row)">详情 </el-button>
</template>
<template slot-scope="scope" slot="isFinish">
<span
:style="{
color: scope.row.isFinish === 0 ? '#FF9130' : '#2EE27C',
}"
> {{ scope.row.isFinish === 0 ? "待实施" : "已完成" }}</span
>
</template>
</avue-crud>
</div>
</div>
</template>
<script>
import {
implementation as getList,
conditionalData,
workOrderExcel,
} from "@/api/plugin/workflow/workorder.js";
import exForm from "../mixins/ex-form";
import { tableOption } from "@/const/workflow/implementation.js";
export default {
mixins: [exForm],
data() {
return {
searchForm: {},
option: tableOption,
page: {
currentPage: 1,
total: 0,
pageSize: 10,
},
//
tableData: [],
loading: false,
taskParent: [],
taskInfos: [],
depts: [],
users: [],
taskLevel: [],
statusList: [
{
label: "待实施",
value: 0,
},
{
label: "已完成",
value: 1,
},
],
};
},
created() {
this.dictBiz();
this.onLoad();
},
methods: {
dictBiz() {
conditionalData().then((res) => {
const { taskParent, taskInfos, depts, users, taskLevel } =
res.data.data;
this.taskParent = taskParent;
this.taskInfos = taskInfos;
this.depts = depts;
this.users = users;
this.taskLevel = taskLevel;
});
},
//
onLoad() {
this.loading = true;
const { currentPage, pageSize } = this.page;
if (
this.searchForm.timeArr !== null &&
this.searchForm.timeArr !== undefined
) {
this.searchForm.startTime = this.searchForm.timeArr[0];
this.searchForm.endTime = this.searchForm.timeArr[1];
}
if (
this.searchForm.timeArr2 !== null &&
this.searchForm.timeArr2 !== undefined
) {
this.searchForm.startTime2 = this.searchForm.timeArr2[0];
this.searchForm.endTime2 = this.searchForm.timeArr2[1];
}
getList({
current: currentPage,
size: pageSize,
...this.searchForm,
}).then((res) => {
const { total, records } = res.data.data;
this.page.total = total;
this.tableData = records;
this.loading = false;
});
},
//
currentChange(currentPage) {
this.page.currentPage = currentPage;
this.onLoad();
},
sizeChange(pageSize) {
this.page.pageSize = pageSize;
this.onLoad();
},
//
searchHandle(index) {
this.page.currentPage = 1;
if (index === 2) {
this.searchForm = {
timeArr: null,
timeArr2: null,
};
}
this.onLoad();
},
//
exportHandle() {
if (
this.searchForm.timeArr !== null &&
this.searchForm.timeArr !== undefined
) {
this.searchForm.startTime = this.searchForm.timeArr[0];
this.searchForm.endTime = this.searchForm.timeArr[1];
}
if (
this.searchForm.timeArr2 !== null &&
this.searchForm.timeArr2 !== undefined
) {
this.searchForm.startTime2 = this.searchForm.timeArr2[0];
this.searchForm.endTime2 = this.searchForm.timeArr2[1];
}
workOrderExcel(this.searchForm).then((res) => {
const blob = res.data;
const link = document.createElement("a");
let binaryData = [];
binaryData.push(blob);
link.href = window.URL.createObjectURL(new Blob(binaryData));
link.download = "工单记录.xlsx";
document.body.appendChild(link);
link.click();
window.setTimeout(function () {
URL.revokeObjectURL(blob);
document.body.removeChild(link);
}, 0);
this.$message.success("导出成功!");
});
},
//
details(row) {
this.$router.push({
path: '/workflow/process/effect',
query: {
form: JSON.stringify(row)
}
});
},
},
};
</script>
<style lang="scss" scoped>
.search-line {
margin-top: 20px;
display: flex;
justify-content: space-between;
}
.search-select {
width: 150px;
margin-right: 20px;
}
.search-input {
width: 288px;
}
.search-btn {
width: 130px;
height: 46px !important;
background: #2e92f6;
color: #fff;
margin: 0 20px;
}
.search-reset {
width: 46px;
height: 44px !important;
background: #ff9130;
color: #fff;
text-align: center;
line-height: 46px;
cursor: pointer;
}
/deep/ .el-input__inner {
height: 46px;
}
</style>

@ -2,106 +2,104 @@
<div class="cus-container">
<el-form :model="searchForm">
<div class="search">
<el-select
v-model="searchForm.taskParent"
placeholder="任务父类"
class="search-select"
clearable
<el-select
v-model="searchForm.taskParentName"
placeholder="任务父类"
class="search-select"
clearable
>
<el-option
v-for="item in taskParent"
:key="item.dictValue"
:label="item.dictValue"
:value="item.dictValue"
>
<el-option
v-for="item in taskParent"
:key="item.dictValue"
:label="item.dictValue"
:value="item.dictValue"
>
</el-option>
</el-select>
<el-select
v-model="searchForm.taskType"
placeholder="任务种类"
class="search-select"
clearable
</el-option>
</el-select>
<el-select
v-model="searchForm.taskTypeName"
placeholder="任务种类"
class="search-select"
clearable
>
<el-option
v-for="item in taskInfos"
:key="item.taskTypeName"
:label="item.taskTypeName"
:value="item.taskTypeName"
>
<el-option
v-for="item in taskInfos"
:key="item.taskTypeName"
:label="item.taskTypeName"
:value="item.taskTypeName"
>
</el-option>
</el-select>
<el-select
v-model="searchForm.currentResponsiblePerson"
placeholder="当前责任人"
class="search-select"
clearable
</el-option>
</el-select>
<el-select
v-model="searchForm.currentResponsiblePerson"
placeholder="当前责任人"
class="search-select"
clearable
>
<el-option
v-for="item in users"
:key="item.realName"
:label="item.realName"
:value="item.realName"
>
<el-option
v-for="item in users"
:key="item.realName"
:label="item.realName"
:value="item.realName"
>
</el-option>
</el-select>
<el-select
v-model="searchForm.management"
placeholder="管理部门"
class="search-select"
clearable
</el-option>
</el-select>
<el-select
v-model="searchForm.managementName"
placeholder="管理部门"
class="search-select"
clearable
>
<el-option
v-for="item in depts"
:key="item.deptName"
:label="item.deptName"
:value="item.deptName"
>
<el-option
v-for="item in depts"
:key="item.deptName"
:label="item.deptName"
:value="item.deptName"
>
</el-option>
</el-select>
<el-select
v-model="searchForm.approvalStatus"
placeholder="审批状态"
class="search-select"
clearable
</el-option>
</el-select>
<el-select
v-model="searchForm.approvalStatus"
placeholder="审批状态"
class="search-select"
clearable
>
<el-option
v-for="item in statusList"
:key="item.value"
:label="item.label"
:value="item.value"
>
<el-option
v-for="item in statusList"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</el-select>
<el-select
v-model="searchForm.applyUser"
placeholder="发起人"
class="search-select"
clearable
</el-option>
</el-select>
<el-select
v-model="searchForm.applyUserName"
placeholder="发起人"
class="search-select"
clearable
>
<el-option
v-for="item in users"
:key="item.realName"
:label="item.realName"
:value="item.realName"
>
<el-option
v-for="item in users"
:key="item.realName"
:label="item.realName"
:value="item.realName"
>
</el-option>
</el-select>
<el-date-picker
style="width: 314px; margin-right: 20px"
v-model="searchForm.timeArr"
format="yyyy-MM-dd HH:mm"
value-format="yyyy-MM-dd HH:mm:ss"
class="search-picker"
type="datetimerange"
range-separator="至"
start-placeholder="创建开始日期"
end-placeholder="创建结束日期"
></el-date-picker>
<el-button class="search-btn" @click="searchHandle(1)"
>查询</el-button
>
<div class="search-reset" @click="searchHandle(2)">
<i class="el-icon-refresh-right" style="font-size: 20px"></i>
</el-option>
</el-select>
<el-date-picker
style="width: 314px; margin-right: 20px"
v-model="searchForm.timeArr"
format="yyyy-MM-dd HH:mm"
value-format="yyyy-MM-dd HH:mm:ss"
class="search-picker"
type="datetimerange"
range-separator="至"
start-placeholder="创建开始日期"
end-placeholder="创建结束日期"
></el-date-picker>
<el-button class="search-btn" @click="searchHandle(1)">查询</el-button>
<div class="search-reset" @click="searchHandle(2)">
<i class="el-icon-refresh-right" style="font-size: 20px"></i>
</div>
</div>
</el-form>
@ -119,7 +117,7 @@
<template slot="menu" slot-scope="{ row }">
<el-button
v-if="permission.wf_process_todo_detail"
@click="dynamicRoute(row, 'detail')"
@click="details(row)"
>详情</el-button
>
</template>
@ -130,10 +128,8 @@
color:
scope.row.approvalStatus == '审批中'
? '#FF9130'
: scope.row.approvalStatus == '进行中'
: scope.row.approvalStatus == '待实施'
? '#4CA3FB'
: scope.row.approvalStatus == '已完成'
? '#2EE27C'
: '#ccc',
}"
>{{ scope.row.approvalStatus }}</span
@ -176,12 +172,8 @@ export default {
value: "审批中",
},
{
label: "进行中",
value: "进行中",
},
{
label: "已完成",
value: "已完成",
label: "待实施",
value: "待实施",
},
],
};
@ -196,12 +188,13 @@ export default {
methods: {
dictBiz() {
conditionalData().then((res) => {
const { taskParent, taskInfos, depts, users, taskLevel } = res.data.data;
const { taskParent, taskInfos, depts, users, taskLevel } =
res.data.data;
this.taskParent = taskParent;
this.taskInfos = taskInfos;
this.depts = depts;
this.users = users;
this.taskLevel = taskLevel
this.taskLevel = taskLevel;
});
},
//
@ -215,7 +208,11 @@ export default {
this.searchForm.startTime = this.searchForm.timeArr[0];
this.searchForm.endTime = this.searchForm.timeArr[1];
}
getList({ current:currentPage, size:pageSize,...this.searchForm }).then((res) => {
getList({
current: currentPage,
size: pageSize,
...this.searchForm,
}).then((res) => {
const { total, records } = res.data.data;
this.page.total = total;
this.tableData = records;
@ -241,6 +238,19 @@ export default {
}
this.onLoad();
},
//
details(row) {
if (row.status === 1) {
this.$router.push({
path: "/workflow/process/effect",
query: {
form: JSON.stringify(row),
},
});
} else {
this.dynamicRoute(row, "detail");
}
},
},
};
</script>

@ -184,7 +184,6 @@ export default {
data() {
return {
searchForm: {},
conpanyList: [{ label: "运维公司", value: 1 }],
option: tableOption,
page: {
currentPage: 1,
@ -204,10 +203,6 @@ export default {
label: "审批中",
value: "审批中",
},
{
label: "进行中",
value: "进行中",
},
{
label: "已完成",
value: "已完成",

Loading…
Cancel
Save