流程管理接口联调

dev-scheduling
zhangdi 3 months ago
parent b75afdb602
commit de6a8ef347
  1. 52
      src/views/flowManagement/addDialog.vue
  2. 112
      src/views/flowManagement/managementOfKeyTasks.vue

@ -3,17 +3,11 @@
append-to-body="false"
:title="title"
:model-value="visible"
width="70%"
width="80%"
@close="handleClose"
>
<!-- 单个 Form 包裹所有内容基础信息 + 表格 -->
<el-form ref="addForm" :model="addForm" :rules="addRules" label-width="140px">
<!-- 全局错误提示 -->
<div v-if="formError" class="error-message" style="color: #f56c6c; margin-bottom: 10px">
{{ formError }}
</div>
<!-- 项目基础信息表单 -->
<el-row>
<el-col :span="8">
@ -109,7 +103,7 @@
:disabled="isDetail"
style="width: 100%"
v-model="addForm.projectStartTime"
type="datetime"
type="date"
placeholder="选择日期"
format="YYYY-MM-DD HH:mm:ss"
value-format="YYYY-MM-DD HH:mm:ss"
@ -123,7 +117,7 @@
:disabled="isDetail"
style="width: 100%"
v-model="addForm.projectDesiredEnd"
type="datetime"
type="date"
placeholder="选择日期"
format="YYYY-MM-DD HH:mm:ss"
value-format="YYYY-MM-DD HH:mm:ss"
@ -134,15 +128,27 @@
<!-- 里程碑表格操作 -->
<div style="margin: 10px 0" v-if="!isDetail">
<el-button type="primary" @click="handleOpenDialog">插入一行</el-button>
<el-button type="danger" @click="delTable">删除选中行</el-button>
<el-button type="primary" @click="handleOpenDialog">插入一行</el-button>
<el-button type="danger" @click="delTable">删除选中行</el-button>
</div>
<!-- 全局错误提示 -->
<div v-if="formError" class="error-message" style="color: #f56c6c; margin-bottom: 10px">
{{ formError }}
</div>
<!-- 里程碑表格 -->
<el-table :data="addForm.stoneList" ref="detailTable" border @select="selectChange">
<el-table
:data="addForm.stoneList"
ref="detailTable"
border
@select="selectChange"
class="table_project"
>
<el-table-column type="selection"></el-table-column>
<el-table-column type="index" width="80" label="序号"></el-table-column>
<el-table-column align="center" :width="isDetail ? '120' : ''" label="里程碑计划">
<template #header>
<span><i style="color: red">*</i>里程碑计划</span>
</template>
<template #default="scope">
<template v-if="!isDetail">
<el-form-item
@ -167,6 +173,9 @@
label="里程碑负责人"
prop="milestoneMan"
>
<template #header>
<span><i style="color: red">*</i>里程碑负责人</span>
</template>
<template #default="scope">
<template v-if="!isDetail">
<el-form-item
@ -191,6 +200,9 @@
label="里程碑输出物"
prop="outputMaterial"
>
<template #header>
<span><i style="color: red">*</i>里程碑输出物</span>
</template>
<template #default="scope">
<template v-if="!isDetail">
<el-form-item
@ -215,6 +227,9 @@
label="里程碑节点"
prop="milestoneNode"
>
<template #header>
<span><i style="color: red">*</i>里程碑节点</span>
</template>
<template #default="scope">
<template v-if="!isDetail">
<el-form-item
@ -224,7 +239,7 @@
>
<el-date-picker
v-model="scope.row.milestoneNode"
type="datetime"
type="date"
placeholder="选择日期时间"
style="width: 100%"
format="YYYY-MM-DD HH:mm:ss"
@ -419,7 +434,7 @@ export default {
selectChange(list, row) {
row._select = !row._select;
},
//
//
delTable() {
this.addForm.stoneList = this.addForm.stoneList.filter(row => !row._select);
},
@ -455,7 +470,7 @@ export default {
if (!this.addForm.stoneList) this.addForm.stoneList = [];
this.addForm.stoneList.push(newRow);
// this.$emit('open-dialog', newRow); //
// this.$emit('open-dialog', newRow); //
},
//
handleDelTable(index) {
@ -482,6 +497,7 @@ export default {
});
return submitData;
},
//
async handleSubmitForm() {
this.formError = '';
this.$refs.addForm.validate((isValid, invalidFields) => {
@ -496,6 +512,7 @@ export default {
return;
}
const submitData = this.formatSubmitData(this.addForm);
console.log('submitData', submitData);
try {
const res = addProcess(submitData);
if (res.code === 200) {
@ -524,7 +541,7 @@ export default {
}
//
:deep(.el-form-item__error) {
:deep(.table_project .el-form-item__error) {
font-size: 12px;
white-space: nowrap;
z-index: 10;
@ -551,5 +568,4 @@ export default {
padding: 0 !important;
line-height: 50px !important;
}
</style>

@ -49,11 +49,7 @@
align="center"
prop="milestoneNode"
></el-table-column>
<el-table-column
align="center"
label="执行类型"
prop="executeType"
></el-table-column>
<el-table-column align="center" label="执行类型" prop="executeType"></el-table-column>
<el-table-column align="center" label="状态" prop="statusTitle"></el-table-column>
<el-table-column align="center" label="延期时间" prop="delayTime"></el-table-column>
<el-table-column
@ -92,7 +88,6 @@
:title="title"
:visible="addDialogVisible"
:add-form="addForm"
:add-rules="addRules"
@close="addDialogVisible = false"
@submit-form="submitForm"
></add-dialog>
@ -257,7 +252,12 @@
</template>
<script>
import { getProcessList, addProcess, updateProcess,delProcess } from '../../api/flowManagement/index';
import {
getProcessList,
addProcess,
updateProcess,
delProcess,
} from '../../api/flowManagement/index';
import AddDialog from './addDialog.vue';
export default {
@ -292,27 +292,7 @@ export default {
form: {},
existingFiles: [], //
addForm: {},
addRules: {
projectName: [{ required: true, message: '请输入项目名称', trigger: 'blur' }],
bsBasicClass: {
bcId: [{ required: true, message: '请选择项目类型', trigger: 'blur' }],
},
touchingDept: {
tsId: [{ required: true, message: '请选择制单部门', trigger: 'blur' }],
},
projectBackcloth: [{ required: true, message: '请输入项目背景', trigger: 'blur' }],
projectTarget: [{ required: true, message: '请输入项目目标', trigger: 'blur' }],
desiredResult: [{ required: true, message: '请输入预期效果', trigger: 'blur' }],
memberId: [{ required: true, message: '请选择成员', trigger: 'blur' }],
projectHead: {
userId: [{ required: true, message: '请选择项目负责人', trigger: 'blur' }],
},
projectSupportMan: {
userId: [{ required: true, message: '请选择项目支持人', trigger: 'blur' }],
},
projectStartTime: [{ required: true, message: '请选择项目开始时间', trigger: 'blur' }],
projectDesiredEnd: [{ required: true, message: '请选择项目结束预期时间', trigger: 'blur' }],
},
page: {
pageSize: 10,
currentPage: 1,
@ -339,11 +319,8 @@ export default {
delBtn: false,
editBtn: false,
editBtnText: '修改',
editBtnIcon: ' ',
delBtnIcon: ' ',
addBtn: false,
labelWidth: 120,
searchLabelWidth: 120,
menu: true,
menuWidth: 200,
dialogWidth: 600,
@ -354,7 +331,6 @@ export default {
searchShowBtn: false,
showOverflowTooltip: true,
searchLabelPosition: 'left',
searchLabelPosition: 'left',
searchGutter: 24,
searchSpan: 6,
menuAlign: 'left',
@ -374,13 +350,6 @@ export default {
labelWidth: 140,
overflow: true,
search: true,
rules: [
{
required: true,
message: '请输入单据号',
trigger: 'blur',
},
],
},
{
label: '项目名称',
@ -389,13 +358,6 @@ export default {
labelWidth: 140,
overflow: true,
search: true,
rules: [
{
required: true,
message: '请输入项目名称',
trigger: 'blur',
},
],
},
{
label: '项目负责人',
@ -404,13 +366,6 @@ export default {
labelWidth: 140,
overflow: true,
search: true,
rules: [
{
required: true,
message: '请输入项目负责人',
trigger: 'blur',
},
],
},
{
label: '项目开始时间',
@ -419,13 +374,6 @@ export default {
labelWidth: 140,
overflow: true,
search: false,
rules: [
{
required: true,
message: '请输入项目开始时间',
trigger: 'blur',
},
],
},
{
label: '项目预期结束时间',
@ -434,13 +382,6 @@ export default {
labelWidth: 140,
overflow: true,
search: false,
rules: [
{
required: true,
message: '请输入项目预期结束时间',
trigger: 'blur',
},
],
},
{
label: '制单人',
@ -449,13 +390,6 @@ export default {
labelWidth: 140,
overflow: true,
search: false,
rules: [
{
required: true,
message: '请输入制单人',
trigger: 'blur',
},
],
},
{
label: '制单部门',
@ -464,13 +398,6 @@ export default {
labelWidth: 140,
overflow: true,
search: false,
rules: [
{
required: true,
message: '请输入制单部门',
trigger: 'blur',
},
],
},
{
label: '制单时间',
@ -479,13 +406,6 @@ export default {
labelWidth: 140,
overflow: true,
search: false,
rules: [
{
required: true,
message: '请输入制单时间',
trigger: 'blur',
},
],
},
{
label: '状态',
@ -494,13 +414,6 @@ export default {
labelWidth: 140,
overflow: true,
search: false,
rules: [
{
required: true,
message: '请输入状态',
trigger: 'blur',
},
],
},
],
},
@ -592,15 +505,14 @@ export default {
cancelButtonText: '取消',
type: 'warning',
}).then(res => {
delProcess({ids:row.id}).then(res => {
delProcess({ ids: row.id }).then(res => {
this.$message.success('删除成功');
this.onLoad(this.page,this.query);
this.onLoad(this.page, this.query);
});
});
},
// /
submitForm() {
console.log(tijiaole);
this.loading = true;
this.addDialogVisible = false;
this.onLoad(this.page);
@ -615,11 +527,9 @@ export default {
submitCheck() {
this.$refs.checkForm.validate(valid => {
if (valid) {
let query = {
id: this.rowItem.id,
approvalStatus: this.checkForm.checkResult == 1 ? 3 : 2,
};
updateProcess(query).then(res => {
this.checkDialog = false;
@ -727,10 +637,8 @@ export default {
getProcessList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(
res => {
this.data = res.data.data.records;
// console.log( this.data ,'----this.data---')
this.loading = false;
this.page.total = res.data.data.total;
// this.selectionClear();
}
);
},

Loading…
Cancel
Save