案件流程节点接口调试 #5

Merged
hhlxayunmei merged 2 commits from hhl into dev 2024-01-10 07:14:46 +00:00
3 changed files with 187 additions and 109 deletions
@@ -0,0 +1,34 @@
import request from '@/utils/request'
// 查询案件流程节点信息
export function queryCaseFlowInfo(data) {
return request({
url: '/case/flow/queryCaseFlowInfo',
method: 'post',
data: data
})
}
// 新增或编辑案例流程信息
export function saveCaseFlow(data) {
return request({
url: '/case/flow/saveCaseFlow',
method: 'post',
data: data
})
}
// 删除
export function deleteCaseFlow(data) {
return request({
url: '/case/flow/deleteCaseFlow',
method: 'post',
data: data
})
}
// 流程节点排序接口
export function sortCaseFlow(data) {
return request({
url: '/case/flow/sortCaseFlow',
method: 'post',
data: data
})
}
@@ -1,13 +1,13 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true">
<el-form-item label="案件状态" prop="roleName">
<el-input v-model="queryParams.roleName" placeholder="请输入案件状态" clearable style="width: 240px"
<el-form-item label="案件状态" prop="caseStatusName">
<el-input v-model="queryParams.caseStatusName" placeholder="请输入案件状态" clearable style="width: 240px"
@keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="节点名称" prop="status">
<el-select v-model="queryParams.status" placeholder="节点名称" clearable style="width: 240px">
<el-option v-for="dict in dict.type.sys_normal_disable" :key="dict.value" :label="dict.label"
<el-form-item label="节点名称" prop="nodeName">
<el-select v-model="queryParams.nodeName" placeholder="节点名称" clearable style="width: 240px">
<el-option v-for="dict in dict.type.case_flow_node" :key="dict.value" :label="dict.label"
:value="dict.value" />
</el-select>
</el-form-item>
@@ -29,17 +29,15 @@
}}</span>
</template>
</el-table-column>
<el-table-column label="节点名称" align="center" prop="nodename" :show-overflow-tooltip="true" />
<el-table-column label="案件状态" align="center" prop="casestatus" :show-overflow-tooltip="true" />
<el-table-column label="驳回节点" align="center" prop="rejectnode" :show-overflow-tooltip="true" />
<el-table-column label="关联角色" align="center" prop="associatedroles" :show-overflow-tooltip="true" />
<el-table-column label="节点名称" align="center" prop="nodeName" :show-overflow-tooltip="true" />
<el-table-column label="案件状态" align="center" prop="caseStatusName" :show-overflow-tooltip="true" />
<el-table-column label="驳回节点" align="center" prop="backFlowName" :show-overflow-tooltip="true" />
<el-table-column label="关联角色" align="center" prop="roleNames" :show-overflow-tooltip="true" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button size="mini" @click="moveDown(scope.row)" type="text"
icon="el-icon-arrow-down"></el-button>
<el-button size="mini" @click="moveDown(scope.row)" type="text" icon="el-icon-arrow-down"></el-button>
<el-button size="mini" @click="moveUp(scope.row)" type="text"
icon="el-icon-arrow-up"></el-button>
<el-button size="mini" @click="moveUp(scope.row)" type="text" icon="el-icon-arrow-up"></el-button>
<el-button size="mini" @click="eidtNodeprocess(scope.row)" type="text"
icon="el-icon-edit">修改</el-button>
<el-button size="mini" @click="deleteNodeprocess(scope.row)" type="text"
@@ -57,19 +55,14 @@
</template>
<script>
// import {
// getTemplate,
// deleteTemplate,
// getTemplateInfoById
// } from "@/api/officialSeal/officialSeal.js";
import { queryCaseFlowInfo, deleteCaseFlow, sortCaseFlow } from "@/api/caseprocessManagement/caseprocessManagement.js";
import addNodeprocess from "./components/addNodeprocess";
export default {
name: "paymentList",
components: {
addNodeprocess,
},
dicts: ['sys_normal_disable'],
dicts: ['case_flow_node'],
data() {
return {
queryParams: {
@@ -103,11 +96,31 @@ export default {
},
// 删除接口
deleteSealFn(data) {
deleteTemplate(data).then(res => {
deleteCaseFlow(data).then(res => {
this.$modal.msgSuccess("删除成功!");
this.getList(this.queryParams);
})
},
// 向下 sortType
moveDown(row) {
let params = {
id: row.id,
sortType: 0
}
sortCaseFlow(params).then((res) => {
this.getList(this.queryParams);
})
},
// 向上
moveUp(row) {
let params = {
id: row.id,
sortType: 1
}
sortCaseFlow(params).then((res) => {
this.getList(this.queryParams);
})
},
// 新增流程节点
addnodeprocess(row) {
this.addvisiable = true;
@@ -136,32 +149,12 @@ export default {
// 查询列表数据
getList(parms) {
this.loading = true;
// getTemplate(parms).then((response) => {
// this.dataList = response.rows;
this.dataList = [
{
nodename: '调解',
casestatus: '未立案',
rejectnode: 2,
associatedroles: '申请人'
}
];
// this.total = response.total;
this.loading = false;
console.log(this.dataList, "LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL");
// this.dataList.forEach(item => {
// if (item.identifyStatus == 0 || item.identifyStatus == null) {
// item.identifyStatus = '未认证'
// } else {
// item.identifyStatus = '已认证'
// }
// if (item.isUse == 0 || item.isUse == null) {
// item.isUse = '未启用'
// } else {
// item.isUse = '已启用'
// }
// })
// });
parms.nodeId = parseInt(parms.nodeName)
queryCaseFlowInfo(parms).then((response) => {
this.dataList = response.rows;
this.total = response.total;
this.loading = false;
});
},
},
};
@@ -2,77 +2,73 @@
<div>
<el-dialog title="新增流程节点" :visible="addvisiable" v-if="addvisiable" @close="cancel" width="600px" center>
<el-form :model="ruleForm" label-position="left" :rules="rules" ref="ruleForm" label-width="90px"
class="demo-ruleForm">
<el-form-item label="节点名称" prop="nodename">
<el-select v-model="ruleForm.nodename" placeholder="请选择">
<el-option v-for="dict in dict.type.template_type" :key="dict.value" :label="dict.label"
class="demo-ruleForm">
<el-form-item label="节点名称" prop="nodeName">
<el-select v-model="ruleForm.nodeName" placeholder="请选择" @change="changenodeName">
<el-option v-for="dict in dict.type.case_flow_node" :key="dict.value" :label="dict.label"
:value="dict.value"></el-option>
</el-select>
</el-form-item>
<el-form-item label="案件状态" prop="casestatus">
<el-input v-model="ruleForm.casestatus"></el-input>
<el-form-item label="案件状态" prop="caseStatusName">
<el-input v-model="ruleForm.caseStatusName" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="驳回节点" prop="rejectnode">
<el-select v-model="ruleForm.rejectnode" placeholder="请选择">
<el-option v-for="item in tempList" :key="item.id" :label="item.identifyName" :value="item.id">
<el-form-item label="驳回节点" prop="backFlowName">
<el-select v-model="ruleForm.backFlowId" placeholder="请选择">
<el-option v-for="item in backflowArr" :key="item.backFlowId" :value="item.backFlowId"
:label="item.backFlowName">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="关联角色" prop="associatedroles">
<el-select v-model="ruleForm.associatedroles" placeholder="请选择">
<el-option v-for="item in tempList" :key="item.id" :label="item.identifyName" :value="item.id">
<el-form-item label="关联角色" prop="roleIds">
<el-select v-model="ruleForm.roleIds" multiple placeholder="请选择">
<el-option v-for="item in roleArr" :key="item.roleId" :label="item.roleName" :value="item.roleId">
</el-option>
</el-select>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="cancel" class="endbutton"><span>取 消</span></el-button>
<el-button type="primary" @click="submitUpload" class="endbutton"><span>确认</span></el-button>
<el-button type="primary" @click="submitForm" class="endbutton"><span>确认</span></el-button>
</div>
</el-dialog>
</div>
</template>
<script>
// import {
// deptIdentifyList,
// } from "@/api/officialSeal/officialSeal.js";
import { queryCaseFlowInfo, saveCaseFlow } from "@/api/caseprocessManagement/caseprocessManagement.js";
import { listRole } from "@/api/system/role";
export default {
props: ["addvisiable", "editData", "queryParams"],
dicts: ["template_type"],
dicts: ["case_flow_node"],
data() {
return {
fileList: [],
data: [],
tempList: [],
isImg:false,
backflowArr: [],//驳回节点
roleArr: [],//关联角色
isImg: false,
filedata: {},
flagBtn: false,
ruleForm: {},
rules: {
temName: [
{ required: true, message: '请输入模板名称', trigger: 'blur' },
nodeName: [
{ required: true, message: '请选择模版名称', trigger: 'blur' },
],
temType: [
{ required: true, message: '请输入模板名称', trigger: 'blur' },
caseStatusName: [
{ required: true, message: '请输入案件状态', trigger: 'blur' },
],
identifyId: [
{ required: true, message: '请输入模板名称', trigger: 'blur' },
roleIds: [
{ required: true, message: '请选择关联角色', trigger: 'blur' },
]
}
},
dealvalue: [],
};
},
watch: {
editData(val) {
addvisiable(val) {
if (val) {
this.ruleForm = val
// let queryParams = {
// pageNum: 1,
// pageSize: 10000000000000000000000,
// };
// deptIdentifyList(queryParams).then(res => {
// this.tempList = res.rows;
// })
// this.ruleForm = {}
this.ruleForm = this.editData;
this.getRoles();
this.getbackflowArr()
}
}
},
@@ -80,46 +76,101 @@ export default {
},
methods: {
changenodeName(val) {
console.log(val, 'changeval');
},
// 获取驳回节点数据
getbackflowArr() {
let queryParams2 = {
pageNum: 1,
pageSize: 999,
};
queryCaseFlowInfo(queryParams2).then((res) => {
this.backflowArr = [];
res.rows.forEach(item => {
this.backflowArr.push({
backFlowName: item.nodeName,
backFlowId: item.id
})
});
if (this.editData.id) {
let arr = this.backflowArr;
let result = arr.filter(obj => obj.backFlowId !== this.editData.id);
this.backflowArr = result
}
})
},
// 获取关联角色
getRoles() {
let queryParams1 = {
pageNum: 1,
pageSize: 100000000000000000,
};
listRole(queryParams1).then((res) => {
this.roleArr = res.rows
})
},
cancel() {
this.$emit("cancelAdd");
},
handleChange(file, fileList) {
this.isImg = file.type === '.doc' || '.docx'
},
UploadUrl() {
return window.location.origin + "/API/deptIdentify/insertTemplate";
},
submitUpload() {
// 提交
submitForm() {
this.$refs['ruleForm'].validate((valid) => {
if (valid) {
this.filedata.identifyId = this.ruleForm.identifyId;
this.filedata.temName = this.ruleForm.temName;
if (this.isImg) {
this.$refs.upload.submit();
}else{
this.$message.error('只能上传doc,docx格式的文件')
let params = {};
if (this.ruleForm.id) {
let nodevalue = this.dict.type.case_flow_node;
this.dealvalue = nodevalue.filter((item) => {
if(item.value == this.ruleForm.nodeId) {
return item
}
}
);
// 编辑
params = {
id: this.ruleForm.id,
nodeId: this.dealvalue[0].value,
nodeName: this.dealvalue[0].label,
caseStatusName: this.ruleForm.caseStatusName,
backFlowId: this.ruleForm.backFlowId,
roleIds: this.ruleForm.roleIds,
sort: this.ruleForm.sort
}
} else {
let nodevalue = this.dict.type.case_flow_node;
this.dealvalue = nodevalue.filter((item) => {
if (item.value == this.ruleForm.nodeName) {
return item
}
}
);
// 新增
params = {
nodeId: this.dealvalue[0].value,
nodeName: this.dealvalue[0].label,
caseStatusName: this.ruleForm.caseStatusName,
backFlowId: this.ruleForm.backFlowId,
roleIds: this.ruleForm.roleIds
}
}
if (params.backFlowId == undefined) {
delete params.backFlowId
}
saveCaseFlow(params).then((res) => {
this.$modal.msgSuccess("成功!");
this.$emit("getList", this.queryParams)
this.$emit("cancelAdd");
})
}
});
},
handleRemove(file, fileList) {
console.log(file, fileList);
},
beforeUpload(file) {
// debugger
// this.isImg = file.type === '.doc' || '.docx'
},
handleSuccess() {
this.$message.success('上传成功');
this.$emit("cancelAdd");
this.$emit('getList', this.queryParams);
}
},
};
</script>
<style lang="scss" scoped>
::v-deep .el-select {
::v-deep .el-select {
width: 100%;
}
</style>