Commit 20018a6f169c83e376c09be0b34a7ed2cccfc232
m
Showing
46 changed files
with
2884 additions
and
646 deletions
Too many changes to show.
To preserve performance only 46 of 54 files are displayed.
trash-activiti/src/main/java/com/trash/activiti/service/impl/ActTaskServiceImpl.java
| ... | ... | @@ -297,7 +297,7 @@ public class ActTaskServiceImpl implements IActTaskService { |
| 297 | 297 | |
| 298 | 298 | task.setDescription(placeCode); |
| 299 | 299 | } |
| 300 | - }else if(processInstance.getProcessDefinitionKey().equals("workflow_leave") ){ | |
| 300 | + }else if(processInstance.getProcessDefinitionKey().equals("workflow_leave") || processInstance.getProcessDefinitionKey().equals("logistics") || processInstance.getProcessDefinitionKey().equals("conference")){ | |
| 301 | 301 | List<IdentityLink> list = taskService.getIdentityLinksForTask(task.getId()); |
| 302 | 302 | |
| 303 | 303 | if(list.size() == 1){ | ... | ... |
trash-ui/src/api/casefile/replyApprovalProcess.js
0 → 100644
| 1 | +import request from '@/utils/request' | |
| 2 | + | |
| 3 | +// 查询回复审批流程列表 | |
| 4 | +export function listReplyApprovalProcess(query) { | |
| 5 | + return request({ | |
| 6 | + url: '/replyApprovalProcess/replyApprovalProcess/list', | |
| 7 | + method: 'get', | |
| 8 | + params: query | |
| 9 | + }) | |
| 10 | +} | |
| 11 | + | |
| 12 | +// 查询回复审批流程详细 | |
| 13 | +export function getReplyApprovalProcess(id) { | |
| 14 | + return request({ | |
| 15 | + url: '/replyApprovalProcess/replyApprovalProcess/' + id, | |
| 16 | + method: 'get' | |
| 17 | + }) | |
| 18 | +} | |
| 19 | + | |
| 20 | +// 新增回复审批流程 | |
| 21 | +export function addReplyApprovalProcess(data) { | |
| 22 | + return request({ | |
| 23 | + url: '/replyApprovalProcess/replyApprovalProcess', | |
| 24 | + method: 'post', | |
| 25 | + data: data | |
| 26 | + }) | |
| 27 | +} | |
| 28 | + | |
| 29 | +// 修改回复审批流程 | |
| 30 | +export function updateReplyApprovalProcess(data) { | |
| 31 | + return request({ | |
| 32 | + url: '/replyApprovalProcess/replyApprovalProcess', | |
| 33 | + method: 'put', | |
| 34 | + data: data | |
| 35 | + }) | |
| 36 | +} | |
| 37 | + | |
| 38 | +// 删除回复审批流程 | |
| 39 | +export function delReplyApprovalProcess(id) { | |
| 40 | + return request({ | |
| 41 | + url: '/replyApprovalProcess/replyApprovalProcess/' + id, | |
| 42 | + method: 'delete' | |
| 43 | + }) | |
| 44 | +} | |
| 45 | + | |
| 46 | +// 导出回复审批流程 | |
| 47 | +export function exportReplyApprovalProcess(query) { | |
| 48 | + return request({ | |
| 49 | + url: '/replyApprovalProcess/replyApprovalProcess/export', | |
| 50 | + method: 'get', | |
| 51 | + params: query | |
| 52 | + }) | |
| 53 | +} | ... | ... |
trash-ui/src/api/casefile/violationCaseFile.js
0 → 100644
| 1 | +import request from '@/utils/request' | |
| 2 | + | |
| 3 | +// 查询平台违规案卷列表 | |
| 4 | +export function listViolationCaseFile(query) { | |
| 5 | + return request({ | |
| 6 | + url: '/casefile/violationCaseFile/list', | |
| 7 | + method: 'get', | |
| 8 | + params: query | |
| 9 | + }) | |
| 10 | +} | |
| 11 | + | |
| 12 | +// 查询平台违规案卷详细 | |
| 13 | +export function getViolationCaseFile(id) { | |
| 14 | + return request({ | |
| 15 | + url: '/casefile/violationCaseFile/' + id, | |
| 16 | + method: 'get' | |
| 17 | + }) | |
| 18 | +} | |
| 19 | + | |
| 20 | +// 新增平台违规案卷 | |
| 21 | +export function addViolationCaseFile(data) { | |
| 22 | + return request({ | |
| 23 | + url: '/casefile/violationCaseFile', | |
| 24 | + method: 'post', | |
| 25 | + data: data | |
| 26 | + }) | |
| 27 | +} | |
| 28 | + | |
| 29 | +// 修改平台违规案卷 | |
| 30 | +export function updateViolationCaseFile(data) { | |
| 31 | + return request({ | |
| 32 | + url: '/casefile/violationCaseFile', | |
| 33 | + method: 'put', | |
| 34 | + data: data | |
| 35 | + }) | |
| 36 | +} | |
| 37 | + | |
| 38 | +// 删除平台违规案卷 | |
| 39 | +export function delViolationCaseFile(id) { | |
| 40 | + return request({ | |
| 41 | + url: '/casefile/violationCaseFile/' + id, | |
| 42 | + method: 'delete' | |
| 43 | + }) | |
| 44 | +} | |
| 45 | + | |
| 46 | +// 导出平台违规案卷 | |
| 47 | +export function exportViolationCaseFile(query) { | |
| 48 | + return request({ | |
| 49 | + url: '/casefile/violationCaseFile/export', | |
| 50 | + method: 'get', | |
| 51 | + params: query | |
| 52 | + }) | |
| 53 | +} | ... | ... |
trash-ui/src/router/index.js
| ... | ... | @@ -183,6 +183,12 @@ export const constantRoutes = [ |
| 183 | 183 | component: (resolve) => require(['@/views/casefile/violationWarningInformation'], resolve), |
| 184 | 184 | name: '违规预警信息', |
| 185 | 185 | meta: { title: '违规预警信息' } |
| 186 | + }, | |
| 187 | + { | |
| 188 | + path: 'casefile/violationCaseFile', | |
| 189 | + component: (resolve) => require(['@/views/casefile/violationCaseFile'], resolve), | |
| 190 | + name: '平台违规案卷', | |
| 191 | + meta: { title: '平台违规案卷' } | |
| 186 | 192 | } |
| 187 | 193 | ] |
| 188 | 194 | }, { | ... | ... |
trash-ui/src/utils/trash.js
| ... | ... | @@ -154,11 +154,11 @@ export function handleTree(data, id, parentId, children, rootId) { |
| 154 | 154 | */ |
| 155 | 155 | export function parseStatus(status) { |
| 156 | 156 | if(status==1){ |
| 157 | - return "审核通过"; | |
| 157 | + return "审批通过"; | |
| 158 | 158 | }else if(status==2){ |
| 159 | - return "被驳回"; | |
| 159 | + return "审批驳回"; | |
| 160 | 160 | }else{ |
| 161 | - return "审核中"; | |
| 161 | + return "审批中"; | |
| 162 | 162 | } |
| 163 | 163 | } |
| 164 | 164 | ... | ... |
trash-ui/src/views/activiti/task/index.vue
| ... | ... | @@ -165,8 +165,9 @@ |
| 165 | 165 | <el-dialog title="示意图" :visible.sync="picSample" append-to-body> |
| 166 | 166 | <img src="../../../assets/logo/logo.jpg" width="100%" height="800px" /> |
| 167 | 167 | </el-dialog> |
| 168 | + | |
| 168 | 169 | <!-- 会议管理 --> |
| 169 | - <el-dialog :title="title" :visible.sync="conferenceOpen" width="850px" append-to-body> | |
| 170 | + <el-dialog :title="title" :visible.sync="conferenceOpen" width="850px" append-to-body :close-on-click-modal="false"> | |
| 170 | 171 | <conferenceInfo :idInfo="idInfo" v-if="conferenceOpen"/> |
| 171 | 172 | <div slot="footer" class="dialog-footer"> |
| 172 | 173 | <div slot="footer" class="dialog-footer"> |
| ... | ... | @@ -177,7 +178,7 @@ |
| 177 | 178 | </el-dialog> |
| 178 | 179 | |
| 179 | 180 | <!-- 请假申请 --> |
| 180 | - <el-dialog :title="title" :visible.sync="leaveApplicationOpen" width="500px" append-to-body> | |
| 181 | + <el-dialog :title="title" :visible.sync="leaveApplicationOpen" width="500px" append-to-body :close-on-click-modal="false"> | |
| 181 | 182 | <leaveApplicationInfo :idInfo="idInfo" v-if="leaveApplicationOpen"/> |
| 182 | 183 | <div slot="footer" class="dialog-footer"> |
| 183 | 184 | <div slot="footer" class="dialog-footer"> |
| ... | ... | @@ -200,7 +201,6 @@ |
| 200 | 201 | </div> |
| 201 | 202 | </el-dialog> |
| 202 | 203 | |
| 203 | - | |
| 204 | 204 | <el-dialog :title="title" :visible.sync="earthsites" width="800px" append-to-body> |
| 205 | 205 | <earthsitesInfo :businessKey="businessKey" v-if="earthsites" /> |
| 206 | 206 | <div slot="footer" class="dialog-footer"> |
| ... | ... | @@ -217,6 +217,27 @@ |
| 217 | 217 | </div> |
| 218 | 218 | </el-dialog> |
| 219 | 219 | |
| 220 | + <!-- 后勤管理 --> | |
| 221 | + <el-dialog :title="title" :visible.sync="logisticsInfoOpen" width="500px" append-to-body :close-on-click-modal="false"> | |
| 222 | + <logisticsInfo :idInfo="idInfo" v-if="logisticsInfoOpen"/> | |
| 223 | + <div slot="footer" class="dialog-footer"> | |
| 224 | + <div slot="footer" class="dialog-footer"> | |
| 225 | + <el-button type="danger" @click="logisticsInfoSubmitForm(1)">驳回</el-button> | |
| 226 | + <el-button type="primary" @click="logisticsInfoSubmitForm(0)">通过</el-button> | |
| 227 | + </div> | |
| 228 | + </div> | |
| 229 | + </el-dialog> | |
| 230 | + | |
| 231 | + <!-- 办文办事 --> | |
| 232 | + <el-dialog :title="title" :visible.sync="handleAffairsInfoOpen" width="600px" append-to-body :close-on-click-modal="false"> | |
| 233 | + <handleInfo :idInfo="idInfo" v-if="handleAffairsInfoOpen"/> | |
| 234 | + <div slot="footer" class="dialog-footer"> | |
| 235 | + <div slot="footer" class="dialog-footer"> | |
| 236 | + <el-button type="danger" @click="handleAffairsSubmitForm(1)">驳回</el-button> | |
| 237 | + <el-button type="primary" @click="handleAffairsSubmitForm(0)">通过</el-button> | |
| 238 | + </div> | |
| 239 | + </div> | |
| 240 | + </el-dialog> | |
| 220 | 241 | </div> |
| 221 | 242 | </template> |
| 222 | 243 | |
| ... | ... | @@ -255,6 +276,8 @@ import { getSignByObjId, addSign, updateSign } from "@/api/sign/sign"; |
| 255 | 276 | import constructsiteInfo from "@/views/activiti/task/constructsiteInfo"; |
| 256 | 277 | import earthsitesInfo from "@/views/activiti/task/earthsitesInfo"; |
| 257 | 278 | import contractInfo from "@/views/activiti/task/contractInfo"; |
| 279 | + import logisticsInfo from "@/views/office/logistics/logisticsInfo"; | |
| 280 | + import handleInfo from "@/views/office/handle/handleInfo"; | |
| 258 | 281 | |
| 259 | 282 | export default { |
| 260 | 283 | name: "task", |
| ... | ... | @@ -264,6 +287,9 @@ import { getSignByObjId, addSign, updateSign } from "@/api/sign/sign"; |
| 264 | 287 | threestepInfo, |
| 265 | 288 | conferenceInfo, |
| 266 | 289 | leaveApplicationInfo, |
| 290 | + logisticsInfo, | |
| 291 | + handleInfo, | |
| 292 | + leaveApplicationInfo, | |
| 267 | 293 | constructsiteInfo, |
| 268 | 294 | earthsitesInfo, |
| 269 | 295 | contractInfo, |
| ... | ... | @@ -343,6 +369,8 @@ import { getSignByObjId, addSign, updateSign } from "@/api/sign/sign"; |
| 343 | 369 | signDataInfo:null, |
| 344 | 370 | earthsites:false, |
| 345 | 371 | contract:false, |
| 372 | + logisticsInfoOpen:false, | |
| 373 | + handleAffairsInfoOpen:false, | |
| 346 | 374 | }; |
| 347 | 375 | }, |
| 348 | 376 | created() { |
| ... | ... | @@ -413,6 +441,8 @@ import { getSignByObjId, addSign, updateSign } from "@/api/sign/sign"; |
| 413 | 441 | this.leaveApplicationOpen= false; |
| 414 | 442 | this.conferenceOpen = false; |
| 415 | 443 | this.construct = false; |
| 444 | + this.logisticsInfoOpen = false; | |
| 445 | + this.handleAffairsInfoOpen = false; | |
| 416 | 446 | this.reset(); |
| 417 | 447 | }, |
| 418 | 448 | // 表单重置 |
| ... | ... | @@ -490,6 +520,16 @@ import { getSignByObjId, addSign, updateSign } from "@/api/sign/sign"; |
| 490 | 520 | } |
| 491 | 521 | |
| 492 | 522 | |
| 523 | + if(this.definitionKey == "logistics"){ | |
| 524 | + this.idInfo = row.businessKey.substring(row.businessKey.lastIndexOf(":")+1); | |
| 525 | + this.logisticsInfoOpen = true; | |
| 526 | + return; | |
| 527 | + } | |
| 528 | + if(this.definitionKey == "handleAffairs"){ | |
| 529 | + this.idInfo = row.businessKey.substring(row.businessKey.lastIndexOf(":")+1); | |
| 530 | + this.handleAffairsInfoOpen = true; | |
| 531 | + return; | |
| 532 | + } | |
| 493 | 533 | this.open = true; |
| 494 | 534 | this.title = "审批"; |
| 495 | 535 | }); |
| ... | ... | @@ -597,7 +637,6 @@ import { getSignByObjId, addSign, updateSign } from "@/api/sign/sign"; |
| 597 | 637 | } |
| 598 | 638 | }, |
| 599 | 639 | conferenceSubmitForm(value){ |
| 600 | - return; | |
| 601 | 640 | this.form.formData[0].controlValue = value; |
| 602 | 641 | if(value==0){ |
| 603 | 642 | this.form.status = 1; |
| ... | ... | @@ -626,7 +665,39 @@ import { getSignByObjId, addSign, updateSign } from "@/api/sign/sign"; |
| 626 | 665 | this.taskList = []; |
| 627 | 666 | this.getList(); |
| 628 | 667 | }); |
| 629 | - } | |
| 630 | - } | |
| 668 | + }, | |
| 669 | + logisticsInfoSubmitForm(value){ | |
| 670 | + if(value==0){ | |
| 671 | + this.form.status = 1; | |
| 672 | + }else{ | |
| 673 | + this.form.status = 2; | |
| 674 | + } | |
| 675 | + this.form.formData[0].controlValue = value; | |
| 676 | + //this.form.formData[0].route = value; | |
| 677 | + //审批or驳回 | |
| 678 | + formDataSave(this.id, this.form.formData).then(response => { | |
| 679 | + this.msgSuccess("审批成功"); | |
| 680 | + this.logisticsInfoOpen = false; | |
| 681 | + this.taskList = []; | |
| 682 | + this.getList(); | |
| 683 | + }); | |
| 684 | + }, | |
| 685 | + handleAffairsSubmitForm(value){ | |
| 686 | + if(value==0){ | |
| 687 | + this.form.status = 1; | |
| 688 | + }else{ | |
| 689 | + this.form.status = 2; | |
| 690 | + } | |
| 691 | + this.form.formData[0].controlValue = value; | |
| 692 | + //this.form.formData[0].route = value; | |
| 693 | + //审批or驳回 | |
| 694 | + formDataSave(this.id, this.form.formData).then(response => { | |
| 695 | + this.msgSuccess("审批成功"); | |
| 696 | + this.handleAffairsInfoOpen = false; | |
| 697 | + this.taskList = []; | |
| 698 | + this.getList(); | |
| 699 | + }); | |
| 700 | + }, | |
| 701 | + }, | |
| 631 | 702 | }; |
| 632 | 703 | </script> | ... | ... |
trash-ui/src/views/casefile/violationCaseFile/index.vue
0 → 100644
| 1 | +<template> | |
| 2 | + <div class="app-container"> | |
| 3 | + <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px"> | |
| 4 | + <el-form-item label="违规对象类型" prop="violationObjectType"> | |
| 5 | + <el-select v-model="queryParams.violationObjectType" placeholder="请选择违规对象类型" clearable size="small"> | |
| 6 | + <el-option label="请选择字典生成" value="" /> | |
| 7 | + </el-select> | |
| 8 | + </el-form-item> | |
| 9 | + <el-form-item label="所属区域" prop="owningRegion"> | |
| 10 | + <el-input | |
| 11 | + v-model="queryParams.owningRegion" | |
| 12 | + placeholder="请输入所属区域" | |
| 13 | + clearable | |
| 14 | + size="small" | |
| 15 | + @keyup.enter.native="handleQuery" | |
| 16 | + /> | |
| 17 | + </el-form-item> | |
| 18 | + <el-form-item label="违规类型" prop="violationType"> | |
| 19 | + <el-select v-model="queryParams.violationType" placeholder="请选择违规类型" clearable size="small"> | |
| 20 | + <el-option label="请选择字典生成" value="" /> | |
| 21 | + </el-select> | |
| 22 | + </el-form-item> | |
| 23 | + <el-form-item label="项目名称" prop="projectName"> | |
| 24 | + <el-input | |
| 25 | + v-model="queryParams.projectName" | |
| 26 | + placeholder="请输入项目名称" | |
| 27 | + clearable | |
| 28 | + size="small" | |
| 29 | + @keyup.enter.native="handleQuery" | |
| 30 | + /> | |
| 31 | + </el-form-item> | |
| 32 | + <el-form-item label="企业名称" prop="companyName"> | |
| 33 | + <el-input | |
| 34 | + v-model="queryParams.companyName" | |
| 35 | + placeholder="请输入企业名称" | |
| 36 | + clearable | |
| 37 | + size="small" | |
| 38 | + @keyup.enter.native="handleQuery" | |
| 39 | + /> | |
| 40 | + </el-form-item> | |
| 41 | + <el-form-item> | |
| 42 | + <el-button type="cyan" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button> | |
| 43 | + <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button> | |
| 44 | + </el-form-item> | |
| 45 | + </el-form> | |
| 46 | + | |
| 47 | + <el-row :gutter="10" class="mb8"> | |
| 48 | + <el-col :span="1.5"> | |
| 49 | + <el-button | |
| 50 | + type="primary" | |
| 51 | + icon="el-icon-plus" | |
| 52 | + size="mini" | |
| 53 | + @click="handleAdd" | |
| 54 | + v-hasPermi="['casefile:violationCaseFile:add']" | |
| 55 | + >新增</el-button> | |
| 56 | + </el-col> | |
| 57 | + <el-col :span="1.5"> | |
| 58 | + <el-button | |
| 59 | + type="success" | |
| 60 | + icon="el-icon-edit" | |
| 61 | + size="mini" | |
| 62 | + :disabled="single" | |
| 63 | + @click="handleUpdate" | |
| 64 | + v-hasPermi="['casefile:violationCaseFile:edit']" | |
| 65 | + >修改</el-button> | |
| 66 | + </el-col> | |
| 67 | +<!-- <el-col :span="1.5">--> | |
| 68 | +<!-- <el-button--> | |
| 69 | +<!-- type="danger"--> | |
| 70 | +<!-- icon="el-icon-delete"--> | |
| 71 | +<!-- size="mini"--> | |
| 72 | +<!-- :disabled="multiple"--> | |
| 73 | +<!-- @click="handleDelete"--> | |
| 74 | +<!-- v-hasPermi="['casefile:violationCaseFile:remove']"--> | |
| 75 | +<!-- >删除</el-button>--> | |
| 76 | +<!-- </el-col>--> | |
| 77 | + <el-col :span="1.5"> | |
| 78 | + <el-button | |
| 79 | + type="warning" | |
| 80 | + icon="el-icon-download" | |
| 81 | + size="mini" | |
| 82 | + @click="handleExport" | |
| 83 | + v-hasPermi="['casefile:violationCaseFile:export']" | |
| 84 | + >导出</el-button> | |
| 85 | + </el-col> | |
| 86 | + <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> | |
| 87 | + </el-row> | |
| 88 | + | |
| 89 | + <el-table v-loading="loading" :data="violationCaseFileList" @selection-change="handleSelectionChange"> | |
| 90 | + <el-table-column type="selection" width="55" align="center" /> | |
| 91 | + <el-table-column label="所属区域" align="center" prop="owningRegion" /> | |
| 92 | + <el-table-column label="违规对象类型" align="center" prop="violationObjectType" /> | |
| 93 | + <el-table-column label="违规类型" align="center" prop="violationType" /> | |
| 94 | + <el-table-column label="项目名称" align="center" prop="projectName" /> | |
| 95 | + <el-table-column label="企业名称" align="center" prop="companyName" /> | |
| 96 | + <el-table-column label="审批状态" align="center" prop="status"> | |
| 97 | + <template slot-scope="scope"> | |
| 98 | + <span>{{parseStatus(scope.row.status) }}</span> | |
| 99 | + </template> | |
| 100 | + </el-table-column> | |
| 101 | + <el-table-column label="操作" align="center" class-name="small-padding fixed-width"> | |
| 102 | + <template slot-scope="scope"> | |
| 103 | + <el-button | |
| 104 | + size="mini" | |
| 105 | + type="text" | |
| 106 | + icon="el-icon-edit" | |
| 107 | + @click="handleInfo(scope.row)" | |
| 108 | + v-hasPermi="['casefile:violationCaseFile:edit']" | |
| 109 | + >详情</el-button> | |
| 110 | +<!-- <el-button--> | |
| 111 | +<!-- size="mini"--> | |
| 112 | +<!-- type="text"--> | |
| 113 | +<!-- icon="el-icon-edit"--> | |
| 114 | +<!-- @click="handleUpdate(scope.row)"--> | |
| 115 | +<!-- v-hasPermi="['casefile:violationCaseFile:edit']"--> | |
| 116 | +<!-- >修改</el-button>--> | |
| 117 | +<!-- <el-button--> | |
| 118 | +<!-- size="mini"--> | |
| 119 | +<!-- type="text"--> | |
| 120 | +<!-- icon="el-icon-delete"--> | |
| 121 | +<!-- @click="handleDelete(scope.row)"--> | |
| 122 | +<!-- v-hasPermi="['casefile:violationCaseFile:remove']"--> | |
| 123 | +<!-- >删除</el-button>--> | |
| 124 | + </template> | |
| 125 | + </el-table-column> | |
| 126 | + </el-table> | |
| 127 | + | |
| 128 | + <pagination | |
| 129 | + v-show="total>0" | |
| 130 | + :total="total" | |
| 131 | + :page.sync="queryParams.pageNum" | |
| 132 | + :limit.sync="queryParams.pageSize" | |
| 133 | + @pagination="getList" | |
| 134 | + /> | |
| 135 | + | |
| 136 | + <!-- 添加或修改平台违规案卷对话框 --> | |
| 137 | + <el-dialog :title="title" :visible.sync="open" width="850px" append-to-body :close-on-click-modal="false"> | |
| 138 | + <el-form ref="form" :model="form" :rules="rules" label-width="115px"> | |
| 139 | + <el-row :gutter="2"> | |
| 140 | + <el-col :span="11"> | |
| 141 | + <el-form-item label="案卷编号" prop="number"> | |
| 142 | + <el-input v-model="form.number" placeholder="请输入案卷编号" :disabled="true"/> | |
| 143 | + </el-form-item> | |
| 144 | + </el-col> | |
| 145 | + <el-col :span="11"> | |
| 146 | + <el-form-item label="违规对象类型" prop="violationObjectType"> | |
| 147 | + <el-select v-model="form.violationObjectType" placeholder="请选择违规对象类型" style="width: 100%;"> | |
| 148 | + <el-option label="对象1" value="对象1" /> | |
| 149 | + <el-option label="对象2" value="对象2" /> | |
| 150 | + </el-select> | |
| 151 | + </el-form-item> | |
| 152 | + </el-col> | |
| 153 | + </el-row> | |
| 154 | + <el-row :gutter="2"> | |
| 155 | + <el-col :span="11"> | |
| 156 | + <el-form-item label="所属区域" prop="owningRegion"> | |
| 157 | + <el-select v-model="form.owningRegion" placeholder="请输入所属区域" style="width: 100%;"> | |
| 158 | + <el-option label="区域1" value="区域1" /> | |
| 159 | + <el-option label="区域2" value="区域2" /> | |
| 160 | + </el-select> | |
| 161 | + </el-form-item> | |
| 162 | + </el-col> | |
| 163 | + <el-col :span="11"> | |
| 164 | + <el-form-item label="违规类型" prop="violationType"> | |
| 165 | + <el-select v-model="form.violationType" placeholder="请选择违规类型" style="width: 100%;"> | |
| 166 | + <el-option label="违规1" value="违规1" /> | |
| 167 | + <el-option label="违规2" value="违规2" /> | |
| 168 | + </el-select> | |
| 169 | + </el-form-item> | |
| 170 | + </el-col> | |
| 171 | + </el-row> | |
| 172 | + <el-row :gutter="2"> | |
| 173 | + <el-col :span="11"> | |
| 174 | + <el-form-item label="违规等级" prop="violationGrade"> | |
| 175 | + <el-select v-model="form.violationGrade" placeholder="请选择企业名称" style="width: 100%;"> | |
| 176 | + <el-option label="一般类" value="一般类"/> | |
| 177 | + <el-option label="重点类" value="重点类" /> | |
| 178 | + </el-select> | |
| 179 | + </el-form-item> | |
| 180 | + </el-col> | |
| 181 | + <el-col :span="11"> | |
| 182 | + <el-form-item label="项目名称" prop="projectName"> | |
| 183 | + <el-select v-model="form.projectName" :filterable="true" :remote-method="projectNameLoadOptions" :loading="isLoading" placeholder="请输入项目名称" style="width: 100%;"> | |
| 184 | + <el-option v-for="item in projectNameList" :key="item.name" :label="item.name" :value="item.name"></el-option> | |
| 185 | + </el-select> | |
| 186 | + </el-form-item> | |
| 187 | + </el-col> | |
| 188 | + </el-row> | |
| 189 | + <el-row :gutter="2"> | |
| 190 | + <el-col :span="8" :offset="3"> | |
| 191 | + <el-button type="primary" @click="createDescribe">生成违规描述</el-button> | |
| 192 | + </el-col> | |
| 193 | + <el-col :span="11"> | |
| 194 | + <el-form-item label="企业名称" prop="companyName"> | |
| 195 | + <el-select v-model="form.companyName" :filterable="true" :remote-method="companyLoadOptions" :loading="isLoadingCompany" placeholder="请输入项目名称" style="width: 100%;"> | |
| 196 | + <el-option v-for="item in companyList" :key="item.name" :label="item.name" :value="item.name"></el-option> | |
| 197 | + </el-select> | |
| 198 | + </el-form-item> | |
| 199 | + </el-col> | |
| 200 | + </el-row> | |
| 201 | + <el-row> | |
| 202 | + <el-col :span="22"> | |
| 203 | + <el-form-item label="违规描述" prop="describe"> | |
| 204 | + <el-input v-model="form.describe" type="textarea" placeholder="请输入内容" :row="4"/> | |
| 205 | + </el-form-item> | |
| 206 | + </el-col> | |
| 207 | + </el-row> | |
| 208 | + <el-form-item label="推送对象"> | |
| 209 | + <el-radio-group v-model="form.sendObject"> | |
| 210 | + <el-radio label="区管理部门(治)">区管理部门(治)</el-radio> | |
| 211 | + <el-radio label="区管理部门(消)">区管理部门(消)</el-radio> | |
| 212 | + <el-radio label="运输企业">运输企业</el-radio> | |
| 213 | + </el-radio-group> | |
| 214 | + </el-form-item> | |
| 215 | + <el-form-item prop="fileEntityList" label="附件"> | |
| 216 | + <el-upload | |
| 217 | + ref="upload" | |
| 218 | + action="" | |
| 219 | + accept=".docx,.xlsx,.xls,.ppt,.doc,.pdf,.png,.jpeg,.png,.jpg" | |
| 220 | + :on-change="fileChange" | |
| 221 | + :auto-upload="false" | |
| 222 | + :show-file-list="false" | |
| 223 | + multiple | |
| 224 | + :file-list="fileEntityList"> | |
| 225 | + <el-button size="small" type="primary" icon="el-icon-upload">上传附件</el-button> | |
| 226 | + </el-upload> | |
| 227 | + </el-form-item> | |
| 228 | + <el-table :data="fileEntityList"> | |
| 229 | + <el-table-column property="name" label="附件名称" header-align="center" align="center"></el-table-column> | |
| 230 | + <el-table-column label="操作" class-name="small-padding fixed-width" header-align="center" align="center"> | |
| 231 | + <template slot-scope="scope"> | |
| 232 | + <el-button | |
| 233 | + size="small" type="success" | |
| 234 | + icon="el-icon-download" | |
| 235 | + @click="downloadFA(scope.row)" | |
| 236 | + v-hasPermi="['office:management:edit']" | |
| 237 | + v-if="form.id!=null" | |
| 238 | + round>下载 | |
| 239 | + </el-button> | |
| 240 | + <el-button | |
| 241 | + size="small" type="danger" | |
| 242 | + icon="el-icon-delete" | |
| 243 | + @click="handleDeleteFile(scope.$index)" | |
| 244 | + v-hasPermi="['office:management:remove']" | |
| 245 | + round>删除 | |
| 246 | + </el-button> | |
| 247 | + </template> | |
| 248 | + </el-table-column> | |
| 249 | + </el-table> | |
| 250 | + </el-form> | |
| 251 | + <div slot="footer" class="dialog-footer"> | |
| 252 | + <el-button type="primary" @click="submitForm">确 定</el-button> | |
| 253 | + <el-button @click="cancel">取 消</el-button> | |
| 254 | + </div> | |
| 255 | + </el-dialog> | |
| 256 | + <el-dialog :title="title" :visible.sync="openInfo" width="850px" append-to-body :close-on-click-modal="false"> | |
| 257 | + <violationCaseFileInfo :idInfo="idInfo" v-if="openInfo" :entryType="0"/> | |
| 258 | + <div slot="footer" class="dialog-footer"> | |
| 259 | + <el-button @click="cancel">取 消</el-button> | |
| 260 | + </div> | |
| 261 | + </el-dialog> | |
| 262 | + </div> | |
| 263 | +</template> | |
| 264 | + | |
| 265 | +<script> | |
| 266 | +import { listViolationCaseFile, getViolationCaseFile, delViolationCaseFile, addViolationCaseFile, updateViolationCaseFile, exportViolationCaseFile } from "@/api/casefile/violationCaseFile"; | |
| 267 | +import violationCaseFileInfo from "./violationCaseFileInfo"; | |
| 268 | + | |
| 269 | +export default { | |
| 270 | + name: "ViolationCaseFile", | |
| 271 | + components: { violationCaseFileInfo }, | |
| 272 | + data() { | |
| 273 | + return { | |
| 274 | + // 遮罩层 | |
| 275 | + loading: true, | |
| 276 | + // 选中数组 | |
| 277 | + ids: [], | |
| 278 | + // 非单个禁用 | |
| 279 | + single: true, | |
| 280 | + // 非多个禁用 | |
| 281 | + multiple: true, | |
| 282 | + // 显示搜索条件 | |
| 283 | + showSearch: true, | |
| 284 | + // 总条数 | |
| 285 | + total: 0, | |
| 286 | + // 平台违规案卷表格数据 | |
| 287 | + violationCaseFileList: [], | |
| 288 | + // 弹出层标题 | |
| 289 | + title: "", | |
| 290 | + // 是否显示弹出层 | |
| 291 | + open: false, | |
| 292 | + // 查询参数 | |
| 293 | + queryParams: { | |
| 294 | + pageNum: 1, | |
| 295 | + pageSize: 10, | |
| 296 | + number: null, | |
| 297 | + violationObjectType: null, | |
| 298 | + owningRegion: null, | |
| 299 | + violationType: null, | |
| 300 | + violationGrade: null, | |
| 301 | + projectName: null, | |
| 302 | + companyName: null, | |
| 303 | + describe: null, | |
| 304 | + sendObject: null, | |
| 305 | + status: null, | |
| 306 | + receive: null, | |
| 307 | + receiveStatus: null, | |
| 308 | + readBy: null, | |
| 309 | + readTime: null | |
| 310 | + }, | |
| 311 | + // 表单参数 | |
| 312 | + form: {}, | |
| 313 | + // 表单校验 | |
| 314 | + rules: { | |
| 315 | + number :[ | |
| 316 | + { required: true, message: "必填", trigger: "blur" } | |
| 317 | + ], | |
| 318 | + violationObjectType :[ | |
| 319 | + { required: true, message: "必填", trigger: "blur" } | |
| 320 | + ], | |
| 321 | + owningRegion :[ | |
| 322 | + { required: true, message: "必填", trigger: "blur" } | |
| 323 | + ], | |
| 324 | + violationType :[ | |
| 325 | + { required: true, message: "必填", trigger: "blur" } | |
| 326 | + ], | |
| 327 | + }, | |
| 328 | + projectNameList:[ | |
| 329 | + {name:"项目1"}, | |
| 330 | + {name:"项目2"}, | |
| 331 | + {name:"项目3"}, | |
| 332 | + ], | |
| 333 | + isLoading: false, | |
| 334 | + fileEntityList:[], | |
| 335 | + companyList:[ | |
| 336 | + {name:"公司1"}, | |
| 337 | + {name:"公司2"}, | |
| 338 | + {name:"公司3"}, | |
| 339 | + ], | |
| 340 | + isLoadingCompany: false, | |
| 341 | + idInfo:null, | |
| 342 | + openInfo:false, | |
| 343 | + }; | |
| 344 | + }, | |
| 345 | + created() { | |
| 346 | + this.getList(); | |
| 347 | + }, | |
| 348 | + methods: { | |
| 349 | + /** 查询平台违规案卷列表 */ | |
| 350 | + getList() { | |
| 351 | + this.loading = true; | |
| 352 | + listViolationCaseFile(this.queryParams).then(response => { | |
| 353 | + this.violationCaseFileList = response.rows; | |
| 354 | + this.total = response.total; | |
| 355 | + this.loading = false; | |
| 356 | + }); | |
| 357 | + }, | |
| 358 | + // 取消按钮 | |
| 359 | + cancel() { | |
| 360 | + this.open = false; | |
| 361 | + this.openInfo = false; | |
| 362 | + this.reset(); | |
| 363 | + }, | |
| 364 | + // 表单重置 | |
| 365 | + reset() { | |
| 366 | + this.fileEntityList = []; | |
| 367 | + this.form = { | |
| 368 | + id: null, | |
| 369 | + number: null, | |
| 370 | + violationObjectType: null, | |
| 371 | + owningRegion: null, | |
| 372 | + violationType: null, | |
| 373 | + violationGrade: null, | |
| 374 | + projectName: null, | |
| 375 | + companyName: null, | |
| 376 | + describe: null, | |
| 377 | + sendObject: null, | |
| 378 | + createTime: null, | |
| 379 | + createBy: null, | |
| 380 | + updateTime: null, | |
| 381 | + updateBy: null, | |
| 382 | + status: 0, | |
| 383 | + receive: null, | |
| 384 | + receiveStatus: 0, | |
| 385 | + readBy: null, | |
| 386 | + readTime: null | |
| 387 | + }; | |
| 388 | + this.resetForm("form"); | |
| 389 | + }, | |
| 390 | + /** 搜索按钮操作 */ | |
| 391 | + handleQuery() { | |
| 392 | + this.queryParams.pageNum = 1; | |
| 393 | + this.getList(); | |
| 394 | + }, | |
| 395 | + /** 重置按钮操作 */ | |
| 396 | + resetQuery() { | |
| 397 | + this.resetForm("queryForm"); | |
| 398 | + this.handleQuery(); | |
| 399 | + }, | |
| 400 | + // 多选框选中数据 | |
| 401 | + handleSelectionChange(selection) { | |
| 402 | + this.ids = selection.map(item => item.id) | |
| 403 | + this.single = selection.length!==1 | |
| 404 | + this.multiple = !selection.length | |
| 405 | + }, | |
| 406 | + handleInfo(row){ | |
| 407 | + this.idInfo = row.id; | |
| 408 | + this.openInfo = true; | |
| 409 | + this.title = "平台违规案卷详情"; | |
| 410 | + }, | |
| 411 | + /** 新增按钮操作 */ | |
| 412 | + handleAdd() { | |
| 413 | + this.reset(); | |
| 414 | + this.open = true; | |
| 415 | + this.form.number = this.getNumber(); | |
| 416 | + this.form.violationGrade = "一般类"; | |
| 417 | + this.form.sendObject = "区管理部门(治)"; | |
| 418 | + this.title = "添加平台违规案卷"; | |
| 419 | + }, | |
| 420 | + /** 修改按钮操作 */ | |
| 421 | + handleUpdate(row) { | |
| 422 | + this.reset(); | |
| 423 | + const id = row.id || this.ids | |
| 424 | + getViolationCaseFile(id).then(response => { | |
| 425 | + this.form = response.data.violationCaseFile; | |
| 426 | + let files = JSON.stringify(response.data.uploadFiles); | |
| 427 | + this.fileEntityList = JSON.parse(files.replaceAll("filePath", "url").replaceAll("fileName", "name")) | |
| 428 | + this.open = true; | |
| 429 | + this.title = "修改平台违规案卷"; | |
| 430 | + }); | |
| 431 | + }, | |
| 432 | + /** 提交按钮 */ | |
| 433 | + submitForm() { | |
| 434 | + this.$refs["form"].validate(valid => { | |
| 435 | + if (valid) { | |
| 436 | + let formData = new FormData(); | |
| 437 | + let form = this.form; | |
| 438 | + //去掉params属性 | |
| 439 | + delete form.params; | |
| 440 | + formData.append('fileList', null); | |
| 441 | + //将新增的文件放入formData | |
| 442 | + this.fileEntityList.forEach(item => { | |
| 443 | + if(item.id==null){ | |
| 444 | + formData.append('fileList', item.raw) | |
| 445 | + } | |
| 446 | + }) | |
| 447 | + if (this.form.id != null) { | |
| 448 | + formData.append("violationCaseFile", JSON.stringify(form)); | |
| 449 | + formData.append("uploadFilesList", null); | |
| 450 | + this.fileEntityList.forEach(item => { | |
| 451 | + delete item.params; | |
| 452 | + if(item != "null" && item != null){ | |
| 453 | + formData.append('uploadFilesList', JSON.stringify(item).replaceAll("url", "filePath").replaceAll("name", "fileName")); | |
| 454 | + } | |
| 455 | + }) | |
| 456 | + updateViolationCaseFile(formData).then(response => { | |
| 457 | + this.msgSuccess("修改成功"); | |
| 458 | + this.open = false; | |
| 459 | + this.getList(); | |
| 460 | + }); | |
| 461 | + } else { | |
| 462 | + for (let key in form) { | |
| 463 | + formData.append(key, form[key] == null ? "" : form[key]) | |
| 464 | + } | |
| 465 | + addViolationCaseFile(formData).then(response => { | |
| 466 | + this.msgSuccess("新增成功"); | |
| 467 | + this.open = false; | |
| 468 | + this.getList(); | |
| 469 | + }); | |
| 470 | + } | |
| 471 | + } | |
| 472 | + }); | |
| 473 | + }, | |
| 474 | + /** 删除按钮操作 */ | |
| 475 | + handleDelete(row) { | |
| 476 | + const ids = row.id || this.ids; | |
| 477 | + this.$confirm('是否确认删除平台违规案卷编号为"' + ids + '"的数据项?', "警告", { | |
| 478 | + confirmButtonText: "确定", | |
| 479 | + cancelButtonText: "取消", | |
| 480 | + type: "warning" | |
| 481 | + }).then(function() { | |
| 482 | + return delViolationCaseFile(ids); | |
| 483 | + }).then(() => { | |
| 484 | + this.getList(); | |
| 485 | + this.msgSuccess("删除成功"); | |
| 486 | + }) | |
| 487 | + }, | |
| 488 | + /** 导出按钮操作 */ | |
| 489 | + handleExport() { | |
| 490 | + const queryParams = this.queryParams; | |
| 491 | + this.$confirm('是否确认导出所有平台违规案卷数据项?', "警告", { | |
| 492 | + confirmButtonText: "确定", | |
| 493 | + cancelButtonText: "取消", | |
| 494 | + type: "warning" | |
| 495 | + }).then(function() { | |
| 496 | + return exportViolationCaseFile(queryParams); | |
| 497 | + }).then(response => { | |
| 498 | + this.download(response.msg); | |
| 499 | + }) | |
| 500 | + }, | |
| 501 | + /** 生成案卷编号 */ | |
| 502 | + getNumber(){ | |
| 503 | + const now = new Date(); | |
| 504 | + const year = now.getFullYear().toString().slice(-2); // 提取后两位数 | |
| 505 | + const month = now.getMonth() + 1 < 10 ? `0${now.getMonth() + 1}` : now.getMonth() + 1; | |
| 506 | + const day = now.getDate() < 10 ? `0${now.getDate()}` : now.getDate(); | |
| 507 | + const hour = now.getHours() < 10 ? `0${now.getHours()}` : now.getHours(); | |
| 508 | + const minute = now.getMinutes() < 10 ? `0${now.getMinutes()}` : now.getMinutes(); | |
| 509 | + const second = now.getSeconds() < 10 ? `0${now.getSeconds()}` : now.getSeconds(); | |
| 510 | + const millisecond = now.getMilliseconds(); | |
| 511 | + const code = `${year}${month}${day}${hour}${minute}${second}${millisecond}`; | |
| 512 | + return code; | |
| 513 | + }, | |
| 514 | + projectNameLoadOptions(query) { | |
| 515 | + // 根据输入的关键字query异步加载选项数据 | |
| 516 | + this.isLoading = true | |
| 517 | + setTimeout(() => { | |
| 518 | + // 模拟异步加载数据 | |
| 519 | + const data = [ | |
| 520 | + { name:'项目1' }, | |
| 521 | + { name:'项目2' }, | |
| 522 | + { name:'项目3' } | |
| 523 | + ].filter(item => item.name.includes(query)) | |
| 524 | + this.projectNameList = data | |
| 525 | + this.isLoading = false | |
| 526 | + }, 200) | |
| 527 | + }, | |
| 528 | + companyLoadOptions(query) { | |
| 529 | + // 根据输入的关键字query异步加载选项数据 | |
| 530 | + this.isLoadingCompany = true | |
| 531 | + setTimeout(() => { | |
| 532 | + // 模拟异步加载数据 | |
| 533 | + const data = [ | |
| 534 | + { name:'公司1' }, | |
| 535 | + { name:'公司2' }, | |
| 536 | + { name:'公司3' } | |
| 537 | + ].filter(item => item.name.includes(query)) | |
| 538 | + this.companyList = data | |
| 539 | + this.isLoadingCompany = false | |
| 540 | + }, 200) | |
| 541 | + }, | |
| 542 | + /** | |
| 543 | + * 文件改变时,限制文件上传格式和大小 | |
| 544 | + * 文件格式只能为docx/xlsx/xls/ppt/doc/pdf/png/jpeg/png/jpg | |
| 545 | + * 大小不超过20M | |
| 546 | + * */ | |
| 547 | + fileChange(file, fileList) { | |
| 548 | + let count = 0; | |
| 549 | + for (let i = 0; i < fileList.length; i++) { | |
| 550 | + // console.log(fileList.length) | |
| 551 | + // console.log(this.fileEntityList[i].name+"111"+file.name) | |
| 552 | + if (fileList[i].name == file.name) { | |
| 553 | + count++; | |
| 554 | + if (count == 2) { | |
| 555 | + this.$message({ | |
| 556 | + message: '已存在此文件!', | |
| 557 | + type: 'warning' | |
| 558 | + }); | |
| 559 | + for (let j = fileList.length; j > 0; j--) { | |
| 560 | + //如果存在此文件,去除新选择的重复文件 | |
| 561 | + if (fileList[j - 1].name == file.name) { | |
| 562 | + fileList.splice(j - 1, 1); | |
| 563 | + i--; | |
| 564 | + return false; | |
| 565 | + } | |
| 566 | + } | |
| 567 | + } | |
| 568 | + } | |
| 569 | + } | |
| 570 | + let fileType = file.name.substring(file.name.lastIndexOf('.') + 1).toLowerCase(); | |
| 571 | + //格式符合后判断大小 | |
| 572 | + if ("docx,xlsx,xls,ppt,doc,pdf,png,jpeg,png,jpg".indexOf(fileType) != -1) { | |
| 573 | + let max5M = file.size / 1024 / 1024 < 20; | |
| 574 | + if (!max5M) { | |
| 575 | + this.$message({ | |
| 576 | + message: '上传文件大小不得超过20M!', | |
| 577 | + type: 'warning' | |
| 578 | + }); | |
| 579 | + } else { | |
| 580 | + //符合条件后进行添加 | |
| 581 | + this.fileEntityList = fileList | |
| 582 | + } | |
| 583 | + } else { | |
| 584 | + this.$message({ | |
| 585 | + message: '上传文件只能是 docx、xlsx、xls、ppt、doc、pdf、png、jpeg、png、jpg格式!', | |
| 586 | + type: 'warning' | |
| 587 | + }); | |
| 588 | + } | |
| 589 | + }, | |
| 590 | + // 删除文件 | |
| 591 | + handleDeleteFile(index) { | |
| 592 | + this.fileEntityList.splice(index, 1); | |
| 593 | + }, | |
| 594 | + /** 文件下载 */ | |
| 595 | + downloadFA(row) { | |
| 596 | + let name = row.name; | |
| 597 | + let url = row.url; | |
| 598 | + const a = document.createElement('a') | |
| 599 | + a.setAttribute('download', name) | |
| 600 | + a.setAttribute('target', '_blank') | |
| 601 | + a.setAttribute('href', process.env.VUE_APP_BASE_API + url); | |
| 602 | + a.click() | |
| 603 | + }, | |
| 604 | + /** 生成违规描述 */ | |
| 605 | + createDescribe(){ | |
| 606 | + this.rules.companyName = [{ required: true, message: "必填", trigger: "blur" }] | |
| 607 | + this.rules.projectName = [{ required: true, message: "必填", trigger: "blur" }] | |
| 608 | + this.$refs["form"].validate(valid => { | |
| 609 | + if (valid) { | |
| 610 | + let formData = this.form; | |
| 611 | + const now = new Date(); | |
| 612 | + const year = now.getFullYear(); | |
| 613 | + const month = now.getMonth() + 1 < 10 ? `0${now.getMonth() + 1}` : now.getMonth() + 1; | |
| 614 | + const day = now.getDate() < 10 ? `0${now.getDate()}` : now.getDate(); | |
| 615 | + const hour = now.getHours() < 10 ? `0${now.getHours()}` : now.getHours(); | |
| 616 | + const minute = now.getMinutes() < 10 ? `0${now.getMinutes()}` : now.getMinutes(); | |
| 617 | + const second = now.getSeconds() < 10 ? `0${now.getSeconds()}` : now.getSeconds(); | |
| 618 | + const code = `${year}/${month}/${day} ${hour}:${minute}:${second}`; | |
| 619 | + this.form.describe =code + formData.companyName + "在" + formData.projectName + "出现" + formData.violationType; | |
| 620 | + this.rules.companyName = null; | |
| 621 | + this.rules.projectName = null; | |
| 622 | + } | |
| 623 | + }); | |
| 624 | + | |
| 625 | + } | |
| 626 | + } | |
| 627 | +}; | |
| 628 | +</script> | ... | ... |
trash-ui/src/views/casefile/violationCaseFile/violationCaseFileInfo.vue
0 → 100644
| 1 | +<template> | |
| 2 | + <el-form ref="form" :model="form" :rules="rules" label-width="115px"> | |
| 3 | + <el-row :gutter="2"> | |
| 4 | + <el-col :span="11"> | |
| 5 | + <el-form-item label="案卷编号" prop="number"> | |
| 6 | + <el-input v-model="form.number" placeholder="请输入案卷编号" :disabled="true"/> | |
| 7 | + </el-form-item> | |
| 8 | + </el-col> | |
| 9 | + <el-col :span="11"> | |
| 10 | + <el-form-item label="违规对象类型" prop="violationObjectType"> | |
| 11 | + <el-select v-model="form.violationObjectType" placeholder="请选择违规对象类型" style="width: 100%;" :disabled="true"> | |
| 12 | + <el-option label="对象1" value="对象1" /> | |
| 13 | + <el-option label="对象2" value="对象2" /> | |
| 14 | + </el-select> | |
| 15 | + </el-form-item> | |
| 16 | + </el-col> | |
| 17 | + </el-row> | |
| 18 | + <el-row :gutter="2"> | |
| 19 | + <el-col :span="11"> | |
| 20 | + <el-form-item label="所属区域" prop="owningRegion"> | |
| 21 | + <el-select v-model="form.owningRegion" placeholder="请输入所属区域" style="width: 100%;" :disabled="true"> | |
| 22 | + <el-option label="区域1" value="区域1" /> | |
| 23 | + <el-option label="区域2" value="区域2" /> | |
| 24 | + </el-select> | |
| 25 | + </el-form-item> | |
| 26 | + </el-col> | |
| 27 | + <el-col :span="11"> | |
| 28 | + <el-form-item label="违规类型" prop="violationType"> | |
| 29 | + <el-select v-model="form.violationType" placeholder="请选择违规类型" style="width: 100%;" :disabled="true"> | |
| 30 | + <el-option label="违规1" value="违规1" /> | |
| 31 | + <el-option label="违规2" value="违规2" /> | |
| 32 | + </el-select> | |
| 33 | + </el-form-item> | |
| 34 | + </el-col> | |
| 35 | + </el-row> | |
| 36 | + <el-row :gutter="2"> | |
| 37 | + <el-col :span="11"> | |
| 38 | + <el-form-item label="违规等级" prop="violationGrade"> | |
| 39 | + <el-select v-model="form.violationGrade" placeholder="请选择企业名称" style="width: 100%;" :disabled="true"> | |
| 40 | + <el-option label="一般类" value="一般类"/> | |
| 41 | + <el-option label="重点类" value="重点类" /> | |
| 42 | + </el-select> | |
| 43 | + </el-form-item> | |
| 44 | + </el-col> | |
| 45 | + <el-col :span="11"> | |
| 46 | + <el-form-item label="项目名称" prop="projectName"> | |
| 47 | + <el-select v-model="form.projectName" :disabled="true" style="width: 100%;"> | |
| 48 | + | |
| 49 | + </el-select> | |
| 50 | + </el-form-item> | |
| 51 | + </el-col> | |
| 52 | + </el-row> | |
| 53 | + <el-row :gutter="2"> | |
| 54 | + <el-col :span="11"> | |
| 55 | + <el-form-item label="企业名称" prop="companyName"> | |
| 56 | + <el-select v-model="form.companyName" :disabled="true" style="width: 100%;"> | |
| 57 | + </el-select> | |
| 58 | + </el-form-item> | |
| 59 | + </el-col> | |
| 60 | + <el-col :span="11"> | |
| 61 | + <el-form-item label="发送时间" prop="createTime"> | |
| 62 | + <el-input :value="form.createTime" :disabled="true"/> | |
| 63 | + </el-form-item> | |
| 64 | + </el-col> | |
| 65 | + </el-row> | |
| 66 | + <el-row :gutter="2"> | |
| 67 | + <el-col :span="11"> | |
| 68 | + <el-form-item label="发送人" prop="createBy"> | |
| 69 | + <el-input :value="form.createBy" :disabled="true"/> | |
| 70 | + </el-form-item> | |
| 71 | + </el-col> | |
| 72 | + <el-col :span="11"> | |
| 73 | + <el-form-item label="接收人及状态" prop="receive"> | |
| 74 | + <el-input :value="form.receive!=null?form.receive:'' + form.receiveStatus!=null?form.receiveStatus:''" :disabled="true"/> | |
| 75 | + </el-form-item> | |
| 76 | + </el-col> | |
| 77 | + </el-row> | |
| 78 | + <el-row :gutter="2"> | |
| 79 | + <el-col :span="11"> | |
| 80 | + <el-form-item label="阅读时间" prop="createBy"> | |
| 81 | + <el-input :value="form.readTime" :disabled="true"/> | |
| 82 | + </el-form-item> | |
| 83 | + </el-col> | |
| 84 | + </el-row> | |
| 85 | + <el-row> | |
| 86 | + <el-col :span="22"> | |
| 87 | + <el-form-item label="违规描述" prop="describe"> | |
| 88 | + <el-input v-model="form.describe" type="textarea" placeholder="请输入内容" :row="4" :disabled="true"/> | |
| 89 | + </el-form-item> | |
| 90 | + </el-col> | |
| 91 | + </el-row> | |
| 92 | + <el-form-item label="推送对象"> | |
| 93 | + <el-radio-group v-model="form.sendObject" :disabled="true"> | |
| 94 | + <el-radio label="区管理部门(治)">区管理部门(治)</el-radio> | |
| 95 | + <el-radio label="区管理部门(消)">区管理部门(消)</el-radio> | |
| 96 | + <el-radio label="运输企业">运输企业</el-radio> | |
| 97 | + </el-radio-group> | |
| 98 | + </el-form-item> | |
| 99 | + <el-row> | |
| 100 | + <el-col :offset="3"><el-button type="primary" @click="open = true">查看附件({{fileEntityList.length}})</el-button></el-col> | |
| 101 | + </el-row> | |
| 102 | + <el-table :data="replyApprovalProcessList" v-if="entryType==0"> | |
| 103 | + <el-table-column property="replyPeople" label="操作人" header-align="center" align="center"></el-table-column> | |
| 104 | + <el-table-column property="reply" label="意见" header-align="center" align="center"></el-table-column> | |
| 105 | + <el-table-column property="replyTime" label="操作时间" header-align="center" align="center"></el-table-column> | |
| 106 | + <el-table-column property="replyImg" label="图片预览" header-align="center" align="center"> | |
| 107 | + <template slot-scope="scope"> | |
| 108 | + <el-button | |
| 109 | + size="mini" | |
| 110 | + type="text" | |
| 111 | + icon="el-icon-view" | |
| 112 | + @click="openImage(scope.row)" | |
| 113 | + v-hasPermi="['casefile:violationWarningInformation:edit']" | |
| 114 | + >查看</el-button> | |
| 115 | + </template> | |
| 116 | + </el-table-column> | |
| 117 | + </el-table> | |
| 118 | + <el-dialog title="查看附件" :visible.sync="open" append-to-body> | |
| 119 | + <el-table :data="fileEntityList"> | |
| 120 | + <el-table-column property="name" label="附件名称" header-align="center" align="center"></el-table-column> | |
| 121 | + <el-table-column label="操作" class-name="small-padding fixed-width" header-align="center" align="center"> | |
| 122 | + <template slot-scope="scope"> | |
| 123 | + <el-button | |
| 124 | + size="small" type="success" | |
| 125 | + icon="el-icon-download" | |
| 126 | + @click="downloadFA(scope.row)" | |
| 127 | + v-hasPermi="['office:management:edit']" | |
| 128 | + v-if="form.id!=null" | |
| 129 | + round>下载 | |
| 130 | + </el-button> | |
| 131 | + </template> | |
| 132 | + </el-table-column> | |
| 133 | + </el-table> | |
| 134 | + <div slot="footer" class="dialog-footer"> | |
| 135 | + <el-button @click="open = false">取 消</el-button> | |
| 136 | + </div> | |
| 137 | + </el-dialog> | |
| 138 | + <el-dialog title="预览" :visible.sync="openImg" append-to-body v-if="entryType==0"> | |
| 139 | + <img :src="img" width="100%" height="750px" /> | |
| 140 | + </el-dialog> | |
| 141 | + </el-form> | |
| 142 | +</template> | |
| 143 | + | |
| 144 | +<script> | |
| 145 | +import {getViolationCaseFile} from "@/api/casefile/violationCaseFile"; | |
| 146 | +import {listReplyApprovalProcess} from "@/api/casefile/replyApprovalProcess"; | |
| 147 | +export default { | |
| 148 | + name: "violationWarningInformationInfo", | |
| 149 | + props: { | |
| 150 | + businessKey: { | |
| 151 | + type: String | |
| 152 | + }, | |
| 153 | + idInfo: { | |
| 154 | + type: String | |
| 155 | + }, | |
| 156 | + entryType: { | |
| 157 | + type: Number | |
| 158 | + }, | |
| 159 | + }, | |
| 160 | + data() { | |
| 161 | + return { | |
| 162 | + form: {}, | |
| 163 | + fileEntityList: [], | |
| 164 | + open: false, | |
| 165 | + replyApprovalProcessList:[], | |
| 166 | + openImg:false, | |
| 167 | + } | |
| 168 | + }, | |
| 169 | + created() { | |
| 170 | + this.init(); | |
| 171 | + }, | |
| 172 | + methods:{ | |
| 173 | + init(){ | |
| 174 | + getViolationCaseFile(this.idInfo).then(response => { | |
| 175 | + this.form = response.data.violationCaseFile; | |
| 176 | + let files = JSON.stringify(response.data.uploadFiles); | |
| 177 | + this.fileEntityList = JSON.parse(files.replaceAll("filePath", "url").replaceAll("fileName", "name")); | |
| 178 | + }); | |
| 179 | + listReplyApprovalProcess({tableName:"violation_case_file",tableId:this.idInfo}).then(response => { | |
| 180 | + this.replyApprovalProcessList = response.rows; | |
| 181 | + }); | |
| 182 | + }, | |
| 183 | + /** 文件下载 */ | |
| 184 | + downloadFA(row) { | |
| 185 | + let name = row.name; | |
| 186 | + let url = row.url; | |
| 187 | + const a = document.createElement('a') | |
| 188 | + a.setAttribute('download', name) | |
| 189 | + a.setAttribute('target', '_blank') | |
| 190 | + a.setAttribute('href', process.env.VUE_APP_BASE_API + url); | |
| 191 | + a.click() | |
| 192 | + }, | |
| 193 | + openImage(row){ | |
| 194 | + this.openImg = true; | |
| 195 | + this.img = process.env.VUE_APP_BASE_API + row.replyImg; | |
| 196 | + }, | |
| 197 | + } | |
| 198 | +} | |
| 199 | +</script> | |
| 200 | + | |
| 201 | +<style scoped> | |
| 202 | + | |
| 203 | +</style> | ... | ... |
trash-ui/src/views/casefile/violationWarningInformation/index.vue
| 1 | 1 | <template> |
| 2 | 2 | <div class="app-container"> |
| 3 | 3 | <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="105px"> |
| 4 | - <el-form-item label="案卷编号" prop="number"> | |
| 5 | - <el-input | |
| 6 | - v-model="queryParams.number" | |
| 7 | - placeholder="请输入案卷编号" | |
| 8 | - clearable | |
| 9 | - size="small" | |
| 10 | - @keyup.enter.native="handleQuery" | |
| 11 | - /> | |
| 12 | - </el-form-item> | |
| 13 | 4 | <el-form-item label="违规对象类型" prop="violationObjectType"> |
| 14 | 5 | <el-select v-model="queryParams.violationObjectType" placeholder="请选择违规对象类型" clearable size="small"> |
| 15 | 6 | <el-option label="对象1" value="对象1" /> |
| ... | ... | @@ -64,16 +55,16 @@ |
| 64 | 55 | v-hasPermi="['casefile:violationWarningInformation:edit']" |
| 65 | 56 | >修改</el-button> |
| 66 | 57 | </el-col> |
| 67 | - <el-col :span="1.5"> | |
| 68 | - <el-button | |
| 69 | - type="danger" | |
| 70 | - icon="el-icon-delete" | |
| 71 | - size="mini" | |
| 72 | - :disabled="multiple" | |
| 73 | - @click="handleDelete" | |
| 74 | - v-hasPermi="['casefile:violationWarningInformation:remove']" | |
| 75 | - >删除</el-button> | |
| 76 | - </el-col> | |
| 58 | +<!-- <el-col :span="1.5">--> | |
| 59 | +<!-- <el-button--> | |
| 60 | +<!-- type="danger"--> | |
| 61 | +<!-- icon="el-icon-delete"--> | |
| 62 | +<!-- size="mini"--> | |
| 63 | +<!-- :disabled="multiple"--> | |
| 64 | +<!-- @click="handleDelete"--> | |
| 65 | +<!-- v-hasPermi="['casefile:violationWarningInformation:remove']"--> | |
| 66 | +<!-- >删除</el-button>--> | |
| 67 | +<!-- </el-col>--> | |
| 77 | 68 | <el-col :span="1.5"> |
| 78 | 69 | <el-button |
| 79 | 70 | type="warning" |
| ... | ... | @@ -93,6 +84,11 @@ |
| 93 | 84 | <el-table-column label="违规类型" align="center" prop="violationType" /> |
| 94 | 85 | <el-table-column label="项目名称" align="center" prop="projectName" /> |
| 95 | 86 | <el-table-column label="企业名称" align="center" prop="companyName" /> |
| 87 | + <el-table-column label="审批状态" align="center" prop="status"> | |
| 88 | + <template slot-scope="scope"> | |
| 89 | + <span>{{parseStatus(scope.row.status) }}</span> | |
| 90 | + </template> | |
| 91 | + </el-table-column> | |
| 96 | 92 | <el-table-column label="操作" align="center" class-name="small-padding fixed-width"> |
| 97 | 93 | <template slot-scope="scope"> |
| 98 | 94 | <el-button |
| ... | ... | @@ -102,20 +98,20 @@ |
| 102 | 98 | @click="handleInfo(scope.row)" |
| 103 | 99 | v-hasPermi="['casefile:violationWarningInformation:edit']" |
| 104 | 100 | >详情</el-button> |
| 105 | - <el-button | |
| 106 | - size="mini" | |
| 107 | - type="text" | |
| 108 | - icon="el-icon-edit" | |
| 109 | - @click="handleUpdate(scope.row)" | |
| 110 | - v-hasPermi="['casefile:violationWarningInformation:edit']" | |
| 111 | - >修改</el-button> | |
| 112 | - <el-button | |
| 113 | - size="mini" | |
| 114 | - type="text" | |
| 115 | - icon="el-icon-delete" | |
| 116 | - @click="handleDelete(scope.row)" | |
| 117 | - v-hasPermi="['casefile:violationWarningInformation:remove']" | |
| 118 | - >删除</el-button> | |
| 101 | +<!-- <el-button--> | |
| 102 | +<!-- size="mini"--> | |
| 103 | +<!-- type="text"--> | |
| 104 | +<!-- icon="el-icon-edit"--> | |
| 105 | +<!-- @click="handleUpdate(scope.row)"--> | |
| 106 | +<!-- v-hasPermi="['casefile:violationWarningInformation:edit']"--> | |
| 107 | +<!-- >修改</el-button>--> | |
| 108 | +<!-- <el-button--> | |
| 109 | +<!-- size="mini"--> | |
| 110 | +<!-- type="text"--> | |
| 111 | +<!-- icon="el-icon-delete"--> | |
| 112 | +<!-- @click="handleDelete(scope.row)"--> | |
| 113 | +<!-- v-hasPermi="['casefile:violationWarningInformation:remove']"--> | |
| 114 | +<!-- >删除</el-button>--> | |
| 119 | 115 | </template> |
| 120 | 116 | </el-table-column> |
| 121 | 117 | </el-table> |
| ... | ... | @@ -250,7 +246,7 @@ |
| 250 | 246 | </el-dialog> |
| 251 | 247 | |
| 252 | 248 | <el-dialog :title="title" :visible.sync="openInfo" width="850px" append-to-body :close-on-click-modal="false"> |
| 253 | - <violationWarningInformationInfo :idInfo="idInfo" v-if="openInfo"/> | |
| 249 | + <violationWarningInformationInfo :idInfo="idInfo" v-if="openInfo" :entryType="0"/> | |
| 254 | 250 | <div slot="footer" class="dialog-footer"> |
| 255 | 251 | <el-button @click="cancel">取 消</el-button> |
| 256 | 252 | </div> |
| ... | ... | @@ -372,7 +368,7 @@ export default { |
| 372 | 368 | projectName: null, |
| 373 | 369 | companyName: null, |
| 374 | 370 | describe: null, |
| 375 | - sendObject: "区管理部门(治)", | |
| 371 | + sendObject: null, | |
| 376 | 372 | createTime: null, |
| 377 | 373 | createBy: null, |
| 378 | 374 | updateTime: null, |
| ... | ... | @@ -406,6 +402,7 @@ export default { |
| 406 | 402 | handleInfo(row){ |
| 407 | 403 | this.idInfo = row.id; |
| 408 | 404 | this.openInfo = true; |
| 405 | + this.title = "平台违规案卷详情"; | |
| 409 | 406 | }, |
| 410 | 407 | /** 新增按钮操作 */ |
| 411 | 408 | handleAdd() { | ... | ... |
trash-ui/src/views/casefile/violationWarningInformation/violationWarningInformationInfo.vue
| ... | ... | @@ -9,8 +9,8 @@ |
| 9 | 9 | <el-col :span="11"> |
| 10 | 10 | <el-form-item label="违规对象类型" prop="violationObjectType"> |
| 11 | 11 | <el-select v-model="form.violationObjectType" placeholder="请选择违规对象类型" style="width: 100%;" :disabled="true"> |
| 12 | - <el-option label="对象1" value="对象1" /> | |
| 13 | - <el-option label="对象2" value="对象2" /> | |
| 12 | + <el-option label="对象1" value="对象1"/> | |
| 13 | + <el-option label="对象2" value="对象2"/> | |
| 14 | 14 | </el-select> |
| 15 | 15 | </el-form-item> |
| 16 | 16 | </el-col> |
| ... | ... | @@ -19,16 +19,16 @@ |
| 19 | 19 | <el-col :span="11"> |
| 20 | 20 | <el-form-item label="所属区域" prop="owningRegion"> |
| 21 | 21 | <el-select v-model="form.owningRegion" placeholder="请输入所属区域" style="width: 100%;" :disabled="true"> |
| 22 | - <el-option label="区域1" value="区域1" /> | |
| 23 | - <el-option label="区域2" value="区域2" /> | |
| 22 | + <el-option label="区域1" value="区域1"/> | |
| 23 | + <el-option label="区域2" value="区域2"/> | |
| 24 | 24 | </el-select> |
| 25 | 25 | </el-form-item> |
| 26 | 26 | </el-col> |
| 27 | 27 | <el-col :span="11"> |
| 28 | 28 | <el-form-item label="违规类型" prop="violationType"> |
| 29 | 29 | <el-select v-model="form.violationType" placeholder="请选择违规类型" style="width: 100%;" :disabled="true"> |
| 30 | - <el-option label="违规1" value="违规1" /> | |
| 31 | - <el-option label="违规2" value="违规2" /> | |
| 30 | + <el-option label="违规1" value="违规1"/> | |
| 31 | + <el-option label="违规2" value="违规2"/> | |
| 32 | 32 | </el-select> |
| 33 | 33 | </el-form-item> |
| 34 | 34 | </el-col> |
| ... | ... | @@ -38,13 +38,13 @@ |
| 38 | 38 | <el-form-item label="违规等级" prop="violationGrade"> |
| 39 | 39 | <el-select v-model="form.violationGrade" placeholder="请选择企业名称" style="width: 100%;" :disabled="true"> |
| 40 | 40 | <el-option label="一般类" value="一般类"/> |
| 41 | - <el-option label="重点类" value="重点类" /> | |
| 41 | + <el-option label="重点类" value="重点类"/> | |
| 42 | 42 | </el-select> |
| 43 | 43 | </el-form-item> |
| 44 | 44 | </el-col> |
| 45 | 45 | <el-col :span="11"> |
| 46 | 46 | <el-form-item label="项目名称" prop="projectName"> |
| 47 | - <el-select v-model="form.projectName" :disabled="true" style="width: 100%;"> | |
| 47 | + <el-select v-model="form.projectName" :disabled="true" style="width: 100%;"> | |
| 48 | 48 | |
| 49 | 49 | </el-select> |
| 50 | 50 | </el-form-item> |
| ... | ... | @@ -53,7 +53,7 @@ |
| 53 | 53 | <el-row :gutter="2"> |
| 54 | 54 | <el-col :span="11"> |
| 55 | 55 | <el-form-item label="企业名称" prop="companyName"> |
| 56 | - <el-select v-model="form.companyName" :disabled="true" style="width: 100%;"> | |
| 56 | + <el-select v-model="form.companyName" :disabled="true" style="width: 100%;"> | |
| 57 | 57 | </el-select> |
| 58 | 58 | </el-form-item> |
| 59 | 59 | </el-col> |
| ... | ... | @@ -71,7 +71,8 @@ |
| 71 | 71 | </el-col> |
| 72 | 72 | <el-col :span="11"> |
| 73 | 73 | <el-form-item label="接收人及状态" prop="receive"> |
| 74 | - <el-input :value="form.receive!=null?form.receive:'' + form.receiveStatus!=null?form.receiveStatus:''" :disabled="true"/> | |
| 74 | + <el-input :value="form.receive!=null?form.receive:'' + form.receiveStatus!=null?form.receiveStatus:''" | |
| 75 | + :disabled="true"/> | |
| 75 | 76 | </el-form-item> |
| 76 | 77 | </el-col> |
| 77 | 78 | </el-row> |
| ... | ... | @@ -96,26 +97,56 @@ |
| 96 | 97 | <el-radio label="运输企业">运输企业</el-radio> |
| 97 | 98 | </el-radio-group> |
| 98 | 99 | </el-form-item> |
| 99 | - <el-table :data="fileEntityList"> | |
| 100 | - <el-table-column property="name" label="附件名称" header-align="center" align="center"></el-table-column> | |
| 101 | - <el-table-column label="操作" class-name="small-padding fixed-width" header-align="center" align="center"> | |
| 100 | + <el-row> | |
| 101 | + <el-col :offset="3"> | |
| 102 | + <el-button type="primary" @click="open = true">查看附件({{ fileEntityList.length }})</el-button> | |
| 103 | + </el-col> | |
| 104 | + </el-row> | |
| 105 | + <el-table :data="replyApprovalProcessList" v-if="entryType==0"> | |
| 106 | + <el-table-column property="replyPeople" label="操作人" header-align="center" align="center"></el-table-column> | |
| 107 | + <el-table-column property="reply" label="意见" header-align="center" align="center"></el-table-column> | |
| 108 | + <el-table-column property="replyTime" label="操作时间" header-align="center" align="center"></el-table-column> | |
| 109 | + <el-table-column property="replyImg" label="图片预览" header-align="center" align="center"> | |
| 102 | 110 | <template slot-scope="scope"> |
| 103 | 111 | <el-button |
| 104 | - size="small" type="success" | |
| 105 | - icon="el-icon-download" | |
| 106 | - @click="downloadFA(scope.row)" | |
| 107 | - v-hasPermi="['office:management:edit']" | |
| 108 | - v-if="form.id!=null" | |
| 109 | - round>下载 | |
| 110 | - </el-button> | |
| 112 | + size="mini" | |
| 113 | + type="text" | |
| 114 | + icon="el-icon-view" | |
| 115 | + @click="openImage(scope.row)" | |
| 116 | + v-hasPermi="['casefile:violationWarningInformation:edit']" | |
| 117 | + >查看</el-button> | |
| 111 | 118 | </template> |
| 112 | 119 | </el-table-column> |
| 113 | 120 | </el-table> |
| 121 | + <el-dialog title="查看附件" :visible.sync="open" append-to-body> | |
| 122 | + <el-table :data="fileEntityList"> | |
| 123 | + <el-table-column property="name" label="附件名称" header-align="center" align="center"></el-table-column> | |
| 124 | + <el-table-column label="操作" class-name="small-padding fixed-width" header-align="center" align="center"> | |
| 125 | + <template slot-scope="scope"> | |
| 126 | + <el-button | |
| 127 | + size="small" type="success" | |
| 128 | + icon="el-icon-download" | |
| 129 | + @click="downloadFA(scope.row)" | |
| 130 | + v-hasPermi="['office:management:edit']" | |
| 131 | + v-if="form.id!=null" | |
| 132 | + round>下载 | |
| 133 | + </el-button> | |
| 134 | + </template> | |
| 135 | + </el-table-column> | |
| 136 | + </el-table> | |
| 137 | + <div slot="footer" class="dialog-footer"> | |
| 138 | + <el-button @click="open = false">取 消</el-button> | |
| 139 | + </div> | |
| 140 | + </el-dialog> | |
| 141 | + <el-dialog title="预览" :visible.sync="openImg" append-to-body v-if="entryType==0"> | |
| 142 | + <img :src="img" width="100%" height="750px" /> | |
| 143 | + </el-dialog> | |
| 114 | 144 | </el-form> |
| 115 | 145 | </template> |
| 116 | 146 | |
| 117 | 147 | <script> |
| 118 | 148 | import {getViolationWarningInformation} from "@/api/casefile/violationWarningInformation"; |
| 149 | +import {listReplyApprovalProcess} from "@/api/casefile/replyApprovalProcess"; | |
| 119 | 150 | export default { |
| 120 | 151 | name: "violationWarningInformationInfo", |
| 121 | 152 | props: { |
| ... | ... | @@ -124,24 +155,33 @@ export default { |
| 124 | 155 | }, |
| 125 | 156 | idInfo: { |
| 126 | 157 | type: String |
| 127 | - } | |
| 158 | + }, | |
| 159 | + entryType: { | |
| 160 | + type: Number | |
| 161 | + }, | |
| 128 | 162 | }, |
| 129 | 163 | data() { |
| 130 | 164 | return { |
| 131 | 165 | form: {}, |
| 132 | 166 | fileEntityList: [], |
| 167 | + open:false, | |
| 168 | + replyApprovalProcessList:[], | |
| 169 | + openImg:false, | |
| 133 | 170 | } |
| 134 | 171 | }, |
| 135 | 172 | created() { |
| 136 | 173 | this.init(); |
| 137 | 174 | }, |
| 138 | - methods:{ | |
| 139 | - init(){ | |
| 175 | + methods: { | |
| 176 | + init() { | |
| 140 | 177 | getViolationWarningInformation(this.idInfo).then(response => { |
| 141 | 178 | this.form = response.data.violationWarningInformation; |
| 142 | 179 | let files = JSON.stringify(response.data.uploadFiles); |
| 143 | 180 | this.fileEntityList = JSON.parse(files.replaceAll("filePath", "url").replaceAll("fileName", "name")); |
| 144 | 181 | }); |
| 182 | + listReplyApprovalProcess({tableName:"casefile_violation_warning_information",tableId:this.idInfo}).then(response => { | |
| 183 | + this.replyApprovalProcessList = response.rows; | |
| 184 | + }); | |
| 145 | 185 | }, |
| 146 | 186 | /** 文件下载 */ |
| 147 | 187 | downloadFA(row) { |
| ... | ... | @@ -153,6 +193,10 @@ export default { |
| 153 | 193 | a.setAttribute('href', process.env.VUE_APP_BASE_API + url); |
| 154 | 194 | a.click() |
| 155 | 195 | }, |
| 196 | + openImage(row){ | |
| 197 | + this.openImg = true; | |
| 198 | + this.img = process.env.VUE_APP_BASE_API + row.replyImg; | |
| 199 | + } | |
| 156 | 200 | } |
| 157 | 201 | } |
| 158 | 202 | </script> | ... | ... |
trash-ui/src/views/office/conference/conferenceInfo.vue
| ... | ... | @@ -86,7 +86,6 @@ export default { |
| 86 | 86 | init(){ |
| 87 | 87 | getConference(this.idInfo).then(response => { |
| 88 | 88 | this.form = response.data.conference; |
| 89 | - this.form.notify = response.data.conference.notify.split(","); | |
| 90 | 89 | let files = JSON.stringify(response.data.uploadFiles); |
| 91 | 90 | this.fileEntityList = JSON.parse(files.replaceAll("filePath", "url").replaceAll("fileName", "name")) |
| 92 | 91 | }); | ... | ... |
trash-ui/src/views/office/conference/index.vue
| ... | ... | @@ -9,20 +9,14 @@ |
| 9 | 9 | placeholder="选择会议时间"> |
| 10 | 10 | </el-date-picker> |
| 11 | 11 | </el-form-item> |
| 12 | - <el-form-item label="科室名称" prop="deptName"> | |
| 13 | - <el-select v-model="queryParams.deptName" placeholder="请选择科室名称" clearable size="small"> | |
| 14 | - <el-option label="科室1" value="科室1"/> | |
| 15 | - <el-option label="科室2" value="科室2"/> | |
| 16 | - </el-select> | |
| 17 | - </el-form-item> | |
| 18 | - <el-form-item label="会议主题" prop="subject"> | |
| 19 | - <el-input | |
| 20 | - v-model="queryParams.subject" | |
| 21 | - placeholder="请输入会议主题" | |
| 22 | - clearable | |
| 23 | - size="small" | |
| 24 | - @keyup.enter.native="handleQuery" | |
| 25 | - /> | |
| 12 | +<!-- <el-form-item label="发起部门" prop="deptId">--> | |
| 13 | +<!-- <el-select v-model="queryParams.deptId" placeholder="请输入发起部门" style="width: 100%">--> | |
| 14 | +<!-- <el-option label="全部" value=""/>--> | |
| 15 | +<!-- <el-option v-for="item in depts" :label="item.name" :value="item.code" :key="item.code"/>--> | |
| 16 | +<!-- </el-select>--> | |
| 17 | +<!-- </el-form-item>--> | |
| 18 | + <el-form-item label="会议地点" prop="conferenceSite"> | |
| 19 | + <el-input v-model="queryParams.conferenceSite" placeholder="请输入会议地点"/> | |
| 26 | 20 | </el-form-item> |
| 27 | 21 | <el-form-item> |
| 28 | 22 | <el-button type="cyan" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button> |
| ... | ... | @@ -41,28 +35,28 @@ |
| 41 | 35 | >新增 |
| 42 | 36 | </el-button> |
| 43 | 37 | </el-col> |
| 44 | - <el-col :span="1.5"> | |
| 45 | - <el-button | |
| 46 | - type="success" | |
| 47 | - icon="el-icon-edit" | |
| 48 | - size="mini" | |
| 49 | - :disabled="single" | |
| 50 | - @click="handleUpdate" | |
| 51 | - v-hasPermi="['office:conference:edit']" | |
| 52 | - >修改 | |
| 53 | - </el-button> | |
| 54 | - </el-col> | |
| 55 | - <el-col :span="1.5"> | |
| 56 | - <el-button | |
| 57 | - type="danger" | |
| 58 | - icon="el-icon-delete" | |
| 59 | - size="mini" | |
| 60 | - :disabled="multiple" | |
| 61 | - @click="handleDelete" | |
| 62 | - v-hasPermi="['office:conference:remove']" | |
| 63 | - >删除 | |
| 64 | - </el-button> | |
| 65 | - </el-col> | |
| 38 | +<!-- <el-col :span="1.5">--> | |
| 39 | +<!-- <el-button--> | |
| 40 | +<!-- type="success"--> | |
| 41 | +<!-- icon="el-icon-edit"--> | |
| 42 | +<!-- size="mini"--> | |
| 43 | +<!-- :disabled="single"--> | |
| 44 | +<!-- @click="handleUpdate"--> | |
| 45 | +<!-- v-hasPermi="['office:conference:edit']"--> | |
| 46 | +<!-- >修改--> | |
| 47 | +<!-- </el-button>--> | |
| 48 | +<!-- </el-col>--> | |
| 49 | +<!-- <el-col :span="1.5">--> | |
| 50 | +<!-- <el-button--> | |
| 51 | +<!-- type="danger"--> | |
| 52 | +<!-- icon="el-icon-delete"--> | |
| 53 | +<!-- size="mini"--> | |
| 54 | +<!-- :disabled="multiple"--> | |
| 55 | +<!-- @click="handleDelete"--> | |
| 56 | +<!-- v-hasPermi="['office:conference:remove']"--> | |
| 57 | +<!-- >删除--> | |
| 58 | +<!-- </el-button>--> | |
| 59 | +<!-- </el-col>--> | |
| 66 | 60 | <el-col :span="1.5"> |
| 67 | 61 | <el-button |
| 68 | 62 | type="warning" |
| ... | ... | @@ -81,6 +75,16 @@ |
| 81 | 75 | <el-table-column label="会议时间" align="center" prop="conferenceTime"/> |
| 82 | 76 | <el-table-column label="会议地点" align="center" prop="conferenceSite"/> |
| 83 | 77 | <el-table-column label="参会人员" align="center" prop="staff"/> |
| 78 | +<!-- <el-table-column label="发起部门" align="center" prop="deptId">--> | |
| 79 | +<!-- <template slot-scope="scope">--> | |
| 80 | +<!-- <span>{{ parseDept(scope.row.deptId) }}</span>--> | |
| 81 | +<!-- </template>--> | |
| 82 | +<!-- </el-table-column>--> | |
| 83 | + <el-table-column label="审批状态" align="center"> | |
| 84 | + <template slot-scope="scope"> | |
| 85 | + <span>{{parseStatus(scope.row.status)}}</span> | |
| 86 | + </template> | |
| 87 | + </el-table-column> | |
| 84 | 88 | <el-table-column label="操作" align="center" class-name="small-padding fixed-width"> |
| 85 | 89 | <template slot-scope="scope"> |
| 86 | 90 | <el-button |
| ... | ... | @@ -96,17 +100,18 @@ |
| 96 | 100 | type="text" |
| 97 | 101 | icon="el-icon-edit" |
| 98 | 102 | @click="handleUpdate(scope.row)" |
| 103 | + v-if="scope.row.status==2" | |
| 99 | 104 | v-hasPermi="['office:conference:edit']" |
| 100 | 105 | >修改 |
| 101 | 106 | </el-button> |
| 102 | - <el-button | |
| 103 | - size="mini" | |
| 104 | - type="text" | |
| 105 | - icon="el-icon-delete" | |
| 106 | - @click="handleDelete(scope.row)" | |
| 107 | - v-hasPermi="['office:conference:remove']" | |
| 108 | - >删除 | |
| 109 | - </el-button> | |
| 107 | +<!-- <el-button--> | |
| 108 | +<!-- size="mini"--> | |
| 109 | +<!-- type="text"--> | |
| 110 | +<!-- icon="el-icon-delete"--> | |
| 111 | +<!-- @click="handleDelete(scope.row)"--> | |
| 112 | +<!-- v-hasPermi="['office:conference:remove']"--> | |
| 113 | +<!-- >删除--> | |
| 114 | +<!-- </el-button>--> | |
| 110 | 115 | </template> |
| 111 | 116 | </el-table-column> |
| 112 | 117 | </el-table> |
| ... | ... | @@ -227,6 +232,7 @@ import { |
| 227 | 232 | } from "@/api/office/conference"; |
| 228 | 233 | import Editor from '@/components/ZcEditor'; |
| 229 | 234 | import conferenceInfo from "./conferenceInfo"; |
| 235 | +import {getDict} from "@/api/dict"; | |
| 230 | 236 | |
| 231 | 237 | export default { |
| 232 | 238 | name: "Conference", |
| ... | ... | @@ -258,7 +264,6 @@ export default { |
| 258 | 264 | conferenceTime: null, |
| 259 | 265 | conferenceSite: null, |
| 260 | 266 | deptId: null, |
| 261 | - deptName: null, | |
| 262 | 267 | staff: null, |
| 263 | 268 | subject: null, |
| 264 | 269 | content: null, |
| ... | ... | @@ -286,9 +291,14 @@ export default { |
| 286 | 291 | fileEntityList: [], |
| 287 | 292 | openInfo:false, |
| 288 | 293 | idInfo:null, |
| 294 | + depts:[] | |
| 289 | 295 | }; |
| 290 | 296 | }, |
| 291 | 297 | created() { |
| 298 | + let dep = {type:"CSUserDepartmentType"}; | |
| 299 | + getDict(dep).then(res=>{ | |
| 300 | + this.depts = res.result; | |
| 301 | + }); | |
| 292 | 302 | this.getList(); |
| 293 | 303 | }, |
| 294 | 304 | methods: { |
| ... | ... | @@ -316,11 +326,9 @@ export default { |
| 316 | 326 | conferenceTime: null, |
| 317 | 327 | conferenceSite: null, |
| 318 | 328 | deptId: null, |
| 319 | - deptName: null, | |
| 320 | 329 | staff: null, |
| 321 | 330 | subject: null, |
| 322 | 331 | content: null, |
| 323 | - notify: ["1"], | |
| 324 | 332 | createTime: null, |
| 325 | 333 | createBy: null, |
| 326 | 334 | updateTime: null, |
| ... | ... | @@ -348,7 +356,7 @@ export default { |
| 348 | 356 | handleInfo(row){ |
| 349 | 357 | this.reset(); |
| 350 | 358 | this.idInfo = row.id; |
| 351 | - this.title = "请假申请详情"; | |
| 359 | + this.title = "会议管理详情"; | |
| 352 | 360 | this.openInfo = true; |
| 353 | 361 | }, |
| 354 | 362 | /** 新增按钮操作 */ |
| ... | ... | @@ -502,6 +510,14 @@ export default { |
| 502 | 510 | a.setAttribute('href', process.env.VUE_APP_BASE_API + url); |
| 503 | 511 | a.click() |
| 504 | 512 | }, |
| 513 | + parseDept(deptId){ | |
| 514 | + let dept = this.depts.filter(item=>{ | |
| 515 | + if(item.code == deptId){ | |
| 516 | + return item; | |
| 517 | + } | |
| 518 | + }); | |
| 519 | + return dept[0].name | |
| 520 | + } | |
| 505 | 521 | } |
| 506 | 522 | }; |
| 507 | 523 | </script> | ... | ... |
trash-ui/src/views/office/handle/handleInfo.vue
| 1 | 1 | <template> |
| 2 | - <el-form ref="form" :model="form" :rules="rules" label-width="110px"> | |
| 2 | + <el-form ref="form" :model="form" label-width="110px"> | |
| 3 | 3 | <el-form-item label="办文办事类型" prop="type"> |
| 4 | - <el-select v-model="form.type" placeholder="请选择办文办事类型" style="width: 100%"> | |
| 4 | + <el-select v-model="form.type" placeholder="请选择办文办事类型" style="width: 100%" :disabled="true"> | |
| 5 | 5 | <el-option label="传阅学习类" value="0" /> |
| 6 | 6 | <el-option label="公文批办类" value="1" /> |
| 7 | 7 | <el-option label="热线举报类" value="2" /> |
| 8 | 8 | <el-option label="上级信访类" value="3" /> |
| 9 | + <el-option label="现场信访类" value="4" /> | |
| 9 | 10 | </el-select> |
| 10 | 11 | </el-form-item> |
| 11 | 12 | <!-- 公文类 --> |
| 12 | 13 | <el-form-item label="来文单位" prop="company" v-if="form.type==0 || form.type==1"> |
| 13 | - <el-input v-model="form.company" placeholder="请输入来文单位" /> | |
| 14 | + <el-input v-model="form.company" placeholder="请输入来文单位" :disabled="true" /> | |
| 14 | 15 | </el-form-item> |
| 15 | 16 | <el-form-item label="收文时间" prop="receiveTime" v-if="form.type==0 || form.type==1"> |
| 16 | 17 | <el-date-picker clearable size="small" style="width: 100%" |
| 17 | 18 | v-model="form.receiveTime" |
| 18 | - type="date" | |
| 19 | - value-format="yyyy-MM-dd" | |
| 19 | + type="datetime" | |
| 20 | + :disabled="true" | |
| 21 | + value-format="yyyy-MM-dd HH:mm:ss" | |
| 20 | 22 | placeholder="选择收文时间"> |
| 21 | 23 | </el-date-picker> |
| 22 | 24 | </el-form-item> |
| 23 | 25 | <el-form-item label="文件标题" prop="title" v-if="form.type==0 || form.type==1"> |
| 24 | - <el-input v-model="form.title" placeholder="请输入文件标题" /> | |
| 26 | + <el-input v-model="form.title" placeholder="请输入文件标题" :disabled="true" /> | |
| 25 | 27 | </el-form-item> |
| 26 | 28 | <!-- 信访类 --> |
| 27 | - <el-form-item label="信访单位(人)" prop="sendPerson" v-if="form.type==2 || form.type==3"> | |
| 28 | - <el-input v-model="form.sendPerson" placeholder="请输入信访单位(人)" /> | |
| 29 | + <el-form-item label="信访单位(人)" prop="sendPerson" v-if="form.type==2 || form.type==3|| form.type==4"> | |
| 30 | + <el-input v-model="form.sendPerson" placeholder="请输入信访单位(人)" :disabled="true" /> | |
| 29 | 31 | </el-form-item> |
| 30 | - <el-form-item label="信访日期" prop="sendDate" v-if="form.type==2 || form.type==3"> | |
| 32 | + <el-form-item label="信访日期" prop="sendDate" v-if="form.type==2 || form.type==3|| form.type==4"> | |
| 31 | 33 | <el-date-picker clearable size="small" style="width: 100%" |
| 32 | 34 | v-model="form.sendDate" |
| 33 | 35 | type="date" |
| 36 | + :disabled="true" | |
| 34 | 37 | value-format="yyyy-MM-dd" |
| 35 | 38 | placeholder="选择信访日期"> |
| 36 | 39 | </el-date-picker> |
| 37 | 40 | </el-form-item> |
| 38 | - <el-form-item label="诉求" prop="appeal" v-if="form.type==2 || form.type==3"> | |
| 39 | - <el-input v-model="form.appeal" type="textarea" placeholder="请输入内容" :rows="6"/> | |
| 41 | + <el-form-item label="诉求" prop="appeal" v-if="form.type==2 || form.type==3|| form.type==4"> | |
| 42 | + <el-input v-model="form.appeal" type="textarea" placeholder="请输入内容" :rows="6" :disabled="true"/> | |
| 40 | 43 | </el-form-item> |
| 41 | 44 | <!-- 意见处 --> |
| 42 | 45 | <!-- <el-form-item label="办理意见" prop="opinion">--> | ... | ... |
trash-ui/src/views/office/handle/index.vue
| ... | ... | @@ -7,6 +7,7 @@ |
| 7 | 7 | <el-option label="公文批办类" value="1" /> |
| 8 | 8 | <el-option label="热线举报类" value="2" /> |
| 9 | 9 | <el-option label="上级信访类" value="3" /> |
| 10 | + <el-option label="现场信访类" value="4" /> | |
| 10 | 11 | </el-select> |
| 11 | 12 | </el-form-item> |
| 12 | 13 | <el-form-item label="来文单位" prop="company"> |
| ... | ... | @@ -68,26 +69,26 @@ |
| 68 | 69 | v-hasPermi="['office:handle:add']" |
| 69 | 70 | >新增</el-button> |
| 70 | 71 | </el-col> |
| 71 | - <el-col :span="1.5"> | |
| 72 | - <el-button | |
| 73 | - type="success" | |
| 74 | - icon="el-icon-edit" | |
| 75 | - size="mini" | |
| 76 | - :disabled="single" | |
| 77 | - @click="handleUpdate" | |
| 78 | - v-hasPermi="['office:handle:edit']" | |
| 79 | - >修改</el-button> | |
| 80 | - </el-col> | |
| 81 | - <el-col :span="1.5"> | |
| 82 | - <el-button | |
| 83 | - type="danger" | |
| 84 | - icon="el-icon-delete" | |
| 85 | - size="mini" | |
| 86 | - :disabled="multiple" | |
| 87 | - @click="handleDelete" | |
| 88 | - v-hasPermi="['office:handle:remove']" | |
| 89 | - >删除</el-button> | |
| 90 | - </el-col> | |
| 72 | +<!-- <el-col :span="1.5">--> | |
| 73 | +<!-- <el-button--> | |
| 74 | +<!-- type="success"--> | |
| 75 | +<!-- icon="el-icon-edit"--> | |
| 76 | +<!-- size="mini"--> | |
| 77 | +<!-- :disabled="single"--> | |
| 78 | +<!-- @click="handleUpdate"--> | |
| 79 | +<!-- v-hasPermi="['office:handle:edit']"--> | |
| 80 | +<!-- >修改</el-button>--> | |
| 81 | +<!-- </el-col>--> | |
| 82 | +<!-- <el-col :span="1.5">--> | |
| 83 | +<!-- <el-button--> | |
| 84 | +<!-- type="danger"--> | |
| 85 | +<!-- icon="el-icon-delete"--> | |
| 86 | +<!-- size="mini"--> | |
| 87 | +<!-- :disabled="multiple"--> | |
| 88 | +<!-- @click="handleDelete"--> | |
| 89 | +<!-- v-hasPermi="['office:handle:remove']"--> | |
| 90 | +<!-- >删除</el-button>--> | |
| 91 | +<!-- </el-col>--> | |
| 91 | 92 | <el-col :span="1.5"> |
| 92 | 93 | <el-button |
| 93 | 94 | type="warning" |
| ... | ... | @@ -121,6 +122,11 @@ |
| 121 | 122 | <el-table-column label="信访日期" align="center" prop="sendDate" /> |
| 122 | 123 | <el-table-column label="诉求" align="center" prop="appeal" /> |
| 123 | 124 | </el-table-column> |
| 125 | + <el-table-column label="审批状态" align="center" prop="status"> | |
| 126 | + <template slot-scope="scope"> | |
| 127 | + <span>{{parseStatus(scope.row.status)}}</span> | |
| 128 | + </template> | |
| 129 | + </el-table-column> | |
| 124 | 130 | <el-table-column label="操作" align="center" class-name="small-padding fixed-width"> |
| 125 | 131 | <template slot-scope="scope"> |
| 126 | 132 | <el-button |
| ... | ... | @@ -135,15 +141,16 @@ |
| 135 | 141 | type="text" |
| 136 | 142 | icon="el-icon-edit" |
| 137 | 143 | @click="handleUpdate(scope.row)" |
| 144 | + v-if="scope.row.status==2" | |
| 138 | 145 | v-hasPermi="['office:handle:edit']" |
| 139 | 146 | >修改</el-button> |
| 140 | - <el-button | |
| 141 | - size="mini" | |
| 142 | - type="text" | |
| 143 | - icon="el-icon-delete" | |
| 144 | - @click="handleDelete(scope.row)" | |
| 145 | - v-hasPermi="['office:handle:remove']" | |
| 146 | - >删除</el-button> | |
| 147 | +<!-- <el-button--> | |
| 148 | +<!-- size="mini"--> | |
| 149 | +<!-- type="text"--> | |
| 150 | +<!-- icon="el-icon-delete"--> | |
| 151 | +<!-- @click="handleDelete(scope.row)"--> | |
| 152 | +<!-- v-hasPermi="['office:handle:remove']"--> | |
| 153 | +<!-- >删除</el-button>--> | |
| 147 | 154 | </template> |
| 148 | 155 | </el-table-column> |
| 149 | 156 | </el-table> |
| ... | ... | @@ -165,6 +172,7 @@ |
| 165 | 172 | <el-option label="公文批办类" value="1" /> |
| 166 | 173 | <el-option label="热线举报类" value="2" /> |
| 167 | 174 | <el-option label="上级信访类" value="3" /> |
| 175 | + <el-option label="现场信访类" value="4" /> | |
| 168 | 176 | </el-select> |
| 169 | 177 | </el-form-item> |
| 170 | 178 | <!-- 公文类 --> |
| ... | ... | @@ -174,8 +182,8 @@ |
| 174 | 182 | <el-form-item label="收文时间" prop="receiveTime" v-if="form.type==0 || form.type==1"> |
| 175 | 183 | <el-date-picker clearable size="small" style="width: 100%" |
| 176 | 184 | v-model="form.receiveTime" |
| 177 | - type="date" | |
| 178 | - value-format="yyyy-MM-dd" | |
| 185 | + type="datetime" | |
| 186 | + value-format="yyyy-MM-dd HH:mm:ss" | |
| 179 | 187 | placeholder="选择收文时间"> |
| 180 | 188 | </el-date-picker> |
| 181 | 189 | </el-form-item> |
| ... | ... | @@ -183,10 +191,10 @@ |
| 183 | 191 | <el-input v-model="form.title" placeholder="请输入文件标题" /> |
| 184 | 192 | </el-form-item> |
| 185 | 193 | <!-- 信访类 --> |
| 186 | - <el-form-item label="信访单位(人)" prop="sendPerson" v-if="form.type==2 || form.type==3"> | |
| 194 | + <el-form-item label="信访单位(人)" prop="sendPerson" v-if="form.type==2 || form.type==3|| form.type==4"> | |
| 187 | 195 | <el-input v-model="form.sendPerson" placeholder="请输入信访单位(人)" /> |
| 188 | 196 | </el-form-item> |
| 189 | - <el-form-item label="信访日期" prop="sendDate" v-if="form.type==2 || form.type==3"> | |
| 197 | + <el-form-item label="信访日期" prop="sendDate" v-if="form.type==2 || form.type==3|| form.type==4"> | |
| 190 | 198 | <el-date-picker clearable size="small" style="width: 100%" |
| 191 | 199 | v-model="form.sendDate" |
| 192 | 200 | type="date" |
| ... | ... | @@ -194,7 +202,7 @@ |
| 194 | 202 | placeholder="选择信访日期"> |
| 195 | 203 | </el-date-picker> |
| 196 | 204 | </el-form-item> |
| 197 | - <el-form-item label="诉求" prop="appeal" v-if="form.type==2 || form.type==3"> | |
| 205 | + <el-form-item label="诉求" prop="appeal" v-if="form.type==2 || form.type==3|| form.type==4"> | |
| 198 | 206 | <el-input v-model="form.appeal" type="textarea" placeholder="请输入内容" :rows="6"/> |
| 199 | 207 | </el-form-item> |
| 200 | 208 | <!-- 意见处 --> |
| ... | ... | @@ -542,6 +550,8 @@ export default { |
| 542 | 550 | return "热线举报"; |
| 543 | 551 | }else if(type==3){ |
| 544 | 552 | return "上级信访" |
| 553 | + }else if(type==4){ | |
| 554 | + return "现场信访" | |
| 545 | 555 | } |
| 546 | 556 | }, |
| 547 | 557 | changeType(){ |
| ... | ... | @@ -555,7 +565,7 @@ export default { |
| 555 | 565 | this.rules.sendPerson[0].required = false; |
| 556 | 566 | this.rules.sendDate[0].required = false; |
| 557 | 567 | this.rules.appeal[0].required = false; |
| 558 | - }else if(this.form.type==2 || this.form.type==3){ | |
| 568 | + }else if(this.form.type==2 || this.form.type==3 || this.form.type==4 ){ | |
| 559 | 569 | this.form.title = null; |
| 560 | 570 | this.form.company = null; |
| 561 | 571 | this.form.receiveTime = null; | ... | ... |
trash-ui/src/views/office/leaveApplication/index.vue
| ... | ... | @@ -10,34 +10,21 @@ |
| 10 | 10 | @keyup.enter.native="handleQuery" |
| 11 | 11 | /> |
| 12 | 12 | </el-form-item> |
| 13 | - <el-form-item label="部门id" prop="deptId"> | |
| 14 | - <el-select v-model="queryParams.deptId" placeholder="请选择部门id" clearable size="small"> | |
| 13 | + <el-form-item label="申请部门" prop="deptId"> | |
| 14 | + <el-select v-model="queryParams.deptId" placeholder="请选择部门" clearable size="small"> | |
| 15 | 15 | <el-option label="请选择字典生成" value=""/> |
| 16 | 16 | </el-select> |
| 17 | 17 | </el-form-item> |
| 18 | - <el-form-item label="职务id" prop="positionId"> | |
| 19 | - <el-select v-model="queryParams.positionId" placeholder="请选择职务id" clearable size="small"> | |
| 20 | - <el-option label="请选择字典生成" value=""/> | |
| 21 | - </el-select> | |
| 22 | - </el-form-item> | |
| 23 | - <el-form-item label="出生日期" prop="birthdate"> | |
| 24 | - <el-date-picker clearable size="small" style="width: 200px" | |
| 25 | - v-model="queryParams.birthdate" | |
| 26 | - type="date" | |
| 27 | - value-format="yyyy-MM-dd" | |
| 28 | - placeholder="选择出生日期"> | |
| 29 | - </el-date-picker> | |
| 30 | - </el-form-item> | |
| 31 | 18 | <el-form-item label="请假类型" prop="type"> |
| 32 | 19 | <el-select v-model="queryParams.type" placeholder="请选择请假类型" clearable size="small"> |
| 33 | - <el-option label="请选择字典生成" value=""/> | |
| 34 | - </el-select> | |
| 35 | - </el-form-item> | |
| 36 | - <el-form-item label="审批状态" prop="status"> | |
| 37 | - <el-select v-model="queryParams.status" placeholder="请选择审批状态" clearable size="small"> | |
| 38 | - <el-option label="审核中" value="0"/> | |
| 39 | - <el-option label="审核通过" value="1"/> | |
| 40 | - <el-option label="被驳回" value="2"/> | |
| 20 | + <el-option label="事假" value="事假"/> | |
| 21 | + <el-option label="病假" value="病假"/> | |
| 22 | + <el-option label="年假" value="年假"/> | |
| 23 | + <el-option label="婚假" value="婚假"/> | |
| 24 | + <el-option label="产假" value="产假"/> | |
| 25 | + <el-option label="丧假" value="丧假"/> | |
| 26 | + <el-option label="探亲假" value="探亲假"/> | |
| 27 | + <el-option label="护理假" value="护理假"/> | |
| 41 | 28 | </el-select> |
| 42 | 29 | </el-form-item> |
| 43 | 30 | <el-form-item> |
| ... | ... | @@ -57,17 +44,17 @@ |
| 57 | 44 | >新增 |
| 58 | 45 | </el-button> |
| 59 | 46 | </el-col> |
| 60 | - <el-col :span="1.5"> | |
| 61 | - <el-button | |
| 62 | - type="success" | |
| 63 | - icon="el-icon-edit" | |
| 64 | - size="mini" | |
| 65 | - :disabled="single" | |
| 66 | - @click="handleUpdate" | |
| 67 | - v-hasPermi="['office:leaveApplication:edit']" | |
| 68 | - >修改 | |
| 69 | - </el-button> | |
| 70 | - </el-col> | |
| 47 | +<!-- <el-col :span="1.5">--> | |
| 48 | +<!-- <el-button--> | |
| 49 | +<!-- type="success"--> | |
| 50 | +<!-- icon="el-icon-edit"--> | |
| 51 | +<!-- size="mini"--> | |
| 52 | +<!-- :disabled="single"--> | |
| 53 | +<!-- @click="handleUpdate"--> | |
| 54 | +<!-- v-hasPermi="['office:leaveApplication:edit']"--> | |
| 55 | +<!-- >修改--> | |
| 56 | +<!-- </el-button>--> | |
| 57 | +<!-- </el-col>--> | |
| 71 | 58 | <!-- <el-col :span="1.5">--> |
| 72 | 59 | <!-- <el-button--> |
| 73 | 60 | <!-- type="danger"--> | ... | ... |
trash-ui/src/views/office/logistics/articleRequest.vue
trash-ui/src/views/office/logistics/index.vue
| ... | ... | @@ -2,18 +2,19 @@ |
| 2 | 2 | <div class="app-container"> |
| 3 | 3 | <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="105px"> |
| 4 | 4 | <el-form-item label="申请部门" prop="deptId"> |
| 5 | - <el-select v-model="queryParams.deptId" placeholder="请输入申请部门" clearable size="small"> | |
| 6 | - <el-option label="部门1" value="1" /> | |
| 7 | - <el-option label="部门2" value="2" /> | |
| 5 | + <el-select v-model="queryParams.deptId" placeholder="请输入申请部门" style="width: 100%"> | |
| 6 | + <el-option label="全部" value=""/> | |
| 7 | + <el-option v-for="item in depts" :label="item.name" :value="item.code" :key="item.code"/> | |
| 8 | 8 | </el-select> |
| 9 | 9 | </el-form-item> |
| 10 | - <el-form-item label="用章类型" prop="sealType"> | |
| 10 | + <el-form-item label="用章类型" prop="sealType" v-if="type==0"> | |
| 11 | 11 | <el-select v-model="queryParams.sealType" placeholder="请选择用章类型" clearable size="small"> |
| 12 | - <el-option label="用章类型1" value="用章类型1" /> | |
| 13 | - <el-option label="用章类型2" value="用章类型2" /> | |
| 12 | + <el-option label="党委用章" value="党委用章"/> | |
| 13 | + <el-option label="行政用章" value="行政用章"/> | |
| 14 | + <el-option label="工会用章" value="工会用章"/> | |
| 14 | 15 | </el-select> |
| 15 | 16 | </el-form-item> |
| 16 | - <el-form-item label="物品申请人" prop="staff"> | |
| 17 | + <el-form-item label="物品申请人" prop="staff" v-if="type!=0"> | |
| 17 | 18 | <el-input |
| 18 | 19 | v-model="queryParams.staff" |
| 19 | 20 | placeholder="请输入申请人" |
| ... | ... | @@ -22,15 +23,15 @@ |
| 22 | 23 | @keyup.enter.native="handleQuery" |
| 23 | 24 | /> |
| 24 | 25 | </el-form-item> |
| 25 | - <el-form-item label="物品申请日期" prop="useDate"> | |
| 26 | + <el-form-item label="物品申请日期" prop="useDate" v-if="type!=0"> | |
| 26 | 27 | <el-date-picker clearable size="small" style="width: 200px" |
| 27 | - v-model="queryParams.useDate" | |
| 28 | - type="date" | |
| 29 | - value-format="yyyy-MM-dd" | |
| 30 | - placeholder="选择申请日期"> | |
| 28 | + v-model="queryParams.useDate" | |
| 29 | + type="date" | |
| 30 | + value-format="yyyy-MM-dd" | |
| 31 | + placeholder="选择申请日期"> | |
| 31 | 32 | </el-date-picker> |
| 32 | 33 | </el-form-item> |
| 33 | - <el-form-item label="物品名称" prop="goodsName"> | |
| 34 | + <el-form-item label="物品名称" prop="goodsName" v-if="type!=0"> | |
| 34 | 35 | <el-input |
| 35 | 36 | v-model="queryParams.goodsName" |
| 36 | 37 | placeholder="请输入物品名称" |
| ... | ... | @@ -53,28 +54,30 @@ |
| 53 | 54 | size="mini" |
| 54 | 55 | @click="handleAdd" |
| 55 | 56 | v-hasPermi="['office:logistics:add']" |
| 56 | - >新增</el-button> | |
| 57 | - </el-col> | |
| 58 | - <el-col :span="1.5"> | |
| 59 | - <el-button | |
| 60 | - type="success" | |
| 61 | - icon="el-icon-edit" | |
| 62 | - size="mini" | |
| 63 | - :disabled="single" | |
| 64 | - @click="handleUpdate" | |
| 65 | - v-hasPermi="['office:logistics:edit']" | |
| 66 | - >修改</el-button> | |
| 67 | - </el-col> | |
| 68 | - <el-col :span="1.5"> | |
| 69 | - <el-button | |
| 70 | - type="danger" | |
| 71 | - icon="el-icon-delete" | |
| 72 | - size="mini" | |
| 73 | - :disabled="multiple" | |
| 74 | - @click="handleDelete" | |
| 75 | - v-hasPermi="['office:logistics:remove']" | |
| 76 | - >删除</el-button> | |
| 57 | + >新增 | |
| 58 | + </el-button> | |
| 77 | 59 | </el-col> |
| 60 | +<!-- <el-col :span="1.5">--> | |
| 61 | +<!-- <el-button--> | |
| 62 | +<!-- type="success"--> | |
| 63 | +<!-- icon="el-icon-edit"--> | |
| 64 | +<!-- size="mini"--> | |
| 65 | +<!-- :disabled="single"--> | |
| 66 | +<!-- @click="handleUpdate"--> | |
| 67 | +<!-- v-hasPermi="['office:logistics:edit']"--> | |
| 68 | +<!-- >修改--> | |
| 69 | +<!-- </el-button>--> | |
| 70 | +<!-- </el-col>--> | |
| 71 | + <!-- <el-col :span="1.5">--> | |
| 72 | + <!-- <el-button--> | |
| 73 | + <!-- type="danger"--> | |
| 74 | + <!-- icon="el-icon-delete"--> | |
| 75 | + <!-- size="mini"--> | |
| 76 | + <!-- :disabled="multiple"--> | |
| 77 | + <!-- @click="handleDelete"--> | |
| 78 | + <!-- v-hasPermi="['office:logistics:remove']"--> | |
| 79 | + <!-- >删除</el-button>--> | |
| 80 | + <!-- </el-col>--> | |
| 78 | 81 | <el-col :span="1.5"> |
| 79 | 82 | <el-button |
| 80 | 83 | type="warning" |
| ... | ... | @@ -82,64 +85,73 @@ |
| 82 | 85 | size="mini" |
| 83 | 86 | @click="handleExport" |
| 84 | 87 | v-hasPermi="['office:logistics:export']" |
| 85 | - >导出</el-button> | |
| 88 | + >导出 | |
| 89 | + </el-button> | |
| 86 | 90 | </el-col> |
| 87 | - <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> | |
| 91 | + <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> | |
| 88 | 92 | </el-row> |
| 89 | 93 | |
| 90 | 94 | <el-table v-loading="loading" :data="logisticsList" @selection-change="handleSelectionChange"> |
| 91 | - <el-table-column type="selection" width="55" align="center" /> | |
| 92 | - <el-table-column label="申请类型" align="center" prop="type" /> | |
| 93 | - <el-table-column label="申请部门" align="center" prop="deptId" /> | |
| 95 | + <el-table-column type="selection" width="55" align="center"/> | |
| 96 | + <el-table-column label="申请部门" align="center" prop="deptId"> | |
| 97 | + <template slot-scope="scope"> | |
| 98 | + <span>{{ parseDept(scope.row.deptId) }}</span> | |
| 99 | + </template> | |
| 100 | + </el-table-column> | |
| 94 | 101 | <!-- 用章申请 --> |
| 95 | - <el-table-column label="用章申请" align="center"> | |
| 96 | - <el-table-column label="用章类型" align="center" prop="sealType" /> | |
| 97 | - <el-table-column label="更新时间" align="center" prop="sealUpdateTime" width="180"> | |
| 98 | - <template slot-scope="scope"> | |
| 99 | - <span>{{ parseTime(scope.row.sealUpdateTime, '{y}-{m}-{d}') }}</span> | |
| 100 | - </template> | |
| 101 | - </el-table-column> | |
| 102 | - <el-table-column label="结束时间" align="center" prop="sealEndTime" width="180"> | |
| 103 | - <template slot-scope="scope"> | |
| 104 | - <span>{{ parseTime(scope.row.sealEndTime, '{y}-{m}-{d}') }}</span> | |
| 105 | - </template> | |
| 106 | - </el-table-column> | |
| 107 | - <el-table-column label="用途" align="center" prop="purpose" /> | |
| 102 | + <el-table-column label="用章类型" align="center" prop="sealType" v-if="type==0"/> | |
| 103 | + <el-table-column label="更新时间" align="center" prop="sealUpdateTime" width="180" v-if="type==0"> | |
| 104 | + <template slot-scope="scope"> | |
| 105 | + <span>{{ parseTime(scope.row.sealUpdateTime, '{y}-{m}-{d}') }}</span> | |
| 106 | + </template> | |
| 107 | + </el-table-column> | |
| 108 | + <el-table-column label="结束时间" align="center" prop="sealEndTime" width="180" v-if="type==0"> | |
| 109 | + <template slot-scope="scope"> | |
| 110 | + <span>{{ parseTime(scope.row.sealEndTime, '{y}-{m}-{d}') }}</span> | |
| 111 | + </template> | |
| 108 | 112 | </el-table-column> |
| 113 | + <el-table-column label="用途" align="center" prop="purpose" v-if="type==0"/> | |
| 109 | 114 | <!-- 物品申请或物品采购申请 --> |
| 110 | - <el-table-column label="物品申请或物品采购申请" align="center"> | |
| 111 | - <el-table-column label="申请人" align="center" prop="staff" /> | |
| 112 | - <el-table-column label="申请日期" align="center" prop="useDate" width="180"> | |
| 113 | - <template slot-scope="scope"> | |
| 114 | - <span>{{ parseTime(scope.row.useDate, '{y}-{m}-{d}') }}</span> | |
| 115 | - </template> | |
| 116 | - </el-table-column> | |
| 117 | - <el-table-column label="物品名称" align="center" prop="goodsName" /> | |
| 118 | - <el-table-column label="数量" align="center" prop="quantity" /> | |
| 115 | + <el-table-column label="申请人" align="center" prop="staff" v-if="type!=0"/> | |
| 116 | + <el-table-column label="申请日期" align="center" prop="useDate" width="180" v-if="type!=0"> | |
| 117 | + <template slot-scope="scope"> | |
| 118 | + <span>{{ parseTime(scope.row.useDate, '{y}-{m}-{d}') }}</span> | |
| 119 | + </template> | |
| 120 | + </el-table-column> | |
| 121 | + <el-table-column label="物品名称" align="center" prop="goodsName" v-if="type!=0"/> | |
| 122 | + <el-table-column label="数量" align="center" prop="quantity" v-if="type!=0"/> | |
| 123 | + <el-table-column label="审批状态" align="center"> | |
| 124 | + <template slot-scope="scope"> | |
| 125 | + <span>{{parseStatus(scope.row.status)}}</span> | |
| 126 | + </template> | |
| 119 | 127 | </el-table-column> |
| 120 | 128 | <el-table-column label="操作" align="center" class-name="small-padding fixed-width"> |
| 121 | 129 | <template slot-scope="scope"> |
| 122 | 130 | <el-button |
| 123 | 131 | size="mini" |
| 124 | 132 | type="text" |
| 125 | - icon="el-icon-edit" | |
| 133 | + icon="el-icon-view" | |
| 126 | 134 | @click="handleInfo(scope.row)" |
| 127 | 135 | v-hasPermi="['office:logistics:edit']" |
| 128 | - >详情</el-button> | |
| 136 | + >详情 | |
| 137 | + </el-button> | |
| 129 | 138 | <el-button |
| 130 | 139 | size="mini" |
| 131 | 140 | type="text" |
| 132 | 141 | icon="el-icon-edit" |
| 133 | 142 | @click="handleUpdate(scope.row)" |
| 143 | + v-if="scope.row.status==2" | |
| 134 | 144 | v-hasPermi="['office:logistics:edit']" |
| 135 | - >修改</el-button> | |
| 136 | - <el-button | |
| 137 | - size="mini" | |
| 138 | - type="text" | |
| 139 | - icon="el-icon-delete" | |
| 140 | - @click="handleDelete(scope.row)" | |
| 141 | - v-hasPermi="['office:logistics:remove']" | |
| 142 | - >删除</el-button> | |
| 145 | + >修改 | |
| 146 | + </el-button> | |
| 147 | +<!-- <el-button--> | |
| 148 | +<!-- size="mini"--> | |
| 149 | +<!-- type="text"--> | |
| 150 | +<!-- icon="el-icon-delete"--> | |
| 151 | +<!-- @click="handleDelete(scope.row)"--> | |
| 152 | +<!-- v-hasPermi="['office:logistics:remove']"--> | |
| 153 | +<!-- >删除--> | |
| 154 | +<!-- </el-button>--> | |
| 143 | 155 | </template> |
| 144 | 156 | </el-table-column> |
| 145 | 157 | </el-table> |
| ... | ... | @@ -153,61 +165,54 @@ |
| 153 | 165 | /> |
| 154 | 166 | |
| 155 | 167 | <!-- 添加或修改后勤管理对话框 --> |
| 156 | - <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body> | |
| 168 | + <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body :close-on-click-modal="false"> | |
| 157 | 169 | <el-form ref="form" :model="form" :rules="rules" label-width="80px"> |
| 158 | - <el-form-item label="申请类型" prop="type"> | |
| 159 | - <el-select v-model="form.type" placeholder="请选择申请类型" style="width: 100%" @change="changeType()"> | |
| 160 | - <el-option label="用章申请" value="用章申请" /> | |
| 161 | - <el-option label="物品申请" value="物品申请" /> | |
| 162 | - <el-option label="物品采购申请" value="物品采购申请" /> | |
| 163 | - </el-select> | |
| 164 | - </el-form-item> | |
| 165 | 170 | <el-form-item label="申请部门" prop="deptId"> |
| 166 | 171 | <el-select v-model="form.deptId" placeholder="请输入申请部门" style="width: 100%"> |
| 167 | - <el-option label="部门1" value="1" /> | |
| 168 | - <el-option label="部门2" value="2" /> | |
| 172 | + <el-option v-for="item in depts" :label="item.name" :value="item.code" :key="item.code"/> | |
| 169 | 173 | </el-select> |
| 170 | 174 | </el-form-item> |
| 171 | - <el-form-item label="用章类型" prop="sealType" v-if="form.type=='用章申请'"> | |
| 175 | + <el-form-item label="用章类型" prop="sealType" v-if="type==0"> | |
| 172 | 176 | <el-select v-model="form.sealType" placeholder="请选择用章类型" style="width: 100%"> |
| 173 | - <el-option label="用章类型1" value="用章类型1" /> | |
| 174 | - <el-option label="用章类型2" value="用章类型2" /> | |
| 177 | + <el-option label="党委用章" value="党委用章"/> | |
| 178 | + <el-option label="行政用章" value="行政用章"/> | |
| 179 | + <el-option label="工会用章" value="工会用章"/> | |
| 175 | 180 | </el-select> |
| 176 | 181 | </el-form-item> |
| 177 | - <el-form-item label="更新时间" prop="sealUpdateTime" v-if="form.type=='用章申请'"> | |
| 182 | + <el-form-item label="更新时间" prop="sealUpdateTime" v-if="type==0"> | |
| 178 | 183 | <el-date-picker clearable size="small" style="width: 100%" |
| 179 | - v-model="form.sealUpdateTime" | |
| 180 | - type="date" | |
| 181 | - value-format="yyyy-MM-dd" | |
| 182 | - placeholder="选择更新时间"> | |
| 184 | + v-model="form.sealUpdateTime" | |
| 185 | + type="date" | |
| 186 | + value-format="yyyy-MM-dd" | |
| 187 | + placeholder="选择更新时间"> | |
| 183 | 188 | </el-date-picker> |
| 184 | 189 | </el-form-item> |
| 185 | - <el-form-item label="结束时间" prop="sealEndTime" v-if="form.type=='用章申请'"> | |
| 190 | + <el-form-item label="结束时间" prop="sealEndTime" v-if="type==0"> | |
| 186 | 191 | <el-date-picker clearable size="small" style="width: 100%" |
| 187 | - v-model="form.sealEndTime" | |
| 188 | - type="date" | |
| 189 | - value-format="yyyy-MM-dd" | |
| 190 | - placeholder="选择结束时间"> | |
| 192 | + v-model="form.sealEndTime" | |
| 193 | + type="date" | |
| 194 | + value-format="yyyy-MM-dd" | |
| 195 | + placeholder="选择结束时间"> | |
| 191 | 196 | </el-date-picker> |
| 192 | 197 | </el-form-item> |
| 193 | - <el-form-item label="用途" prop="purpose" v-if="form.type=='用章申请'"> | |
| 198 | + <el-form-item label="用途" prop="purpose" v-if="type==0"> | |
| 194 | 199 | <el-input v-model="form.purpose" type="textarea" placeholder="请输入内容" :row="4"/> |
| 195 | 200 | </el-form-item> |
| 196 | - <el-form-item label="申请人" prop="staff" v-if="form.type!='用章申请' && form.type!=null"> | |
| 197 | - <el-input v-model="form.staff" placeholder="请输入申请人" /> | |
| 201 | + <el-form-item label="申请人" prop="staff" v-if="type!=0"> | |
| 202 | + <el-input v-model="form.staff" placeholder="请输入申请人"/> | |
| 198 | 203 | </el-form-item> |
| 199 | - <el-form-item label="申请日期" prop="useDate" v-if="form.type!='用章申请' && form.type!=null"> | |
| 204 | + <el-form-item label="申请日期" prop="useDate" v-if="type!=0"> | |
| 200 | 205 | <el-date-picker clearable size="small" style="width: 100%" |
| 201 | - v-model="form.useDate" | |
| 202 | - type="date" | |
| 203 | - value-format="yyyy-MM-dd" | |
| 204 | - placeholder="选择申请日期"> | |
| 206 | + v-model="form.useDate" | |
| 207 | + type="date" | |
| 208 | + value-format="yyyy-MM-dd" | |
| 209 | + placeholder="选择申请日期"> | |
| 205 | 210 | </el-date-picker> |
| 206 | 211 | </el-form-item> |
| 207 | - <el-form-item label="物品名称" prop="goodsName" v-if="form.type!='用章申请' && form.type!=null"> | |
| 208 | - <el-input v-model="form.goodsName" placeholder="请输入物品名称" /> | |
| 212 | + <el-form-item label="物品名称" prop="goodsName" v-if="type!=0"> | |
| 213 | + <el-input v-model="form.goodsName" placeholder="请输入物品名称"/> | |
| 209 | 214 | </el-form-item> |
| 210 | - <el-form-item label="数量" prop="quantity" v-if="form.type!='用章申请' && form.type!=null"> | |
| 215 | + <el-form-item label="数量" prop="quantity" v-if="type!=0"> | |
| 211 | 216 | <el-input v-model="form.quantity" placeholder="请输入数量" |
| 212 | 217 | @input="form.quantity=form.quantity.replace(/[^0-9]/g,'');" |
| 213 | 218 | /> |
| ... | ... | @@ -218,7 +223,7 @@ |
| 218 | 223 | <el-button @click="cancel">取 消</el-button> |
| 219 | 224 | </div> |
| 220 | 225 | </el-dialog> |
| 221 | - <el-dialog :title="title" :visible.sync="openInfo" width="500px" append-to-body> | |
| 226 | + <el-dialog :title="title" :visible.sync="openInfo" width="500px" append-to-body :close-on-click-modal="false"> | |
| 222 | 227 | <logisticsInfo :idInfo="idInfo" @refresh="getList" v-if="openInfo"/> |
| 223 | 228 | <div slot="footer" class="dialog-footer"> |
| 224 | 229 | <el-button @click="cancel">取 消</el-button> |
| ... | ... | @@ -228,8 +233,17 @@ |
| 228 | 233 | </template> |
| 229 | 234 | |
| 230 | 235 | <script> |
| 231 | -import { listLogistics, getLogistics, delLogistics, addLogistics, updateLogistics, exportLogistics } from "@/api/office/logistics"; | |
| 236 | +import { | |
| 237 | + listLogistics, | |
| 238 | + getLogistics, | |
| 239 | + delLogistics, | |
| 240 | + addLogistics, | |
| 241 | + updateLogistics, | |
| 242 | + exportLogistics | |
| 243 | +} from "@/api/office/logistics"; | |
| 232 | 244 | import logisticsInfo from "./logisticsInfo"; |
| 245 | +import {getDict} from "@/api/dict"; | |
| 246 | + | |
| 233 | 247 | export default { |
| 234 | 248 | name: "Logistics", |
| 235 | 249 | props: { |
| ... | ... | @@ -264,7 +278,7 @@ export default { |
| 264 | 278 | queryParams: { |
| 265 | 279 | pageNum: 1, |
| 266 | 280 | pageSize: 10, |
| 267 | - type: null, | |
| 281 | + type: this.type, | |
| 268 | 282 | deptId: null, |
| 269 | 283 | sealType: null, |
| 270 | 284 | staff: null, |
| ... | ... | @@ -275,42 +289,44 @@ export default { |
| 275 | 289 | form: {}, |
| 276 | 290 | // 表单校验 |
| 277 | 291 | rules: { |
| 278 | - type: [ | |
| 279 | - { required: true, message: "必填", trigger: "blur" } | |
| 280 | - ], | |
| 281 | 292 | deptId: [ |
| 282 | - { required: true, message: "必填", trigger: "blur" } | |
| 293 | + {required: true, message: "必填", trigger: "blur"} | |
| 283 | 294 | ], |
| 284 | 295 | sealType: [ |
| 285 | - { required: true, message: "必填", trigger: "change" } | |
| 296 | + {required: true, message: "必填", trigger: "change"} | |
| 286 | 297 | ], |
| 287 | 298 | sealUpdateTime: [ |
| 288 | - { required: true, message: "必填", trigger: "blur" } | |
| 299 | + {required: true, message: "必填", trigger: "blur"} | |
| 289 | 300 | ], |
| 290 | 301 | sealEndTime: [ |
| 291 | - { required: true, message: "必填", trigger: "blur" } | |
| 302 | + {required: true, message: "必填", trigger: "blur"} | |
| 292 | 303 | ], |
| 293 | 304 | purpose: [ |
| 294 | - { required: true, message: "必填", trigger: "blur" } | |
| 305 | + {required: true, message: "必填", trigger: "blur"} | |
| 295 | 306 | ], |
| 296 | 307 | staff: [ |
| 297 | - { required: true, message: "必填", trigger: "blur" } | |
| 308 | + {required: true, message: "必填", trigger: "blur"} | |
| 298 | 309 | ], |
| 299 | 310 | useDate: [ |
| 300 | - { required: true, message: "必填", trigger: "blur" } | |
| 311 | + {required: true, message: "必填", trigger: "blur"} | |
| 301 | 312 | ], |
| 302 | 313 | goodsName: [ |
| 303 | - { required: true, message: "必填", trigger: "blur" } | |
| 314 | + {required: true, message: "必填", trigger: "blur"} | |
| 304 | 315 | ], |
| 305 | 316 | quantity: [ |
| 306 | - { required: true, message: "必填", trigger: "blur" } | |
| 317 | + {required: true, message: "必填", trigger: "blur"} | |
| 307 | 318 | ], |
| 308 | 319 | }, |
| 309 | - openInfo:false, | |
| 310 | - idInfo:null, | |
| 320 | + openInfo: false, | |
| 321 | + idInfo: null, | |
| 322 | + depts:[] | |
| 311 | 323 | }; |
| 312 | 324 | }, |
| 313 | 325 | created() { |
| 326 | + let dep = {type:"CSUserDepartmentType"}; | |
| 327 | + getDict(dep).then(res=>{ | |
| 328 | + this.depts = res.result; | |
| 329 | + }); | |
| 314 | 330 | this.getList(); |
| 315 | 331 | }, |
| 316 | 332 | methods: { |
| ... | ... | @@ -332,8 +348,6 @@ export default { |
| 332 | 348 | // 表单重置 |
| 333 | 349 | reset() { |
| 334 | 350 | this.form = { |
| 335 | - id: null, | |
| 336 | - type: null, | |
| 337 | 351 | deptId: null, |
| 338 | 352 | sealType: null, |
| 339 | 353 | sealUpdateTime: null, |
| ... | ... | @@ -354,6 +368,7 @@ export default { |
| 354 | 368 | /** 搜索按钮操作 */ |
| 355 | 369 | handleQuery() { |
| 356 | 370 | this.queryParams.pageNum = 1; |
| 371 | + this.queryParams.type = this.type; | |
| 357 | 372 | this.getList(); |
| 358 | 373 | }, |
| 359 | 374 | /** 重置按钮操作 */ |
| ... | ... | @@ -364,7 +379,7 @@ export default { |
| 364 | 379 | // 多选框选中数据 |
| 365 | 380 | handleSelectionChange(selection) { |
| 366 | 381 | this.ids = selection.map(item => item.id) |
| 367 | - this.single = selection.length!==1 | |
| 382 | + this.single = selection.length !== 1 | |
| 368 | 383 | this.multiple = !selection.length |
| 369 | 384 | }, |
| 370 | 385 | /** 新增按钮操作 */ |
| ... | ... | @@ -374,7 +389,7 @@ export default { |
| 374 | 389 | this.title = "添加后勤管理"; |
| 375 | 390 | }, |
| 376 | 391 | /** 查看按钮操作 */ |
| 377 | - handleInfo(row){ | |
| 392 | + handleInfo(row) { | |
| 378 | 393 | this.idInfo = row.id; |
| 379 | 394 | this.openInfo = true; |
| 380 | 395 | this.title = "查看后勤管理"; |
| ... | ... | @@ -391,6 +406,7 @@ export default { |
| 391 | 406 | }, |
| 392 | 407 | /** 提交按钮 */ |
| 393 | 408 | submitForm() { |
| 409 | + this.form.type = this.type; | |
| 394 | 410 | this.$refs["form"].validate(valid => { |
| 395 | 411 | if (valid) { |
| 396 | 412 | if (this.form.id != null) { |
| ... | ... | @@ -413,57 +429,65 @@ export default { |
| 413 | 429 | handleDelete(row) { |
| 414 | 430 | const ids = row.id || this.ids; |
| 415 | 431 | this.$confirm('是否确认删除后勤管理编号为"' + ids + '"的数据项?', "警告", { |
| 416 | - confirmButtonText: "确定", | |
| 417 | - cancelButtonText: "取消", | |
| 418 | - type: "warning" | |
| 419 | - }).then(function() { | |
| 420 | - return delLogistics(ids); | |
| 421 | - }).then(() => { | |
| 422 | - this.getList(); | |
| 423 | - this.msgSuccess("删除成功"); | |
| 424 | - }) | |
| 432 | + confirmButtonText: "确定", | |
| 433 | + cancelButtonText: "取消", | |
| 434 | + type: "warning" | |
| 435 | + }).then(function () { | |
| 436 | + return delLogistics(ids); | |
| 437 | + }).then(() => { | |
| 438 | + this.getList(); | |
| 439 | + this.msgSuccess("删除成功"); | |
| 440 | + }) | |
| 425 | 441 | }, |
| 426 | 442 | /** 导出按钮操作 */ |
| 427 | 443 | handleExport() { |
| 428 | 444 | const queryParams = this.queryParams; |
| 429 | 445 | this.$confirm('是否确认导出所有后勤管理数据项?', "警告", { |
| 430 | - confirmButtonText: "确定", | |
| 431 | - cancelButtonText: "取消", | |
| 432 | - type: "warning" | |
| 433 | - }).then(function() { | |
| 434 | - return exportLogistics(queryParams); | |
| 435 | - }).then(response => { | |
| 436 | - this.download(response.message); | |
| 437 | - }) | |
| 446 | + confirmButtonText: "确定", | |
| 447 | + cancelButtonText: "取消", | |
| 448 | + type: "warning" | |
| 449 | + }).then(function () { | |
| 450 | + return exportLogistics(queryParams); | |
| 451 | + }).then(response => { | |
| 452 | + this.download(response.msg); | |
| 453 | + }) | |
| 438 | 454 | }, |
| 439 | - changeType(){ | |
| 440 | - if(this.form.type=="用章申请"){ | |
| 455 | + changeType() { | |
| 456 | + if (this.type == 0) { | |
| 441 | 457 | this.form.staff = null; |
| 442 | 458 | this.form.useDate = null; |
| 443 | 459 | this.form.goodsName = null; |
| 444 | 460 | this.form.quantity = null; |
| 445 | - this.rules.sealType[0].required=true; | |
| 446 | - this.rules.sealUpdateTime[0].required=true; | |
| 447 | - this.rules.sealEndTime[0].required=true; | |
| 448 | - this.rules.purpose[0].required=true; | |
| 449 | - this.rules.staff[0].required=false; | |
| 450 | - this.rules.useDate[0].required=false; | |
| 451 | - this.rules.goodsName[0].required=false; | |
| 452 | - this.rules.quantity[0].required=false; | |
| 453 | - }else{ | |
| 461 | + this.rules.sealType[0].required = true; | |
| 462 | + this.rules.sealUpdateTime[0].required = true; | |
| 463 | + this.rules.sealEndTime[0].required = true; | |
| 464 | + this.rules.purpose[0].required = true; | |
| 465 | + this.rules.staff[0].required = false; | |
| 466 | + this.rules.useDate[0].required = false; | |
| 467 | + this.rules.goodsName[0].required = false; | |
| 468 | + this.rules.quantity[0].required = false; | |
| 469 | + } else { | |
| 454 | 470 | this.form.sealType = null; |
| 455 | 471 | this.form.sealUpdateTime = null; |
| 456 | 472 | this.form.sealEndTime = null; |
| 457 | 473 | this.form.purpose = null; |
| 458 | - this.rules.sealType[0].required=false; | |
| 459 | - this.rules.sealUpdateTime[0].required=false; | |
| 460 | - this.rules.sealEndTime[0].required=false; | |
| 461 | - this.rules.purpose[0].required=false; | |
| 462 | - this.rules.staff[0].required=true; | |
| 463 | - this.rules.useDate[0].required=true; | |
| 464 | - this.rules.goodsName[0].required=true; | |
| 465 | - this.rules.quantity[0].required=true; | |
| 474 | + this.rules.sealType[0].required = false; | |
| 475 | + this.rules.sealUpdateTime[0].required = false; | |
| 476 | + this.rules.sealEndTime[0].required = false; | |
| 477 | + this.rules.purpose[0].required = false; | |
| 478 | + this.rules.staff[0].required = true; | |
| 479 | + this.rules.useDate[0].required = true; | |
| 480 | + this.rules.goodsName[0].required = true; | |
| 481 | + this.rules.quantity[0].required = true; | |
| 466 | 482 | } |
| 483 | + }, | |
| 484 | + parseDept(deptId){ | |
| 485 | + let dept = this.depts.filter(item=>{ | |
| 486 | + if(item.code == deptId){ | |
| 487 | + return item; | |
| 488 | + } | |
| 489 | + }); | |
| 490 | + return dept[0].name | |
| 467 | 491 | } |
| 468 | 492 | } |
| 469 | 493 | }; | ... | ... |
trash-ui/src/views/office/logistics/logisticsInfo.vue
| 1 | 1 | <template> |
| 2 | - <el-form ref="form" :model="form" :rules="rules" label-width="80px"> | |
| 3 | - <el-form-item label="申请类型" prop="type"> | |
| 4 | - <el-select v-model="form.type" placeholder="请选择申请类型" style="width: 100%"> | |
| 5 | - <el-option label="用章申请" value="用章申请" /> | |
| 6 | - <el-option label="物品申请" value="物品申请" /> | |
| 7 | - <el-option label="物品采购申请" value="物品采购申请" /> | |
| 8 | - </el-select> | |
| 9 | - </el-form-item> | |
| 2 | + <el-form ref="form" :model="form" label-width="80px"> | |
| 10 | 3 | <el-form-item label="申请部门" prop="deptId"> |
| 11 | - <el-select v-model="form.deptId" placeholder="请输入申请部门" style="width: 100%"> | |
| 12 | - <el-option label="部门1" value="1" /> | |
| 13 | - <el-option label="部门2" value="2" /> | |
| 4 | + <el-select v-model="form.deptId" placeholder="请输入申请部门" style="width: 100%" :disabled="true"> | |
| 5 | + <el-option v-for="item in depts" :label="item.name" :value="item.code" :key="item.code"/> | |
| 14 | 6 | </el-select> |
| 15 | 7 | </el-form-item> |
| 16 | - <el-form-item label="用章类型" prop="sealType" v-if="form.type=='用章申请'"> | |
| 17 | - <el-select v-model="form.sealType" placeholder="请选择用章类型" style="width: 100%"> | |
| 18 | - <el-option label="用章类型1" value="用章类型1" /> | |
| 19 | - <el-option label="用章类型2" value="用章类型2" /> | |
| 8 | + <el-form-item label="用章类型" prop="sealType" v-if="type==0"> | |
| 9 | + <el-select v-model="form.sealType" placeholder="请选择用章类型" style="width: 100%" :disabled="true"> | |
| 10 | + <el-option label="党委用章" value="党委用章"/> | |
| 11 | + <el-option label="行政用章" value="行政用章"/> | |
| 12 | + <el-option label="工会用章" value="工会用章"/> | |
| 20 | 13 | </el-select> |
| 21 | 14 | </el-form-item> |
| 22 | - <el-form-item label="更新时间" prop="sealUpdateTime" v-if="form.type=='用章申请'"> | |
| 15 | + <el-form-item label="更新时间" prop="sealUpdateTime" v-if="type==0"> | |
| 23 | 16 | <el-date-picker clearable size="small" style="width: 100%" |
| 24 | 17 | v-model="form.sealUpdateTime" |
| 25 | 18 | type="date" |
| 19 | + :disabled="true" | |
| 26 | 20 | value-format="yyyy-MM-dd" |
| 27 | 21 | placeholder="选择更新时间"> |
| 28 | 22 | </el-date-picker> |
| 29 | 23 | </el-form-item> |
| 30 | - <el-form-item label="结束时间" prop="sealEndTime" v-if="form.type=='用章申请'"> | |
| 24 | + <el-form-item label="结束时间" prop="sealEndTime" v-if="type==0"> | |
| 31 | 25 | <el-date-picker clearable size="small" style="width: 100%" |
| 32 | 26 | v-model="form.sealEndTime" |
| 33 | 27 | type="date" |
| 34 | 28 | value-format="yyyy-MM-dd" |
| 29 | + :disabled="true" | |
| 35 | 30 | placeholder="选择结束时间"> |
| 36 | 31 | </el-date-picker> |
| 37 | 32 | </el-form-item> |
| 38 | - <el-form-item label="用途" prop="purpose" v-if="form.type=='用章申请'"> | |
| 39 | - <el-input v-model="form.purpose" type="textarea" placeholder="请输入内容" :row="4"/> | |
| 33 | + <el-form-item label="用途" prop="purpose" v-if="type==0"> | |
| 34 | + <el-input v-model="form.purpose" type="textarea" placeholder="请输入内容" :row="4" :disabled="true"/> | |
| 40 | 35 | </el-form-item> |
| 41 | - <el-form-item label="申请人" prop="staff" v-if="form.type!='用章申请' && form.type!=null"> | |
| 42 | - <el-input v-model="form.staff" placeholder="请输入申请人" /> | |
| 36 | + <el-form-item label="申请人" prop="staff" v-if="type!=0"> | |
| 37 | + <el-input v-model="form.staff" placeholder="请输入申请人" :disabled="true"/> | |
| 43 | 38 | </el-form-item> |
| 44 | - <el-form-item label="申请日期" prop="useDate" v-if="form.type!='用章申请' && form.type!=null"> | |
| 39 | + <el-form-item label="申请日期" prop="useDate" v-if="type!=0"> | |
| 45 | 40 | <el-date-picker clearable size="small" style="width: 100%" |
| 46 | 41 | v-model="form.useDate" |
| 47 | 42 | type="date" |
| 48 | 43 | value-format="yyyy-MM-dd" |
| 44 | + :disabled="true" | |
| 49 | 45 | placeholder="选择申请日期"> |
| 50 | 46 | </el-date-picker> |
| 51 | 47 | </el-form-item> |
| 52 | - <el-form-item label="物品名称" prop="goodsName" v-if="form.type!='用章申请' && form.type!=null"> | |
| 53 | - <el-input v-model="form.goodsName" placeholder="请输入物品名称" /> | |
| 48 | + <el-form-item label="物品名称" prop="goodsName" v-if="type!=0"> | |
| 49 | + <el-input v-model="form.goodsName" placeholder="请输入物品名称" :disabled="true"/> | |
| 54 | 50 | </el-form-item> |
| 55 | - <el-form-item label="数量" prop="quantity" v-if="form.type!='用章申请' && form.type!=null"> | |
| 56 | - <el-input v-model="form.quantity" placeholder="请输入数量" | |
| 57 | - @input="form.quantity=form.quantity.replace(/[^0-9]/g,'');" | |
| 58 | - /> | |
| 51 | + <el-form-item label="数量" prop="quantity" v-if="type!=0"> | |
| 52 | + <el-input v-model="form.quantity" | |
| 53 | + placeholder="请输入数量" | |
| 54 | + :disabled="true" | |
| 55 | + @input="form.quantity=form.quantity.replace(/[^0-9]/g,'');"/> | |
| 59 | 56 | </el-form-item> |
| 60 | 57 | </el-form> |
| 61 | 58 | </template> |
| 62 | 59 | |
| 63 | 60 | <script> |
| 64 | 61 | import {getLogistics} from "@/api/office/logistics"; |
| 62 | +import {getDict} from "@/api/dict"; | |
| 65 | 63 | export default { |
| 66 | 64 | name: "logisticsInfo", |
| 67 | 65 | props: { |
| ... | ... | @@ -74,16 +72,23 @@ export default { |
| 74 | 72 | }, |
| 75 | 73 | data() { |
| 76 | 74 | return { |
| 77 | - form: {} | |
| 75 | + form: {}, | |
| 76 | + type:null, | |
| 77 | + depts:[] | |
| 78 | 78 | } |
| 79 | 79 | }, |
| 80 | 80 | created() { |
| 81 | + let dep = {type:"CSUserDepartmentType"}; | |
| 82 | + getDict(dep).then(res=>{ | |
| 83 | + this.depts = res.result; | |
| 84 | + }); | |
| 81 | 85 | this.init(); |
| 82 | 86 | }, |
| 83 | 87 | methods:{ |
| 84 | 88 | init(){ |
| 85 | 89 | getLogistics(this.idInfo).then(response => { |
| 86 | 90 | this.form = response.data |
| 91 | + this.type = response.data.type; | |
| 87 | 92 | }); |
| 88 | 93 | } |
| 89 | 94 | } | ... | ... |
trash-ui/src/views/office/management/contractInfo.vue
| ... | ... | @@ -29,8 +29,8 @@ |
| 29 | 29 | <el-form-item label="开始时间" prop="contractBeginDate"> |
| 30 | 30 | <el-date-picker clearable size="small" style="width: 100%;" |
| 31 | 31 | v-model="form.contractBeginDate" |
| 32 | - type="date" | |
| 33 | - value-format="yyyy-MM-dd" | |
| 32 | + type="datetime" | |
| 33 | + value-format="yyyy-MM-dd HH:mm:ss" | |
| 34 | 34 | :disabled="true" |
| 35 | 35 | placeholder="选择合同开始时间"> |
| 36 | 36 | </el-date-picker> |
| ... | ... | @@ -40,8 +40,8 @@ |
| 40 | 40 | <el-form-item label="结束时间" prop="contractEndDate"> |
| 41 | 41 | <el-date-picker clearable size="small" style="width: 100%;" |
| 42 | 42 | v-model="form.contractEndDate" |
| 43 | - type="date" | |
| 44 | - value-format="yyyy-MM-dd" | |
| 43 | + type="datetime" | |
| 44 | + value-format="yyyy-MM-dd HH:mm:ss" | |
| 45 | 45 | :disabled="true" |
| 46 | 46 | placeholder="选择合同结束时间"> |
| 47 | 47 | </el-date-picker> |
| ... | ... | @@ -60,20 +60,30 @@ |
| 60 | 60 | <el-col :span="11"> |
| 61 | 61 | <el-form-item label="合同状态" prop="contractState"> |
| 62 | 62 | <el-select v-model="form.contractState" placeholder="请选择状态" style="width: 100%;" :disabled="true"> |
| 63 | - <el-option label="正常" value="正常"/> | |
| 64 | - <el-option label="到期" value="到期"/> | |
| 65 | - <el-option label="终止" value="终止"/> | |
| 63 | + <el-option label="已签订" value="已签订"/> | |
| 64 | + <el-option label="未签订" value="未签订"/> | |
| 65 | + <el-option label="已过期" value="已过期"/> | |
| 66 | + <el-option label="已终止" value="已终止"/> | |
| 67 | + <el-option label="已完结" value="已完结"/> | |
| 66 | 68 | </el-select> |
| 67 | 69 | </el-form-item> |
| 68 | 70 | </el-col> |
| 69 | 71 | </el-row> |
| 70 | 72 | <el-row :gutter="2"> |
| 71 | 73 | <el-col :span="11"> |
| 72 | - <el-form-item label="责任科室" prop="deptname"> | |
| 73 | - <el-select v-model="form.deptname" placeholder="请选择责任科室" style="width: 100%;" :disabled="true"> | |
| 74 | - <el-option label="科室1" value="科室1"/> | |
| 75 | - <el-option label="科室2" value="科室2"/> | |
| 76 | - <el-option label="科室3" value="科室3"/> | |
| 74 | + <el-form-item label="合同签订时间" prop="signTime"> | |
| 75 | + <el-date-picker clearable size="small" style="width: 100%;" | |
| 76 | + v-model="form.signTime" | |
| 77 | + type="datetime" | |
| 78 | + value-format="yyyy-MM-dd HH:mm:ss" | |
| 79 | + :disabled="true" | |
| 80 | + placeholder="选择合同签订时间"> | |
| 81 | + </el-date-picker> | |
| 82 | + </el-form-item> | |
| 83 | + </el-col> | |
| 84 | + <el-col :span="11"> | |
| 85 | + <el-form-item label="责任部门" prop="deptid"> | |
| 86 | + <el-select v-model="form.deptName" placeholder="请选择科室" style="width: 100%;" :disabled="true"> | |
| 77 | 87 | </el-select> |
| 78 | 88 | </el-form-item> |
| 79 | 89 | </el-col> | ... | ... |
trash-ui/src/views/office/management/index.vue
| 1 | 1 | <template> |
| 2 | 2 | <div class="app-container"> |
| 3 | 3 | <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="105px"> |
| 4 | - <el-form-item label="合同编号" prop="contractNumber"> | |
| 5 | - <el-input | |
| 6 | - v-model="queryParams.contractNumber" | |
| 7 | - placeholder="请输入合同编号" | |
| 8 | - clearable | |
| 9 | - size="small" | |
| 10 | - @keyup.enter.native="handleQuery" | |
| 11 | - /> | |
| 12 | - </el-form-item> | |
| 13 | 4 | <el-form-item label="合同名称" prop="contractName"> |
| 14 | 5 | <el-input |
| 15 | 6 | v-model="queryParams.contractName" |
| ... | ... | @@ -19,52 +10,14 @@ |
| 19 | 10 | @keyup.enter.native="handleQuery" |
| 20 | 11 | /> |
| 21 | 12 | </el-form-item> |
| 22 | - <el-form-item label="甲方" prop="firstParty"> | |
| 23 | - <el-input | |
| 24 | - v-model="queryParams.firstParty" | |
| 25 | - placeholder="请输入甲方" | |
| 26 | - clearable | |
| 27 | - size="small" | |
| 28 | - @keyup.enter.native="handleQuery" | |
| 29 | - /> | |
| 30 | - </el-form-item> | |
| 31 | - <el-form-item label="乙方" prop="secondParty"> | |
| 32 | - <el-input | |
| 33 | - v-model="queryParams.secondParty" | |
| 34 | - placeholder="请输入乙方" | |
| 35 | - clearable | |
| 36 | - size="small" | |
| 37 | - @keyup.enter.native="handleQuery" | |
| 38 | - /> | |
| 39 | - </el-form-item> | |
| 40 | - <el-form-item label="合同开始时间" prop="contractBeginDate"> | |
| 41 | - <el-date-picker clearable size="small" style="width: 200px" | |
| 42 | - v-model="queryParams.contractBeginDate" | |
| 43 | - type="date" | |
| 44 | - value-format="yyyy-MM-dd" | |
| 45 | - placeholder="选择合同开始时间"> | |
| 46 | - </el-date-picker> | |
| 47 | - </el-form-item> | |
| 48 | - <el-form-item label="合同结束时间" prop="contractEndDate"> | |
| 49 | - <el-date-picker clearable size="small" style="width: 200px" | |
| 50 | - v-model="queryParams.contractEndDate" | |
| 51 | - type="date" | |
| 52 | - value-format="yyyy-MM-dd" | |
| 53 | - placeholder="选择合同结束时间"> | |
| 54 | - </el-date-picker> | |
| 55 | - </el-form-item> | |
| 56 | 13 | <el-form-item label="合同状态" prop="contractState"> |
| 57 | - <el-select v-model="form.contractState" placeholder="请选择状态" style="width: 100%;"> | |
| 58 | - <el-option label="正常" value="正常"/> | |
| 59 | - <el-option label="到期" value="到期"/> | |
| 60 | - <el-option label="终止" value="终止"/> | |
| 61 | - </el-select> | |
| 62 | - </el-form-item> | |
| 63 | - <el-form-item label="责任科室" prop="deptname"> | |
| 64 | - <el-select v-model="queryParams.deptname" placeholder="请选择责任科室" style="width: 100%;"> | |
| 65 | - <el-option label="科室1" value="科室1"/> | |
| 66 | - <el-option label="科室2" value="科室2"/> | |
| 67 | - <el-option label="科室3" value="科室3"/> | |
| 14 | + <el-select v-model="queryParams.contractState" placeholder="请选择状态" style="width: 100%;"> | |
| 15 | + <el-option label="全部" value=""></el-option> | |
| 16 | + <el-option label="已签订" value="已签订"/> | |
| 17 | + <el-option label="未签订" value="未签订"/> | |
| 18 | + <el-option label="已过期" value="已过期"/> | |
| 19 | + <el-option label="已终止" value="已终止"/> | |
| 20 | + <el-option label="已完结" value="已完结"/> | |
| 68 | 21 | </el-select> |
| 69 | 22 | </el-form-item> |
| 70 | 23 | <el-form-item> |
| ... | ... | @@ -121,23 +74,16 @@ |
| 121 | 74 | |
| 122 | 75 | <el-table v-loading="loading" :data="managementList" @selection-change="handleSelectionChange"> |
| 123 | 76 | <el-table-column type="selection" width="55" align="center"/> |
| 124 | - <el-table-column label="合同编号" align="center" prop="contractNumber"/> | |
| 125 | 77 | <el-table-column label="合同名称" align="center" prop="contractName"/> |
| 126 | - <el-table-column label="甲方" align="center" prop="firstParty"/> | |
| 127 | 78 | <el-table-column label="乙方" align="center" prop="secondParty"/> |
| 128 | - <el-table-column label="合同开始时间" align="center" prop="contractBeginDate" width="180"> | |
| 129 | - <template slot-scope="scope"> | |
| 130 | - <span>{{ parseTime(scope.row.contractBeginDate, '{y}-{m}-{d}') }}</span> | |
| 131 | - </template> | |
| 132 | - </el-table-column> | |
| 133 | - <el-table-column label="合同结束时间" align="center" prop="contractEndDate" width="180"> | |
| 134 | - <template slot-scope="scope"> | |
| 135 | - <span>{{ parseTime(scope.row.contractEndDate, '{y}-{m}-{d}') }}</span> | |
| 136 | - </template> | |
| 137 | - </el-table-column> | |
| 79 | + <el-table-column label="责任科室" align="center" prop="deptName"/> | |
| 138 | 80 | <el-table-column label="合同金额" align="center" prop="contractMoney"/> |
| 139 | 81 | <el-table-column label="合同状态" align="center" prop="contractState"/> |
| 140 | - <el-table-column label="责任科室" align="center" prop="deptname"/> | |
| 82 | +<!-- <el-table-column label="审批状态" align="center" prop="status">--> | |
| 83 | +<!-- <template slot-scope="scope">--> | |
| 84 | +<!-- <span>{{parseStatus(scope.row.status) }}</span>--> | |
| 85 | +<!-- </template>--> | |
| 86 | +<!-- </el-table-column>--> | |
| 141 | 87 | <el-table-column label="操作" align="center" class-name="small-padding fixed-width"> |
| 142 | 88 | <template slot-scope="scope"> |
| 143 | 89 | <el-button |
| ... | ... | @@ -154,7 +100,7 @@ |
| 154 | 100 | icon="el-icon-edit" |
| 155 | 101 | @click="handleUpdate(scope.row)" |
| 156 | 102 | v-hasPermi="['office:management:edit']" |
| 157 | - >修改 | |
| 103 | + >编辑 | |
| 158 | 104 | </el-button> |
| 159 | 105 | <el-button |
| 160 | 106 | size="mini" |
| ... | ... | @@ -177,24 +123,24 @@ |
| 177 | 123 | /> |
| 178 | 124 | |
| 179 | 125 | <!-- 添加或修改合同管理对话框 --> |
| 180 | - <el-dialog :title="title" :visible.sync="open" width="850px" append-to-body :close-on-click-modal="false"> | |
| 181 | - <el-form ref="form" :model="form" :rules="rules" label-width="105px"> | |
| 126 | + <el-dialog :title="title" :visible.sync="open" width="900px" append-to-body :close-on-click-modal="false"> | |
| 127 | + <el-form ref="form" :model="form" :rules="rules" label-width="125px"> | |
| 182 | 128 | <el-row :gutter="2"> |
| 183 | 129 | <el-col :span="11"> |
| 184 | 130 | <el-form-item label="合同编号" prop="contractNumber"> |
| 185 | - <el-input v-model="form.contractNumber" placeholder="请输入合同编号"/> | |
| 131 | + <el-input v-model="form.contractNumber" placeholder="请输入合同编号" :maxlength="50" show-word-limit/> | |
| 186 | 132 | </el-form-item> |
| 187 | 133 | </el-col> |
| 188 | 134 | <el-col :span="11"> |
| 189 | 135 | <el-form-item label="合同名称" prop="contractName"> |
| 190 | - <el-input v-model="form.contractName" placeholder="请输入合同名称"/> | |
| 136 | + <el-input v-model="form.contractName" placeholder="请输入合同名称" :maxlength="50" show-word-limit/> | |
| 191 | 137 | </el-form-item> |
| 192 | 138 | </el-col> |
| 193 | 139 | </el-row> |
| 194 | 140 | <el-row :gutter="2"> |
| 195 | 141 | <el-col :span="11"> |
| 196 | 142 | <el-form-item label="甲方" prop="firstParty"> |
| 197 | - <el-input v-model="form.firstParty" placeholder="请输入甲方"/> | |
| 143 | + <el-input v-model="form.firstParty" placeholder="请输入甲方" :maxlength="50" show-word-limit/> | |
| 198 | 144 | </el-form-item> |
| 199 | 145 | </el-col> |
| 200 | 146 | <el-col :span="11"> |
| ... | ... | @@ -208,8 +154,8 @@ |
| 208 | 154 | <el-form-item label="开始时间" prop="contractBeginDate"> |
| 209 | 155 | <el-date-picker clearable size="small" style="width: 100%;" |
| 210 | 156 | v-model="form.contractBeginDate" |
| 211 | - type="date" | |
| 212 | - value-format="yyyy-MM-dd" | |
| 157 | + type="datetime" | |
| 158 | + value-format="yyyy-MM-dd HH:mm:ss" | |
| 213 | 159 | placeholder="选择合同开始时间"> |
| 214 | 160 | </el-date-picker> |
| 215 | 161 | </el-form-item> |
| ... | ... | @@ -218,8 +164,8 @@ |
| 218 | 164 | <el-form-item label="结束时间" prop="contractEndDate"> |
| 219 | 165 | <el-date-picker clearable size="small" style="width: 100%;" |
| 220 | 166 | v-model="form.contractEndDate" |
| 221 | - type="date" | |
| 222 | - value-format="yyyy-MM-dd" | |
| 167 | + type="datetime" | |
| 168 | + value-format="yyyy-MM-dd HH:mm:ss" | |
| 223 | 169 | placeholder="选择合同结束时间"> |
| 224 | 170 | </el-date-picker> |
| 225 | 171 | </el-form-item> |
| ... | ... | @@ -230,35 +176,48 @@ |
| 230 | 176 | <el-form-item label="合同金额" prop="contractMoney"> |
| 231 | 177 | <el-input v-model="form.contractMoney" |
| 232 | 178 | @input="form.contractMoney=form.contractMoney.replace(/[^0-9.]/g,'').replace(/^\./g, '').replace('.', 'dollar#dollar').replace(/\./g, '').replace('dollar#dollar', '.');" |
| 179 | + :maxlength="10" show-word-limit | |
| 233 | 180 | placeholder="请输入合同金额"/> |
| 234 | 181 | </el-form-item> |
| 235 | 182 | </el-col> |
| 236 | 183 | <el-col :span="11"> |
| 237 | 184 | <el-form-item label="合同状态" prop="contractState"> |
| 238 | 185 | <el-select v-model="form.contractState" placeholder="请选择状态" style="width: 100%;"> |
| 239 | - <el-option label="正常" value="正常"/> | |
| 240 | - <el-option label="到期" value="到期"/> | |
| 241 | - <el-option label="终止" value="终止"/> | |
| 186 | + <el-option label="已签订" value="已签订"/> | |
| 187 | + <el-option label="未签订" value="未签订"/> | |
| 188 | + <el-option label="已过期" value="已过期"/> | |
| 189 | + <el-option label="已终止" value="已终止"/> | |
| 190 | + <el-option label="已完结" value="已完结"/> | |
| 242 | 191 | </el-select> |
| 243 | 192 | </el-form-item> |
| 244 | 193 | </el-col> |
| 245 | 194 | </el-row> |
| 246 | 195 | <el-row :gutter="2"> |
| 247 | 196 | <el-col :span="11"> |
| 248 | - <el-form-item label="责任科室" prop="deptname"> | |
| 249 | - <el-select v-model="form.deptname" placeholder="请选择责任科室" style="width: 100%;"> | |
| 250 | - <el-option label="科室1" value="科室1"/> | |
| 251 | - <el-option label="科室2" value="科室2"/> | |
| 252 | - <el-option label="科室3" value="科室3"/> | |
| 197 | + <el-form-item label="合同签订时间" prop="signTime"> | |
| 198 | + <el-date-picker clearable size="small" style="width: 100%;" | |
| 199 | + v-model="form.signTime" | |
| 200 | + type="datetime" | |
| 201 | + value-format="yyyy-MM-dd HH:mm:ss" | |
| 202 | + placeholder="选择合同签订时间"> | |
| 203 | + </el-date-picker> | |
| 204 | + </el-form-item> | |
| 205 | + </el-col> | |
| 206 | + <el-col :span="11"> | |
| 207 | + <el-form-item label="责任部门" prop="deptid"> | |
| 208 | + <el-select v-model="form.deptName" placeholder="请选择科室" style="width: 100%;"> | |
| 209 | + <el-option v-for="item in depts" :label="item.name" :value="item.name" :key="item.name"/> | |
| 253 | 210 | </el-select> |
| 254 | 211 | </el-form-item> |
| 255 | 212 | </el-col> |
| 213 | + </el-row> | |
| 214 | + <el-row> | |
| 256 | 215 | <el-col :span="11"> |
| 257 | 216 | <el-form-item prop="fileEntityList" label="附件"> |
| 258 | 217 | <el-upload |
| 259 | 218 | ref="upload" |
| 260 | 219 | action="" |
| 261 | - accept=".docx,.xlsx,.ppt,.txt,.pdf,.png" | |
| 220 | + accept=".docx,.xlsx,.xls,.ppt,.rar,.zip,.doc,.pdf,.png,.jpeg,.png,.jpg" | |
| 262 | 221 | :on-change="fileChange" |
| 263 | 222 | :auto-upload="false" |
| 264 | 223 | :show-file-list="false" |
| ... | ... | @@ -319,6 +278,7 @@ import { |
| 319 | 278 | } from "@/api/office/management"; |
| 320 | 279 | import FileUpload from '@/components/FileUpload'; |
| 321 | 280 | import contractInfo from './contractInfo'; |
| 281 | +import {getDict} from "@/api/dict"; | |
| 322 | 282 | |
| 323 | 283 | export default { |
| 324 | 284 | name: "Management", |
| ... | ... | @@ -358,8 +318,7 @@ export default { |
| 358 | 318 | contractEndDate: null, |
| 359 | 319 | contractMoney: null, |
| 360 | 320 | contractState: null, |
| 361 | - deptid: null, | |
| 362 | - deptname: null, | |
| 321 | + deptName: null, | |
| 363 | 322 | attachments: null |
| 364 | 323 | }, |
| 365 | 324 | // 表单参数 |
| ... | ... | @@ -367,39 +326,45 @@ export default { |
| 367 | 326 | // 表单校验 |
| 368 | 327 | rules: { |
| 369 | 328 | contractNumber: [ |
| 370 | - {required: true, message: "请输入合同编号", trigger: "blur"} | |
| 329 | + {required: true, message: "必填", trigger: "blur"} | |
| 371 | 330 | ], |
| 372 | 331 | contractName: [ |
| 373 | - {required: true, message: "请输入合同名称", trigger: "blur"} | |
| 332 | + {required: true, message: "必填", trigger: "blur"} | |
| 374 | 333 | ], |
| 375 | 334 | firstParty: [ |
| 376 | - {required: true, message: "请输入甲方", trigger: "blur"} | |
| 335 | + {required: true, message: "必填", trigger: "blur"} | |
| 377 | 336 | ], |
| 378 | 337 | secondParty: [ |
| 379 | - {required: true, message: "请输入乙方", trigger: "blur"} | |
| 338 | + {required: true, message: "必填", trigger: "blur"} | |
| 380 | 339 | ], |
| 381 | 340 | contractBeginDate: [ |
| 382 | - {required: true, message: "请选择合同开始时间", trigger: "blur"} | |
| 341 | + {required: true, message: "必填", trigger: "blur"} | |
| 383 | 342 | ], |
| 384 | 343 | contractEndDate: [ |
| 385 | - {required: true, message: "请选择合同结束时间", trigger: "blur"} | |
| 344 | + {required: true, message: "必填", trigger: "blur"} | |
| 386 | 345 | ], |
| 387 | 346 | contractMoney: [ |
| 388 | - {required: true, message: "请输入合同金额", trigger: "blur"} | |
| 347 | + {required: true, message: "必填", trigger: "blur"} | |
| 389 | 348 | ], |
| 390 | 349 | contractState: [ |
| 391 | - {required: true, message: "请输入合同状态", trigger: "blur"} | |
| 350 | + {required: true, message: "必填", trigger: "blur"} | |
| 392 | 351 | ], |
| 393 | - deptname: [ | |
| 394 | - {required: true, message: "请输入责任科室", trigger: "blur"} | |
| 352 | + deptName: [ | |
| 353 | + {required: true, message: "必填", trigger: "blur"} | |
| 395 | 354 | ], |
| 396 | 355 | }, |
| 397 | 356 | fileEntityList: [], |
| 398 | 357 | openInfo: false, |
| 399 | 358 | idInfo:null, |
| 359 | + depts:[] | |
| 400 | 360 | }; |
| 401 | 361 | }, |
| 402 | 362 | created() { |
| 363 | + let dep = {type:"CSUserDepartmentType"}; | |
| 364 | + | |
| 365 | + getDict(dep).then(res=>{ | |
| 366 | + this.depts = res.result; | |
| 367 | + }); | |
| 403 | 368 | this.getList(); |
| 404 | 369 | }, |
| 405 | 370 | methods: { |
| ... | ... | @@ -430,8 +395,7 @@ export default { |
| 430 | 395 | contractEndDate: null, |
| 431 | 396 | contractMoney: null, |
| 432 | 397 | contractState: null, |
| 433 | - deptid: null, | |
| 434 | - deptname: null, | |
| 398 | + deptName: null, | |
| 435 | 399 | attachments: null |
| 436 | 400 | }; |
| 437 | 401 | this.fileEntityList = []; |
| ... | ... | @@ -463,6 +427,7 @@ export default { |
| 463 | 427 | /** 新增按钮操作 */ |
| 464 | 428 | handleAdd() { |
| 465 | 429 | this.reset(); |
| 430 | + this.form.firstParty = "长沙市渣土事务中心"; | |
| 466 | 431 | this.open = true; |
| 467 | 432 | this.title = "添加合同管理"; |
| 468 | 433 | }, |
| ... | ... | @@ -484,6 +449,12 @@ export default { |
| 484 | 449 | if (valid) { |
| 485 | 450 | let formData = new FormData(); |
| 486 | 451 | let form = this.form; |
| 452 | + let beginDate = form.contractBeginDate; | |
| 453 | + let endDate = form.contractEndDate; | |
| 454 | + if(beginDate>endDate){ | |
| 455 | + this.$message.error("开始时间不能大于结束时间!"); | |
| 456 | + return; | |
| 457 | + } | |
| 487 | 458 | //去掉params属性 |
| 488 | 459 | delete form.params; |
| 489 | 460 | formData.append('fileList', null); |
| ... | ... | @@ -552,10 +523,11 @@ export default { |
| 552 | 523 | }, |
| 553 | 524 | /** |
| 554 | 525 | * 文件改变时,限制文件上传格式和大小 |
| 555 | - * 文件格式只能为doc/xls/ppt/txt/pdf | |
| 526 | + * 文件格式只能为docx/xlsx/xls/ppt/rar/zip/doc/pdf/png/jpeg/png/jpg | |
| 556 | 527 | * 大小不超过5M |
| 557 | 528 | * */ |
| 558 | 529 | fileChange(file, fileList) { |
| 530 | + console.log(fileList) | |
| 559 | 531 | let count = 0; |
| 560 | 532 | for (let i = 0; i < fileList.length; i++) { |
| 561 | 533 | // console.log(fileList.length) |
| ... | ... | @@ -580,7 +552,7 @@ export default { |
| 580 | 552 | } |
| 581 | 553 | let fileType = file.name.substring(file.name.lastIndexOf('.') + 1).toLowerCase(); |
| 582 | 554 | //格式符合后判断大小 |
| 583 | - if ("docx,xlsx,ppt,txt,pdf,png".indexOf(fileType) != -1) { | |
| 555 | + if ("docx,xlsx,xls,ppt,rar,zip,doc,pdf,png,jpeg,png,jpg".indexOf(fileType) != -1) { | |
| 584 | 556 | let max5M = file.size / 1024 / 1024 < 5; |
| 585 | 557 | if (!max5M) { |
| 586 | 558 | this.$message({ |
| ... | ... | @@ -593,7 +565,7 @@ export default { |
| 593 | 565 | } |
| 594 | 566 | } else { |
| 595 | 567 | this.$message({ |
| 596 | - message: '上传文件只能是 doc、docx、xls、xlsx、ppt、txt、pdf、png格式!', | |
| 568 | + message: '上传文件只能是 docx、xlsx、xls、ppt、rar、zip、doc、pdf、png、jpeg、png、jpg格式!', | |
| 597 | 569 | type: 'warning' |
| 598 | 570 | }); |
| 599 | 571 | } | ... | ... |
trash-workFlow/src/main/java/com/trash/casefile/controller/ReplyApprovalProcessController.java
0 → 100644
| 1 | +package com.trash.casefile.controller; | |
| 2 | + | |
| 3 | +import java.util.List; | |
| 4 | +import org.springframework.security.access.prepost.PreAuthorize; | |
| 5 | +import org.springframework.beans.factory.annotation.Autowired; | |
| 6 | +import org.springframework.web.bind.annotation.GetMapping; | |
| 7 | +import org.springframework.web.bind.annotation.PostMapping; | |
| 8 | +import org.springframework.web.bind.annotation.PutMapping; | |
| 9 | +import org.springframework.web.bind.annotation.DeleteMapping; | |
| 10 | +import org.springframework.web.bind.annotation.PathVariable; | |
| 11 | +import org.springframework.web.bind.annotation.RequestBody; | |
| 12 | +import org.springframework.web.bind.annotation.RequestMapping; | |
| 13 | +import org.springframework.web.bind.annotation.RestController; | |
| 14 | +import com.trash.common.annotation.Log; | |
| 15 | +import com.trash.common.core.controller.BaseController; | |
| 16 | +import com.trash.common.core.domain.AjaxResult; | |
| 17 | +import com.trash.common.enums.BusinessType; | |
| 18 | +import com.trash.casefile.domain.ReplyApprovalProcess; | |
| 19 | +import com.trash.casefile.service.IReplyApprovalProcessService; | |
| 20 | +import com.trash.common.utils.poi.ExcelUtil; | |
| 21 | +import com.trash.common.core.page.TableDataInfo; | |
| 22 | + | |
| 23 | +/** | |
| 24 | + * 回复审批流程Controller | |
| 25 | + * | |
| 26 | + * @author 2c | |
| 27 | + * @date 2023-05-10 | |
| 28 | + */ | |
| 29 | +@RestController | |
| 30 | +@RequestMapping("/replyApprovalProcess/replyApprovalProcess") | |
| 31 | +public class ReplyApprovalProcessController extends BaseController | |
| 32 | +{ | |
| 33 | + @Autowired | |
| 34 | + private IReplyApprovalProcessService replyApprovalProcessService; | |
| 35 | + | |
| 36 | + /** | |
| 37 | + * 查询回复审批流程列表 | |
| 38 | + */ | |
| 39 | + @PreAuthorize("@ss.hasPermi('replyApprovalProcess:replyApprovalProcess:list')") | |
| 40 | + @GetMapping("/list") | |
| 41 | + public TableDataInfo list(ReplyApprovalProcess replyApprovalProcess) | |
| 42 | + { | |
| 43 | + startPage(); | |
| 44 | + List<ReplyApprovalProcess> list = replyApprovalProcessService.selectReplyApprovalProcessList(replyApprovalProcess); | |
| 45 | + return getDataTable(list); | |
| 46 | + } | |
| 47 | + | |
| 48 | + /** | |
| 49 | + * 导出回复审批流程列表 | |
| 50 | + */ | |
| 51 | + @PreAuthorize("@ss.hasPermi('replyApprovalProcess:replyApprovalProcess:export')") | |
| 52 | + @Log(title = "回复审批流程", businessType = BusinessType.EXPORT) | |
| 53 | + @GetMapping("/export") | |
| 54 | + public AjaxResult export(ReplyApprovalProcess replyApprovalProcess) | |
| 55 | + { | |
| 56 | + List<ReplyApprovalProcess> list = replyApprovalProcessService.selectReplyApprovalProcessList(replyApprovalProcess); | |
| 57 | + ExcelUtil<ReplyApprovalProcess> util = new ExcelUtil<ReplyApprovalProcess>(ReplyApprovalProcess.class); | |
| 58 | + return util.exportExcel(list, "replyApprovalProcess"); | |
| 59 | + } | |
| 60 | + | |
| 61 | + /** | |
| 62 | + * 获取回复审批流程详细信息 | |
| 63 | + */ | |
| 64 | + @PreAuthorize("@ss.hasPermi('replyApprovalProcess:replyApprovalProcess:query')") | |
| 65 | + @GetMapping(value = "/{id}") | |
| 66 | + public AjaxResult getInfo(@PathVariable("id") Long id) | |
| 67 | + { | |
| 68 | + return AjaxResult.success(replyApprovalProcessService.selectReplyApprovalProcessById(id)); | |
| 69 | + } | |
| 70 | + | |
| 71 | + /** | |
| 72 | + * 新增回复审批流程 | |
| 73 | + */ | |
| 74 | + @PreAuthorize("@ss.hasPermi('replyApprovalProcess:replyApprovalProcess:add')") | |
| 75 | + @Log(title = "回复审批流程", businessType = BusinessType.INSERT) | |
| 76 | + @PostMapping | |
| 77 | + public AjaxResult add(@RequestBody ReplyApprovalProcess replyApprovalProcess) | |
| 78 | + { | |
| 79 | + return toAjax(replyApprovalProcessService.insertReplyApprovalProcess(replyApprovalProcess)); | |
| 80 | + } | |
| 81 | + | |
| 82 | + /** | |
| 83 | + * 修改回复审批流程 | |
| 84 | + */ | |
| 85 | + @PreAuthorize("@ss.hasPermi('replyApprovalProcess:replyApprovalProcess:edit')") | |
| 86 | + @Log(title = "回复审批流程", businessType = BusinessType.UPDATE) | |
| 87 | + @PutMapping | |
| 88 | + public AjaxResult edit(@RequestBody ReplyApprovalProcess replyApprovalProcess) | |
| 89 | + { | |
| 90 | + return toAjax(replyApprovalProcessService.updateReplyApprovalProcess(replyApprovalProcess)); | |
| 91 | + } | |
| 92 | + | |
| 93 | + /** | |
| 94 | + * 删除回复审批流程 | |
| 95 | + */ | |
| 96 | + @PreAuthorize("@ss.hasPermi('replyApprovalProcess:replyApprovalProcess:remove')") | |
| 97 | + @Log(title = "回复审批流程", businessType = BusinessType.DELETE) | |
| 98 | + @DeleteMapping("/{ids}") | |
| 99 | + public AjaxResult remove(@PathVariable Long[] ids) | |
| 100 | + { | |
| 101 | + return toAjax(replyApprovalProcessService.deleteReplyApprovalProcessByIds(ids)); | |
| 102 | + } | |
| 103 | +} | ... | ... |
trash-workFlow/src/main/java/com/trash/casefile/controller/ViolationCaseFileController.java
0 → 100644
| 1 | +package com.trash.casefile.controller; | |
| 2 | + | |
| 3 | +import java.io.IOException; | |
| 4 | +import java.util.ArrayList; | |
| 5 | +import java.util.List; | |
| 6 | + | |
| 7 | +import com.alibaba.fastjson.JSON; | |
| 8 | +import com.trash.casefile.domain.ViolationWarningInformation; | |
| 9 | +import com.trash.casefile.domain.vo.ViolationCaseFileVo; | |
| 10 | +import com.trash.casefile.domain.vo.ViolationWarningInformationVo; | |
| 11 | +import com.trash.office.domain.UploadFile; | |
| 12 | +import org.springframework.security.access.prepost.PreAuthorize; | |
| 13 | +import org.springframework.beans.factory.annotation.Autowired; | |
| 14 | +import org.springframework.web.bind.annotation.*; | |
| 15 | +import com.trash.common.annotation.Log; | |
| 16 | +import com.trash.common.core.controller.BaseController; | |
| 17 | +import com.trash.common.core.domain.AjaxResult; | |
| 18 | +import com.trash.common.enums.BusinessType; | |
| 19 | +import com.trash.casefile.domain.ViolationCaseFile; | |
| 20 | +import com.trash.casefile.service.IViolationCaseFileService; | |
| 21 | +import com.trash.common.utils.poi.ExcelUtil; | |
| 22 | +import com.trash.common.core.page.TableDataInfo; | |
| 23 | +import org.springframework.web.multipart.MultipartFile; | |
| 24 | + | |
| 25 | +/** | |
| 26 | + * 平台违规案卷Controller | |
| 27 | + * | |
| 28 | + * @author 2c | |
| 29 | + * @date 2023-05-11 | |
| 30 | + */ | |
| 31 | +@RestController | |
| 32 | +@RequestMapping("/casefile/violationCaseFile") | |
| 33 | +public class ViolationCaseFileController extends BaseController | |
| 34 | +{ | |
| 35 | + @Autowired | |
| 36 | + private IViolationCaseFileService violationCaseFileService; | |
| 37 | + | |
| 38 | + /** | |
| 39 | + * 查询平台违规案卷列表 | |
| 40 | + */ | |
| 41 | + @PreAuthorize("@ss.hasPermi('casefile:violationCaseFile:list')") | |
| 42 | + @GetMapping("/list") | |
| 43 | + public TableDataInfo list(ViolationCaseFile violationCaseFile) | |
| 44 | + { | |
| 45 | + startPage(); | |
| 46 | + List<ViolationCaseFile> list = violationCaseFileService.selectViolationCaseFileList(violationCaseFile); | |
| 47 | + return getDataTable(list); | |
| 48 | + } | |
| 49 | + | |
| 50 | + /** | |
| 51 | + * 导出平台违规案卷列表 | |
| 52 | + */ | |
| 53 | + @PreAuthorize("@ss.hasPermi('casefile:violationCaseFile:export')") | |
| 54 | + @Log(title = "平台违规案卷", businessType = BusinessType.EXPORT) | |
| 55 | + @GetMapping("/export") | |
| 56 | + public AjaxResult export(ViolationCaseFile violationCaseFile) | |
| 57 | + { | |
| 58 | + List<ViolationCaseFile> list = violationCaseFileService.selectViolationCaseFileList(violationCaseFile); | |
| 59 | + ExcelUtil<ViolationCaseFile> util = new ExcelUtil<ViolationCaseFile>(ViolationCaseFile.class); | |
| 60 | + return util.exportExcel(list, "平台违规案卷数据"); | |
| 61 | + } | |
| 62 | + | |
| 63 | + /** | |
| 64 | + * 获取平台违规案卷详细信息 | |
| 65 | + */ | |
| 66 | + @PreAuthorize("@ss.hasPermi('casefile:violationCaseFile:query')") | |
| 67 | + @GetMapping(value = "/{id}") | |
| 68 | + public AjaxResult getInfo(@PathVariable("id") Long id) | |
| 69 | + { | |
| 70 | + return AjaxResult.success(violationCaseFileService.selectViolationCaseFileById(id)); | |
| 71 | + } | |
| 72 | + | |
| 73 | + /** | |
| 74 | + * 新增平台违规案卷 | |
| 75 | + */ | |
| 76 | + @PreAuthorize("@ss.hasPermi('casefile:violationCaseFile:add')") | |
| 77 | + @Log(title = "平台违规案卷", businessType = BusinessType.INSERT) | |
| 78 | + @PostMapping | |
| 79 | + public AjaxResult add(@RequestParam(value = "fileList") MultipartFile[] files, ViolationCaseFile violationCaseFile) throws IOException | |
| 80 | + { | |
| 81 | + return toAjax(violationCaseFileService.insertViolationCaseFile(files,violationCaseFile)); | |
| 82 | + } | |
| 83 | + | |
| 84 | + /** | |
| 85 | + * 修改平台违规案卷 | |
| 86 | + */ | |
| 87 | + @PreAuthorize("@ss.hasPermi('casefile:violationCaseFile:edit')") | |
| 88 | + @Log(title = "平台违规案卷", businessType = BusinessType.UPDATE) | |
| 89 | + @PutMapping | |
| 90 | + public AjaxResult edit(@RequestParam(value = "fileList") MultipartFile[] files, String violationCaseFile, String[] uploadFilesList) throws IOException | |
| 91 | + { | |
| 92 | + ViolationCaseFileVo violationCaseFileVo = new ViolationCaseFileVo(); | |
| 93 | + violationCaseFileVo.setViolationCaseFile(JSON.parseObject(violationCaseFile, ViolationCaseFile.class)); | |
| 94 | + List<UploadFile> uploadFileList = new ArrayList<>(); | |
| 95 | + for (String uploadFile : uploadFilesList) { | |
| 96 | + UploadFile uploadFile1 = JSON.parseObject(uploadFile,UploadFile.class); | |
| 97 | + if(uploadFile1!=null){ | |
| 98 | + if(uploadFile1.getId()!=null){ | |
| 99 | + uploadFileList.add(uploadFile1); | |
| 100 | + } | |
| 101 | + } | |
| 102 | + } | |
| 103 | + violationCaseFileVo.setUploadFiles(uploadFileList); | |
| 104 | + return toAjax(violationCaseFileService.updateViolationCaseFile(files,violationCaseFileVo)); | |
| 105 | + } | |
| 106 | + | |
| 107 | + /** | |
| 108 | + * 删除平台违规案卷 | |
| 109 | + */ | |
| 110 | + @PreAuthorize("@ss.hasPermi('casefile:violationCaseFile:remove')") | |
| 111 | + @Log(title = "平台违规案卷", businessType = BusinessType.DELETE) | |
| 112 | + @DeleteMapping("/{ids}") | |
| 113 | + public AjaxResult remove(@PathVariable Long[] ids) throws IOException | |
| 114 | + { | |
| 115 | + return toAjax(violationCaseFileService.deleteViolationCaseFileByIds(ids)); | |
| 116 | + } | |
| 117 | +} | ... | ... |
trash-workFlow/src/main/java/com/trash/casefile/domain/ViolationCaseFile.java
0 → 100644
| 1 | +package com.trash.casefile.domain; | |
| 2 | + | |
| 3 | +import java.util.Date; | |
| 4 | +import com.fasterxml.jackson.annotation.JsonFormat; | |
| 5 | +import org.apache.commons.lang3.builder.ToStringBuilder; | |
| 6 | +import org.apache.commons.lang3.builder.ToStringStyle; | |
| 7 | +import com.trash.common.annotation.Excel; | |
| 8 | +import com.trash.common.core.domain.BaseEntity; | |
| 9 | + | |
| 10 | +/** | |
| 11 | + * 平台违规案卷对象 casefile_violation | |
| 12 | + * | |
| 13 | + * @author 2c | |
| 14 | + * @date 2023-05-11 | |
| 15 | + */ | |
| 16 | +public class ViolationCaseFile extends BaseEntity | |
| 17 | +{ | |
| 18 | + private static final long serialVersionUID = 1L; | |
| 19 | + | |
| 20 | + /** $column.columnComment */ | |
| 21 | + private Long id; | |
| 22 | + | |
| 23 | + /** 案卷编号 */ | |
| 24 | + @Excel(name = "案卷编号") | |
| 25 | + private String number; | |
| 26 | + | |
| 27 | + /** 违规对象类型 */ | |
| 28 | + @Excel(name = "违规对象类型") | |
| 29 | + private String violationObjectType; | |
| 30 | + | |
| 31 | + /** 所属区域 */ | |
| 32 | + @Excel(name = "所属区域") | |
| 33 | + private String owningRegion; | |
| 34 | + | |
| 35 | + /** 违规类型 */ | |
| 36 | + @Excel(name = "违规类型") | |
| 37 | + private String violationType; | |
| 38 | + | |
| 39 | + /** 违规等级 */ | |
| 40 | + @Excel(name = "违规等级") | |
| 41 | + private String violationGrade; | |
| 42 | + | |
| 43 | + /** 项目名称 */ | |
| 44 | + @Excel(name = "项目名称") | |
| 45 | + private String projectName; | |
| 46 | + | |
| 47 | + /** 企业名称 */ | |
| 48 | + @Excel(name = "企业名称") | |
| 49 | + private String companyName; | |
| 50 | + | |
| 51 | + /** 违规描述 */ | |
| 52 | + @Excel(name = "违规描述") | |
| 53 | + private String describe; | |
| 54 | + | |
| 55 | + /** 推送对象 */ | |
| 56 | + @Excel(name = "推送对象") | |
| 57 | + private String sendObject; | |
| 58 | + | |
| 59 | + /** 审批状态 */ | |
| 60 | + @Excel(name = "审批状态") | |
| 61 | + private Integer status; | |
| 62 | + | |
| 63 | + /** 接收人 */ | |
| 64 | + @Excel(name = "接收人") | |
| 65 | + private String receive; | |
| 66 | + | |
| 67 | + /** 接收状态 */ | |
| 68 | + @Excel(name = "接收状态") | |
| 69 | + private Integer receiveStatus; | |
| 70 | + | |
| 71 | + /** 阅览人 */ | |
| 72 | + @Excel(name = "阅览人") | |
| 73 | + private String readBy; | |
| 74 | + | |
| 75 | + /** 阅览时间 */ | |
| 76 | + @JsonFormat(pattern = "yyyy-MM-dd") | |
| 77 | + @Excel(name = "阅览时间", width = 30, dateFormat = "yyyy-MM-dd") | |
| 78 | + private Date readTime; | |
| 79 | + | |
| 80 | + public void setId(Long id) | |
| 81 | + { | |
| 82 | + this.id = id; | |
| 83 | + } | |
| 84 | + | |
| 85 | + public Long getId() | |
| 86 | + { | |
| 87 | + return id; | |
| 88 | + } | |
| 89 | + public void setNumber(String number) | |
| 90 | + { | |
| 91 | + this.number = number; | |
| 92 | + } | |
| 93 | + | |
| 94 | + public String getNumber() | |
| 95 | + { | |
| 96 | + return number; | |
| 97 | + } | |
| 98 | + public void setViolationObjectType(String violationObjectType) | |
| 99 | + { | |
| 100 | + this.violationObjectType = violationObjectType; | |
| 101 | + } | |
| 102 | + | |
| 103 | + public String getViolationObjectType() | |
| 104 | + { | |
| 105 | + return violationObjectType; | |
| 106 | + } | |
| 107 | + public void setOwningRegion(String owningRegion) | |
| 108 | + { | |
| 109 | + this.owningRegion = owningRegion; | |
| 110 | + } | |
| 111 | + | |
| 112 | + public String getOwningRegion() | |
| 113 | + { | |
| 114 | + return owningRegion; | |
| 115 | + } | |
| 116 | + public void setViolationType(String violationType) | |
| 117 | + { | |
| 118 | + this.violationType = violationType; | |
| 119 | + } | |
| 120 | + | |
| 121 | + public String getViolationType() | |
| 122 | + { | |
| 123 | + return violationType; | |
| 124 | + } | |
| 125 | + public void setViolationGrade(String violationGrade) | |
| 126 | + { | |
| 127 | + this.violationGrade = violationGrade; | |
| 128 | + } | |
| 129 | + | |
| 130 | + public String getViolationGrade() | |
| 131 | + { | |
| 132 | + return violationGrade; | |
| 133 | + } | |
| 134 | + public void setProjectName(String projectName) | |
| 135 | + { | |
| 136 | + this.projectName = projectName; | |
| 137 | + } | |
| 138 | + | |
| 139 | + public String getProjectName() | |
| 140 | + { | |
| 141 | + return projectName; | |
| 142 | + } | |
| 143 | + public void setCompanyName(String companyName) | |
| 144 | + { | |
| 145 | + this.companyName = companyName; | |
| 146 | + } | |
| 147 | + | |
| 148 | + public String getCompanyName() | |
| 149 | + { | |
| 150 | + return companyName; | |
| 151 | + } | |
| 152 | + public void setDescribe(String describe) | |
| 153 | + { | |
| 154 | + this.describe = describe; | |
| 155 | + } | |
| 156 | + | |
| 157 | + public String getDescribe() | |
| 158 | + { | |
| 159 | + return describe; | |
| 160 | + } | |
| 161 | + public void setSendObject(String sendObject) | |
| 162 | + { | |
| 163 | + this.sendObject = sendObject; | |
| 164 | + } | |
| 165 | + | |
| 166 | + public String getSendObject() | |
| 167 | + { | |
| 168 | + return sendObject; | |
| 169 | + } | |
| 170 | + public void setStatus(Integer status) | |
| 171 | + { | |
| 172 | + this.status = status; | |
| 173 | + } | |
| 174 | + | |
| 175 | + public Integer getStatus() | |
| 176 | + { | |
| 177 | + return status; | |
| 178 | + } | |
| 179 | + public void setReceive(String receive) | |
| 180 | + { | |
| 181 | + this.receive = receive; | |
| 182 | + } | |
| 183 | + | |
| 184 | + public String getReceive() | |
| 185 | + { | |
| 186 | + return receive; | |
| 187 | + } | |
| 188 | + public void setReceiveStatus(Integer receiveStatus) | |
| 189 | + { | |
| 190 | + this.receiveStatus = receiveStatus; | |
| 191 | + } | |
| 192 | + | |
| 193 | + public Integer getReceiveStatus() | |
| 194 | + { | |
| 195 | + return receiveStatus; | |
| 196 | + } | |
| 197 | + public void setReadBy(String readBy) | |
| 198 | + { | |
| 199 | + this.readBy = readBy; | |
| 200 | + } | |
| 201 | + | |
| 202 | + public String getReadBy() | |
| 203 | + { | |
| 204 | + return readBy; | |
| 205 | + } | |
| 206 | + public void setReadTime(Date readTime) | |
| 207 | + { | |
| 208 | + this.readTime = readTime; | |
| 209 | + } | |
| 210 | + | |
| 211 | + public Date getReadTime() | |
| 212 | + { | |
| 213 | + return readTime; | |
| 214 | + } | |
| 215 | + | |
| 216 | + @Override | |
| 217 | + public String toString() { | |
| 218 | + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) | |
| 219 | + .append("id", getId()) | |
| 220 | + .append("number", getNumber()) | |
| 221 | + .append("violationObjectType", getViolationObjectType()) | |
| 222 | + .append("owningRegion", getOwningRegion()) | |
| 223 | + .append("violationType", getViolationType()) | |
| 224 | + .append("violationGrade", getViolationGrade()) | |
| 225 | + .append("projectName", getProjectName()) | |
| 226 | + .append("companyName", getCompanyName()) | |
| 227 | + .append("describe", getDescribe()) | |
| 228 | + .append("sendObject", getSendObject()) | |
| 229 | + .append("createTime", getCreateTime()) | |
| 230 | + .append("createBy", getCreateBy()) | |
| 231 | + .append("updateTime", getUpdateTime()) | |
| 232 | + .append("updateBy", getUpdateBy()) | |
| 233 | + .append("status", getStatus()) | |
| 234 | + .append("receive", getReceive()) | |
| 235 | + .append("receiveStatus", getReceiveStatus()) | |
| 236 | + .append("readBy", getReadBy()) | |
| 237 | + .append("readTime", getReadTime()) | |
| 238 | + .toString(); | |
| 239 | + } | |
| 240 | +} | ... | ... |
trash-workFlow/src/main/java/com/trash/casefile/domain/vo/ViolationCaseFileVo.java
0 → 100644
| 1 | +package com.trash.casefile.domain.vo; | |
| 2 | + | |
| 3 | +import com.trash.casefile.domain.ViolationCaseFile; | |
| 4 | +import com.trash.casefile.domain.ViolationWarningInformation; | |
| 5 | +import com.trash.office.domain.UploadFile; | |
| 6 | + | |
| 7 | +import java.util.List; | |
| 8 | + | |
| 9 | +/** | |
| 10 | + * 违规预警信息Vo | |
| 11 | + * | |
| 12 | + * @author 2c | |
| 13 | + */ | |
| 14 | +public class ViolationCaseFileVo { | |
| 15 | + private ViolationCaseFile violationCaseFile; | |
| 16 | + | |
| 17 | + private List<UploadFile> uploadFiles; | |
| 18 | + | |
| 19 | + public List<UploadFile> getUploadFiles() { | |
| 20 | + return uploadFiles; | |
| 21 | + } | |
| 22 | + | |
| 23 | + public void setUploadFiles(List<UploadFile> uploadFiles) { | |
| 24 | + this.uploadFiles = uploadFiles; | |
| 25 | + } | |
| 26 | + | |
| 27 | + public ViolationCaseFile getViolationCaseFile() { | |
| 28 | + return violationCaseFile; | |
| 29 | + } | |
| 30 | + | |
| 31 | + public void setViolationCaseFile(ViolationCaseFile violationCaseFile) { | |
| 32 | + this.violationCaseFile = violationCaseFile; | |
| 33 | + } | |
| 34 | +} | ... | ... |
trash-workFlow/src/main/java/com/trash/casefile/mapper/ViolationCaseFileMapper.java
0 → 100644
| 1 | +package com.trash.casefile.mapper; | |
| 2 | + | |
| 3 | +import java.util.List; | |
| 4 | +import com.trash.casefile.domain.ViolationCaseFile; | |
| 5 | + | |
| 6 | +/** | |
| 7 | + * 平台违规案卷Mapper接口 | |
| 8 | + * | |
| 9 | + * @author 2c | |
| 10 | + * @date 2023-05-11 | |
| 11 | + */ | |
| 12 | +public interface ViolationCaseFileMapper | |
| 13 | +{ | |
| 14 | + /** | |
| 15 | + * 查询平台违规案卷 | |
| 16 | + * | |
| 17 | + * @param id 平台违规案卷ID | |
| 18 | + * @return 平台违规案卷 | |
| 19 | + */ | |
| 20 | + ViolationCaseFile selectViolationCaseFileById(Long id); | |
| 21 | + | |
| 22 | + /** | |
| 23 | + * 查询平台违规案卷列表 | |
| 24 | + * | |
| 25 | + * @param ViolationCaseFile 平台违规案卷 | |
| 26 | + * @return 平台违规案卷集合 | |
| 27 | + */ | |
| 28 | + List<ViolationCaseFile> selectViolationCaseFileList(ViolationCaseFile violationCaseFile); | |
| 29 | + | |
| 30 | + /** | |
| 31 | + * 新增平台违规案卷 | |
| 32 | + * | |
| 33 | + * @param ViolationCaseFile 平台违规案卷 | |
| 34 | + * @return 结果 | |
| 35 | + */ | |
| 36 | + int insertViolationCaseFile(ViolationCaseFile violationCaseFile); | |
| 37 | + | |
| 38 | + /** | |
| 39 | + * 修改平台违规案卷 | |
| 40 | + * | |
| 41 | + * @param ViolationCaseFile 平台违规案卷 | |
| 42 | + * @return 结果 | |
| 43 | + */ | |
| 44 | + int updateViolationCaseFile(ViolationCaseFile violationCaseFile); | |
| 45 | + | |
| 46 | + /** | |
| 47 | + * 删除平台违规案卷 | |
| 48 | + * | |
| 49 | + * @param id 平台违规案卷ID | |
| 50 | + * @return 结果 | |
| 51 | + */ | |
| 52 | + int deleteViolationCaseFileById(Long id); | |
| 53 | + | |
| 54 | + /** | |
| 55 | + * 批量删除平台违规案卷 | |
| 56 | + * | |
| 57 | + * @param ids 需要删除的数据ID | |
| 58 | + * @return 结果 | |
| 59 | + */ | |
| 60 | + int deleteViolationCaseFileByIds(Long[] ids); | |
| 61 | +} | ... | ... |
trash-workFlow/src/main/java/com/trash/casefile/service/IReplyApprovalProcessService.java
0 → 100644
| 1 | +package com.trash.casefile.service; | |
| 2 | + | |
| 3 | +import java.util.List; | |
| 4 | +import com.trash.casefile.domain.ReplyApprovalProcess; | |
| 5 | + | |
| 6 | +/** | |
| 7 | + * 回复审批流程Service接口 | |
| 8 | + * | |
| 9 | + * @author 2c | |
| 10 | + * @date 2023-05-10 | |
| 11 | + */ | |
| 12 | +public interface IReplyApprovalProcessService | |
| 13 | +{ | |
| 14 | + /** | |
| 15 | + * 查询回复审批流程 | |
| 16 | + * | |
| 17 | + * @param id 回复审批流程ID | |
| 18 | + * @return 回复审批流程 | |
| 19 | + */ | |
| 20 | + ReplyApprovalProcess selectReplyApprovalProcessById(Long id); | |
| 21 | + | |
| 22 | + /** | |
| 23 | + * 查询回复审批流程列表 | |
| 24 | + * | |
| 25 | + * @param replyApprovalProcess 回复审批流程 | |
| 26 | + * @return 回复审批流程集合 | |
| 27 | + */ | |
| 28 | + List<ReplyApprovalProcess> selectReplyApprovalProcessList(ReplyApprovalProcess replyApprovalProcess); | |
| 29 | + | |
| 30 | + /** | |
| 31 | + * 新增回复审批流程 | |
| 32 | + * | |
| 33 | + * @param replyApprovalProcess 回复审批流程 | |
| 34 | + * @return 结果 | |
| 35 | + */ | |
| 36 | + int insertReplyApprovalProcess(ReplyApprovalProcess replyApprovalProcess); | |
| 37 | + | |
| 38 | + /** | |
| 39 | + * 修改回复审批流程 | |
| 40 | + * | |
| 41 | + * @param replyApprovalProcess 回复审批流程 | |
| 42 | + * @return 结果 | |
| 43 | + */ | |
| 44 | + int updateReplyApprovalProcess(ReplyApprovalProcess replyApprovalProcess); | |
| 45 | + | |
| 46 | + /** | |
| 47 | + * 批量删除回复审批流程 | |
| 48 | + * | |
| 49 | + * @param ids 需要删除的回复审批流程ID | |
| 50 | + * @return 结果 | |
| 51 | + */ | |
| 52 | + int deleteReplyApprovalProcessByIds(Long[] ids); | |
| 53 | + | |
| 54 | + /** | |
| 55 | + * 删除回复审批流程信息 | |
| 56 | + * | |
| 57 | + * @param id 回复审批流程ID | |
| 58 | + * @return 结果 | |
| 59 | + */ | |
| 60 | + int deleteReplyApprovalProcessById(Long id); | |
| 61 | +} | ... | ... |
trash-workFlow/src/main/java/com/trash/casefile/service/IViolationCaseFileService.java
0 → 100644
| 1 | +package com.trash.casefile.service; | |
| 2 | + | |
| 3 | +import java.io.IOException; | |
| 4 | +import java.util.List; | |
| 5 | +import com.trash.casefile.domain.ViolationCaseFile; | |
| 6 | +import com.trash.casefile.domain.vo.ViolationCaseFileVo; | |
| 7 | +import org.springframework.web.multipart.MultipartFile; | |
| 8 | + | |
| 9 | +/** | |
| 10 | + * 平台违规案卷Service接口 | |
| 11 | + * | |
| 12 | + * @author 2c | |
| 13 | + * @date 2023-05-11 | |
| 14 | + */ | |
| 15 | +public interface IViolationCaseFileService | |
| 16 | +{ | |
| 17 | + /** | |
| 18 | + * 查询平台违规案卷 | |
| 19 | + * | |
| 20 | + * @param id 平台违规案卷ID | |
| 21 | + * @return 平台违规案卷 | |
| 22 | + */ | |
| 23 | + ViolationCaseFileVo selectViolationCaseFileById(Long id); | |
| 24 | + | |
| 25 | + /** | |
| 26 | + * 查询平台违规案卷列表 | |
| 27 | + * | |
| 28 | + * @param violationCaseFile 平台违规案卷 | |
| 29 | + * @return 平台违规案卷集合 | |
| 30 | + */ | |
| 31 | + List<ViolationCaseFile> selectViolationCaseFileList(ViolationCaseFile violationCaseFile); | |
| 32 | + | |
| 33 | + /** | |
| 34 | + * 新增平台违规案卷 | |
| 35 | + * | |
| 36 | + * @param violationCaseFile 平台违规案卷 | |
| 37 | + * @return 结果 | |
| 38 | + */ | |
| 39 | + int insertViolationCaseFile(MultipartFile[] files,ViolationCaseFile violationCaseFile) throws IOException; | |
| 40 | + | |
| 41 | + /** | |
| 42 | + * 修改平台违规案卷 | |
| 43 | + * | |
| 44 | + * @param violationCaseFileVo 平台违规案卷 | |
| 45 | + * @return 结果 | |
| 46 | + */ | |
| 47 | + int updateViolationCaseFile(MultipartFile[] files, ViolationCaseFileVo violationCaseFileVo) throws IOException; | |
| 48 | + | |
| 49 | + /** | |
| 50 | + * 批量删除平台违规案卷 | |
| 51 | + * | |
| 52 | + * @param ids 需要删除的平台违规案卷ID | |
| 53 | + * @return 结果 | |
| 54 | + */ | |
| 55 | + int deleteViolationCaseFileByIds(Long[] ids) throws IOException; | |
| 56 | + | |
| 57 | + /** | |
| 58 | + * 删除平台违规案卷信息 | |
| 59 | + * | |
| 60 | + * @param id 平台违规案卷ID | |
| 61 | + * @return 结果 | |
| 62 | + */ | |
| 63 | + int deleteViolationCaseFileById(Long id); | |
| 64 | +} | ... | ... |
trash-workFlow/src/main/java/com/trash/casefile/service/impl/ReplyApprovalProcessServiceImpl.java
0 → 100644
| 1 | +package com.trash.casefile.service.impl; | |
| 2 | + | |
| 3 | +import java.util.List; | |
| 4 | +import org.springframework.beans.factory.annotation.Autowired; | |
| 5 | +import org.springframework.stereotype.Service; | |
| 6 | +import com.trash.casefile.mapper.ReplyApprovalProcessMapper; | |
| 7 | +import com.trash.casefile.domain.ReplyApprovalProcess; | |
| 8 | +import com.trash.casefile.service.IReplyApprovalProcessService; | |
| 9 | + | |
| 10 | +/** | |
| 11 | + * 回复审批流程Service业务层处理 | |
| 12 | + * | |
| 13 | + * @author 2c | |
| 14 | + * @date 2023-05-10 | |
| 15 | + */ | |
| 16 | +@Service | |
| 17 | +public class ReplyApprovalProcessServiceImpl implements IReplyApprovalProcessService | |
| 18 | +{ | |
| 19 | + @Autowired | |
| 20 | + private ReplyApprovalProcessMapper replyApprovalProcessMapper; | |
| 21 | + | |
| 22 | + /** | |
| 23 | + * 查询回复审批流程 | |
| 24 | + * | |
| 25 | + * @param id 回复审批流程ID | |
| 26 | + * @return 回复审批流程 | |
| 27 | + */ | |
| 28 | + @Override | |
| 29 | + public ReplyApprovalProcess selectReplyApprovalProcessById(Long id) | |
| 30 | + { | |
| 31 | + return replyApprovalProcessMapper.selectReplyApprovalProcessById(id); | |
| 32 | + } | |
| 33 | + | |
| 34 | + /** | |
| 35 | + * 查询回复审批流程列表 | |
| 36 | + * | |
| 37 | + * @param replyApprovalProcess 回复审批流程 | |
| 38 | + * @return 回复审批流程 | |
| 39 | + */ | |
| 40 | + @Override | |
| 41 | + public List<ReplyApprovalProcess> selectReplyApprovalProcessList(ReplyApprovalProcess replyApprovalProcess) | |
| 42 | + { | |
| 43 | + return replyApprovalProcessMapper.selectReplyApprovalProcessList(replyApprovalProcess); | |
| 44 | + } | |
| 45 | + | |
| 46 | + /** | |
| 47 | + * 新增回复审批流程 | |
| 48 | + * | |
| 49 | + * @param replyApprovalProcess 回复审批流程 | |
| 50 | + * @return 结果 | |
| 51 | + */ | |
| 52 | + @Override | |
| 53 | + public int insertReplyApprovalProcess(ReplyApprovalProcess replyApprovalProcess) | |
| 54 | + { | |
| 55 | + return replyApprovalProcessMapper.insertReplyApprovalProcess(replyApprovalProcess); | |
| 56 | + } | |
| 57 | + | |
| 58 | + /** | |
| 59 | + * 修改回复审批流程 | |
| 60 | + * | |
| 61 | + * @param replyApprovalProcess 回复审批流程 | |
| 62 | + * @return 结果 | |
| 63 | + */ | |
| 64 | + @Override | |
| 65 | + public int updateReplyApprovalProcess(ReplyApprovalProcess replyApprovalProcess) | |
| 66 | + { | |
| 67 | + return replyApprovalProcessMapper.updateReplyApprovalProcess(replyApprovalProcess); | |
| 68 | + } | |
| 69 | + | |
| 70 | + /** | |
| 71 | + * 批量删除回复审批流程 | |
| 72 | + * | |
| 73 | + * @param ids 需要删除的回复审批流程ID | |
| 74 | + * @return 结果 | |
| 75 | + */ | |
| 76 | + @Override | |
| 77 | + public int deleteReplyApprovalProcessByIds(Long[] ids) | |
| 78 | + { | |
| 79 | + return replyApprovalProcessMapper.deleteReplyApprovalProcessByIds(ids); | |
| 80 | + } | |
| 81 | + | |
| 82 | + /** | |
| 83 | + * 删除回复审批流程信息 | |
| 84 | + * | |
| 85 | + * @param id 回复审批流程ID | |
| 86 | + * @return 结果 | |
| 87 | + */ | |
| 88 | + @Override | |
| 89 | + public int deleteReplyApprovalProcessById(Long id) | |
| 90 | + { | |
| 91 | + return replyApprovalProcessMapper.deleteReplyApprovalProcessById(id); | |
| 92 | + } | |
| 93 | +} | ... | ... |
trash-workFlow/src/main/java/com/trash/casefile/service/impl/ViolationCaseFileServiceImpl.java
0 → 100644
| 1 | +package com.trash.casefile.service.impl; | |
| 2 | + | |
| 3 | +import java.io.IOException; | |
| 4 | +import java.util.List; | |
| 5 | +import java.util.stream.Collectors; | |
| 6 | + | |
| 7 | +import com.trash.casefile.domain.vo.ViolationCaseFileVo; | |
| 8 | +import com.trash.casefile.domain.vo.ViolationWarningInformationVo; | |
| 9 | +import com.trash.common.utils.DateUtils; | |
| 10 | +import com.trash.common.utils.SecurityUtils; | |
| 11 | +import com.trash.common.utils.file.FileUploadUtils; | |
| 12 | +import com.trash.office.domain.UploadFile; | |
| 13 | +import com.trash.office.mapper.UploadFileMapper; | |
| 14 | +import org.springframework.beans.factory.annotation.Autowired; | |
| 15 | +import org.springframework.stereotype.Service; | |
| 16 | +import com.trash.casefile.mapper.ViolationCaseFileMapper; | |
| 17 | +import com.trash.casefile.domain.ViolationCaseFile; | |
| 18 | +import com.trash.casefile.service.IViolationCaseFileService; | |
| 19 | +import org.springframework.transaction.annotation.Transactional; | |
| 20 | +import org.springframework.web.multipart.MultipartFile; | |
| 21 | + | |
| 22 | +/** | |
| 23 | + * 平台违规案卷Service业务层处理 | |
| 24 | + * | |
| 25 | + * @author 2c | |
| 26 | + * @date 2023-05-11 | |
| 27 | + */ | |
| 28 | +@Service | |
| 29 | +public class ViolationCaseFileServiceImpl implements IViolationCaseFileService | |
| 30 | +{ | |
| 31 | + @Autowired | |
| 32 | + private ViolationCaseFileMapper violationCaseFileMapper; | |
| 33 | + @Autowired | |
| 34 | + private UploadFileMapper uploadFileMapper; | |
| 35 | + | |
| 36 | + /** | |
| 37 | + * 查询平台违规案卷 | |
| 38 | + * | |
| 39 | + * @param id 平台违规案卷ID | |
| 40 | + * @return 平台违规案卷 | |
| 41 | + */ | |
| 42 | + @Override | |
| 43 | + public ViolationCaseFileVo selectViolationCaseFileById(Long id) | |
| 44 | + { | |
| 45 | + ViolationCaseFileVo violationCaseFileVo = new ViolationCaseFileVo(); | |
| 46 | + violationCaseFileVo.setViolationCaseFile(violationCaseFileMapper.selectViolationCaseFileById(id)); | |
| 47 | + UploadFile uploadFile = new UploadFile(); | |
| 48 | + uploadFile.setTableName("violation_case_file"); | |
| 49 | + uploadFile.setTableNumber(violationCaseFileVo.getViolationCaseFile().getId().toString()); | |
| 50 | + List<UploadFile> list = uploadFileMapper.selectUploadFileList(uploadFile); | |
| 51 | + violationCaseFileVo.setUploadFiles(list); | |
| 52 | + return violationCaseFileVo; | |
| 53 | + } | |
| 54 | + | |
| 55 | + /** | |
| 56 | + * 查询平台违规案卷列表 | |
| 57 | + * | |
| 58 | + * @param violationCaseFile 平台违规案卷 | |
| 59 | + * @return 平台违规案卷 | |
| 60 | + */ | |
| 61 | + @Override | |
| 62 | + public List<ViolationCaseFile> selectViolationCaseFileList(ViolationCaseFile violationCaseFile) | |
| 63 | + { | |
| 64 | + return violationCaseFileMapper.selectViolationCaseFileList(violationCaseFile); | |
| 65 | + } | |
| 66 | + | |
| 67 | + /** | |
| 68 | + * 新增平台违规案卷 | |
| 69 | + * | |
| 70 | + * @param violationCaseFile 平台违规案卷 | |
| 71 | + * @return 结果 | |
| 72 | + */ | |
| 73 | + @Override | |
| 74 | + @Transactional | |
| 75 | + public int insertViolationCaseFile(MultipartFile[] files, ViolationCaseFile violationCaseFile) throws IOException | |
| 76 | + { | |
| 77 | + violationCaseFile.setCreateBy(SecurityUtils.getUsername()); | |
| 78 | + violationCaseFile.setStatus(0); | |
| 79 | + Integer result = violationCaseFileMapper.insertViolationCaseFile(violationCaseFile); | |
| 80 | + //文件上传 | |
| 81 | + for (MultipartFile file : files) { | |
| 82 | + UploadFile uploadFile = new UploadFile(); | |
| 83 | + uploadFile.setTableName("violation_case_file"); | |
| 84 | + uploadFile.setTableNumber(violationCaseFile.getId().toString()); | |
| 85 | + uploadFile.setFileName(file.getOriginalFilename()); | |
| 86 | + uploadFile.setFilePath(FileUploadUtils.uploadFile(file)); | |
| 87 | + uploadFileMapper.insertUploadFile(uploadFile); | |
| 88 | + } | |
| 89 | + return result; | |
| 90 | + } | |
| 91 | + | |
| 92 | + /** | |
| 93 | + * 修改平台违规案卷 | |
| 94 | + * | |
| 95 | + * @param violationCaseFileVo 平台违规案卷 | |
| 96 | + * @return 结果 | |
| 97 | + */ | |
| 98 | + @Override | |
| 99 | + @Transactional | |
| 100 | + public int updateViolationCaseFile(MultipartFile[] files, ViolationCaseFileVo violationCaseFileVo) throws IOException | |
| 101 | + { | |
| 102 | + violationCaseFileVo.getViolationCaseFile().setUpdateBy(SecurityUtils.getUsername()); | |
| 103 | + //查询该合同下的文件上传数据然后删除数据库中的数据和文件 | |
| 104 | + UploadFile uploadFile = new UploadFile(); | |
| 105 | + uploadFile.setTableName("violation_case_file"); | |
| 106 | + uploadFile.setTableNumber(violationCaseFileVo.getViolationCaseFile().getId().toString()); | |
| 107 | + List<UploadFile> uploadFileList = uploadFileMapper.selectUploadFileList(uploadFile); | |
| 108 | + //判断getUploadFiles里是否有旧文件,如果有文件上传则先删除数据库中的数据,再添加新的数据,如果没有文件上传,则删除数据库中的数据和文件 | |
| 109 | + if (violationCaseFileVo.getUploadFiles().size() != 0) { | |
| 110 | + //获取两个list的交集 | |
| 111 | + List<UploadFile> distinctList = uploadFileList.stream().filter(item -> violationCaseFileVo.getUploadFiles().stream().anyMatch(item2 -> item.getId().equals(item2.getId()))).collect(Collectors.toList()); | |
| 112 | + //去掉交集得到需要删除的数据 | |
| 113 | + uploadFileList.removeAll(distinctList); | |
| 114 | + | |
| 115 | + for (UploadFile distinctFile : uploadFileList) { | |
| 116 | + uploadFileMapper.deleteUploadFileById(distinctFile.getId()); | |
| 117 | + //删除文件 | |
| 118 | + FileUploadUtils.deleteFile(distinctFile.getFilePath()); | |
| 119 | + } | |
| 120 | + } else { | |
| 121 | + for (UploadFile uploadFile1 : uploadFileList) { | |
| 122 | + //删除数据库数据 | |
| 123 | + uploadFileMapper.deleteUploadFileById(uploadFile1.getId()); | |
| 124 | + //删除文件 | |
| 125 | + FileUploadUtils.deleteFile(uploadFile1.getFilePath()); | |
| 126 | + } | |
| 127 | + } | |
| 128 | + | |
| 129 | + //添加新的文件 | |
| 130 | + for (MultipartFile file : files) { | |
| 131 | + UploadFile newUploadFile = new UploadFile(); | |
| 132 | + newUploadFile.setTableName("violation_case_file"); | |
| 133 | + newUploadFile.setTableNumber(violationCaseFileVo.getViolationCaseFile().getId().toString()); | |
| 134 | + newUploadFile.setFileName(file.getOriginalFilename()); | |
| 135 | + newUploadFile.setFilePath(FileUploadUtils.uploadFile(file)); | |
| 136 | + uploadFileMapper.insertUploadFile(newUploadFile); | |
| 137 | + } | |
| 138 | + return violationCaseFileMapper.updateViolationCaseFile(violationCaseFileVo.getViolationCaseFile()); | |
| 139 | + } | |
| 140 | + | |
| 141 | + /** | |
| 142 | + * 批量删除平台违规案卷 | |
| 143 | + * | |
| 144 | + * @param ids 需要删除的平台违规案卷ID | |
| 145 | + * @return 结果 | |
| 146 | + */ | |
| 147 | + @Override | |
| 148 | + public int deleteViolationCaseFileByIds(Long[] ids) throws IOException | |
| 149 | + { | |
| 150 | + return violationCaseFileMapper.deleteViolationCaseFileByIds(ids); | |
| 151 | + } | |
| 152 | + | |
| 153 | + /** | |
| 154 | + * 删除平台违规案卷信息 | |
| 155 | + * | |
| 156 | + * @param id 平台违规案卷ID | |
| 157 | + * @return 结果 | |
| 158 | + */ | |
| 159 | + @Override | |
| 160 | + public int deleteViolationCaseFileById(Long id) | |
| 161 | + { | |
| 162 | + return violationCaseFileMapper.deleteViolationCaseFileById(id); | |
| 163 | + } | |
| 164 | +} | ... | ... |
trash-workFlow/src/main/java/com/trash/office/controller/ConferenceController.java
| ... | ... | @@ -57,7 +57,7 @@ public class ConferenceController extends BaseController |
| 57 | 57 | { |
| 58 | 58 | List<Conference> list = conferenceService.selectConferenceList(conference); |
| 59 | 59 | ExcelUtil<Conference> util = new ExcelUtil<Conference>(Conference.class); |
| 60 | - return util.exportExcel(list, "conference"); | |
| 60 | + return util.exportExcel(list, "会议管理"); | |
| 61 | 61 | } |
| 62 | 62 | |
| 63 | 63 | /** | ... | ... |
trash-workFlow/src/main/java/com/trash/office/controller/ContractManagementController.java
| ... | ... | @@ -55,7 +55,7 @@ public class ContractManagementController extends BaseController |
| 55 | 55 | { |
| 56 | 56 | List<ContractManagement> list = contractManagementService.selectContractManagementList(contractManagement); |
| 57 | 57 | ExcelUtil<ContractManagement> util = new ExcelUtil<ContractManagement>(ContractManagement.class); |
| 58 | - return util.exportExcel(list, "management"); | |
| 58 | + return util.exportExcel(list, "合同管理"); | |
| 59 | 59 | } |
| 60 | 60 | |
| 61 | 61 | /** | ... | ... |
trash-workFlow/src/main/java/com/trash/office/controller/HandleAffairsCommonController.java
| ... | ... | @@ -57,7 +57,7 @@ public class HandleAffairsCommonController extends BaseController |
| 57 | 57 | { |
| 58 | 58 | List<HandleAffairsCommon> list = handleAffairsCommonService.selectHandleAffairsCommonList(handleAffairsCommon); |
| 59 | 59 | ExcelUtil<HandleAffairsCommon> util = new ExcelUtil<HandleAffairsCommon>(HandleAffairsCommon.class); |
| 60 | - return util.exportExcel(list, "handleAffairsCommon"); | |
| 60 | + return util.exportExcel(list, "办文办事-普通"); | |
| 61 | 61 | } |
| 62 | 62 | |
| 63 | 63 | /** | ... | ... |
trash-workFlow/src/main/java/com/trash/office/controller/HandleAffairsController.java
| ... | ... | @@ -54,7 +54,7 @@ public class HandleAffairsController extends BaseController { |
| 54 | 54 | public AjaxResult export(HandleAffairs handleAffairs) { |
| 55 | 55 | List<HandleAffairs> list = handleAffairsService.selectHandleAffairsList(handleAffairs); |
| 56 | 56 | ExcelUtil<HandleAffairs> util = new ExcelUtil<HandleAffairs>(HandleAffairs.class); |
| 57 | - return util.exportExcel(list, "handle"); | |
| 57 | + return util.exportExcel(list, "办文办事"); | |
| 58 | 58 | } |
| 59 | 59 | |
| 60 | 60 | /** | ... | ... |
trash-workFlow/src/main/java/com/trash/office/controller/HandleAffairsXfController.java
| ... | ... | @@ -57,7 +57,7 @@ public class HandleAffairsXfController extends BaseController |
| 57 | 57 | { |
| 58 | 58 | List<HandleAffairsXf> list = handleAffairsXfService.selectHandleAffairsXfList(handleAffairsXf); |
| 59 | 59 | ExcelUtil<HandleAffairsXf> util = new ExcelUtil<HandleAffairsXf>(HandleAffairsXf.class); |
| 60 | - return util.exportExcel(list, "handleAffairsXF"); | |
| 60 | + return util.exportExcel(list, "办文办事信访类"); | |
| 61 | 61 | } |
| 62 | 62 | |
| 63 | 63 | /** | ... | ... |
trash-workFlow/src/main/java/com/trash/office/controller/LeaveApplicationController.java
| ... | ... | @@ -58,7 +58,7 @@ public class LeaveApplicationController extends BaseController |
| 58 | 58 | { |
| 59 | 59 | List<LeaveApplication> list = leaveApplicationService.selectLeaveApplicationList(leaveApplication); |
| 60 | 60 | ExcelUtil<LeaveApplication> util = new ExcelUtil<LeaveApplication>(LeaveApplication.class); |
| 61 | - return util.exportExcel(list, "leaveApplication"); | |
| 61 | + return util.exportExcel(list, "请假申请"); | |
| 62 | 62 | } |
| 63 | 63 | |
| 64 | 64 | /** | ... | ... |
trash-workFlow/src/main/java/com/trash/office/controller/LogisticsManagementController.java
| ... | ... | @@ -55,7 +55,7 @@ public class LogisticsManagementController extends BaseController |
| 55 | 55 | { |
| 56 | 56 | List<LogisticsManagement> list = logisticsManagementService.selectLogisticsManagementList(logisticsManagement); |
| 57 | 57 | ExcelUtil<LogisticsManagement> util = new ExcelUtil<LogisticsManagement>(LogisticsManagement.class); |
| 58 | - return util.exportExcel(list, "logistics"); | |
| 58 | + return util.exportExcel(list, "后勤管理"); | |
| 59 | 59 | } |
| 60 | 60 | |
| 61 | 61 | /** | ... | ... |
trash-workFlow/src/main/java/com/trash/office/domain/Conference.java
| ... | ... | @@ -30,11 +30,9 @@ public class Conference extends BaseEntity |
| 30 | 30 | private String conferenceSite; |
| 31 | 31 | |
| 32 | 32 | /** 科室id */ |
| 33 | - @Excel(name = "科室id") | |
| 34 | - private Long deptId; | |
| 33 | + private Integer deptId; | |
| 35 | 34 | |
| 36 | - /** 科室名称 */ | |
| 37 | - @Excel(name = "科室名称") | |
| 35 | +// @Excel(name = "部门") | |
| 38 | 36 | private String deptName; |
| 39 | 37 | |
| 40 | 38 | /** 参会人员 */ |
| ... | ... | @@ -42,23 +40,21 @@ public class Conference extends BaseEntity |
| 42 | 40 | private String staff; |
| 43 | 41 | |
| 44 | 42 | /** 会议主题 */ |
| 45 | - @Excel(name = "会议主题") | |
| 46 | 43 | private String subject; |
| 47 | 44 | |
| 48 | 45 | /** 会议内容 */ |
| 49 | - @Excel(name = "会议内容") | |
| 50 | 46 | private String content; |
| 51 | 47 | |
| 52 | 48 | /** 会议要求 */ |
| 53 | - @Excel(name = "会议要求") | |
| 54 | 49 | private String requirement; |
| 55 | 50 | |
| 56 | 51 | /** 通知区级分平台或者公司分平台 |
| 57 | 52 | * 1:区级分平台,2:公司分平台,1,2:都通知 |
| 58 | 53 | */ |
| 59 | - @Excel(name = "通知区级分平台或者公司分平台") | |
| 54 | + //@Excel(name = "通知区级分平台或者公司分平台") | |
| 60 | 55 | private String notify; |
| 61 | 56 | |
| 57 | + @Excel(name = "审批状态") | |
| 62 | 58 | private Integer status; |
| 63 | 59 | |
| 64 | 60 | public Integer getStatus() { |
| ... | ... | @@ -69,6 +65,15 @@ public class Conference extends BaseEntity |
| 69 | 65 | this.status = status; |
| 70 | 66 | } |
| 71 | 67 | |
| 68 | + | |
| 69 | + public String getDeptName() { | |
| 70 | + return deptName; | |
| 71 | + } | |
| 72 | + | |
| 73 | + public void setDeptName(String deptName) { | |
| 74 | + this.deptName = deptName; | |
| 75 | + } | |
| 76 | + | |
| 72 | 77 | public String getRequirement() { |
| 73 | 78 | return requirement; |
| 74 | 79 | } |
| ... | ... | @@ -82,7 +87,7 @@ public class Conference extends BaseEntity |
| 82 | 87 | this.id = id; |
| 83 | 88 | } |
| 84 | 89 | |
| 85 | - public Long getId() | |
| 90 | + public Long getId() | |
| 86 | 91 | { |
| 87 | 92 | return id; |
| 88 | 93 | } |
| ... | ... | @@ -104,24 +109,15 @@ public class Conference extends BaseEntity |
| 104 | 109 | { |
| 105 | 110 | return conferenceSite; |
| 106 | 111 | } |
| 107 | - public void setDeptId(Long deptId) | |
| 112 | + public void setDeptId(Integer deptId) | |
| 108 | 113 | { |
| 109 | 114 | this.deptId = deptId; |
| 110 | 115 | } |
| 111 | 116 | |
| 112 | - public Long getDeptId() | |
| 117 | + public Integer getDeptId() | |
| 113 | 118 | { |
| 114 | 119 | return deptId; |
| 115 | 120 | } |
| 116 | - public void setDeptName(String deptName) | |
| 117 | - { | |
| 118 | - this.deptName = deptName; | |
| 119 | - } | |
| 120 | - | |
| 121 | - public String getDeptName() | |
| 122 | - { | |
| 123 | - return deptName; | |
| 124 | - } | |
| 125 | 121 | public void setStaff(String staff) |
| 126 | 122 | { |
| 127 | 123 | this.staff = staff; |
| ... | ... | @@ -166,7 +162,6 @@ public class Conference extends BaseEntity |
| 166 | 162 | .append("conferenceTime", getConferenceTime()) |
| 167 | 163 | .append("conferenceSite", getConferenceSite()) |
| 168 | 164 | .append("deptId", getDeptId()) |
| 169 | - .append("deptName", getDeptName()) | |
| 170 | 165 | .append("staff", getStaff()) |
| 171 | 166 | .append("subject", getSubject()) |
| 172 | 167 | .append("content", getContent()) | ... | ... |
trash-workFlow/src/main/java/com/trash/office/domain/ContractManagement.java
| ... | ... | @@ -49,15 +49,15 @@ public class ContractManagement extends BaseEntity { |
| 49 | 49 | /** |
| 50 | 50 | * 合同开始时间 |
| 51 | 51 | */ |
| 52 | - @JsonFormat(pattern = "yyyy-MM-dd") | |
| 53 | - @Excel(name = "合同开始时间", width = 30, dateFormat = "yyyy-MM-dd") | |
| 52 | + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") | |
| 53 | + @Excel(name = "合同开始时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") | |
| 54 | 54 | private Date contractBeginDate; |
| 55 | 55 | |
| 56 | 56 | /** |
| 57 | 57 | * 合同结束时间 |
| 58 | 58 | */ |
| 59 | - @JsonFormat(pattern = "yyyy-MM-dd") | |
| 60 | - @Excel(name = "合同结束时间", width = 30, dateFormat = "yyyy-MM-dd") | |
| 59 | + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") | |
| 60 | + @Excel(name = "合同结束时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") | |
| 61 | 61 | private Date contractEndDate; |
| 62 | 62 | |
| 63 | 63 | /** |
| ... | ... | @@ -75,19 +75,30 @@ public class ContractManagement extends BaseEntity { |
| 75 | 75 | /** |
| 76 | 76 | * 责任科室id |
| 77 | 77 | */ |
| 78 | - @Excel(name = "责任科室id") | |
| 79 | - private Long deptid; | |
| 78 | + @Excel(name = "责任科室") | |
| 79 | + private String deptName; | |
| 80 | 80 | |
| 81 | 81 | /** |
| 82 | - * 责任科室 | |
| 82 | + * 审批状态 0待审核/1审核通过/2驳回 | |
| 83 | 83 | */ |
| 84 | - @Excel(name = "责任科室") | |
| 85 | - private String deptname; | |
| 86 | - | |
| 87 | - /** 审批状态 0待审核/1审核通过/2驳回 */ | |
| 88 | - @Excel(name = "审批状态") | |
| 84 | + @Excel(name = "审批状态", readConverterExp = "0=审批中,1=审批通过,2=被驳回") | |
| 89 | 85 | private Integer status; |
| 90 | 86 | |
| 87 | + /** | |
| 88 | + * 合同签订时间 | |
| 89 | + */ | |
| 90 | + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") | |
| 91 | + @Excel(name = "合同签订时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") | |
| 92 | + private Date signTime; | |
| 93 | + | |
| 94 | + public Date getSignTime() { | |
| 95 | + return signTime; | |
| 96 | + } | |
| 97 | + | |
| 98 | + public void setSignTime(Date signTime) { | |
| 99 | + this.signTime = signTime; | |
| 100 | + } | |
| 101 | + | |
| 91 | 102 | public Integer getStatus() { |
| 92 | 103 | return status; |
| 93 | 104 | } |
| ... | ... | @@ -168,20 +179,12 @@ public class ContractManagement extends BaseEntity { |
| 168 | 179 | return contractState; |
| 169 | 180 | } |
| 170 | 181 | |
| 171 | - public void setDeptid(Long deptid) { | |
| 172 | - this.deptid = deptid; | |
| 173 | - } | |
| 174 | - | |
| 175 | - public Long getDeptid() { | |
| 176 | - return deptid; | |
| 177 | - } | |
| 178 | - | |
| 179 | - public void setDeptname(String deptname) { | |
| 180 | - this.deptname = deptname; | |
| 182 | + public void setDeptName(String deptName) { | |
| 183 | + this.deptName = deptName; | |
| 181 | 184 | } |
| 182 | 185 | |
| 183 | - public String getDeptname() { | |
| 184 | - return deptname; | |
| 186 | + public String getDeptName() { | |
| 187 | + return deptName; | |
| 185 | 188 | } |
| 186 | 189 | |
| 187 | 190 | |
| ... | ... | @@ -197,8 +200,8 @@ public class ContractManagement extends BaseEntity { |
| 197 | 200 | .append("contractEndDate", getContractEndDate()) |
| 198 | 201 | .append("contractMoney", getContractMoney()) |
| 199 | 202 | .append("contractState", getContractState()) |
| 200 | - .append("deptid", getDeptid()) | |
| 201 | - .append("deptname", getDeptname()) | |
| 203 | + .append("deptName", getDeptName()) | |
| 204 | + .append("signTime", getSignTime()) | |
| 202 | 205 | .toString(); |
| 203 | 206 | } |
| 204 | 207 | } | ... | ... |
trash-workFlow/src/main/java/com/trash/office/domain/HandleAffairs.java
| ... | ... | @@ -31,8 +31,8 @@ public class HandleAffairs extends BaseEntity { |
| 31 | 31 | /** |
| 32 | 32 | * 收文时间 |
| 33 | 33 | */ |
| 34 | - @JsonFormat(pattern = "yyyy-MM-dd") | |
| 35 | - @Excel(name = "收文时间", width = 30, dateFormat = "yyyy-MM-dd") | |
| 34 | + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") | |
| 35 | + @Excel(name = "收文时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") | |
| 36 | 36 | private Date receiveTime; |
| 37 | 37 | |
| 38 | 38 | /** |
| ... | ... | @@ -67,29 +67,24 @@ public class HandleAffairs extends BaseEntity { |
| 67 | 67 | private Date sendDate; |
| 68 | 68 | |
| 69 | 69 | /** |
| 70 | - * 是否已阅 | |
| 71 | - */ | |
| 72 | - @Excel(name = "是否已阅") | |
| 73 | - private Integer isRead; | |
| 74 | - | |
| 75 | - /** | |
| 76 | - * 办理意见 | |
| 77 | - */ | |
| 78 | - @Excel(name = "办理意见") | |
| 79 | - private String opinion; | |
| 80 | - | |
| 81 | - /** | |
| 82 | - * 相关部门意见 | |
| 70 | + * 信访部门 | |
| 83 | 71 | */ |
| 84 | - @Excel(name = "相关部门意见") | |
| 85 | - private String deptOpinion; | |
| 72 | + private Integer deptId; | |
| 86 | 73 | |
| 87 | 74 | /** |
| 88 | 75 | * 审批状态 |
| 89 | 76 | */ |
| 90 | - @Excel(name = "审批状态") | |
| 77 | + @Excel(name = "审批状态", readConverterExp = "0=审批中,1=审批通过,2=被驳回") | |
| 91 | 78 | private Integer status; |
| 92 | 79 | |
| 80 | + public Integer getDeptId() { | |
| 81 | + return deptId; | |
| 82 | + } | |
| 83 | + | |
| 84 | + public void setDeptId(Integer deptId) { | |
| 85 | + this.deptId = deptId; | |
| 86 | + } | |
| 87 | + | |
| 93 | 88 | public Date getSendDate() { |
| 94 | 89 | return sendDate; |
| 95 | 90 | } |
| ... | ... | @@ -154,30 +149,6 @@ public class HandleAffairs extends BaseEntity { |
| 154 | 149 | return sendPerson; |
| 155 | 150 | } |
| 156 | 151 | |
| 157 | - public void setIsRead(Integer isRead) { | |
| 158 | - this.isRead = isRead; | |
| 159 | - } | |
| 160 | - | |
| 161 | - public Integer getIsRead() { | |
| 162 | - return isRead; | |
| 163 | - } | |
| 164 | - | |
| 165 | - public void setOpinion(String opinion) { | |
| 166 | - this.opinion = opinion; | |
| 167 | - } | |
| 168 | - | |
| 169 | - public String getOpinion() { | |
| 170 | - return opinion; | |
| 171 | - } | |
| 172 | - | |
| 173 | - public void setDeptOpinion(String deptOpinion) { | |
| 174 | - this.deptOpinion = deptOpinion; | |
| 175 | - } | |
| 176 | - | |
| 177 | - public String getDeptOpinion() { | |
| 178 | - return deptOpinion; | |
| 179 | - } | |
| 180 | - | |
| 181 | 152 | public void setStatus(Integer status) { |
| 182 | 153 | this.status = status; |
| 183 | 154 | } |
| ... | ... | @@ -197,9 +168,6 @@ public class HandleAffairs extends BaseEntity { |
| 197 | 168 | .append("appeal", getAppeal()) |
| 198 | 169 | .append("sendPerson", getSendPerson()) |
| 199 | 170 | .append("sendDate", getSendDate()) |
| 200 | - .append("isRead", getIsRead()) | |
| 201 | - .append("opinion", getOpinion()) | |
| 202 | - .append("deptOpinion", getDeptOpinion()) | |
| 203 | 171 | .append("status", getStatus()) |
| 204 | 172 | .append("createTime", getCreateTime()) |
| 205 | 173 | .append("createBy", getCreateBy()) | ... | ... |
trash-workFlow/src/main/java/com/trash/office/domain/LeaveApplication.java
| ... | ... | @@ -25,11 +25,11 @@ public class LeaveApplication extends BaseEntity |
| 25 | 25 | private String applicant; |
| 26 | 26 | |
| 27 | 27 | /** 部门id */ |
| 28 | - @Excel(name = "部门id") | |
| 28 | +// @Excel(name = "部门id") | |
| 29 | 29 | private Long deptId; |
| 30 | 30 | |
| 31 | 31 | /** 职务id */ |
| 32 | - @Excel(name = "职务id") | |
| 32 | +// @Excel(name = "职务id") | |
| 33 | 33 | private Long positionId; |
| 34 | 34 | |
| 35 | 35 | |
| ... | ... | @@ -59,7 +59,7 @@ public class LeaveApplication extends BaseEntity |
| 59 | 59 | private String content; |
| 60 | 60 | |
| 61 | 61 | /** 审批状态 0待审核/1审核通过/2驳回 */ |
| 62 | - @Excel(name = "审批状态") | |
| 62 | + @Excel(name = "审批状态", readConverterExp = "0=审批中,1=审批通过,2=被驳回") | |
| 63 | 63 | private Integer status; |
| 64 | 64 | |
| 65 | 65 | public void setId(Long id) | ... | ... |
trash-workFlow/src/main/java/com/trash/office/domain/LogisticsManagement.java
| ... | ... | @@ -64,7 +64,7 @@ public class LogisticsManagement extends BaseEntity |
| 64 | 64 | private Integer quantity; |
| 65 | 65 | |
| 66 | 66 | /** 审核状态 */ |
| 67 | - @Excel(name = "审核状态") | |
| 67 | + @Excel(name = "审批状态", readConverterExp = "0=审批中,1=审批通过,2=被驳回") | |
| 68 | 68 | private Integer status; |
| 69 | 69 | |
| 70 | 70 | public void setId(Long id) | ... | ... |
trash-workFlow/src/main/java/com/trash/office/listener/ConferenceEndListener.java
0 → 100644
| 1 | +package com.trash.office.listener; | |
| 2 | + | |
| 3 | +import com.trash.common.utils.spring.SpringUtils; | |
| 4 | +import com.trash.office.domain.Conference; | |
| 5 | +import com.trash.office.domain.LogisticsManagement; | |
| 6 | +import com.trash.office.domain.UploadFile; | |
| 7 | +import com.trash.office.mapper.ConferenceMapper; | |
| 8 | +import com.trash.office.mapper.LogisticsManagementMapper; | |
| 9 | +import com.trash.office.mapper.UploadFileMapper; | |
| 10 | +import com.trash.workflow.domain.Workflow; | |
| 11 | +import com.trash.workflow.mapper.WorkflowMapper; | |
| 12 | +import org.activiti.engine.delegate.DelegateExecution; | |
| 13 | +import org.activiti.engine.delegate.ExecutionListener; | |
| 14 | +import org.activiti.engine.delegate.Expression; | |
| 15 | + | |
| 16 | +import java.util.List; | |
| 17 | + | |
| 18 | + | |
| 19 | +public class ConferenceEndListener implements ExecutionListener { | |
| 20 | + private Expression state; | |
| 21 | + | |
| 22 | + @Override | |
| 23 | + public void notify(DelegateExecution delegateExecution) { | |
| 24 | + String status = (String) state.getValue(delegateExecution); | |
| 25 | + ConferenceMapper conferenceMapper = SpringUtils.getBean(ConferenceMapper.class); | |
| 26 | + //获取申请id | |
| 27 | + Long id = Long.parseLong(delegateExecution.getProcessInstanceBusinessKey().split(":")[1]); | |
| 28 | + //根据id查出当前申请 | |
| 29 | + Conference conference = conferenceMapper.selectConferenceById(id); | |
| 30 | + //判断驳回还是通过 1:通过 2:驳回 | |
| 31 | + if("1".equals(status)){ | |
| 32 | + //设置为通过状态 | |
| 33 | + conference.setStatus(1); | |
| 34 | + //添加后勤管理(通过状态) | |
| 35 | + conferenceMapper.updateConference(conference); | |
| 36 | + }else if("2".equals(status)){ | |
| 37 | + //设置为驳回状态 | |
| 38 | + conference.setStatus(2); | |
| 39 | + //删除当前后勤管理 | |
| 40 | + conferenceMapper.deleteConferenceById(conference.getId()); | |
| 41 | + //添加后勤管理(驳回状态) | |
| 42 | + conferenceMapper.insertConference(conference); | |
| 43 | + //获取上传文件 | |
| 44 | + UploadFileMapper uploadFileMapper = SpringUtils.getBean(UploadFileMapper.class); | |
| 45 | + //查出旧的文件上传数据 | |
| 46 | + UploadFile uploadFile = new UploadFile(); | |
| 47 | + uploadFile.setTableName("conference"); | |
| 48 | + uploadFile.setTableNumber(id.toString()); | |
| 49 | + List<UploadFile> list = uploadFileMapper.selectUploadFileList(uploadFile); | |
| 50 | + //添加请假申请(驳回状态) | |
| 51 | + for (UploadFile uploadFile1 : list) { | |
| 52 | + //将上传文件的表id 设置为新的请假申请id | |
| 53 | + uploadFile1.setTableNumber(conference.getId().toString()); | |
| 54 | + uploadFileMapper.updateUploadFile(uploadFile1); | |
| 55 | + } | |
| 56 | + } | |
| 57 | + //流程历史存档 | |
| 58 | + WorkflowMapper workflowMapper = SpringUtils.getBean(WorkflowMapper.class); | |
| 59 | + | |
| 60 | + Workflow workflow = new Workflow(); | |
| 61 | + | |
| 62 | + workflow.setId(delegateExecution.getProcessInstanceBusinessKey()); | |
| 63 | + | |
| 64 | + workflow.setState(state.getValue(delegateExecution).toString()); | |
| 65 | + | |
| 66 | + workflowMapper.updateWorkflow(workflow); | |
| 67 | + | |
| 68 | + workflow = workflowMapper.selectWorkflowById(workflow.getId()); | |
| 69 | + | |
| 70 | + workflowMapper.insertWorkflowHistory(workflow); | |
| 71 | + | |
| 72 | + workflowMapper.deleteWorkflowById(delegateExecution.getProcessInstanceBusinessKey()); | |
| 73 | + | |
| 74 | + } | |
| 75 | +} | ... | ... |
trash-workFlow/src/main/java/com/trash/office/listener/ConferenceListener.java deleted
100644 → 0
| 1 | -package com.trash.office.listener; | |
| 2 | - | |
| 3 | -import com.trash.common.utils.spring.SpringUtils; | |
| 4 | -import com.trash.office.domain.Conference; | |
| 5 | -import com.trash.office.mapper.ConferenceMapper; | |
| 6 | -import org.activiti.engine.delegate.DelegateExecution; | |
| 7 | -import org.activiti.engine.delegate.ExecutionListener; | |
| 8 | - | |
| 9 | -public class ConferenceListener implements ExecutionListener { | |
| 10 | - public String status; | |
| 11 | - @Override | |
| 12 | - public void notify(DelegateExecution delegateExecution) { | |
| 13 | - Conference conference = new Conference(); | |
| 14 | - conference.setId(Long.parseLong(delegateExecution.getProcessInstanceBusinessKey().split(":")[1])); | |
| 15 | - conference.setStatus(Integer.parseInt(delegateExecution.getVariable("state").toString())); | |
| 16 | - SpringUtils.getBean(ConferenceMapper.class).updateConference(conference); | |
| 17 | - } | |
| 18 | - | |
| 19 | -} |
trash-workFlow/src/main/java/com/trash/office/listener/HandleAffairsEndListener.java
0 → 100644
| 1 | +package com.trash.office.listener; | |
| 2 | + | |
| 3 | +import com.trash.common.utils.spring.SpringUtils; | |
| 4 | +import com.trash.office.domain.HandleAffairs; | |
| 5 | +import com.trash.office.domain.LogisticsManagement; | |
| 6 | +import com.trash.office.domain.UploadFile; | |
| 7 | +import com.trash.office.mapper.HandleAffairsMapper; | |
| 8 | +import com.trash.office.mapper.LogisticsManagementMapper; | |
| 9 | +import com.trash.office.mapper.UploadFileMapper; | |
| 10 | +import com.trash.workflow.domain.Workflow; | |
| 11 | +import com.trash.workflow.mapper.WorkflowMapper; | |
| 12 | +import org.activiti.engine.delegate.DelegateExecution; | |
| 13 | +import org.activiti.engine.delegate.ExecutionListener; | |
| 14 | +import org.activiti.engine.delegate.Expression; | |
| 15 | +import org.springframework.security.core.parameters.P; | |
| 16 | + | |
| 17 | +import java.util.List; | |
| 18 | + | |
| 19 | + | |
| 20 | +public class HandleAffairsEndListener implements ExecutionListener { | |
| 21 | + private Expression state; | |
| 22 | + | |
| 23 | + @Override | |
| 24 | + public void notify(DelegateExecution delegateExecution) { | |
| 25 | + String status = (String) state.getValue(delegateExecution); | |
| 26 | + HandleAffairsMapper handleAffairsMapper = SpringUtils.getBean(HandleAffairsMapper.class); | |
| 27 | + //获取申请id | |
| 28 | + Long id = Long.parseLong(delegateExecution.getProcessInstanceBusinessKey().split(":")[1]); | |
| 29 | + //根据id查出当前申请 | |
| 30 | + HandleAffairs handleAffairs = handleAffairsMapper.selectHandleAffairsById(id); | |
| 31 | + //判断驳回还是通过 1:通过 2:驳回 | |
| 32 | + if("1".equals(status)){ | |
| 33 | + //设置为通过状态 | |
| 34 | + handleAffairs.setStatus(1); | |
| 35 | + String route = String.valueOf(delegateExecution.getParent().getVariableInstance("route")); | |
| 36 | + if(route.equals("0")){ | |
| 37 | + //发起阅览流程 | |
| 38 | + | |
| 39 | + }else if(route.equals("1")){ | |
| 40 | + //发起公文处理流程,设置状态为3:收文流程审批完成,公文流程未处理 | |
| 41 | + handleAffairs.setStatus(3); | |
| 42 | + } | |
| 43 | + //修改办文办事(通过状态) | |
| 44 | + handleAffairsMapper.updateHandleAffairs(handleAffairs); | |
| 45 | + }else if("2".equals(status)){ | |
| 46 | + //设置为驳回状态 | |
| 47 | + handleAffairs.setStatus(2); | |
| 48 | + //删除当前办文办事 | |
| 49 | + handleAffairsMapper.deleteHandleAffairsById(id); | |
| 50 | + //添加办文办事(驳回状态) | |
| 51 | + handleAffairsMapper.insertHandleAffairs(handleAffairs); | |
| 52 | + //获取上传文件 | |
| 53 | + UploadFileMapper uploadFileMapper = SpringUtils.getBean(UploadFileMapper.class); | |
| 54 | + //查出旧的文件上传数据 | |
| 55 | + UploadFile uploadFile = new UploadFile(); | |
| 56 | + uploadFile.setTableName("handle_affairs"); | |
| 57 | + uploadFile.setTableNumber(id.toString()); | |
| 58 | + List<UploadFile> list = uploadFileMapper.selectUploadFileList(uploadFile); | |
| 59 | + //添加请假申请(驳回状态) | |
| 60 | + for (UploadFile uploadFile1 : list) { | |
| 61 | + //将上传文件的表id 设置为新的请假申请id | |
| 62 | + uploadFile1.setTableNumber(handleAffairs.getId().toString()); | |
| 63 | + uploadFileMapper.updateUploadFile(uploadFile1); | |
| 64 | + } | |
| 65 | + } | |
| 66 | + //流程历史存档 | |
| 67 | + WorkflowMapper workflowMapper = SpringUtils.getBean(WorkflowMapper.class); | |
| 68 | + | |
| 69 | + Workflow workflow = new Workflow(); | |
| 70 | + | |
| 71 | + workflow.setId(delegateExecution.getProcessInstanceBusinessKey()); | |
| 72 | + | |
| 73 | + workflow.setState(state.getValue(delegateExecution).toString()); | |
| 74 | + | |
| 75 | + workflowMapper.updateWorkflow(workflow); | |
| 76 | + | |
| 77 | + workflow = workflowMapper.selectWorkflowById(workflow.getId()); | |
| 78 | + | |
| 79 | + workflowMapper.insertWorkflowHistory(workflow); | |
| 80 | + | |
| 81 | + workflowMapper.deleteWorkflowById(delegateExecution.getProcessInstanceBusinessKey()); | |
| 82 | + | |
| 83 | + } | |
| 84 | +} | ... | ... |
trash-workFlow/src/main/java/com/trash/office/listener/LogisticsEndListener.java
0 → 100644
| 1 | +package com.trash.office.listener; | |
| 2 | + | |
| 3 | +import com.trash.common.utils.spring.SpringUtils; | |
| 4 | +import com.trash.office.domain.LeaveApplication; | |
| 5 | +import com.trash.office.domain.LogisticsManagement; | |
| 6 | +import com.trash.office.domain.UploadFile; | |
| 7 | +import com.trash.office.mapper.LeaveApplicationMapper; | |
| 8 | +import com.trash.office.mapper.LogisticsManagementMapper; | |
| 9 | +import com.trash.office.mapper.UploadFileMapper; | |
| 10 | +import com.trash.workflow.domain.Workflow; | |
| 11 | +import com.trash.workflow.mapper.WorkflowMapper; | |
| 12 | +import org.activiti.engine.delegate.DelegateExecution; | |
| 13 | +import org.activiti.engine.delegate.ExecutionListener; | |
| 14 | +import org.activiti.engine.delegate.Expression; | |
| 15 | + | |
| 16 | +import java.util.List; | |
| 17 | + | |
| 18 | + | |
| 19 | +public class LogisticsEndListener implements ExecutionListener { | |
| 20 | + private Expression state; | |
| 21 | + | |
| 22 | + @Override | |
| 23 | + public void notify(DelegateExecution delegateExecution) { | |
| 24 | + String status = (String) state.getValue(delegateExecution); | |
| 25 | + LogisticsManagementMapper logisticsManagementMapper = SpringUtils.getBean(LogisticsManagementMapper.class); | |
| 26 | + //获取申请id | |
| 27 | + Long id = Long.parseLong(delegateExecution.getProcessInstanceBusinessKey().split(":")[1]); | |
| 28 | + //根据id查出当前申请 | |
| 29 | + LogisticsManagement logisticsManagement = logisticsManagementMapper.selectLogisticsManagementById(id); | |
| 30 | + //判断驳回还是通过 1:通过 2:驳回 | |
| 31 | + if("1".equals(status)){ | |
| 32 | + //设置为通过状态 | |
| 33 | + logisticsManagement.setStatus(1); | |
| 34 | + //添加后勤管理(通过状态) | |
| 35 | + logisticsManagementMapper.updateLogisticsManagement(logisticsManagement); | |
| 36 | + }else if("2".equals(status)){ | |
| 37 | + //设置为驳回状态 | |
| 38 | + logisticsManagement.setStatus(2); | |
| 39 | + //删除当前后勤管理 | |
| 40 | + logisticsManagementMapper.deleteLogisticsManagementById(id); | |
| 41 | + //添加后勤管理(驳回状态) | |
| 42 | + logisticsManagementMapper.insertLogisticsManagement(logisticsManagement); | |
| 43 | + } | |
| 44 | + //流程历史存档 | |
| 45 | + WorkflowMapper workflowMapper = SpringUtils.getBean(WorkflowMapper.class); | |
| 46 | + | |
| 47 | + Workflow workflow = new Workflow(); | |
| 48 | + | |
| 49 | + workflow.setId(delegateExecution.getProcessInstanceBusinessKey()); | |
| 50 | + | |
| 51 | + workflow.setState(state.getValue(delegateExecution).toString()); | |
| 52 | + | |
| 53 | + workflowMapper.updateWorkflow(workflow); | |
| 54 | + | |
| 55 | + workflow = workflowMapper.selectWorkflowById(workflow.getId()); | |
| 56 | + | |
| 57 | + workflowMapper.insertWorkflowHistory(workflow); | |
| 58 | + | |
| 59 | + workflowMapper.deleteWorkflowById(delegateExecution.getProcessInstanceBusinessKey()); | |
| 60 | + | |
| 61 | + } | |
| 62 | +} | ... | ... |
trash-workFlow/src/main/java/com/trash/office/service/impl/ConferenceServiceImpl.java
| 1 | 1 | package com.trash.office.service.impl; |
| 2 | 2 | |
| 3 | 3 | import java.io.IOException; |
| 4 | +import java.util.ArrayList; | |
| 4 | 5 | import java.util.List; |
| 5 | 6 | import java.util.stream.Collectors; |
| 6 | 7 | |
| ... | ... | @@ -9,6 +10,7 @@ import com.trash.common.utils.SecurityUtils; |
| 9 | 10 | import com.trash.common.utils.file.FileUploadUtils; |
| 10 | 11 | import com.trash.common.utils.uuid.UUID; |
| 11 | 12 | import com.trash.office.domain.ContractManagement; |
| 13 | +import com.trash.office.domain.LogisticsManagement; | |
| 12 | 14 | import com.trash.office.domain.UploadFile; |
| 13 | 15 | import com.trash.office.domain.vo.ConferenceVo; |
| 14 | 16 | import com.trash.office.domain.vo.ContractManagementVo; |
| ... | ... | @@ -18,6 +20,10 @@ import com.trash.workflow.mapper.WorkflowMapper; |
| 18 | 20 | import org.activiti.api.process.model.ProcessInstance; |
| 19 | 21 | import org.activiti.api.process.model.builders.ProcessPayloadBuilder; |
| 20 | 22 | import org.activiti.api.process.runtime.ProcessRuntime; |
| 23 | +import org.activiti.engine.TaskService; | |
| 24 | +import org.activiti.engine.task.IdentityLink; | |
| 25 | +import org.activiti.engine.task.Task; | |
| 26 | +import org.apache.commons.lang3.time.DateFormatUtils; | |
| 21 | 27 | import org.springframework.beans.factory.annotation.Autowired; |
| 22 | 28 | import org.springframework.stereotype.Service; |
| 23 | 29 | import com.trash.office.mapper.ConferenceMapper; |
| ... | ... | @@ -47,6 +53,8 @@ public class ConferenceServiceImpl implements IConferenceService { |
| 47 | 53 | @Autowired |
| 48 | 54 | private WorkflowMapper workflowMapper; |
| 49 | 55 | |
| 56 | + @Autowired | |
| 57 | + private TaskService taskService; | |
| 50 | 58 | /** |
| 51 | 59 | * 查询会议管理 |
| 52 | 60 | * |
| ... | ... | @@ -58,7 +66,7 @@ public class ConferenceServiceImpl implements IConferenceService { |
| 58 | 66 | ConferenceVo ConferenceVo = new ConferenceVo(); |
| 59 | 67 | ConferenceVo.setConference(conferenceMapper.selectConferenceById(id)); |
| 60 | 68 | UploadFile uploadFile = new UploadFile(); |
| 61 | - uploadFile.setTableName("conferrnce"); | |
| 69 | + uploadFile.setTableName("conference"); | |
| 62 | 70 | uploadFile.setTableNumber(ConferenceVo.getConference().getId().toString()); |
| 63 | 71 | List<UploadFile> list = uploadFileMapper.selectUploadFileList(uploadFile); |
| 64 | 72 | ConferenceVo.setUploadFiles(list); |
| ... | ... | @@ -88,32 +96,21 @@ public class ConferenceServiceImpl implements IConferenceService { |
| 88 | 96 | //新增会议管理 |
| 89 | 97 | conference.setCreateBy(SecurityUtils.getUsername()); |
| 90 | 98 | conference.setStatus(0); |
| 99 | + //设置发起人部门编号 | |
| 100 | + conference.setDeptId(Integer.parseInt(SecurityUtils.getLoginUser().getUser().getRoleIds().get(0))); | |
| 101 | +// conference.setDeptId(13); | |
| 102 | + | |
| 91 | 103 | Integer result = conferenceMapper.insertConference(conference); |
| 92 | - //新增工作台数据 | |
| 93 | - Workflow workflow = new Workflow(); | |
| 94 | - workflow.setId("conference:" + conference.getId()); | |
| 95 | - workflow.setTitle("会议管理:" + conference.getConferenceSite()); | |
| 96 | - workflow.setType("会议管理"); | |
| 97 | - workflow.setReason("会议管理"); | |
| 98 | - workflow.setState("0"); | |
| 99 | - //发起流程 | |
| 100 | - ProcessInstance processInstance = processRuntime.start(ProcessPayloadBuilder | |
| 101 | - .start() | |
| 102 | - .withProcessDefinitionKey("conference") | |
| 103 | - .withName("会议申请:" + conference.getId()) | |
| 104 | - .withBusinessKey("conference:" + conference.getId()) | |
| 105 | - .build()); | |
| 106 | - workflow.setInstanceId(processInstance.getId()); | |
| 107 | - workflowMapper.insertWorkflow(workflow); | |
| 108 | 104 | //文件上传 |
| 109 | 105 | for (MultipartFile file : files) { |
| 110 | 106 | UploadFile uploadFile = new UploadFile(); |
| 111 | - uploadFile.setTableName("conferrnce"); | |
| 107 | + uploadFile.setTableName("conference"); | |
| 112 | 108 | uploadFile.setTableNumber(conference.getId().toString()); |
| 113 | 109 | uploadFile.setFileName(file.getOriginalFilename()); |
| 114 | 110 | uploadFile.setFilePath(FileUploadUtils.uploadFile(file)); |
| 115 | 111 | uploadFileMapper.insertUploadFile(uploadFile); |
| 116 | 112 | } |
| 113 | + createWorkFlow(conference); | |
| 117 | 114 | return result; |
| 118 | 115 | } |
| 119 | 116 | |
| ... | ... | @@ -129,7 +126,7 @@ public class ConferenceServiceImpl implements IConferenceService { |
| 129 | 126 | conferenceVo.getConference().setUpdateBy(SecurityUtils.getUsername()); |
| 130 | 127 | //查询该合同下的文件上传数据然后删除数据库中的数据和文件 |
| 131 | 128 | UploadFile uploadFile = new UploadFile(); |
| 132 | - uploadFile.setTableName("conferrnce"); | |
| 129 | + uploadFile.setTableName("conference"); | |
| 133 | 130 | uploadFile.setTableNumber(conferenceVo.getConference().getId().toString()); |
| 134 | 131 | List<UploadFile> uploadFileList = uploadFileMapper.selectUploadFileList(uploadFile); |
| 135 | 132 | //判断getUploadFiles里是否有旧文件,如果有文件上传则先删除数据库中的数据,再添加新的数据,如果没有文件上传,则删除数据库中的数据和文件 |
| ... | ... | @@ -156,12 +153,18 @@ public class ConferenceServiceImpl implements IConferenceService { |
| 156 | 153 | //添加新的文件 |
| 157 | 154 | for (MultipartFile file : files) { |
| 158 | 155 | UploadFile newUploadFile = new UploadFile(); |
| 159 | - newUploadFile.setTableName("conferrnce"); | |
| 156 | + newUploadFile.setTableName("conference"); | |
| 160 | 157 | newUploadFile.setTableNumber(conferenceVo.getConference().getId().toString()); |
| 161 | 158 | newUploadFile.setFileName(file.getOriginalFilename()); |
| 162 | 159 | newUploadFile.setFilePath(FileUploadUtils.uploadFile(file)); |
| 163 | 160 | uploadFileMapper.insertUploadFile(newUploadFile); |
| 164 | 161 | } |
| 162 | + //驳回状态改为审批中 | |
| 163 | + if(conferenceVo.getConference().getStatus()==2){ | |
| 164 | + conferenceVo.getConference().setStatus(0); | |
| 165 | + //重新发起流程 | |
| 166 | + createWorkFlow(conferenceVo.getConference()); | |
| 167 | + } | |
| 165 | 168 | return conferenceMapper.updateConference(conferenceVo.getConference()); |
| 166 | 169 | } |
| 167 | 170 | |
| ... | ... | @@ -177,7 +180,7 @@ public class ConferenceServiceImpl implements IConferenceService { |
| 177 | 180 | for (Long id : ids) { |
| 178 | 181 | Conference conference = conferenceMapper.selectConferenceById(id); |
| 179 | 182 | UploadFile uploadFile = new UploadFile(); |
| 180 | - uploadFile.setTableName("conferrnce"); | |
| 183 | + uploadFile.setTableName("conference"); | |
| 181 | 184 | uploadFile.setTableNumber(conference.getId().toString()); |
| 182 | 185 | List<UploadFile> list = uploadFileMapper.selectUploadFileList(uploadFile); |
| 183 | 186 | //遍历删除文件 |
| ... | ... | @@ -199,4 +202,53 @@ public class ConferenceServiceImpl implements IConferenceService { |
| 199 | 202 | public int deleteConferenceById(Long id) { |
| 200 | 203 | return conferenceMapper.deleteConferenceById(id); |
| 201 | 204 | } |
| 205 | + | |
| 206 | + public int createWorkFlow(Conference conference) { | |
| 207 | + //新增工作台数据 | |
| 208 | + Workflow workflow = new Workflow(); | |
| 209 | + workflow.setId("conference:" + conference.getId().toString()); | |
| 210 | + workflow.setState("0"); | |
| 211 | + workflow.setCreateBy(SecurityUtils.getUsername()); | |
| 212 | + workflow.setCreateTime(DateUtils.getNowDate()); | |
| 213 | + workflow.setTitle(conference.getDeptId()+"申请"+ conference.getConferenceSite()+"会议室"); | |
| 214 | + workflow.setType("会议申请"); | |
| 215 | + workflow.setReason(conference.getContent()); | |
| 216 | + workflow.setStartTime(DateFormatUtils.format(conference.getConferenceTime(), "yyyy-MM-dd")); | |
| 217 | + workflow.setEndTime(DateFormatUtils.format(conference.getConferenceTime(), "yyyy-MM-dd")); | |
| 218 | + ProcessInstance processInstance = null; | |
| 219 | + | |
| 220 | + try { | |
| 221 | + processInstance = processRuntime.start(ProcessPayloadBuilder | |
| 222 | + .start() | |
| 223 | + .withProcessDefinitionKey("conference") | |
| 224 | + .withName(workflow.getTitle()) | |
| 225 | + .withBusinessKey(workflow.getId()) | |
| 226 | + .build()); | |
| 227 | + | |
| 228 | + | |
| 229 | + Task task = taskService.createTaskQuery().processInstanceId(processInstance.getId()).singleResult(); | |
| 230 | + | |
| 231 | + if (task != null) { | |
| 232 | + //设置发起部门 | |
| 233 | + task.setDescription(conference.getDeptId().toString()); | |
| 234 | + | |
| 235 | + List<IdentityLink> list = taskService.getIdentityLinksForTask(task.getId()); | |
| 236 | + | |
| 237 | + if (list.size() == 1) { | |
| 238 | + taskService.addCandidateUser(task.getId(), task.getDescription()); | |
| 239 | + } | |
| 240 | + | |
| 241 | + taskService.saveTask(task); | |
| 242 | + } | |
| 243 | + | |
| 244 | + | |
| 245 | + workflow.setInstanceId(processInstance.getId()); | |
| 246 | + | |
| 247 | + return workflowMapper.insertWorkflow(workflow); | |
| 248 | + } catch (Exception e) { | |
| 249 | + processRuntime.delete(ProcessPayloadBuilder.delete(processInstance)); | |
| 250 | + throw e; | |
| 251 | + } | |
| 252 | + } | |
| 253 | + | |
| 202 | 254 | } | ... | ... |