This commit is contained in:
fz
2024-01-11 10:47:23 +08:00
4 changed files with 188 additions and 110 deletions
+1 -1
View File
@@ -48,7 +48,7 @@
"js-beautify": "1.13.0", "js-beautify": "1.13.0",
"js-cookie": "3.0.1", "js-cookie": "3.0.1",
"jsencrypt": "3.0.0-rc.1", "jsencrypt": "3.0.0-rc.1",
"moment": "^2.29.4", "moment": "^2.30.1",
"nprogress": "0.2.0", "nprogress": "0.2.0",
"qrcodejs2": "0.0.2", "qrcodejs2": "0.0.2",
"quill": "1.3.7", "quill": "1.3.7",
@@ -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> <template>
<div class="app-container"> <div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true"> <el-form :model="queryParams" ref="queryForm" size="small" :inline="true">
<el-form-item label="案件状态" prop="roleName"> <el-form-item label="案件状态" prop="caseStatusName">
<el-input v-model="queryParams.roleName" placeholder="请输入案件状态" clearable style="width: 240px" <el-input v-model="queryParams.caseStatusName" placeholder="请输入案件状态" clearable style="width: 240px"
@keyup.enter.native="handleQuery" /> @keyup.enter.native="handleQuery" />
</el-form-item> </el-form-item>
<el-form-item label="节点名称" prop="status"> <el-form-item label="节点名称" prop="nodeName">
<el-select v-model="queryParams.status" placeholder="节点名称" clearable style="width: 240px"> <el-select v-model="queryParams.nodeName" placeholder="节点名称" clearable style="width: 240px">
<el-option v-for="dict in dict.type.sys_normal_disable" :key="dict.value" :label="dict.label" <el-option v-for="dict in dict.type.case_flow_node" :key="dict.value" :label="dict.label"
:value="dict.value" /> :value="dict.value" />
</el-select> </el-select>
</el-form-item> </el-form-item>
@@ -29,17 +29,15 @@
}}</span> }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="节点名称" align="center" prop="nodename" :show-overflow-tooltip="true" /> <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="caseStatusName" :show-overflow-tooltip="true" />
<el-table-column label="驳回节点" align="center" prop="rejectnode" :show-overflow-tooltip="true" /> <el-table-column label="驳回节点" align="center" prop="backFlowName" :show-overflow-tooltip="true" />
<el-table-column label="关联角色" align="center" prop="associatedroles" :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"> <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button size="mini" @click="moveDown(scope.row)" type="text" <el-button size="mini" @click="moveDown(scope.row)" type="text" icon="el-icon-arrow-down"></el-button>
icon="el-icon-arrow-down"></el-button>
<el-button size="mini" @click="moveUp(scope.row)" type="text" <el-button size="mini" @click="moveUp(scope.row)" type="text" icon="el-icon-arrow-up"></el-button>
icon="el-icon-arrow-up"></el-button>
<el-button size="mini" @click="eidtNodeprocess(scope.row)" type="text" <el-button size="mini" @click="eidtNodeprocess(scope.row)" type="text"
icon="el-icon-edit">修改</el-button> icon="el-icon-edit">修改</el-button>
<el-button size="mini" @click="deleteNodeprocess(scope.row)" type="text" <el-button size="mini" @click="deleteNodeprocess(scope.row)" type="text"
@@ -57,19 +55,14 @@
</template> </template>
<script> <script>
// import { import { queryCaseFlowInfo, deleteCaseFlow, sortCaseFlow } from "@/api/caseprocessManagement/caseprocessManagement.js";
// getTemplate,
// deleteTemplate,
// getTemplateInfoById
// } from "@/api/officialSeal/officialSeal.js";
import addNodeprocess from "./components/addNodeprocess"; import addNodeprocess from "./components/addNodeprocess";
export default { export default {
name: "paymentList", name: "paymentList",
components: { components: {
addNodeprocess, addNodeprocess,
}, },
dicts: ['sys_normal_disable'], dicts: ['case_flow_node'],
data() { data() {
return { return {
queryParams: { queryParams: {
@@ -103,11 +96,31 @@ export default {
}, },
// 删除接口 // 删除接口
deleteSealFn(data) { deleteSealFn(data) {
deleteTemplate(data).then(res => { deleteCaseFlow(data).then(res => {
this.$modal.msgSuccess("删除成功!"); this.$modal.msgSuccess("删除成功!");
this.getList(this.queryParams); 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) { addnodeprocess(row) {
this.addvisiable = true; this.addvisiable = true;
@@ -136,32 +149,12 @@ export default {
// 查询列表数据 // 查询列表数据
getList(parms) { getList(parms) {
this.loading = true; this.loading = true;
// getTemplate(parms).then((response) => { parms.nodeId = parseInt(parms.nodeName)
// this.dataList = response.rows; queryCaseFlowInfo(parms).then((response) => {
this.dataList = [ this.dataList = response.rows;
{ this.total = response.total;
nodename: '调解', this.loading = false;
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 = '已启用'
// }
// })
// });
}, },
}, },
}; };
@@ -2,77 +2,73 @@
<div> <div>
<el-dialog title="新增流程节点" :visible="addvisiable" v-if="addvisiable" @close="cancel" width="600px" center> <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" <el-form :model="ruleForm" label-position="left" :rules="rules" ref="ruleForm" label-width="90px"
class="demo-ruleForm"> class="demo-ruleForm">
<el-form-item label="节点名称" prop="nodename"> <el-form-item label="节点名称" prop="nodeName">
<el-select v-model="ruleForm.nodename" placeholder="请选择"> <el-select v-model="ruleForm.nodeName" placeholder="请选择" @change="changenodeName">
<el-option v-for="dict in dict.type.template_type" :key="dict.value" :label="dict.label" <el-option v-for="dict in dict.type.case_flow_node" :key="dict.value" :label="dict.label"
:value="dict.value"></el-option> :value="dict.value"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="案件状态" prop="casestatus"> <el-form-item label="案件状态" prop="caseStatusName">
<el-input v-model="ruleForm.casestatus"></el-input> <el-input v-model="ruleForm.caseStatusName" placeholder="请输入"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="驳回节点" prop="rejectnode"> <el-form-item label="驳回节点" prop="backFlowName">
<el-select v-model="ruleForm.rejectnode" placeholder="请选择"> <el-select v-model="ruleForm.backFlowId" placeholder="请选择">
<el-option v-for="item in tempList" :key="item.id" :label="item.identifyName" :value="item.id"> <el-option v-for="item in backflowArr" :key="item.backFlowId" :value="item.backFlowId"
:label="item.backFlowName">
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="关联角色" prop="associatedroles"> <el-form-item label="关联角色" prop="roleIds">
<el-select v-model="ruleForm.associatedroles" placeholder="请选择"> <el-select v-model="ruleForm.roleIds" multiple placeholder="请选择">
<el-option v-for="item in tempList" :key="item.id" :label="item.identifyName" :value="item.id"> <el-option v-for="item in roleArr" :key="item.roleId" :label="item.roleName" :value="item.roleId">
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button @click="cancel" class="endbutton"><span>取 消</span></el-button> <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> </div>
</el-dialog> </el-dialog>
</div> </div>
</template> </template>
<script> <script>
// import { import { queryCaseFlowInfo, saveCaseFlow } from "@/api/caseprocessManagement/caseprocessManagement.js";
// deptIdentifyList, import { listRole } from "@/api/system/role";
// } from "@/api/officialSeal/officialSeal.js";
export default { export default {
props: ["addvisiable", "editData", "queryParams"], props: ["addvisiable", "editData", "queryParams"],
dicts: ["template_type"], dicts: ["case_flow_node"],
data() { data() {
return { return {
fileList: [], fileList: [],
data: [], data: [],
tempList: [], backflowArr: [],//驳回节点
isImg:false, roleArr: [],//关联角色
isImg: false,
filedata: {}, filedata: {},
flagBtn: false, flagBtn: false,
ruleForm: {}, ruleForm: {},
rules: { rules: {
temName: [ nodeName: [
{ required: true, message: '请输入模板名称', trigger: 'blur' }, { required: true, message: '请选择模版名称', trigger: 'blur' },
], ],
temType: [ caseStatusName: [
{ required: true, message: '请输入模板名称', trigger: 'blur' }, { required: true, message: '请输入案件状态', trigger: 'blur' },
], ],
identifyId: [ roleIds: [
{ required: true, message: '请输入模板名称', trigger: 'blur' }, { required: true, message: '请选择关联角色', trigger: 'blur' },
] ]
} },
dealvalue: [],
}; };
}, },
watch: { watch: {
editData(val) { addvisiable(val) {
if (val) { if (val) {
this.ruleForm = val this.ruleForm = this.editData;
// let queryParams = { this.getRoles();
// pageNum: 1, this.getbackflowArr()
// pageSize: 10000000000000000000000,
// };
// deptIdentifyList(queryParams).then(res => {
// this.tempList = res.rows;
// })
// this.ruleForm = {}
} }
} }
}, },
@@ -80,46 +76,101 @@ export default {
}, },
methods: { 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() { cancel() {
this.$emit("cancelAdd"); this.$emit("cancelAdd");
}, },
handleChange(file, fileList) { // 提交
this.isImg = file.type === '.doc' || '.docx' submitForm() {
},
UploadUrl() {
return window.location.origin + "/API/deptIdentify/insertTemplate";
},
submitUpload() {
this.$refs['ruleForm'].validate((valid) => { this.$refs['ruleForm'].validate((valid) => {
if (valid) { if (valid) {
this.filedata.identifyId = this.ruleForm.identifyId; let params = {};
this.filedata.temName = this.ruleForm.temName; if (this.ruleForm.id) {
if (this.isImg) { let nodevalue = this.dict.type.case_flow_node;
this.$refs.upload.submit(); this.dealvalue = nodevalue.filter((item) => {
}else{ if(item.value == this.ruleForm.nodeId) {
this.$message.error('只能上传doc,docx格式的文件') 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> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
::v-deep .el-select { ::v-deep .el-select {
width: 100%; width: 100%;
} }
</style> </style>