Commit 6810617c2d76911dd165e39ce970134d0689b8ea
m
Showing
26 changed files
with
1023 additions
and
583 deletions
trash-common/src/main/java/com/trash/common/utils/file/MimeTypeUtils.java
| @@ -34,7 +34,9 @@ public class MimeTypeUtils | @@ -34,7 +34,9 @@ public class MimeTypeUtils | ||
| 34 | 34 | ||
| 35 | "pdf" , | 35 | "pdf" , |
| 36 | //activiti | 36 | //activiti |
| 37 | - "bpmn", "bar" }; | 37 | + "bpmn", "bar", |
| 38 | + // video | ||
| 39 | + "mp4", "avi"}; | ||
| 38 | 40 | ||
| 39 | public static String getExtension(String prefix) | 41 | public static String getExtension(String prefix) |
| 40 | { | 42 | { |
trash-ui/src/api/caseOfflineInfo.js
| @@ -3,13 +3,14 @@ import {getArea,} from "@/api/dict"; | @@ -3,13 +3,14 @@ import {getArea,} from "@/api/dict"; | ||
| 3 | 3 | ||
| 4 | 4 | ||
| 5 | import {getToken} from "@/utils/auth"; | 5 | import {getToken} from "@/utils/auth"; |
| 6 | +import {listReplyApprovalProcess} from "@/api/casefile/replyApprovalProcess"; | ||
| 6 | 7 | ||
| 7 | export default { | 8 | export default { |
| 8 | name: "CaseOffline", | 9 | name: "CaseOffline", |
| 9 | props: { | 10 | props: { |
| 10 | businessKey: { | 11 | businessKey: { |
| 11 | type: String | 12 | type: String |
| 12 | - } | 13 | + }, |
| 13 | }, | 14 | }, |
| 14 | data() { | 15 | data() { |
| 15 | return { | 16 | return { |
| @@ -80,13 +81,28 @@ export default { | @@ -80,13 +81,28 @@ export default { | ||
| 80 | showPic: false, | 81 | showPic: false, |
| 81 | picImage: null, | 82 | picImage: null, |
| 82 | slides: [], | 83 | slides: [], |
| 84 | + img: [], | ||
| 85 | + slide1: [], | ||
| 86 | + videoSrc: [], | ||
| 87 | + openImg: false, | ||
| 88 | + replyApprovalProcessList:[], | ||
| 83 | }; | 89 | }; |
| 84 | }, | 90 | }, |
| 85 | created() { | 91 | created() { |
| 92 | + let id = this.businessKey.split(":"); | ||
| 93 | + | ||
| 94 | + if (id.length == 2) { | ||
| 95 | + this.businessKey = id[1]; | ||
| 96 | + } else { | ||
| 97 | + this.businessKey = id; | ||
| 98 | + } | ||
| 86 | getArea().then(res => { | 99 | getArea().then(res => { |
| 87 | this.areas = res.result; | 100 | this.areas = res.result; |
| 88 | this.handleUpdate(); | 101 | this.handleUpdate(); |
| 89 | }); | 102 | }); |
| 103 | + listReplyApprovalProcess({tableName: "workflow_caseoffline:"+this.businessKey}).then(response => { | ||
| 104 | + this.replyApprovalProcessList = response.rows; | ||
| 105 | + }); | ||
| 90 | }, | 106 | }, |
| 91 | methods: { | 107 | methods: { |
| 92 | getSite(item) { | 108 | getSite(item) { |
| @@ -115,16 +131,20 @@ export default { | @@ -115,16 +131,20 @@ export default { | ||
| 115 | showSlides(path) { | 131 | showSlides(path) { |
| 116 | return process.env.VUE_APP_BASE_API + path; | 132 | return process.env.VUE_APP_BASE_API + path; |
| 117 | }, | 133 | }, |
| 134 | + showVideo(path) { | ||
| 135 | + return process.env.VUE_APP_BASE_API + path; | ||
| 136 | + }, | ||
| 137 | + openImage(path) { | ||
| 138 | + this.img = []; | ||
| 139 | + this.openImg = true; | ||
| 140 | + let files = path.split(","); | ||
| 141 | + for(let i=0;i<files.length;i++){ | ||
| 142 | + this.img.push(files[i]); | ||
| 143 | + } | ||
| 144 | + }, | ||
| 118 | /** 修改按钮操作 */ | 145 | /** 修改按钮操作 */ |
| 119 | handleUpdate() { | 146 | handleUpdate() { |
| 120 | - let id; | ||
| 121 | - if (this.businessKey.split(":").length == 2) { | ||
| 122 | - id = this.businessKey.split(":")[1]; | ||
| 123 | - } else { | ||
| 124 | - id = this.businessKey; | ||
| 125 | - } | ||
| 126 | - | ||
| 127 | - getCaseOffline(id).then(response => { | 147 | + getCaseOffline(this.businessKey).then(response => { |
| 128 | this.form = response.data; | 148 | this.form = response.data; |
| 129 | if (this.form.attach && this.form.attach != "") | 149 | if (this.form.attach && this.form.attach != "") |
| 130 | this.form.attach = this.form.attach.split(","); | 150 | this.form.attach = this.form.attach.split(","); |
| @@ -133,7 +153,7 @@ export default { | @@ -133,7 +153,7 @@ export default { | ||
| 133 | this.form.type = this.getCaseType(this.form.type); | 153 | this.form.type = this.getCaseType(this.form.type); |
| 134 | this.form.place = this.getAreaName(this.form.place); | 154 | this.form.place = this.getAreaName(this.form.place); |
| 135 | 155 | ||
| 136 | - getAdviceList(this.workflow + ":" + id).then(res => { | 156 | + getAdviceList(this.workflow + ":" + this.businessKey).then(res => { |
| 137 | if (res.data) { | 157 | if (res.data) { |
| 138 | if (res.data.advice1) { | 158 | if (res.data.advice1) { |
| 139 | this.adviceList.push({ | 159 | this.adviceList.push({ |
trash-ui/src/api/caseoffline.js
| @@ -96,7 +96,9 @@ export default { | @@ -96,7 +96,9 @@ export default { | ||
| 96 | }, | 96 | }, |
| 97 | data:{}, | 97 | data:{}, |
| 98 | objId:null, | 98 | objId:null, |
| 99 | - slides:[] | 99 | + slides:[], |
| 100 | + videoSrc:[], | ||
| 101 | + businessKey:null, | ||
| 100 | }; | 102 | }; |
| 101 | }, | 103 | }, |
| 102 | created() { | 104 | created() { |
| @@ -173,7 +175,9 @@ export default { | @@ -173,7 +175,9 @@ export default { | ||
| 173 | cancel() { | 175 | cancel() { |
| 174 | this.open = false; | 176 | this.open = false; |
| 175 | this.open2 = false; | 177 | this.open2 = false; |
| 178 | + this.uploadImageDialog = false; | ||
| 176 | this.slides = []; | 179 | this.slides = []; |
| 180 | + this.videoSrc = []; | ||
| 177 | this.reset(); | 181 | this.reset(); |
| 178 | }, | 182 | }, |
| 179 | // 表单重置 | 183 | // 表单重置 |
| @@ -309,6 +313,11 @@ export default { | @@ -309,6 +313,11 @@ export default { | ||
| 309 | this.slides.splice(i, 1); | 313 | this.slides.splice(i, 1); |
| 310 | } | 314 | } |
| 311 | } | 315 | } |
| 316 | + for(let i=0;i<this.videoSrc.length;i++){ | ||
| 317 | + if(this.videoSrc[i].alt==img){ | ||
| 318 | + this.videoSrc.splice(i, 1); | ||
| 319 | + } | ||
| 320 | + } | ||
| 312 | 321 | ||
| 313 | this.$forceUpdate(); | 322 | this.$forceUpdate(); |
| 314 | }, | 323 | }, |
| @@ -327,6 +336,14 @@ export default { | @@ -327,6 +336,14 @@ export default { | ||
| 327 | url:url, | 336 | url:url, |
| 328 | alt:res | 337 | alt:res |
| 329 | }) | 338 | }) |
| 339 | + | ||
| 340 | + } | ||
| 341 | + if(file.name.indexOf('.avi') > -1 ||file.name.indexOf('.mp4') > -1){ | ||
| 342 | + let url = URL.createObjectURL(file.raw) | ||
| 343 | + this.videoSrc.push({ | ||
| 344 | + url:url, | ||
| 345 | + alt:res | ||
| 346 | + }); | ||
| 330 | } | 347 | } |
| 331 | }, | 348 | }, |
| 332 | showFileUpload(i) { | 349 | showFileUpload(i) { |
| @@ -334,18 +351,18 @@ export default { | @@ -334,18 +351,18 @@ export default { | ||
| 334 | this.picIndex = i; | 351 | this.picIndex = i; |
| 335 | }, | 352 | }, |
| 336 | beforeUpload(file) { | 353 | beforeUpload(file) { |
| 337 | - let isRightSize = file.size / 1024 / 1024 < 20 | 354 | + let isRightSize = file.size / 1024 / 1024 < 100 |
| 338 | if (!isRightSize) { | 355 | if (!isRightSize) { |
| 339 | - this.$message.error('文件大小超过 20MB') | 356 | + this.$message.error('文件大小超过 100MB') |
| 340 | return isRightSize; | 357 | return isRightSize; |
| 341 | } | 358 | } |
| 342 | let isAccept = false; | 359 | let isAccept = false; |
| 343 | if (file.name.indexOf('.docx') > -1 || file.name.indexOf(".jpg") > -1 || file.name.indexOf('.doc') > -1 || file | 360 | if (file.name.indexOf('.docx') > -1 || file.name.indexOf(".jpg") > -1 || file.name.indexOf('.doc') > -1 || file |
| 344 | - .name.indexOf('.pdf') > -1 || file.name.indexOf('.png') > -1) { | 361 | + .name.indexOf('.pdf') > -1 || file.name.indexOf('.png') > -1||file.name.indexOf('.mp4') > -1 || file.name.indexOf(".avi") > -1) { |
| 345 | isAccept = true; | 362 | isAccept = true; |
| 346 | } | 363 | } |
| 347 | if (!isAccept) { | 364 | if (!isAccept) { |
| 348 | - this.$message.error('应该选择PDF、PNG、JPG、WORD类型的文件') | 365 | + this.$message.error('应该选择PDF、PNG、JPG、WORD、mp4、avi类型的文件') |
| 349 | return isAccept; | 366 | return isAccept; |
| 350 | } | 367 | } |
| 351 | }, | 368 | }, |
trash-ui/src/api/vio_casefile.js
| @@ -127,12 +127,14 @@ export default { | @@ -127,12 +127,14 @@ export default { | ||
| 127 | isLoadingCompany: false, | 127 | isLoadingCompany: false, |
| 128 | idInfo:null, | 128 | idInfo:null, |
| 129 | openInfo:false, | 129 | openInfo:false, |
| 130 | - slide1: [] | 130 | + slide1: [], |
| 131 | + videoSrc:[] | ||
| 131 | }; | 132 | }; |
| 132 | }, | 133 | }, |
| 133 | watch: { | 134 | watch: { |
| 134 | fileEntityList(value) { | 135 | fileEntityList(value) { |
| 135 | this.slide1 = [] | 136 | this.slide1 = [] |
| 137 | + this.videoSrc = [] | ||
| 136 | if (this.fileEntityList.length != 0) { | 138 | if (this.fileEntityList.length != 0) { |
| 137 | this.fileEntityList.map(item => { | 139 | this.fileEntityList.map(item => { |
| 138 | if (item.name.indexOf(".jpg") > -1 || item.name.indexOf(".png") > -1 || item.name.indexOf(".jpeg") > -1 || item.name.indexOf(".jpg") > -1) { | 140 | if (item.name.indexOf(".jpg") > -1 || item.name.indexOf(".png") > -1 || item.name.indexOf(".jpeg") > -1 || item.name.indexOf(".jpg") > -1) { |
| @@ -142,6 +144,13 @@ export default { | @@ -142,6 +144,13 @@ export default { | ||
| 142 | this.slide1.push(process.env.VUE_APP_BASE_API + item.url); | 144 | this.slide1.push(process.env.VUE_APP_BASE_API + item.url); |
| 143 | } | 145 | } |
| 144 | } | 146 | } |
| 147 | + if(item.name.indexOf(".mp4") > -1 || item.name.indexOf(".avi") > -1){ | ||
| 148 | + if (item.raw != null) { | ||
| 149 | + this.videoSrc.push(URL.createObjectURL(item.raw)); | ||
| 150 | + } else { | ||
| 151 | + this.videoSrc.push(process.env.VUE_APP_BASE_API + item.url); | ||
| 152 | + } | ||
| 153 | + } | ||
| 145 | }) | 154 | }) |
| 146 | } | 155 | } |
| 147 | 156 | ||
| @@ -247,7 +256,7 @@ export default { | @@ -247,7 +256,7 @@ export default { | ||
| 247 | this.open = true; | 256 | this.open = true; |
| 248 | this.form.number = this.getNumber(); | 257 | this.form.number = this.getNumber(); |
| 249 | this.form.violationGrade = "一般类"; | 258 | this.form.violationGrade = "一般类"; |
| 250 | - this.form.sendObject = "区管理部门(治)"; | 259 | + this.form.sendObject = "区管理部门"; |
| 251 | this.title = "添加平台违规案卷"; | 260 | this.title = "添加平台违规案卷"; |
| 252 | }, | 261 | }, |
| 253 | /** 修改按钮操作 */ | 262 | /** 修改按钮操作 */ |
| @@ -411,11 +420,11 @@ export default { | @@ -411,11 +420,11 @@ export default { | ||
| 411 | } | 420 | } |
| 412 | let fileType = file.name.substring(file.name.lastIndexOf('.') + 1).toLowerCase(); | 421 | let fileType = file.name.substring(file.name.lastIndexOf('.') + 1).toLowerCase(); |
| 413 | //格式符合后判断大小 | 422 | //格式符合后判断大小 |
| 414 | - if ("docx,doc,pdf,png,jpeg,png,jpg".indexOf(fileType) != -1) { | ||
| 415 | - let max5M = file.size / 1024 / 1024 < 20; | 423 | + if ("docx,doc,pdf,png,jpeg,png,jpg,mp4,avi".indexOf(fileType) != -1) { |
| 424 | + let max5M = file.size / 1024 / 1024 < 100; | ||
| 416 | if (!max5M) { | 425 | if (!max5M) { |
| 417 | this.$message({ | 426 | this.$message({ |
| 418 | - message: '上传文件大小不得超过20M!', | 427 | + message: '上传文件大小不得超过100M!', |
| 419 | type: 'warning' | 428 | type: 'warning' |
| 420 | }); | 429 | }); |
| 421 | fileList = fileList.splice(fileList.length - 1, 1); | 430 | fileList = fileList.splice(fileList.length - 1, 1); |
| @@ -425,7 +434,7 @@ export default { | @@ -425,7 +434,7 @@ export default { | ||
| 425 | } | 434 | } |
| 426 | } else { | 435 | } else { |
| 427 | this.$message({ | 436 | this.$message({ |
| 428 | - message: '上传文件只能是 docx、doc、pdf、png、jpeg、png、jpg格式!', | 437 | + message: '上传文件只能是 docx、doc、pdf、png、jpeg、png、jpg、mp4、avi格式!', |
| 429 | type: 'warning' | 438 | type: 'warning' |
| 430 | }); | 439 | }); |
| 431 | fileList = fileList.splice(fileList.length - 1, 1); | 440 | fileList = fileList.splice(fileList.length - 1, 1); |
| @@ -435,6 +444,7 @@ export default { | @@ -435,6 +444,7 @@ export default { | ||
| 435 | handleDeleteFile(index) { | 444 | handleDeleteFile(index) { |
| 436 | this.fileEntityList.splice(index, 1); | 445 | this.fileEntityList.splice(index, 1); |
| 437 | this.slide1.splice(index, 1); | 446 | this.slide1.splice(index, 1); |
| 447 | + this.videoSrc.splice(index, 1); | ||
| 438 | }, | 448 | }, |
| 439 | /** 文件下载 */ | 449 | /** 文件下载 */ |
| 440 | downloadFA(row) { | 450 | downloadFA(row) { |
trash-ui/src/api/warningInfo.js
| @@ -179,12 +179,14 @@ export default { | @@ -179,12 +179,14 @@ export default { | ||
| 179 | data: {}, | 179 | data: {}, |
| 180 | showPic: null, | 180 | showPic: null, |
| 181 | picImage: null, | 181 | picImage: null, |
| 182 | - slide1: [] | 182 | + slide1: [], |
| 183 | + videoSrc:[] | ||
| 183 | }; | 184 | }; |
| 184 | }, | 185 | }, |
| 185 | watch: { | 186 | watch: { |
| 186 | fileEntityList(value) { | 187 | fileEntityList(value) { |
| 187 | this.slide1 = [] | 188 | this.slide1 = [] |
| 189 | + this.videoSrc = [] | ||
| 188 | if (this.fileEntityList.length != 0) { | 190 | if (this.fileEntityList.length != 0) { |
| 189 | this.fileEntityList.map(item => { | 191 | this.fileEntityList.map(item => { |
| 190 | if (item.name.indexOf(".jpg") > -1 || item.name.indexOf(".png") > -1 || item.name.indexOf(".jpeg") > -1 || item.name.indexOf(".jpg") > -1) { | 192 | if (item.name.indexOf(".jpg") > -1 || item.name.indexOf(".png") > -1 || item.name.indexOf(".jpeg") > -1 || item.name.indexOf(".jpg") > -1) { |
| @@ -194,6 +196,13 @@ export default { | @@ -194,6 +196,13 @@ export default { | ||
| 194 | this.slide1.push(process.env.VUE_APP_BASE_API + item.url); | 196 | this.slide1.push(process.env.VUE_APP_BASE_API + item.url); |
| 195 | } | 197 | } |
| 196 | } | 198 | } |
| 199 | + if(item.name.indexOf(".mp4") > -1 || item.name.indexOf(".avi") > -1){ | ||
| 200 | + if (item.raw != null) { | ||
| 201 | + this.videoSrc.push(URL.createObjectURL(item.raw)); | ||
| 202 | + } else { | ||
| 203 | + this.videoSrc.push(process.env.VUE_APP_BASE_API + item.url); | ||
| 204 | + } | ||
| 205 | + } | ||
| 197 | }) | 206 | }) |
| 198 | } | 207 | } |
| 199 | 208 | ||
| @@ -302,7 +311,7 @@ export default { | @@ -302,7 +311,7 @@ export default { | ||
| 302 | this.open = true; | 311 | this.open = true; |
| 303 | this.form.number = this.getNumber(); | 312 | this.form.number = this.getNumber(); |
| 304 | this.form.violationGrade = "一般类"; | 313 | this.form.violationGrade = "一般类"; |
| 305 | - this.form.sendObject = "区管理部门(治)"; | 314 | + this.form.sendObject = "区管理部门"; |
| 306 | this.title = "添加违规预警信息"; | 315 | this.title = "添加违规预警信息"; |
| 307 | }, | 316 | }, |
| 308 | /** 修改按钮操作 */ | 317 | /** 修改按钮操作 */ |
| @@ -475,11 +484,11 @@ export default { | @@ -475,11 +484,11 @@ export default { | ||
| 475 | } | 484 | } |
| 476 | let fileType = file.name.substring(file.name.lastIndexOf('.') + 1).toLowerCase(); | 485 | let fileType = file.name.substring(file.name.lastIndexOf('.') + 1).toLowerCase(); |
| 477 | //格式符合后判断大小 | 486 | //格式符合后判断大小 |
| 478 | - if ("docx,doc,pdf,png,jpeg,png,jpg".indexOf(fileType) != -1) { | ||
| 479 | - let max5M = file.size / 1024 / 1024 < 20; | 487 | + if ("docx,doc,pdf,png,jpeg,png,jpg,mp4,avi".indexOf(fileType) != -1) { |
| 488 | + let max5M = file.size / 1024 / 1024 < 100; | ||
| 480 | if (!max5M) { | 489 | if (!max5M) { |
| 481 | this.$message({ | 490 | this.$message({ |
| 482 | - message: '上传文件大小不得超过20M!', | 491 | + message: '上传文件大小不得超过100M!', |
| 483 | type: 'warning' | 492 | type: 'warning' |
| 484 | }); | 493 | }); |
| 485 | fileList = fileList.splice(fileList.length - 1, 1); | 494 | fileList = fileList.splice(fileList.length - 1, 1); |
| @@ -489,7 +498,7 @@ export default { | @@ -489,7 +498,7 @@ export default { | ||
| 489 | } | 498 | } |
| 490 | } else { | 499 | } else { |
| 491 | this.$message({ | 500 | this.$message({ |
| 492 | - message: '上传文件只能是 docx、doc、pdf、png、jpeg、png、jpg格式!', | 501 | + message: '上传文件只能是 docx、doc、pdf、png、jpeg、png、jpg、mp4、avi格式!', |
| 493 | type: 'warning' | 502 | type: 'warning' |
| 494 | }); | 503 | }); |
| 495 | fileList = fileList.splice(fileList.length - 1, 1); | 504 | fileList = fileList.splice(fileList.length - 1, 1); |
| @@ -499,6 +508,7 @@ export default { | @@ -499,6 +508,7 @@ export default { | ||
| 499 | handleDeleteFile(index) { | 508 | handleDeleteFile(index) { |
| 500 | this.fileEntityList.splice(index, 1); | 509 | this.fileEntityList.splice(index, 1); |
| 501 | this.slide1.splice(index, 1); | 510 | this.slide1.splice(index, 1); |
| 511 | + this.videoSrc.splice(index, 1); | ||
| 502 | }, | 512 | }, |
| 503 | /** 文件下载 */ | 513 | /** 文件下载 */ |
| 504 | downloadFA(row) { | 514 | downloadFA(row) { |
trash-ui/src/views/activiti/task/index.vue
| 1 | <template> | 1 | <template> |
| 2 | <div class="app-container"> | 2 | <div class="app-container"> |
| 3 | - <el-select v-model="queryParams.dept" filterable reserve-keyword @change="getList"> | ||
| 4 | - <el-option v-for="item in depts" :label="item.name" | ||
| 5 | - :value="item.code" :key="item.code"> | ||
| 6 | - </el-option> | ||
| 7 | - </el-select> | ||
| 8 | - <el-select v-model="queryParams.role" filterable reserve-keyword @change="getList"> | ||
| 9 | - <el-option v-for="item in roles" :label="item.name" | ||
| 10 | - :value="item.code" :key="item.code"> | ||
| 11 | - </el-option> | ||
| 12 | - </el-select> | ||
| 13 | - | ||
| 14 | - <el-select v-model="queryParams.name" filterable reserve-keyword @change="getList" placeholder="名称"> | ||
| 15 | - <el-option label="全部" value="" /> | ||
| 16 | - <el-option v-for="item in names" :label="item" :value="item" > | ||
| 17 | - </el-option> | ||
| 18 | - </el-select> | ||
| 19 | - | ||
| 20 | - <el-select v-model="queryParams.prev" filterable reserve-keyword @change="getList" placeholder="上一节点"> | ||
| 21 | - <el-option label="全部" value="" /> | ||
| 22 | - <el-option v-for="item in depts" :label="item.name" :value="item.name" > | ||
| 23 | - </el-option> | ||
| 24 | - </el-select> | ||
| 25 | - <el-select v-model="queryParams.type" filterable reserve-keyword @change="getList"> | ||
| 26 | - <el-option label="全部" value="" /> | ||
| 27 | - <el-option label="建筑垃圾许可证审批" value="workflow_constructsite" /> | ||
| 28 | - <el-option label="消纳合同申报备案" value="workflow_conract" /> | ||
| 29 | - <el-option label="处理场所备案" value="workflow_earthsites" /> | ||
| 30 | - <el-option label="运输企业准入流程" value="workflow_company" /> | ||
| 31 | - <el-option label="运输车辆准入流程" value="workflow_vehicle" /> | ||
| 32 | - <el-option label="驾驶员信息审批" value="workflow_driver" /> | ||
| 33 | - <el-option label="交办案卷" value="workflow_caseoffline" /> | ||
| 34 | - <el-option label="违规案卷处置流程" value="workflow_casefile" /> | ||
| 35 | - <el-option label="平台预警信息" value="violation_warning" /> | ||
| 36 | - <el-option label="办文办事" value="handleAffairs" /> | ||
| 37 | - <el-option label="后勤管理" value="logistics" /> | ||
| 38 | - <el-option label="会议事务" value="conference" /> | ||
| 39 | - <el-option label="假勤管理" value="workflow_leave" /> | ||
| 40 | - <el-option label="纪检督察" value="supervision-gongdi,supervision_anjuan,supervision_company,supervision_xnc" /> | 3 | + <el-select v-model="queryParams.dept" filterable reserve-keyword @change="getList"> |
| 4 | + <el-option v-for="item in depts" :label="item.name" | ||
| 5 | + :value="item.code" :key="item.code"> | ||
| 6 | + </el-option> | ||
| 7 | + </el-select> | ||
| 8 | + <el-select v-model="queryParams.role" filterable reserve-keyword @change="getList"> | ||
| 9 | + <el-option v-for="item in roles" :label="item.name" | ||
| 10 | + :value="item.code" :key="item.code"> | ||
| 11 | + </el-option> | ||
| 12 | + </el-select> | ||
| 13 | + | ||
| 14 | + <el-select v-model="queryParams.name" filterable reserve-keyword @change="getList" placeholder="名称"> | ||
| 15 | + <el-option label="全部" value=""/> | ||
| 16 | + <el-option v-for="item in names" :label="item" :value="item"> | ||
| 17 | + </el-option> | ||
| 18 | + </el-select> | ||
| 19 | + | ||
| 20 | + <el-select v-model="queryParams.prev" filterable reserve-keyword @change="getList" placeholder="上一节点"> | ||
| 21 | + <el-option label="全部" value=""/> | ||
| 22 | + <el-option v-for="item in depts" :label="item.name" :value="item.name"> | ||
| 23 | + </el-option> | ||
| 24 | + </el-select> | ||
| 25 | + <el-select v-model="queryParams.type" filterable reserve-keyword @change="getList"> | ||
| 26 | + <el-option label="全部" value=""/> | ||
| 27 | + <el-option label="建筑垃圾许可证审批" value="workflow_constructsite"/> | ||
| 28 | + <el-option label="消纳合同申报备案" value="workflow_conract"/> | ||
| 29 | + <el-option label="处理场所备案" value="workflow_earthsites"/> | ||
| 30 | + <el-option label="运输企业准入流程" value="workflow_company"/> | ||
| 31 | + <el-option label="运输车辆准入流程" value="workflow_vehicle"/> | ||
| 32 | + <el-option label="驾驶员信息审批" value="workflow_driver"/> | ||
| 33 | + <el-option label="交办案卷" value="workflow_caseoffline"/> | ||
| 34 | + <el-option label="违规案卷处置流程" value="workflow_casefile"/> | ||
| 35 | + <el-option label="平台预警信息" value="violation_warning"/> | ||
| 36 | + <el-option label="办文办事" value="handleAffairs"/> | ||
| 37 | + <el-option label="后勤管理" value="logistics"/> | ||
| 38 | + <el-option label="会议事务" value="conference"/> | ||
| 39 | + <el-option label="假勤管理" value="workflow_leave"/> | ||
| 40 | + <el-option label="纪检督察" value="supervision-gongdi,supervision_anjuan,supervision_company,supervision_xnc"/> | ||
| 41 | </el-select> | 41 | </el-select> |
| 42 | 42 | ||
| 43 | 43 | ||
| @@ -156,7 +156,8 @@ | @@ -156,7 +156,8 @@ | ||
| 156 | </p> | 156 | </p> |
| 157 | </el-col> | 157 | </el-col> |
| 158 | <el-col :span="6"> | 158 | <el-col :span="6"> |
| 159 | - <a style="color:blue;font-size: 12px;" @click="showFileUpload(5)">{{form.type==0?"摄像头视频截图1":"洗车设施照片"}}</a> | 159 | + <a style="color:blue;font-size: 12px;" |
| 160 | + @click="showFileUpload(5)">{{ form.type == 0 ? "摄像头视频截图1" : "洗车设施照片" }}</a> | ||
| 160 | <br/> | 161 | <br/> |
| 161 | <el-image v-for="item in slides[5]" | 162 | <el-image v-for="item in slides[5]" |
| 162 | style="width: 100px; height: 100px; margin: 5px;" | 163 | style="width: 100px; height: 100px; margin: 5px;" |
| @@ -170,7 +171,8 @@ | @@ -170,7 +171,8 @@ | ||
| 170 | </p> | 171 | </p> |
| 171 | </el-col> | 172 | </el-col> |
| 172 | <el-col :span="6"> | 173 | <el-col :span="6"> |
| 173 | - <a style="color:blue;font-size: 12px;" @click="showFileUpload(6)">{{form.type==0?"摄像头视频截图2":"雾炮机"}}</a> | 174 | + <a style="color:blue;font-size: 12px;" |
| 175 | + @click="showFileUpload(6)">{{ form.type == 0 ? "摄像头视频截图2" : "雾炮机" }}</a> | ||
| 174 | <br/> | 176 | <br/> |
| 175 | <el-image v-for="item in slides[6]" | 177 | <el-image v-for="item in slides[6]" |
| 176 | style="width: 100px; height: 100px; margin: 5px;" | 178 | style="width: 100px; height: 100px; margin: 5px;" |
| @@ -184,7 +186,8 @@ | @@ -184,7 +186,8 @@ | ||
| 184 | </p> | 186 | </p> |
| 185 | </el-col> | 187 | </el-col> |
| 186 | <el-col :span="6"> | 188 | <el-col :span="6"> |
| 187 | - <a style="color:blue;font-size: 12px;" @click="showFileUpload(7)">{{form.type==0?"摄像头视频截图3":"裸露黄土覆盖照片"}}</a> | 189 | + <a style="color:blue;font-size: 12px;" |
| 190 | + @click="showFileUpload(7)">{{ form.type == 0 ? "摄像头视频截图3" : "裸露黄土覆盖照片" }}</a> | ||
| 188 | <br/> | 191 | <br/> |
| 189 | <el-image v-for="item in slides[7]" | 192 | <el-image v-for="item in slides[7]" |
| 190 | style="width: 100px; height: 100px; margin: 5px;" | 193 | style="width: 100px; height: 100px; margin: 5px;" |
| @@ -318,7 +321,7 @@ | @@ -318,7 +321,7 @@ | ||
| 318 | <el-dialog :title="title" :visible.sync="construct" width="800px" append-to-body> | 321 | <el-dialog :title="title" :visible.sync="construct" width="800px" append-to-body> |
| 319 | <constructsiteInfo :businessKey="businessKey" :signData="signData" v-if="construct"/> | 322 | <constructsiteInfo :businessKey="businessKey" :signData="signData" v-if="construct"/> |
| 320 | <el-row> | 323 | <el-row> |
| 321 | - <el-input v-model="signDataInfo" type="textarea" :rows="4" style="margin-top: 10px;" ></el-input> | 324 | + <el-input v-model="signDataInfo" type="textarea" :rows="4" style="margin-top: 10px;"></el-input> |
| 322 | </el-row> | 325 | </el-row> |
| 323 | <div slot="footer" class="dialog-footer"> | 326 | <div slot="footer" class="dialog-footer"> |
| 324 | <el-button type="danger" @click="submitForm(form.formData[0].controlId ,1)">驳回</el-button> | 327 | <el-button type="danger" @click="submitForm(form.formData[0].controlId ,1)">驳回</el-button> |
| @@ -329,14 +332,15 @@ | @@ -329,14 +332,15 @@ | ||
| 329 | <el-dialog :title="title" :visible.sync="earthsites" width="800px" append-to-body> | 332 | <el-dialog :title="title" :visible.sync="earthsites" width="800px" append-to-body> |
| 330 | <earthsitesInfo :businessKey="businessKey" v-if="earthsites"/> | 333 | <earthsitesInfo :businessKey="businessKey" v-if="earthsites"/> |
| 331 | <div v-for="item in this.form.formData"> | 334 | <div v-for="item in this.form.formData"> |
| 332 | - <el-input v-if="item.controlType=='textarea'" :label="item.controlLable" v-model="item.controlValue" placeholder="批注" type="textarea" :rows="3" style="margin-top:20px;"/> | 335 | + <el-input v-if="item.controlType=='textarea'" :label="item.controlLable" v-model="item.controlValue" |
| 336 | + placeholder="批注" type="textarea" :rows="3" style="margin-top:20px;"/> | ||
| 333 | </div> | 337 | </div> |
| 334 | 338 | ||
| 335 | <el-table :data="hisfromData" v-if="hisfromData != null"> | 339 | <el-table :data="hisfromData" v-if="hisfromData != null"> |
| 336 | <el-table-column label="类型" width="55" align="center" prop="controlName"/> | 340 | <el-table-column label="类型" width="55" align="center" prop="controlName"/> |
| 337 | - <el-table-column label="审批内容" align="center" prop="controlValue" /> | ||
| 338 | - <el-table-column label="审批人" align="center" prop="createName" /> | ||
| 339 | - <el-table-column label="审批时间" align="center" prop="createTime" /> | 341 | + <el-table-column label="审批内容" align="center" prop="controlValue"/> |
| 342 | + <el-table-column label="审批人" align="center" prop="createName"/> | ||
| 343 | + <el-table-column label="审批时间" align="center" prop="createTime"/> | ||
| 340 | </el-table> | 344 | </el-table> |
| 341 | 345 | ||
| 342 | <div slot="footer" class="dialog-footer"> | 346 | <div slot="footer" class="dialog-footer"> |
| @@ -349,14 +353,15 @@ | @@ -349,14 +353,15 @@ | ||
| 349 | <contractInfo :businessKey="businessKey" v-if="contract"/> | 353 | <contractInfo :businessKey="businessKey" v-if="contract"/> |
| 350 | 354 | ||
| 351 | <div v-for="item in this.form.formData"> | 355 | <div v-for="item in this.form.formData"> |
| 352 | - <el-input v-if="item.controlType=='textarea'" :label="item.controlLable" v-model="item.controlValue" placeholder="批注" type="textarea" :rows="3" style="margin-top:20px;"/> | 356 | + <el-input v-if="item.controlType=='textarea'" :label="item.controlLable" v-model="item.controlValue" |
| 357 | + placeholder="批注" type="textarea" :rows="3" style="margin-top:20px;"/> | ||
| 353 | </div> | 358 | </div> |
| 354 | 359 | ||
| 355 | <el-table :data="hisfromData" v-if="hisfromData != null"> | 360 | <el-table :data="hisfromData" v-if="hisfromData != null"> |
| 356 | <el-table-column label="类型" width="55" align="center" prop="controlName"/> | 361 | <el-table-column label="类型" width="55" align="center" prop="controlName"/> |
| 357 | - <el-table-column label="审批内容" align="center" prop="controlValue" /> | ||
| 358 | - <el-table-column label="审批人" align="center" prop="createName" /> | ||
| 359 | - <el-table-column label="审批时间" align="center" prop="createTime" /> | 362 | + <el-table-column label="审批内容" align="center" prop="controlValue"/> |
| 363 | + <el-table-column label="审批人" align="center" prop="createName"/> | ||
| 364 | + <el-table-column label="审批时间" align="center" prop="createTime"/> | ||
| 360 | </el-table> | 365 | </el-table> |
| 361 | 366 | ||
| 362 | <div slot="footer" class="dialog-footer"> | 367 | <div slot="footer" class="dialog-footer"> |
| @@ -395,7 +400,8 @@ | @@ -395,7 +400,8 @@ | ||
| 395 | <div slot="footer" class="dialog-footer"> | 400 | <div slot="footer" class="dialog-footer"> |
| 396 | <div slot="footer" class="dialog-footer"> | 401 | <div slot="footer" class="dialog-footer"> |
| 397 | <el-button type="danger" @click="handleAffairsSubmitForm(1)" | 402 | <el-button type="danger" @click="handleAffairsSubmitForm(1)" |
| 398 | - v-if="controlId!='FormProperty_11p96vq' && controlId!='FormProperty_0d6ngk1' && definitionKey!='yuelanxuexi' && definitionKey!='yuelan'">驳回 | 403 | + v-if="controlId!='FormProperty_11p96vq' && controlId!='FormProperty_0d6ngk1' && definitionKey!='yuelanxuexi' && definitionKey!='yuelan'"> |
| 404 | + 驳回 | ||
| 399 | </el-button> | 405 | </el-button> |
| 400 | <el-button type="primary" @click="handleAffairsSubmitForm(0)">通过</el-button> | 406 | <el-button type="primary" @click="handleAffairsSubmitForm(0)">通过</el-button> |
| 401 | </div> | 407 | </div> |
| @@ -405,85 +411,127 @@ | @@ -405,85 +411,127 @@ | ||
| 405 | <!-- 线下案卷交办 --> | 411 | <!-- 线下案卷交办 --> |
| 406 | <el-dialog :title="title" :visible.sync="caseOffline" width="600px" append-to-body :close-on-click-modal="false"> | 412 | <el-dialog :title="title" :visible.sync="caseOffline" width="600px" append-to-body :close-on-click-modal="false"> |
| 407 | <caseOfflineInfo :businessKey="businessKey" v-if="caseOffline"/> | 413 | <caseOfflineInfo :businessKey="businessKey" v-if="caseOffline"/> |
| 408 | - <el-input v-model="form.advice" placeholder="请填写审批意见" type="textarea" :rows="3"/> | 414 | + <el-form v-if="caseOffline" label-width="120px"> |
| 415 | + <el-input v-model="form.reply" type="textarea" :rows="3" placeholder="回复意见"> | ||
| 416 | + </el-input> | ||
| 417 | + <el-upload multiple :headers="upload.headers" :action="upload.url" | ||
| 418 | + accept=".docx,.doc,.pdf,.png,.jpeg,.png,.jpg,.mp4,.avi" | ||
| 419 | + :show-file-list="false" | ||
| 420 | + :on-success="uploadSuccess1" :before-upload="beforeUpload"> | ||
| 421 | + <el-button size="small" type="primary">选择附件</el-button> | ||
| 422 | + <div slot="tip" class="el-upload__tip">只能上传不超过 100MB 的jpg、png、pdf、word、avi、mp4文件</div> | ||
| 423 | + </el-upload> | ||
| 424 | + <el-image v-for="item in slides1" | ||
| 425 | + style="width: 150px; height: 100px; margin: 5px;" | ||
| 426 | + :src="item.url" | ||
| 427 | + :preview-src-list="[item.url]" | ||
| 428 | + :z-index="2000"> | ||
| 429 | + </el-image> | ||
| 430 | + <div style="display: inline-block;margin: 5px;position: relative; width: 150px;height: 100px;overflow:hidden;" | ||
| 431 | + v-for="item in videoSrc1"> | ||
| 432 | + <video width="100%" controls="controls" height="100%" :src="item.url"></video> | ||
| 433 | + </div> | ||
| 434 | + <div style="color: blue;" v-for="(img,index) in form.replyImg">{{ img.split("/")[img.split("/").length - 1] }}<a | ||
| 435 | + @click="removeAttchItem(index,img)" style="color:red;"> X</a></div> | ||
| 436 | + | ||
| 437 | + </el-form> | ||
| 409 | <div slot="footer" class="dialog-footer"> | 438 | <div slot="footer" class="dialog-footer"> |
| 410 | - <el-button type="danger" @click="submitForm(form.formData[0].controlId,1)" v-if="this.taskName != '车辆所属企业' && this.taskName != '渣土办科员'">驳回</el-button> | 439 | + <el-button type="danger" @click="submitForm(form.formData[0].controlId,1)" |
| 440 | + v-if="this.taskName != '车辆所属企业' && this.taskName != '渣土办科员'">驳回 | ||
| 441 | + </el-button> | ||
| 411 | <el-button type="primary" @click="submitForm(form.formData[0].controlId,0)">通过</el-button> | 442 | <el-button type="primary" @click="submitForm(form.formData[0].controlId,0)">通过</el-button> |
| 412 | </div> | 443 | </div> |
| 413 | </el-dialog> | 444 | </el-dialog> |
| 414 | 445 | ||
| 415 | <!-- 平台违规信息 --> | 446 | <!-- 平台违规信息 --> |
| 416 | - <el-dialog :title="title" :visible.sync="violationCaseFile" width="850px" append-to-body :close-on-click-modal="false"> | 447 | + <el-dialog :title="title" :visible.sync="violationCaseFile" width="850px" append-to-body |
| 448 | + :close-on-click-modal="false"> | ||
| 417 | <violationCaseFileInfo :idInfo="businessKey" v-if="violationCaseFile" :entryType="0"/> | 449 | <violationCaseFileInfo :idInfo="businessKey" v-if="violationCaseFile" :entryType="0"/> |
| 418 | - <el-form v-if="this.taskName != '车辆所属企业' && this.taskName != '渣土办科员' && violationCaseFile" :rules="rules" label-width="120px" > | 450 | + <el-form v-if="violationCaseFile" label-width="120px"> |
| 419 | <el-input v-model="form.reply" type="textarea" :rows="3" placeholder="回复意见"> | 451 | <el-input v-model="form.reply" type="textarea" :rows="3" placeholder="回复意见"> |
| 420 | </el-input> | 452 | </el-input> |
| 421 | - <el-upload | ||
| 422 | - list-type="picture" | ||
| 423 | - action='' | ||
| 424 | - accept=".jpg, .png , .bmp" | ||
| 425 | - :limit="1" | ||
| 426 | - :auto-upload="false" | ||
| 427 | - :file-list="form.replyImg" | ||
| 428 | - :on-change="getFile" | ||
| 429 | - :on-preview="handlePictureCardPreview" | ||
| 430 | - :on-remove="handleUploadRemove" | ||
| 431 | - > | ||
| 432 | - <el-button size="small" type="primary" @click="uploadimg" v-if="form.replyImg == null">选择图片上传</el-button> | ||
| 433 | - <div slot="tip" class="el-upload__tip" v-if="form.replyImg== null">只能上传一张图片文件</div> | 453 | + <el-upload multiple :headers="upload.headers" :action="upload.url" |
| 454 | + accept=".docx,.doc,.pdf,.png,.jpeg,.png,.jpg,.mp4,.avi" | ||
| 455 | + :show-file-list="false" | ||
| 456 | + :on-success="uploadSuccess1" :before-upload="beforeUpload"> | ||
| 457 | + <el-button size="small" type="primary">选择附件</el-button> | ||
| 458 | + <div slot="tip" class="el-upload__tip">只能上传不超过 100MB 的jpg、png、pdf、word、avi、mp4文件</div> | ||
| 434 | </el-upload> | 459 | </el-upload> |
| 460 | + <el-image v-for="item in slides1" | ||
| 461 | + style="width: 150px; height: 100px; margin: 5px;" | ||
| 462 | + :src="item.url" | ||
| 463 | + :preview-src-list="[item.url]" | ||
| 464 | + :z-index="2000"> | ||
| 465 | + </el-image> | ||
| 466 | + <div style="display: inline-block;margin: 5px;position: relative; width: 150px;height: 100px;overflow:hidden;" | ||
| 467 | + v-for="item in videoSrc1"> | ||
| 468 | + <video width="100%" controls="controls" height="100%" :src="item.url"></video> | ||
| 469 | + </div> | ||
| 470 | + <div style="color: blue;" v-for="(img,index) in form.replyImg">{{ img.split("/")[img.split("/").length - 1] }}<a | ||
| 471 | + @click="removeAttchItem(index,img)" style="color:red;"> X</a></div> | ||
| 435 | 472 | ||
| 436 | </el-form> | 473 | </el-form> |
| 437 | 474 | ||
| 438 | 475 | ||
| 439 | <div slot="footer" class="dialog-footer"> | 476 | <div slot="footer" class="dialog-footer"> |
| 440 | - <el-button type="danger" @click="submitForm(form.formData[0].controlId,1)" v-if="this.taskName != '车辆所属企业' && this.taskName != '渣土办科员'">驳回</el-button> | 477 | + <el-button type="danger" @click="submitForm(form.formData[0].controlId,1)" |
| 478 | + v-if="this.taskName != '车辆所属企业' && this.taskName != '渣土办科员'">驳回 | ||
| 479 | + </el-button> | ||
| 441 | <el-button type="primary" @click="submitForm(form.formData[0].controlId,0)">通过</el-button> | 480 | <el-button type="primary" @click="submitForm(form.formData[0].controlId,0)">通过</el-button> |
| 442 | </div> | 481 | </div> |
| 443 | </el-dialog> | 482 | </el-dialog> |
| 444 | 483 | ||
| 445 | <!-- 违规预警信息 --> | 484 | <!-- 违规预警信息 --> |
| 446 | - <el-dialog :title="title" :visible.sync="violationCaseFile1" width="850px" append-to-body :close-on-click-modal="false"> | 485 | + <el-dialog :title="title" :visible.sync="violationCaseFile1" width="850px" append-to-body |
| 486 | + :close-on-click-modal="false"> | ||
| 447 | <violationWarningInformationInfo :idInfo="businessKey" v-if="violationCaseFile1" :entryType="0"/> | 487 | <violationWarningInformationInfo :idInfo="businessKey" v-if="violationCaseFile1" :entryType="0"/> |
| 448 | - <el-form v-if="this.taskName != '车辆所属企业' && this.taskName != '渣土办科员' && violationCaseFile1" :rules="rules" label-width="120px" > | 488 | + <el-form v-if="violationCaseFile1" label-width="120px"> |
| 449 | <el-input v-model="form.reply" type="textarea" :rows="3" placeholder="回复意见"> | 489 | <el-input v-model="form.reply" type="textarea" :rows="3" placeholder="回复意见"> |
| 450 | </el-input> | 490 | </el-input> |
| 451 | - <el-upload | ||
| 452 | - list-type="picture" | ||
| 453 | - action='' | ||
| 454 | - accept=".jpg, .png , .bmp" | ||
| 455 | - :limit="1" | ||
| 456 | - :auto-upload="false" | ||
| 457 | - :file-list="form.replyImg" | ||
| 458 | - :on-change="getFile" | ||
| 459 | - :on-preview="handlePictureCardPreview" | ||
| 460 | - :on-remove="handleUploadRemove" | ||
| 461 | - > | ||
| 462 | - <el-button size="small" type="primary" @click="uploadimg" v-if="form.replyImg == null">选择图片上传</el-button> | ||
| 463 | - <div slot="tip" class="el-upload__tip" v-if="form.replyImg== null">只能上传一张图片文件</div> | 491 | + <el-upload multiple :headers="upload.headers" :action="upload.url" |
| 492 | + accept=".docx,.doc,.pdf,.png,.jpeg,.png,.jpg,.mp4,.avi" | ||
| 493 | + :show-file-list="false" | ||
| 494 | + :on-success="uploadSuccess1" :before-upload="beforeUpload"> | ||
| 495 | + <el-button size="small" type="primary">选择附件</el-button> | ||
| 496 | + <div slot="tip" class="el-upload__tip">只能上传不超过 100MB 的jpg、png、pdf、word、avi、mp4文件</div> | ||
| 464 | </el-upload> | 497 | </el-upload> |
| 465 | - | 498 | + <el-image v-for="item in slides1" |
| 499 | + style="width: 150px; height: 100px; margin: 5px;" | ||
| 500 | + :src="item.url" | ||
| 501 | + :preview-src-list="[item.url]" | ||
| 502 | + :z-index="2000"> | ||
| 503 | + </el-image> | ||
| 504 | + <div style="display: inline-block;margin: 5px;position: relative; width: 150px;height: 100px;overflow:hidden;" | ||
| 505 | + v-for="item in videoSrc1"> | ||
| 506 | + <video width="100%" controls="controls" height="100%" :src="item.url"></video> | ||
| 507 | + </div> | ||
| 508 | + <div style="color: blue;" v-for="(img,index) in form.replyImg">{{ img.split("/")[img.split("/").length - 1] }}<a | ||
| 509 | + @click="removeAttchItem(index,img)" style="color:red;"> X</a></div> | ||
| 466 | </el-form> | 510 | </el-form> |
| 467 | 511 | ||
| 468 | 512 | ||
| 469 | <div slot="footer" class="dialog-footer"> | 513 | <div slot="footer" class="dialog-footer"> |
| 470 | - <el-button type="danger" @click="submitForm(form.formData[0].controlId,1)" v-if="this.taskName != '车辆所属企业' && this.taskName != '渣土办科员'">驳回</el-button> | 514 | + <el-button type="danger" @click="submitForm(form.formData[0].controlId,1)" |
| 515 | + v-if="this.taskName != '车辆所属企业' && this.taskName != '渣土办科员'">驳回 | ||
| 516 | + </el-button> | ||
| 471 | <el-button type="primary" @click="submitForm(form.formData[0].controlId,0)">通过</el-button> | 517 | <el-button type="primary" @click="submitForm(form.formData[0].controlId,0)">通过</el-button> |
| 472 | </div> | 518 | </div> |
| 473 | </el-dialog> | 519 | </el-dialog> |
| 474 | 520 | ||
| 475 | - <el-dialog :title="title" :visible.sync="supervisionOpen" width="700px" append-to-body :close-on-click-modal="false"> | 521 | + <el-dialog :title="title" :visible.sync="supervisionOpen" width="700px" append-to-body |
| 522 | + :close-on-click-modal="false"> | ||
| 476 | <supervisionInfo :infoData="supervisionData" v-if="supervisionOpen"/> | 523 | <supervisionInfo :infoData="supervisionData" v-if="supervisionOpen"/> |
| 477 | 524 | ||
| 478 | <div v-for="item in this.form.formData"> | 525 | <div v-for="item in this.form.formData"> |
| 479 | - <el-input v-if="item.controlType=='textarea'" :label="item.controlLable" v-model="item.controlValue" placeholder="批注" type="textarea" :rows="3" style="margin-top:20px;"/> | 526 | + <el-input v-if="item.controlType=='textarea'" :label="item.controlLable" v-model="item.controlValue" |
| 527 | + placeholder="批注" type="textarea" :rows="3" style="margin-top:20px;"/> | ||
| 480 | </div> | 528 | </div> |
| 481 | 529 | ||
| 482 | <el-table :data="hisfromData" v-if="hisfromData != null"> | 530 | <el-table :data="hisfromData" v-if="hisfromData != null"> |
| 483 | <el-table-column label="类型" width="55" align="center" prop="controlName"/> | 531 | <el-table-column label="类型" width="55" align="center" prop="controlName"/> |
| 484 | - <el-table-column label="审批内容" align="center" prop="controlValue" /> | ||
| 485 | - <el-table-column label="审批人" align="center" prop="createName" /> | ||
| 486 | - <el-table-column label="审批时间" align="center" prop="createTime" /> | 532 | + <el-table-column label="审批内容" align="center" prop="controlValue"/> |
| 533 | + <el-table-column label="审批人" align="center" prop="createName"/> | ||
| 534 | + <el-table-column label="审批时间" align="center" prop="createTime"/> | ||
| 487 | </el-table> | 535 | </el-table> |
| 488 | 536 | ||
| 489 | <div slot="footer" class="dialog-footer"> | 537 | <div slot="footer" class="dialog-footer"> |
| @@ -495,14 +543,15 @@ | @@ -495,14 +543,15 @@ | ||
| 495 | <el-dialog :title="title" :visible.sync="company" width="700px" append-to-body :close-on-click-modal="false"> | 543 | <el-dialog :title="title" :visible.sync="company" width="700px" append-to-body :close-on-click-modal="false"> |
| 496 | <companyInfo :businessKey="businessKey" v-if="company"/> | 544 | <companyInfo :businessKey="businessKey" v-if="company"/> |
| 497 | <div v-for="item in this.form.formData"> | 545 | <div v-for="item in this.form.formData"> |
| 498 | - <el-input v-if="item.controlType=='textarea'" :label="item.controlLable" v-model="item.controlValue" placeholder="批注" type="textarea" :rows="3" style="margin-top:20px;"/> | 546 | + <el-input v-if="item.controlType=='textarea'" :label="item.controlLable" v-model="item.controlValue" |
| 547 | + placeholder="批注" type="textarea" :rows="3" style="margin-top:20px;"/> | ||
| 499 | </div> | 548 | </div> |
| 500 | 549 | ||
| 501 | <el-table :data="hisfromData" v-if="hisfromData != null"> | 550 | <el-table :data="hisfromData" v-if="hisfromData != null"> |
| 502 | <el-table-column label="类型" width="55" align="center" prop="controlName"/> | 551 | <el-table-column label="类型" width="55" align="center" prop="controlName"/> |
| 503 | - <el-table-column label="审批内容" align="center" prop="controlValue" /> | ||
| 504 | - <el-table-column label="审批人" align="center" prop="createName" /> | ||
| 505 | - <el-table-column label="审批时间" align="center" prop="createTime" /> | 552 | + <el-table-column label="审批内容" align="center" prop="controlValue"/> |
| 553 | + <el-table-column label="审批人" align="center" prop="createName"/> | ||
| 554 | + <el-table-column label="审批时间" align="center" prop="createTime"/> | ||
| 506 | </el-table> | 555 | </el-table> |
| 507 | <div slot="footer" class="dialog-footer"> | 556 | <div slot="footer" class="dialog-footer"> |
| 508 | <el-button type="danger" @click="submitForm(form.formData[0].controlId,1)">驳回</el-button> | 557 | <el-button type="danger" @click="submitForm(form.formData[0].controlId,1)">驳回</el-button> |
| @@ -513,14 +562,15 @@ | @@ -513,14 +562,15 @@ | ||
| 513 | <el-dialog :title="title" :visible.sync="vehicle" width="700px" append-to-body :close-on-click-modal="false"> | 562 | <el-dialog :title="title" :visible.sync="vehicle" width="700px" append-to-body :close-on-click-modal="false"> |
| 514 | <vehicleInfo :businessKey="businessKey" v-if="vehicle"/> | 563 | <vehicleInfo :businessKey="businessKey" v-if="vehicle"/> |
| 515 | <div v-for="item in this.form.formData"> | 564 | <div v-for="item in this.form.formData"> |
| 516 | - <el-input v-if="item.controlType=='textarea'" :label="item.controlLable" v-model="item.controlValue" placeholder="批注" type="textarea" :rows="3" style="margin-top:20px;"/> | 565 | + <el-input v-if="item.controlType=='textarea'" :label="item.controlLable" v-model="item.controlValue" |
| 566 | + placeholder="批注" type="textarea" :rows="3" style="margin-top:20px;"/> | ||
| 517 | </div> | 567 | </div> |
| 518 | 568 | ||
| 519 | <el-table :data="hisfromData" v-if="hisfromData != null"> | 569 | <el-table :data="hisfromData" v-if="hisfromData != null"> |
| 520 | <el-table-column label="类型" width="55" align="center" prop="controlName"/> | 570 | <el-table-column label="类型" width="55" align="center" prop="controlName"/> |
| 521 | - <el-table-column label="审批内容" align="center" prop="controlValue" /> | ||
| 522 | - <el-table-column label="审批人" align="center" prop="createName" /> | ||
| 523 | - <el-table-column label="审批时间" align="center" prop="createTime" /> | 571 | + <el-table-column label="审批内容" align="center" prop="controlValue"/> |
| 572 | + <el-table-column label="审批人" align="center" prop="createName"/> | ||
| 573 | + <el-table-column label="审批时间" align="center" prop="createTime"/> | ||
| 524 | </el-table> | 574 | </el-table> |
| 525 | <div slot="footer" class="dialog-footer"> | 575 | <div slot="footer" class="dialog-footer"> |
| 526 | <el-button type="danger" @click="submitForm(form.formData[0].controlId,1)">驳回</el-button> | 576 | <el-button type="danger" @click="submitForm(form.formData[0].controlId,1)">驳回</el-button> |
| @@ -531,14 +581,15 @@ | @@ -531,14 +581,15 @@ | ||
| 531 | <el-dialog :title="title" :visible.sync="driver" width="700px" append-to-body :close-on-click-modal="false"> | 581 | <el-dialog :title="title" :visible.sync="driver" width="700px" append-to-body :close-on-click-modal="false"> |
| 532 | <driverInfo :businessKey="businessKey" v-if="driver"/> | 582 | <driverInfo :businessKey="businessKey" v-if="driver"/> |
| 533 | <div v-for="item in this.form.formData"> | 583 | <div v-for="item in this.form.formData"> |
| 534 | - <el-input v-if="item.controlType=='textarea'" :label="item.controlLable" v-model="item.controlValue" placeholder="批注" type="textarea" :rows="3" style="margin-top:20px;"/> | 584 | + <el-input v-if="item.controlType=='textarea'" :label="item.controlLable" v-model="item.controlValue" |
| 585 | + placeholder="批注" type="textarea" :rows="3" style="margin-top:20px;"/> | ||
| 535 | </div> | 586 | </div> |
| 536 | 587 | ||
| 537 | <el-table :data="hisfromData" v-if="hisfromData != null"> | 588 | <el-table :data="hisfromData" v-if="hisfromData != null"> |
| 538 | <el-table-column label="类型" width="55" align="center" prop="controlName"/> | 589 | <el-table-column label="类型" width="55" align="center" prop="controlName"/> |
| 539 | - <el-table-column label="审批内容" align="center" prop="controlValue" /> | ||
| 540 | - <el-table-column label="审批人" align="center" prop="createName" /> | ||
| 541 | - <el-table-column label="审批时间" align="center" prop="createTime" /> | 590 | + <el-table-column label="审批内容" align="center" prop="controlValue"/> |
| 591 | + <el-table-column label="审批人" align="center" prop="createName"/> | ||
| 592 | + <el-table-column label="审批时间" align="center" prop="createTime"/> | ||
| 542 | </el-table> | 593 | </el-table> |
| 543 | <div slot="footer" class="dialog-footer"> | 594 | <div slot="footer" class="dialog-footer"> |
| 544 | <el-button type="danger" @click="submitForm(form.formData[0].controlId,1)">驳回</el-button> | 595 | <el-button type="danger" @click="submitForm(form.formData[0].controlId,1)">驳回</el-button> |
| @@ -554,36 +605,22 @@ | @@ -554,36 +605,22 @@ | ||
| 554 | </style> | 605 | </style> |
| 555 | 606 | ||
| 556 | <script> | 607 | <script> |
| 557 | -import { | ||
| 558 | - listTask, | ||
| 559 | - formDataShow, | ||
| 560 | - formDataSave | ||
| 561 | -} from "@/api/activiti/task"; | 608 | +import {formDataSave, formDataShow, listTask} from "@/api/activiti/task"; |
| 562 | 609 | ||
| 563 | -import { historyFromData } from '@/api/activiti/historyFormdata' | 610 | +import {historyFromData} from '@/api/activiti/historyFormdata' |
| 564 | 611 | ||
| 565 | 612 | ||
| 566 | -import {getSignByObjId, addSign, updateSign} from "@/api/sign/sign"; | 613 | +import {addSign, getSignByObjId} from "@/api/sign/sign"; |
| 567 | 614 | ||
| 568 | import {updateCaseOffline} from "@/api/caseOffline/caseOffline"; | 615 | import {updateCaseOffline} from "@/api/caseOffline/caseOffline"; |
| 569 | 616 | ||
| 570 | import {updateViolationCaseFileReader} from "@/api/casefile/violationCaseFile"; | 617 | import {updateViolationCaseFileReader} from "@/api/casefile/violationCaseFile"; |
| 571 | import {updateViolationCaseFileReader1} from "@/api/casefile/violationWarningInformation"; | 618 | import {updateViolationCaseFileReader1} from "@/api/casefile/violationWarningInformation"; |
| 572 | 619 | ||
| 573 | -import { | ||
| 574 | - getArea, | ||
| 575 | - getDict, | ||
| 576 | - getUsers, | ||
| 577 | - getSupervision | ||
| 578 | -} from "@/api/dict"; | ||
| 579 | - | ||
| 580 | -import { | ||
| 581 | - updateThreestep, | ||
| 582 | - activeThreestep | ||
| 583 | -} from "@/api/business/threestep"; | ||
| 584 | -import { | ||
| 585 | - getToken | ||
| 586 | -} from "@/utils/auth"; | 620 | +import {getDict, getSupervision, getUsers} from "@/api/dict"; |
| 621 | + | ||
| 622 | +import {activeThreestep} from "@/api/business/threestep"; | ||
| 623 | +import {getToken} from "@/utils/auth"; | ||
| 587 | import {addReplyApprovalProcess} from "@/api/casefile/replyApprovalProcess"; | 624 | import {addReplyApprovalProcess} from "@/api/casefile/replyApprovalProcess"; |
| 588 | import {updateHandleAffairs} from "@/api/office/handle"; | 625 | import {updateHandleAffairs} from "@/api/office/handle"; |
| 589 | import Treeselect from "@riophae/vue-treeselect"; | 626 | import Treeselect from "@riophae/vue-treeselect"; |
| @@ -600,7 +637,8 @@ import logisticsInfo from "@/views/office/logistics/logisticsInfo"; | @@ -600,7 +637,8 @@ import logisticsInfo from "@/views/office/logistics/logisticsInfo"; | ||
| 600 | import handleInfo from "@/views/office/handle/handleInfo"; | 637 | import handleInfo from "@/views/office/handle/handleInfo"; |
| 601 | import caseOfflineInfo from "@/views/caseOffline/caseOffline/caseOfflineInfo"; | 638 | import caseOfflineInfo from "@/views/caseOffline/caseOffline/caseOfflineInfo"; |
| 602 | import violationCaseFileInfo from "@/views/casefile/violationCaseFile/violationCaseFileInfo"; | 639 | import violationCaseFileInfo from "@/views/casefile/violationCaseFile/violationCaseFileInfo"; |
| 603 | -import violationWarningInformationInfo from "@/views/casefile/violationWarningInformation/violationWarningInformationInfo"; | 640 | +import violationWarningInformationInfo |
| 641 | + from "@/views/casefile/violationWarningInformation/violationWarningInformationInfo"; | ||
| 604 | import supervisionInfo from "./SupervisionInfo"; | 642 | import supervisionInfo from "./SupervisionInfo"; |
| 605 | 643 | ||
| 606 | import companyInfo from "@/views/activiti/task/companyInfo"; | 644 | import companyInfo from "@/views/activiti/task/companyInfo"; |
| @@ -694,7 +732,7 @@ export default { | @@ -694,7 +732,7 @@ export default { | ||
| 694 | users: [], | 732 | users: [], |
| 695 | options: [], | 733 | options: [], |
| 696 | usersName: [], | 734 | usersName: [], |
| 697 | - deptName:null, | 735 | + deptName: null, |
| 698 | supervisionData: null, | 736 | supervisionData: null, |
| 699 | uploadImageDialog: false, | 737 | uploadImageDialog: false, |
| 700 | idInfo: null, | 738 | idInfo: null, |
| @@ -710,21 +748,23 @@ export default { | @@ -710,21 +748,23 @@ export default { | ||
| 710 | caseOffline: false, | 748 | caseOffline: false, |
| 711 | violationCaseFile: false, | 749 | violationCaseFile: false, |
| 712 | violationCaseFile1: false, | 750 | violationCaseFile1: false, |
| 713 | - supervisionOpen:false, | 751 | + supervisionOpen: false, |
| 714 | open: false, | 752 | open: false, |
| 715 | open2: false, | 753 | open2: false, |
| 716 | conferenceOpen: false, | 754 | conferenceOpen: false, |
| 717 | construct: false, | 755 | construct: false, |
| 718 | leaveApplicationOpen: false, | 756 | leaveApplicationOpen: false, |
| 719 | - userNodes:[], | ||
| 720 | - company:false, | ||
| 721 | - driver:false, | ||
| 722 | - vehicle:false, | ||
| 723 | - names:null, | ||
| 724 | - hisfromData:[], | ||
| 725 | - slides:[], | ||
| 726 | - slidesArys:[], | ||
| 727 | prev:[] | 757 | prev:[] |
| 758 | + userNodes: [], | ||
| 759 | + company: false, | ||
| 760 | + driver: false, | ||
| 761 | + vehicle: false, | ||
| 762 | + names: null, | ||
| 763 | + hisfromData: [], | ||
| 764 | + slides: [], | ||
| 765 | + slidesArys: [], | ||
| 766 | + slides1: [], | ||
| 767 | + videoSrc1: [], | ||
| 728 | }; | 768 | }; |
| 729 | }, | 769 | }, |
| 730 | created() { | 770 | created() { |
| @@ -752,57 +792,100 @@ export default { | @@ -752,57 +792,100 @@ export default { | ||
| 752 | this.getList(); | 792 | this.getList(); |
| 753 | }, | 793 | }, |
| 754 | methods: { | 794 | methods: { |
| 795 | + removeAttchItem(index, img) { | ||
| 796 | + this.form.replyImg.splice(this.form.replyImg.indexOf(img), 1); | ||
| 797 | + for (let i = 0; i < this.slides1.length; i++) { | ||
| 798 | + if (this.slides1[i].alt == img) { | ||
| 799 | + this.slides1.splice(i, 1); | ||
| 800 | + } | ||
| 801 | + } | ||
| 802 | + for (let i = 0; i < this.videoSrc1.length; i++) { | ||
| 803 | + if (this.videoSrc1[i].alt == img) { | ||
| 804 | + this.videoSrc1.splice(i, 1); | ||
| 805 | + } | ||
| 806 | + } | ||
| 755 | 807 | ||
| 808 | + this.$forceUpdate(); | ||
| 809 | + }, | ||
| 756 | handleClose() { | 810 | handleClose() { |
| 757 | this.uploadImageDialog = false; | 811 | this.uploadImageDialog = false; |
| 758 | this.fileList = []; | 812 | this.fileList = []; |
| 759 | this.slidesArys = []; | 813 | this.slidesArys = []; |
| 814 | + this.slides1 = []; | ||
| 815 | + this.videoSrc1 = []; | ||
| 760 | }, | 816 | }, |
| 761 | removeImage(index, img) { | 817 | removeImage(index, img) { |
| 762 | let target = "sub_img" + this.picIndex; | 818 | let target = "sub_img" + this.picIndex; |
| 763 | - for(let i=0;i<this.slides[index].length;i++){ | ||
| 764 | - if(this.slides[index][i].alt == img){ | ||
| 765 | - this.slides[index].splice(i,1); | 819 | + for (let i = 0; i < this.slides[index].length; i++) { |
| 820 | + if (this.slides[index][i].alt == img) { | ||
| 821 | + this.slides[index].splice(i, 1); | ||
| 766 | } | 822 | } |
| 767 | } | 823 | } |
| 768 | this.form[target].splice(this.form[target].indexOf(img), 1); | 824 | this.form[target].splice(this.form[target].indexOf(img), 1); |
| 769 | }, | 825 | }, |
| 770 | uploadSuccess(res, file, fileList) { | 826 | uploadSuccess(res, file, fileList) { |
| 771 | - if(res.code){ | ||
| 772 | - this.$message(res.message); | ||
| 773 | - return; | ||
| 774 | - } | 827 | + if (res.code) { |
| 828 | + this.$message(res.message); | ||
| 829 | + return; | ||
| 830 | + } | ||
| 775 | let target = "sub_img" + this.picIndex; | 831 | let target = "sub_img" + this.picIndex; |
| 776 | if (!this.form[target]) { | 832 | if (!this.form[target]) { |
| 777 | this.form[target] = []; | 833 | this.form[target] = []; |
| 778 | } | 834 | } |
| 779 | this.form[target].push(file.name + ':' + res); | 835 | this.form[target].push(file.name + ':' + res); |
| 780 | - if(file.name.indexOf('.jpg') > -1 ||file.name.indexOf('.png') > -1){ | 836 | + if (file.name.indexOf('.jpg') > -1 || file.name.indexOf('.png') > -1) { |
| 781 | let url = URL.createObjectURL(file.raw) | 837 | let url = URL.createObjectURL(file.raw) |
| 782 | this.slidesArys.push({ | 838 | this.slidesArys.push({ |
| 783 | - url:url, | ||
| 784 | - alt:res | 839 | + url: url, |
| 840 | + alt: res | ||
| 785 | }) | 841 | }) |
| 786 | this.slides[this.picIndex] = this.slidesArys; | 842 | this.slides[this.picIndex] = this.slidesArys; |
| 787 | } | 843 | } |
| 844 | + this.$forceUpdate(); | ||
| 845 | + }, | ||
| 846 | + uploadSuccess1(res, file, fileList) { | ||
| 847 | + if (res.code) { | ||
| 848 | + this.$message(res.message); | ||
| 849 | + return; | ||
| 850 | + } | ||
| 851 | + if (!this.form.replyImg) { | ||
| 852 | + this.form.replyImg = []; | ||
| 853 | + } | ||
| 854 | + this.form.replyImg.push(res); | ||
| 855 | + if (file.name.indexOf('.jpg') > -1 || file.name.indexOf('.png') > -1 || file.name.indexOf('.gif') > -1 || file.name.indexOf('.jpeg') > -1) { | ||
| 856 | + let url = URL.createObjectURL(file.raw) | ||
| 857 | + this.slides1.push({ | ||
| 858 | + url: url, | ||
| 859 | + alt: res | ||
| 860 | + }) | ||
| 861 | + } | ||
| 862 | + if (file.name.indexOf('.avi') > -1 || file.name.indexOf('.mp4') > -1) { | ||
| 863 | + let url = URL.createObjectURL(file.raw) | ||
| 864 | + this.videoSrc1.push({ | ||
| 865 | + url: url, | ||
| 866 | + alt: res | ||
| 867 | + }); | ||
| 868 | + } | ||
| 869 | + this.$forceUpdate(); | ||
| 788 | }, | 870 | }, |
| 789 | showFileUpload(i) { | 871 | showFileUpload(i) { |
| 790 | this.uploadImageDialog = true; | 872 | this.uploadImageDialog = true; |
| 791 | this.picIndex = i; | 873 | this.picIndex = i; |
| 792 | }, | 874 | }, |
| 793 | beforeUpload(file) { | 875 | beforeUpload(file) { |
| 794 | - let isRightSize = file.size / 1024 / 1024 < 20 | 876 | + let isRightSize = file.size / 1024 / 1024 < 100 |
| 795 | if (!isRightSize) { | 877 | if (!isRightSize) { |
| 796 | - this.$message.error('文件大小超过 20MB') | 878 | + this.$message.error('文件大小超过 100MB') |
| 797 | return isRightSize; | 879 | return isRightSize; |
| 798 | } | 880 | } |
| 799 | let isAccept = false; | 881 | let isAccept = false; |
| 800 | if (file.name.indexOf('.png') > -1 || file.name.indexOf('.docx') > -1 || file.name.indexOf(".jpg") > -1 || file.name.indexOf('.doc') > -1 || file | 882 | if (file.name.indexOf('.png') > -1 || file.name.indexOf('.docx') > -1 || file.name.indexOf(".jpg") > -1 || file.name.indexOf('.doc') > -1 || file |
| 801 | - .name.indexOf('.pdf') > -1 || file.name.indexOf('.png') > -1) { | 883 | + .name.indexOf('.pdf') > -1 || file.name.indexOf('.png') > -1 || file.name.indexOf('.jpeg') > -1 || file.name.indexOf('.gif') > -1 |
| 884 | + || file.name.indexOf('.avi') > -1 || file.name.indexOf('.mp4') > -1) { | ||
| 802 | isAccept = true; | 885 | isAccept = true; |
| 803 | } | 886 | } |
| 804 | if (!isAccept) { | 887 | if (!isAccept) { |
| 805 | - this.$message.error('应该选择PDF、JPG、PNG、WORD类型的文件') | 888 | + this.$message.error('应该选择PDF、AVI、MP4、WORD、图片类型的文件') |
| 806 | return isAccept; | 889 | return isAccept; |
| 807 | } | 890 | } |
| 808 | }, | 891 | }, |
| @@ -819,23 +902,25 @@ export default { | @@ -819,23 +902,25 @@ export default { | ||
| 819 | 902 | ||
| 820 | // 取消按钮 | 903 | // 取消按钮 |
| 821 | cancel() { | 904 | cancel() { |
| 822 | - this.earthsites=false; | ||
| 823 | - this.contract=false; | ||
| 824 | - this.logisticsInfoOpen=false; | ||
| 825 | - this.handleAffairsInfoOpen=false; | ||
| 826 | - this.caseOffline=false; | ||
| 827 | - this.violationCaseFile=false; | ||
| 828 | - this.violationCaseFile1=false; | ||
| 829 | - this.supervisionOpen=false; | ||
| 830 | - this.open=false; | ||
| 831 | - this.open2=false; | ||
| 832 | - this.conferenceOpen=false; | ||
| 833 | - this.construct=false; | ||
| 834 | - this.leaveApplicationOpen=false; | ||
| 835 | - | ||
| 836 | - this.company=false; | ||
| 837 | - this.driver=false; | ||
| 838 | - this.vehicle=false; | 905 | + this.earthsites = false; |
| 906 | + this.contract = false; | ||
| 907 | + this.logisticsInfoOpen = false; | ||
| 908 | + this.handleAffairsInfoOpen = false; | ||
| 909 | + this.caseOffline = false; | ||
| 910 | + this.violationCaseFile = false; | ||
| 911 | + this.violationCaseFile1 = false; | ||
| 912 | + this.supervisionOpen = false; | ||
| 913 | + this.open = false; | ||
| 914 | + this.open2 = false; | ||
| 915 | + this.conferenceOpen = false; | ||
| 916 | + this.construct = false; | ||
| 917 | + this.leaveApplicationOpen = false; | ||
| 918 | + | ||
| 919 | + this.company = false; | ||
| 920 | + this.driver = false; | ||
| 921 | + this.vehicle = false; | ||
| 922 | + this.videoSrc1 = []; | ||
| 923 | + this.slides1 = []; | ||
| 839 | this.reset(); | 924 | this.reset(); |
| 840 | }, | 925 | }, |
| 841 | // 表单重置 | 926 | // 表单重置 |
| @@ -854,7 +939,7 @@ export default { | @@ -854,7 +939,7 @@ export default { | ||
| 854 | this.id = row.id; | 939 | this.id = row.id; |
| 855 | this.taskName = row.name; | 940 | this.taskName = row.name; |
| 856 | historyFromData(this.businessKey).then(response => { | 941 | historyFromData(this.businessKey).then(response => { |
| 857 | - this.hisfromData = response.data | 942 | + this.hisfromData = response.data |
| 858 | }) | 943 | }) |
| 859 | 944 | ||
| 860 | formDataShow(row.id).then(response => { | 945 | formDataShow(row.id).then(response => { |
| @@ -923,33 +1008,37 @@ export default { | @@ -923,33 +1008,37 @@ export default { | ||
| 923 | this.logisticsInfoOpen = true; | 1008 | this.logisticsInfoOpen = true; |
| 924 | return; | 1009 | return; |
| 925 | } | 1010 | } |
| 926 | - if (this.definitionKey == "handleAffairs" || this.definitionKey == "gongwenchuli" || this.definitionKey == "yuelan" || this.definitionKey=="yuelanxuexi") { | 1011 | + if (this.definitionKey == "handleAffairs" || this.definitionKey == "gongwenchuli" || this.definitionKey == "yuelan" || this.definitionKey == "yuelanxuexi") { |
| 927 | this.controlId = this.form.formData[0].controlId; | 1012 | this.controlId = this.form.formData[0].controlId; |
| 928 | this.idInfo = row.businessKey.split(":")[1]; | 1013 | this.idInfo = row.businessKey.split(":")[1]; |
| 929 | this.handleAffairsInfoOpen = true; | 1014 | this.handleAffairsInfoOpen = true; |
| 930 | return; | 1015 | return; |
| 931 | } | 1016 | } |
| 932 | - if(this.definitionKey == "workflow_caseoffline"){ | 1017 | + if (this.definitionKey == "workflow_caseoffline") { |
| 933 | this.caseOffline = true; | 1018 | this.caseOffline = true; |
| 934 | return; | 1019 | return; |
| 935 | } | 1020 | } |
| 936 | 1021 | ||
| 937 | - if(this.definitionKey == "workflow_casefile"){ | 1022 | + if (this.definitionKey == "workflow_casefile") { |
| 938 | this.violationCaseFile = true; | 1023 | this.violationCaseFile = true; |
| 1024 | + this.videoSrc1 = []; | ||
| 1025 | + this.slides1 = []; | ||
| 939 | return; | 1026 | return; |
| 940 | } | 1027 | } |
| 941 | 1028 | ||
| 942 | - if(this.definitionKey == "violation_warning"){ | 1029 | + if (this.definitionKey == "violation_warning") { |
| 943 | this.violationCaseFile1 = true; | 1030 | this.violationCaseFile1 = true; |
| 1031 | + this.videoSrc1 = []; | ||
| 1032 | + this.slides1 = []; | ||
| 944 | return; | 1033 | return; |
| 945 | } | 1034 | } |
| 946 | - if(this.definitionKey.indexOf("supervision")>-1){ | 1035 | + if (this.definitionKey.indexOf("supervision") > -1) { |
| 947 | console.log(row) | 1036 | console.log(row) |
| 948 | const params = { | 1037 | const params = { |
| 949 | id: row.businessKey.split(":")[1], | 1038 | id: row.businessKey.split(":")[1], |
| 950 | } | 1039 | } |
| 951 | - getSupervision(params).then(res=>{ | ||
| 952 | - if(res.result==null){ | 1040 | + getSupervision(params).then(res => { |
| 1041 | + if (res.result == null) { | ||
| 953 | this.$message.error("获取纪检督察详情失败!请重试") | 1042 | this.$message.error("获取纪检督察详情失败!请重试") |
| 954 | return; | 1043 | return; |
| 955 | } | 1044 | } |
| @@ -958,15 +1047,15 @@ export default { | @@ -958,15 +1047,15 @@ export default { | ||
| 958 | }) | 1047 | }) |
| 959 | return; | 1048 | return; |
| 960 | } | 1049 | } |
| 961 | - if(this.definitionKey == "workflow_company"){ | 1050 | + if (this.definitionKey == "workflow_company") { |
| 962 | this.company = true; | 1051 | this.company = true; |
| 963 | return; | 1052 | return; |
| 964 | } | 1053 | } |
| 965 | - if(this.definitionKey == "workflow_vehicle"){ | 1054 | + if (this.definitionKey == "workflow_vehicle") { |
| 966 | this.vehicle = true; | 1055 | this.vehicle = true; |
| 967 | return; | 1056 | return; |
| 968 | } | 1057 | } |
| 969 | - if(this.definitionKey == "workflow_driver"){ | 1058 | + if (this.definitionKey == "workflow_driver") { |
| 970 | this.driver = true; | 1059 | this.driver = true; |
| 971 | return; | 1060 | return; |
| 972 | } | 1061 | } |
| @@ -1010,12 +1099,12 @@ export default { | @@ -1010,12 +1099,12 @@ export default { | ||
| 1010 | }); | 1099 | }); |
| 1011 | }); | 1100 | }); |
| 1012 | } else { | 1101 | } else { |
| 1013 | - formDataSave(this.id, this.form.formData).then(response => { | ||
| 1014 | - this.msgSuccess("审批成功"); | ||
| 1015 | - this.open2 = false; | ||
| 1016 | - this.taskList = []; | ||
| 1017 | - this.getList(); | ||
| 1018 | - }); | 1102 | + formDataSave(this.id, this.form.formData).then(response => { |
| 1103 | + this.msgSuccess("审批成功"); | ||
| 1104 | + this.open2 = false; | ||
| 1105 | + this.taskList = []; | ||
| 1106 | + this.getList(); | ||
| 1107 | + }); | ||
| 1019 | } | 1108 | } |
| 1020 | return; | 1109 | return; |
| 1021 | } | 1110 | } |
| @@ -1075,6 +1164,24 @@ export default { | @@ -1075,6 +1164,24 @@ export default { | ||
| 1075 | }); | 1164 | }); |
| 1076 | } | 1165 | } |
| 1077 | if (this.definitionKey == "workflow_caseoffline") { | 1166 | if (this.definitionKey == "workflow_caseoffline") { |
| 1167 | + | ||
| 1168 | + let postData = {}; | ||
| 1169 | + | ||
| 1170 | + postData.tableName = this.businessKey; | ||
| 1171 | + postData.replyImg = this.form.replyImg + ""; | ||
| 1172 | + postData.reply = this.form.reply; | ||
| 1173 | + if(postData.reply==null || postData.reply==""){ | ||
| 1174 | + if(value==0){ | ||
| 1175 | + postData.reply = "通过"; | ||
| 1176 | + }else{ | ||
| 1177 | + postData.reply = "驳回"; | ||
| 1178 | + } | ||
| 1179 | + } | ||
| 1180 | + | ||
| 1181 | + addReplyApprovalProcess(postData).then(res => { | ||
| 1182 | + this.videoSrc1 = []; | ||
| 1183 | + this.slides1 = []; | ||
| 1184 | + }); | ||
| 1078 | let id = this.businessKey.split(":")[1]; | 1185 | let id = this.businessKey.split(":")[1]; |
| 1079 | let query = { | 1186 | let query = { |
| 1080 | id: id, | 1187 | id: id, |
| @@ -1107,112 +1214,78 @@ export default { | @@ -1107,112 +1214,78 @@ export default { | ||
| 1107 | this.getList(); | 1214 | this.getList(); |
| 1108 | }); | 1215 | }); |
| 1109 | }) | 1216 | }) |
| 1110 | - | ||
| 1111 | - | ||
| 1112 | return; | 1217 | return; |
| 1113 | } | 1218 | } |
| 1114 | 1219 | ||
| 1115 | - | ||
| 1116 | - if (this.definitionKey == "workflow_caseoffline") { | ||
| 1117 | - let id = this.businessKey.split(":")[1]; | ||
| 1118 | - let query = { | ||
| 1119 | - id: id, | ||
| 1120 | - }; | ||
| 1121 | - let adv = this.form.advice; | ||
| 1122 | - if (!adv) { | ||
| 1123 | - if (value == 0) { | ||
| 1124 | - adv = "审批通过"; | ||
| 1125 | - } else { | ||
| 1126 | - adv = "审批驳回"; | 1220 | + if (this.definitionKey == "workflow_casefile") { |
| 1221 | + let postData = {}; | ||
| 1222 | + | ||
| 1223 | + postData.tableName = this.businessKey; | ||
| 1224 | + postData.replyImg = this.form.replyImg + ""; | ||
| 1225 | + postData.reply = this.form.reply; | ||
| 1226 | + if(postData.reply==null || postData.reply==""){ | ||
| 1227 | + if(value==0){ | ||
| 1228 | + postData.reply = "通过"; | ||
| 1229 | + }else{ | ||
| 1230 | + postData.reply = "驳回"; | ||
| 1127 | } | 1231 | } |
| 1128 | } | 1232 | } |
| 1129 | - if (this.taskName == "渣土办科员") { | ||
| 1130 | - query.advice1 = adv; | ||
| 1131 | - } else if (this.taskName == "渣土办分管领导") { | ||
| 1132 | - query.advice2 = adv; | ||
| 1133 | - } else if (this.taskName == "治理部部长") { | ||
| 1134 | - query.advice3 = adv; | ||
| 1135 | - } else if (this.taskName == "治理部分管领导") { | ||
| 1136 | - query.advice4 = adv; | ||
| 1137 | - } | ||
| 1138 | - updateCaseOffline(query).then(res => { | ||
| 1139 | - formDataSave(this.id, this.form.formData).then(response => { | ||
| 1140 | - this.msgSuccess("审批成功"); | ||
| 1141 | - this.caseOffline = false; | ||
| 1142 | - this.getList(); | ||
| 1143 | - }); | ||
| 1144 | - }) | ||
| 1145 | - return; | ||
| 1146 | - } | ||
| 1147 | - if (this.definitionKey == "workflow_casefile") { | ||
| 1148 | - | ||
| 1149 | if (this.taskName == "车辆所属企业" || this.taskName == "渣土办科员") { | 1233 | if (this.taskName == "车辆所属企业" || this.taskName == "渣土办科员") { |
| 1150 | console.log(this.businessKey); | 1234 | console.log(this.businessKey); |
| 1151 | let objId = this.businessKey.split(":")[1]; | 1235 | let objId = this.businessKey.split(":")[1]; |
| 1152 | updateViolationCaseFileReader({id: objId}).then(res => { | 1236 | updateViolationCaseFileReader({id: objId}).then(res => { |
| 1153 | - formDataSave(this.id, this.form.formData).then(response => { | ||
| 1154 | - this.msgSuccess("审批成功"); | ||
| 1155 | - this.violationCaseFile = false; | ||
| 1156 | - this.getList(); | ||
| 1157 | - }); | ||
| 1158 | }) | 1237 | }) |
| 1159 | - return; | ||
| 1160 | - } else { | ||
| 1161 | - let postData = {}; | ||
| 1162 | - | ||
| 1163 | - postData.tableName = this.businessKey; | ||
| 1164 | - postData.replyImg = this.form.replyImg; | ||
| 1165 | - postData.reply = this.form.reply; | ||
| 1166 | - addReplyApprovalProcess(postData).then(res => { | ||
| 1167 | - formDataSave(this.id, this.form.formData).then(response => { | ||
| 1168 | - this.msgSuccess("审批成功"); | ||
| 1169 | - this.violationCaseFile = false; | ||
| 1170 | - this.getList(); | ||
| 1171 | - }); | ||
| 1172 | - }); | ||
| 1173 | - | ||
| 1174 | - | ||
| 1175 | } | 1238 | } |
| 1239 | + addReplyApprovalProcess(postData).then(res => { | ||
| 1240 | + this.videoSrc1 = []; | ||
| 1241 | + this.slides1 = []; | ||
| 1242 | + formDataSave(this.id, this.form.formData).then(response => { | ||
| 1243 | + this.msgSuccess("审批成功"); | ||
| 1244 | + this.violationCaseFile = false; | ||
| 1245 | + this.getList(); | ||
| 1246 | + }); | ||
| 1247 | + }); | ||
| 1176 | } | 1248 | } |
| 1177 | if (this.definitionKey == "violation_warning") { | 1249 | if (this.definitionKey == "violation_warning") { |
| 1250 | + let postData = {}; | ||
| 1251 | + postData.tableName = this.businessKey; | ||
| 1252 | + postData.replyImg = this.form.replyImg + ""; | ||
| 1253 | + postData.reply = this.form.reply; | ||
| 1254 | + if(postData.reply==null || postData.reply==""){ | ||
| 1255 | + if(value==0){ | ||
| 1256 | + postData.reply = "通过"; | ||
| 1257 | + }else{ | ||
| 1258 | + postData.reply = "驳回"; | ||
| 1259 | + } | ||
| 1260 | + } | ||
| 1261 | + | ||
| 1262 | + | ||
| 1178 | if (this.taskName == "车辆所属企业" || this.taskName == "渣土办科员") { | 1263 | if (this.taskName == "车辆所属企业" || this.taskName == "渣土办科员") { |
| 1179 | - console.log(this.businessKey); | ||
| 1180 | let objId = this.businessKey.split(":")[1]; | 1264 | let objId = this.businessKey.split(":")[1]; |
| 1181 | updateViolationCaseFileReader1({id: objId}).then(res => { | 1265 | updateViolationCaseFileReader1({id: objId}).then(res => { |
| 1182 | - formDataSave(this.id, this.form.formData).then(response => { | ||
| 1183 | - this.msgSuccess("审批成功"); | ||
| 1184 | - this.violationCaseFile1 = false; | ||
| 1185 | - this.getList(); | ||
| 1186 | - }); | ||
| 1187 | }) | 1266 | }) |
| 1188 | - return; | ||
| 1189 | - } else { | ||
| 1190 | - let postData = {}; | ||
| 1191 | - postData.tableName = this.businessKey; | ||
| 1192 | - postData.replyImg = this.form.replyImg; | ||
| 1193 | - postData.reply = this.form.reply; | ||
| 1194 | - addReplyApprovalProcess(postData).then(res => { | ||
| 1195 | - formDataSave(this.id, this.form.formData).then(response => { | ||
| 1196 | - this.msgSuccess("审批成功"); | ||
| 1197 | - this.violationCaseFile1 = false; | ||
| 1198 | - this.getList(); | ||
| 1199 | - }); | ||
| 1200 | - }); | ||
| 1201 | - | ||
| 1202 | - | ||
| 1203 | } | 1267 | } |
| 1268 | + addReplyApprovalProcess(postData).then(res => { | ||
| 1269 | + this.videoSrc1 = []; | ||
| 1270 | + this.slides1 = []; | ||
| 1271 | + formDataSave(this.id, this.form.formData).then(response => { | ||
| 1272 | + this.msgSuccess("审批成功"); | ||
| 1273 | + this.violationCaseFile1 = false; | ||
| 1274 | + this.getList(); | ||
| 1275 | + }); | ||
| 1276 | + }); | ||
| 1204 | } | 1277 | } |
| 1205 | 1278 | ||
| 1206 | - if(this.definitionKey.indexOf("supervision")>-1){ | 1279 | + if (this.definitionKey.indexOf("supervision") > -1) { |
| 1207 | formDataSave(this.id, this.form.formData).then(response => { | 1280 | formDataSave(this.id, this.form.formData).then(response => { |
| 1208 | this.msgSuccess("审批成功"); | 1281 | this.msgSuccess("审批成功"); |
| 1209 | this.supervisionOpen = false; | 1282 | this.supervisionOpen = false; |
| 1210 | this.getList(); | 1283 | this.getList(); |
| 1211 | }); | 1284 | }); |
| 1212 | } | 1285 | } |
| 1213 | - if(this.definitionKey == "workflow_company" || | ||
| 1214 | - this.definitionKey == "workflow_driver" || | ||
| 1215 | - this.definitionKey == "workflow_vehicle" ){ | 1286 | + if (this.definitionKey == "workflow_company" || |
| 1287 | + this.definitionKey == "workflow_driver" || | ||
| 1288 | + this.definitionKey == "workflow_vehicle") { | ||
| 1216 | formDataSave(this.id, this.form.formData).then(response => { | 1289 | formDataSave(this.id, this.form.formData).then(response => { |
| 1217 | this.msgSuccess("审批成功"); | 1290 | this.msgSuccess("审批成功"); |
| 1218 | this.cancel(); | 1291 | this.cancel(); |
| @@ -1275,19 +1348,19 @@ export default { | @@ -1275,19 +1348,19 @@ export default { | ||
| 1275 | } | 1348 | } |
| 1276 | this.form.formData[0].controlValue = value; | 1349 | this.form.formData[0].controlValue = value; |
| 1277 | if (this.definitionKey == "yuelan") { | 1350 | if (this.definitionKey == "yuelan") { |
| 1278 | - if(this.deptName==null){ | 1351 | + if (this.deptName == null) { |
| 1279 | this.$message.error("请选择阅览部门!"); | 1352 | this.$message.error("请选择阅览部门!"); |
| 1280 | return; | 1353 | return; |
| 1281 | } | 1354 | } |
| 1282 | - if(this.users.length==0){ | 1355 | + if (this.users.length == 0) { |
| 1283 | this.$message.error("请选择阅览人!"); | 1356 | this.$message.error("请选择阅览人!"); |
| 1284 | return; | 1357 | return; |
| 1285 | } | 1358 | } |
| 1286 | const userNames = []; | 1359 | const userNames = []; |
| 1287 | - const newArr = this.ArrSet(this.userNodes,"id"); | 1360 | + const newArr = this.ArrSet(this.userNodes, "id"); |
| 1288 | for (let i = 0; i < newArr.length; i++) { | 1361 | for (let i = 0; i < newArr.length; i++) { |
| 1289 | for (let j = 0; j < this.users.length; j++) { | 1362 | for (let j = 0; j < this.users.length; j++) { |
| 1290 | - if(newArr[i].id==this.users[j]){ | 1363 | + if (newArr[i].id == this.users[j]) { |
| 1291 | userNames.push(newArr[i].label); | 1364 | userNames.push(newArr[i].label); |
| 1292 | } | 1365 | } |
| 1293 | } | 1366 | } |
| @@ -1409,7 +1482,7 @@ export default { | @@ -1409,7 +1482,7 @@ export default { | ||
| 1409 | }); | 1482 | }); |
| 1410 | }); | 1483 | }); |
| 1411 | }, | 1484 | }, |
| 1412 | - handleSelect(node){ | 1485 | + handleSelect(node) { |
| 1413 | this.userNodes.push(node); | 1486 | this.userNodes.push(node); |
| 1414 | }, | 1487 | }, |
| 1415 | ArrSet(Arr, id) { | 1488 | ArrSet(Arr, id) { |
trash-ui/src/views/business/supervisionSpecial/index.vue
| @@ -2,18 +2,18 @@ | @@ -2,18 +2,18 @@ | ||
| 2 | <div class="app-container"> | 2 | <div class="app-container"> |
| 3 | <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px"> | 3 | <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px"> |
| 4 | <el-form-item label="类型" prop="type"> | 4 | <el-form-item label="类型" prop="type"> |
| 5 | - <el-select v-model="queryParams.type" placeholder="请选择类型" size="small"> | ||
| 6 | - <el-option label="工地" value="0" /> | ||
| 7 | - <el-option label="处理场所" value="1" /> | 5 | + <el-select v-model="queryParams.type" placeholder="请选择类型" size="small"> |
| 6 | + <el-option label="工地" value="0"/> | ||
| 7 | + <el-option label="处理场所" value="1"/> | ||
| 8 | </el-select> | 8 | </el-select> |
| 9 | </el-form-item> | 9 | </el-form-item> |
| 10 | <el-form-item label="项目名称" prop="title"> | 10 | <el-form-item label="项目名称" prop="title"> |
| 11 | - <el-input v-model="queryParams.title" placeholder="请输入项目名称" size="small" | ||
| 12 | - /> | 11 | + <el-input v-model="queryParams.title" placeholder="请输入项目名称" size="small" |
| 12 | + /> | ||
| 13 | </el-form-item> | 13 | </el-form-item> |
| 14 | <el-form-item label="所属区域" prop="place"> | 14 | <el-form-item label="所属区域" prop="place"> |
| 15 | - <el-select v-model="queryParams.place" placeholder="请选择类型" size="small"> | ||
| 16 | - <el-option v-for="item in areas" :label="item.name" :value="item.name" /> | 15 | + <el-select v-model="queryParams.place" placeholder="请选择类型" size="small"> |
| 16 | + <el-option v-for="item in areas" :label="item.name" :value="item.name"/> | ||
| 17 | </el-select> | 17 | </el-select> |
| 18 | </el-form-item> | 18 | </el-form-item> |
| 19 | <el-form-item> | 19 | <el-form-item> |
| @@ -25,59 +25,63 @@ | @@ -25,59 +25,63 @@ | ||
| 25 | <el-row :gutter="10" class="mb8"> | 25 | <el-row :gutter="10" class="mb8"> |
| 26 | <el-col :span="1.5"> | 26 | <el-col :span="1.5"> |
| 27 | <el-button type="primary" icon="el-icon-plus" size="mini" @click="handleAdd" | 27 | <el-button type="primary" icon="el-icon-plus" size="mini" @click="handleAdd" |
| 28 | - v-hasPermi="['SupervisionSpecial:SupervisionSpecial:add']">新增</el-button> | 28 | + v-hasPermi="['SupervisionSpecial:SupervisionSpecial:add']">新增 |
| 29 | + </el-button> | ||
| 29 | </el-col> | 30 | </el-col> |
| 30 | <el-col :span="1.5"> | 31 | <el-col :span="1.5"> |
| 31 | <el-button type="warning" icon="el-icon-download" size="mini" @click="handleExport" | 32 | <el-button type="warning" icon="el-icon-download" size="mini" @click="handleExport" |
| 32 | - v-hasPermi="['SupervisionSpecial:SupervisionSpecial:export']">导出</el-button> | 33 | + v-hasPermi="['SupervisionSpecial:SupervisionSpecial:export']">导出 |
| 34 | + </el-button> | ||
| 33 | </el-col> | 35 | </el-col> |
| 34 | <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> | 36 | <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> |
| 35 | </el-row> | 37 | </el-row> |
| 36 | 38 | ||
| 37 | <el-table v-loading="loading" :data="SupervisionSpecialList" @selection-change="handleSelectionChange"> | 39 | <el-table v-loading="loading" :data="SupervisionSpecialList" @selection-change="handleSelectionChange"> |
| 38 | - <el-table-column type="selection" width="55" align="center" /> | ||
| 39 | - <el-table-column label="序号" align="center" type="index" /> | ||
| 40 | - <el-table-column label="所属区域" align="center" prop="place" /> | 40 | + <el-table-column type="selection" width="55" align="center"/> |
| 41 | + <el-table-column label="序号" align="center" type="index"/> | ||
| 42 | + <el-table-column label="所属区域" align="center" prop="place"/> | ||
| 41 | <el-table-column label="填报日期" align="center" prop="createTime" width="180"> | 43 | <el-table-column label="填报日期" align="center" prop="createTime" width="180"> |
| 42 | <template slot-scope="scope"> | 44 | <template slot-scope="scope"> |
| 43 | <span>{{ parseTime(scope.row.createTime, '{y}-{m}-{d}') }}</span> | 45 | <span>{{ parseTime(scope.row.createTime, '{y}-{m}-{d}') }}</span> |
| 44 | </template> | 46 | </template> |
| 45 | </el-table-column> | 47 | </el-table-column> |
| 46 | - <el-table-column label="项目名称" align="center" prop="title" /> | ||
| 47 | - <el-table-column label="督查内容" align="center" prop="content" /> | ||
| 48 | - <el-table-column label="督查人" align="center" prop="person" /> | 48 | + <el-table-column label="项目名称" align="center" prop="title"/> |
| 49 | + <el-table-column label="督查内容" align="center" prop="content"/> | ||
| 50 | + <el-table-column label="督查人" align="center" prop="person"/> | ||
| 49 | 51 | ||
| 50 | <el-table-column label="操作" align="center" class-name="small-padding fixed-width"> | 52 | <el-table-column label="操作" align="center" class-name="small-padding fixed-width"> |
| 51 | <template slot-scope="scope"> | 53 | <template slot-scope="scope"> |
| 52 | <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)" | 54 | <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)" |
| 53 | - v-hasPermi="['SupervisionSpecial:SupervisionSpecial:edit']">查看详情</el-button> | 55 | + v-hasPermi="['SupervisionSpecial:SupervisionSpecial:edit']">查看详情 |
| 56 | + </el-button> | ||
| 54 | </template> | 57 | </template> |
| 55 | </el-table-column> | 58 | </el-table-column> |
| 56 | </el-table> | 59 | </el-table> |
| 57 | 60 | ||
| 58 | <pagination v-show="total>0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" | 61 | <pagination v-show="total>0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" |
| 59 | - @pagination="getList" /> | 62 | + @pagination="getList"/> |
| 60 | 63 | ||
| 61 | <!-- 添加或修改专项督察对话框 --> | 64 | <!-- 添加或修改专项督察对话框 --> |
| 62 | <el-dialog :title="title" :visible.sync="open" width="800px" append-to-body> | 65 | <el-dialog :title="title" :visible.sync="open" width="800px" append-to-body> |
| 63 | <el-form ref="form" :model="form" :rules="rules" label-width="80px"> | 66 | <el-form ref="form" :model="form" :rules="rules" label-width="80px"> |
| 64 | <el-form-item label="类型" prop="type"> | 67 | <el-form-item label="类型" prop="type"> |
| 65 | <el-select v-model="form.type" placeholder="请选择类型" @change="form.title=null;"> | 68 | <el-select v-model="form.type" placeholder="请选择类型" @change="form.title=null;"> |
| 66 | - <el-option label="工地" value="0" /> | ||
| 67 | - <el-option label="处理场所" value="1" /> | 69 | + <el-option label="工地" value="0"/> |
| 70 | + <el-option label="处理场所" value="1"/> | ||
| 68 | </el-select> | 71 | </el-select> |
| 69 | </el-form-item> | 72 | </el-form-item> |
| 70 | <el-row> | 73 | <el-row> |
| 71 | <el-col :span="12"> | 74 | <el-col :span="12"> |
| 72 | <el-form-item label="项目名称" prop="title"> | 75 | <el-form-item label="项目名称" prop="title"> |
| 73 | - <el-select v-model="form.title" placeholder="项目名称" > | ||
| 74 | - <el-option v-for="item in data[form.type]" :label="item.name" :value="item.name" @click.native="selectName(item)"/> | 76 | + <el-select v-model="form.title" placeholder="项目名称"> |
| 77 | + <el-option v-for="item in data[form.type]" :label="item.name" :value="item.name" | ||
| 78 | + @click.native="selectName(item)"/> | ||
| 75 | </el-select> | 79 | </el-select> |
| 76 | </el-form-item> | 80 | </el-form-item> |
| 77 | </el-col> | 81 | </el-col> |
| 78 | <el-col :span="12"> | 82 | <el-col :span="12"> |
| 79 | <el-form-item label="督查人" prop="person"> | 83 | <el-form-item label="督查人" prop="person"> |
| 80 | - <el-input v-model="form.person" placeholder="请输入督查人" /> | 84 | + <el-input v-model="form.person" placeholder="请输入督查人"/> |
| 81 | </el-form-item> | 85 | </el-form-item> |
| 82 | </el-col> | 86 | </el-col> |
| 83 | 87 | ||
| @@ -85,220 +89,352 @@ | @@ -85,220 +89,352 @@ | ||
| 85 | <el-form-item label="督查内容"> | 89 | <el-form-item label="督查内容"> |
| 86 | <el-input type="textarea" v-model="form.content" placeholder="督查内容" :rows="8"/> | 90 | <el-input type="textarea" v-model="form.content" placeholder="督查内容" :rows="8"/> |
| 87 | </el-form-item> | 91 | </el-form-item> |
| 92 | + <el-form-item label="附件" prop="attach" v-if="form.id==null"> | ||
| 93 | + <a style="color:blue;font-size: 12px;" @click="uploadImageDialog=true;">选择附件</a> | ||
| 94 | + <br/> | ||
| 95 | + <el-image v-for="item in slides" | ||
| 96 | + style="width: 150px; height: 100px; margin: 5px;" | ||
| 97 | + :src="item.url" | ||
| 98 | + :preview-src-list="[item.url]" | ||
| 99 | + :z-index="2000"> | ||
| 100 | + </el-image> | ||
| 101 | + <div style="display: inline-block;margin: 5px;position: relative; width: 150px;height: 100px;overflow:hidden;" v-for="item in videoSrc" > | ||
| 102 | + <video width="100%" controls="controls" height="100%" :src="item.url"></video> | ||
| 103 | + </div> | ||
| 104 | + <el-input v-model="form.attach" type="hidden"></el-input> | ||
| 105 | + <div style="color: blue;" v-for="(img,index) in form.attach">{{ img.split("/")[img.split("/").length - 1] }}<a | ||
| 106 | + @click="removeAttchItem(index,img)" style="color:red;">X</a></div> | ||
| 107 | + </el-form-item> | ||
| 108 | + <el-form-item label="附件" prop="attach" v-if="form.id!=null"> | ||
| 109 | + <el-image v-for="(item,index) in form.attach" | ||
| 110 | + v-if="item.indexOf('.png') != -1||item.indexOf('.jpg') != -1" | ||
| 111 | + style="width: 150px; height: 100px; margin: 5px;" | ||
| 112 | + :src="showSlides(item)" | ||
| 113 | + :preview-src-list="[showSlides(item)]" | ||
| 114 | + :z-index="2000"> | ||
| 115 | + </el-image> | ||
| 116 | + <div style="display: inline-block;margin: 5px;position: relative; width: 150px;height: 100px;overflow:hidden;" v-for="(item,index) in form.attach" v-if="item.indexOf('.avi') != -1||item.indexOf('.mp4') != -1"> | ||
| 117 | + <video width="100%" controls="controls" height="100%" :src="showVideo(item)"></video> | ||
| 118 | + </div> | ||
| 119 | + <el-input v-model="form.attach" type="hidden"></el-input> | ||
| 120 | + <a @click="downloadFile(img);" style="color: blue;" v-for="(img,index) in form.attach"> {{ img.split("/")[img.split("/").length - 1] }} </a> | ||
| 121 | + </el-form-item> | ||
| 88 | </el-form> | 122 | </el-form> |
| 89 | <div slot="footer" class="dialog-footer"> | 123 | <div slot="footer" class="dialog-footer"> |
| 90 | <el-button type="primary" @click="submitForm">确 定</el-button> | 124 | <el-button type="primary" @click="submitForm">确 定</el-button> |
| 91 | <el-button @click="cancel">取 消</el-button> | 125 | <el-button @click="cancel">取 消</el-button> |
| 92 | </div> | 126 | </div> |
| 93 | </el-dialog> | 127 | </el-dialog> |
| 128 | + <el-dialog title="附件" :visible.sync="uploadImageDialog" append-to-body :beforeClose="handleClose"> | ||
| 129 | + <el-upload multiple :headers="upload.headers" :action="upload.url" :file-list="fileList" | ||
| 130 | + accept=".docx,.doc,.pdf,.png,.jpeg,.png,.jpg,.mp4,.avi" | ||
| 131 | + :on-success="uploadSuccess" :before-upload="beforeUpload"> | ||
| 132 | + <el-button size="small" type="primary">选择附件</el-button> | ||
| 133 | + <div slot="tip" class="el-upload__tip">只能上传不超过 100MB 的jpg、png、pdf、word、avi、mp4文件</div> | ||
| 134 | + </el-upload> | ||
| 135 | + <div style="height: 40px;width:100%;"> | ||
| 136 | + <el-button type="primary" style="margin-top: 20px;float:right;" @click="handleClose">关闭</el-button> | ||
| 137 | + </div> | ||
| 138 | + </el-dialog> | ||
| 94 | </div> | 139 | </div> |
| 95 | </template> | 140 | </template> |
| 96 | 141 | ||
| 97 | <script> | 142 | <script> |
| 98 | - import { | ||
| 99 | - listSupervisionSpecial, | ||
| 100 | - getSupervisionSpecial, | ||
| 101 | - delSupervisionSpecial, | ||
| 102 | - addSupervisionSpecial, | ||
| 103 | - updateSupervisionSpecial, | ||
| 104 | - exportSupervisionSpecial | ||
| 105 | - } | ||
| 106 | - from "@/api/business/supervisionSpecial"; | 143 | +import { |
| 144 | + addSupervisionSpecial, | ||
| 145 | + delSupervisionSpecial, | ||
| 146 | + exportSupervisionSpecial, | ||
| 147 | + getSupervisionSpecial, | ||
| 148 | + listSupervisionSpecial, | ||
| 149 | + updateSupervisionSpecial | ||
| 150 | +} from "@/api/business/supervisionSpecial"; | ||
| 107 | 151 | ||
| 108 | - import Editor from '@/components/Editor'; | 152 | +import Editor from '@/components/Editor'; |
| 109 | 153 | ||
| 110 | - import { | ||
| 111 | - earthsitesList, | ||
| 112 | - constructionsitesList, | ||
| 113 | - getArea, | ||
| 114 | - } from "@/api/dict"; | 154 | +import {constructionsitesList, earthsitesList, getArea,} from "@/api/dict"; |
| 155 | +import {getToken} from "@/utils/auth"; | ||
| 115 | 156 | ||
| 116 | - export default { | ||
| 117 | - name: "SupervisionSpecial", | ||
| 118 | - components: { | ||
| 119 | - Editor | ||
| 120 | - }, | ||
| 121 | - data() { | ||
| 122 | - return { | ||
| 123 | - // 遮罩层 | ||
| 124 | - loading: true, | ||
| 125 | - // 选中数组 | ||
| 126 | - ids: [], | ||
| 127 | - // 非单个禁用 | ||
| 128 | - single: true, | ||
| 129 | - // 非多个禁用 | ||
| 130 | - multiple: true, | ||
| 131 | - // 显示搜索条件 | ||
| 132 | - showSearch: true, | ||
| 133 | - // 总条数 | ||
| 134 | - total: 0, | ||
| 135 | - // 专项督察表格数据 | ||
| 136 | - SupervisionSpecialList: [], | ||
| 137 | - // 弹出层标题 | ||
| 138 | - title: "", | ||
| 139 | - // 是否显示弹出层 | 157 | +export default { |
| 158 | + name: "SupervisionSpecial", | ||
| 159 | + components: { | ||
| 160 | + Editor | ||
| 161 | + }, | ||
| 162 | + data() { | ||
| 163 | + return { | ||
| 164 | + // 遮罩层 | ||
| 165 | + loading: true, | ||
| 166 | + // 选中数组 | ||
| 167 | + ids: [], | ||
| 168 | + // 非单个禁用 | ||
| 169 | + single: true, | ||
| 170 | + // 非多个禁用 | ||
| 171 | + multiple: true, | ||
| 172 | + // 显示搜索条件 | ||
| 173 | + showSearch: true, | ||
| 174 | + // 总条数 | ||
| 175 | + total: 0, | ||
| 176 | + // 专项督察表格数据 | ||
| 177 | + SupervisionSpecialList: [], | ||
| 178 | + // 弹出层标题 | ||
| 179 | + title: "", | ||
| 180 | + // 是否显示弹出层 | ||
| 181 | + open: false, | ||
| 182 | + // 查询参数 | ||
| 183 | + queryParams: { | ||
| 184 | + pageNum: 1, | ||
| 185 | + pageSize: 10, | ||
| 186 | + type: null, | ||
| 187 | + title: null, | ||
| 188 | + content: null, | ||
| 189 | + person: null, | ||
| 190 | + place: null, | ||
| 191 | + }, | ||
| 192 | + data: {}, | ||
| 193 | + areas: [], | ||
| 194 | + // 表单参数 | ||
| 195 | + form: {}, | ||
| 196 | + // 表单校验 | ||
| 197 | + rules: {}, | ||
| 198 | + upload: { | ||
| 199 | + // 是否显示弹出层(用户导入) | ||
| 140 | open: false, | 200 | open: false, |
| 141 | - // 查询参数 | ||
| 142 | - queryParams: { | ||
| 143 | - pageNum: 1, | ||
| 144 | - pageSize: 10, | ||
| 145 | - type: null, | ||
| 146 | - title: null, | ||
| 147 | - content: null, | ||
| 148 | - person: null, | ||
| 149 | - place: null, | 201 | + // 弹出层标题(用户导入) |
| 202 | + title: "", | ||
| 203 | + // 是否禁用上传 | ||
| 204 | + isUploading: false, | ||
| 205 | + // 设置上传的请求头部 | ||
| 206 | + headers: { | ||
| 207 | + Authorization: "Bearer " + getToken() | ||
| 150 | }, | 208 | }, |
| 151 | - data: {}, | ||
| 152 | - areas: [], | ||
| 153 | - // 表单参数 | ||
| 154 | - form: {}, | ||
| 155 | - // 表单校验 | ||
| 156 | - rules: {} | ||
| 157 | - }; | ||
| 158 | - }, | ||
| 159 | - created() { | ||
| 160 | - getArea().then(res => { | ||
| 161 | - this.areas = res.result; | ||
| 162 | - }); | 209 | + // 上传的地址 |
| 210 | + url: process.env.VUE_APP_BASE_API + "/business/threestep/upload", | ||
| 211 | + }, | ||
| 212 | + uploadImageDialog:false, | ||
| 213 | + fileList:[], | ||
| 214 | + slides:[], | ||
| 215 | + videoSrc:[] | ||
| 216 | + }; | ||
| 217 | + }, | ||
| 218 | + created() { | ||
| 219 | + getArea().then(res => { | ||
| 220 | + this.areas = res.result; | ||
| 221 | + }); | ||
| 163 | 222 | ||
| 164 | - let remoteQueryData = { | ||
| 165 | - "page": 1, | ||
| 166 | - "size": 9999 | ||
| 167 | - }; | 223 | + let remoteQueryData = { |
| 224 | + "page": 1, | ||
| 225 | + "size": 9999 | ||
| 226 | + }; | ||
| 168 | 227 | ||
| 169 | - constructionsitesList(remoteQueryData).then(res => { | ||
| 170 | - this.data[0] = res.result.list; | ||
| 171 | - }); | 228 | + constructionsitesList(remoteQueryData).then(res => { |
| 229 | + this.data[0] = res.result.list; | ||
| 230 | + }); | ||
| 172 | 231 | ||
| 173 | - earthsitesList(remoteQueryData).then(res => { | ||
| 174 | - this.data[1] = res.result.list; | ||
| 175 | - }); | 232 | + earthsitesList(remoteQueryData).then(res => { |
| 233 | + this.data[1] = res.result.list; | ||
| 234 | + }); | ||
| 176 | 235 | ||
| 177 | 236 | ||
| 178 | - this.getList(); | ||
| 179 | - }, | ||
| 180 | - methods: { | ||
| 181 | - selectName(item){ | 237 | + this.getList(); |
| 238 | + }, | ||
| 239 | + methods: { | ||
| 240 | + selectName(item) { | ||
| 182 | 241 | ||
| 183 | 242 | ||
| 184 | - for(var i in this.areas){ | ||
| 185 | - if(this.areas[i].code == item.areaCode){ | ||
| 186 | - this.form.place = this.areas[i].name; | ||
| 187 | - } | 243 | + for (var i in this.areas) { |
| 244 | + if (this.areas[i].code == item.areaCode) { | ||
| 245 | + this.form.place = this.areas[i].name; | ||
| 188 | } | 246 | } |
| 247 | + } | ||
| 189 | 248 | ||
| 190 | 249 | ||
| 191 | - | ||
| 192 | - }, | ||
| 193 | - /** 查询专项督察列表 */ | ||
| 194 | - getList() { | ||
| 195 | - this.loading = true; | ||
| 196 | - listSupervisionSpecial(this.queryParams).then(response => { | ||
| 197 | - this.SupervisionSpecialList = response.rows; | ||
| 198 | - this.total = response.total; | ||
| 199 | - this.loading = false; | ||
| 200 | - }); | ||
| 201 | - }, | ||
| 202 | - // 取消按钮 | ||
| 203 | - cancel() { | ||
| 204 | - this.open = false; | ||
| 205 | - this.reset(); | ||
| 206 | - }, | ||
| 207 | - // 表单重置 | ||
| 208 | - reset() { | ||
| 209 | - this.form = { | ||
| 210 | - id: null, | ||
| 211 | - type: null, | ||
| 212 | - title: null, | ||
| 213 | - content: null, | ||
| 214 | - person: null, | ||
| 215 | - place: null, | ||
| 216 | - createBy: null, | ||
| 217 | - createTime: null, | ||
| 218 | - updateTime: null, | ||
| 219 | - updateBy: null | ||
| 220 | - }; | ||
| 221 | - this.resetForm("form"); | ||
| 222 | - }, | ||
| 223 | - /** 搜索按钮操作 */ | ||
| 224 | - handleQuery() { | ||
| 225 | - this.queryParams.pageNum = 1; | ||
| 226 | - this.getList(); | ||
| 227 | - }, | ||
| 228 | - /** 重置按钮操作 */ | ||
| 229 | - resetQuery() { | ||
| 230 | - this.resetForm("queryForm"); | ||
| 231 | - this.handleQuery(); | ||
| 232 | - }, | ||
| 233 | - // 多选框选中数据 | ||
| 234 | - handleSelectionChange(selection) { | ||
| 235 | - this.ids = selection.map(item => item.id) | ||
| 236 | - this.single = selection.length !== 1 | ||
| 237 | - this.multiple = !selection.length | ||
| 238 | - }, | ||
| 239 | - /** 新增按钮操作 */ | ||
| 240 | - handleAdd() { | ||
| 241 | - this.reset(); | 250 | + }, |
| 251 | + /** 查询专项督察列表 */ | ||
| 252 | + getList() { | ||
| 253 | + this.loading = true; | ||
| 254 | + listSupervisionSpecial(this.queryParams).then(response => { | ||
| 255 | + this.SupervisionSpecialList = response.rows; | ||
| 256 | + this.total = response.total; | ||
| 257 | + this.loading = false; | ||
| 258 | + }); | ||
| 259 | + }, | ||
| 260 | + // 取消按钮 | ||
| 261 | + cancel() { | ||
| 262 | + this.open = false; | ||
| 263 | + this.uploadImageDialog = false; | ||
| 264 | + this.slides = []; | ||
| 265 | + this.videoSrc = []; | ||
| 266 | + this.reset(); | ||
| 267 | + }, | ||
| 268 | + // 表单重置 | ||
| 269 | + reset() { | ||
| 270 | + this.form = { | ||
| 271 | + id: null, | ||
| 272 | + type: null, | ||
| 273 | + title: null, | ||
| 274 | + content: null, | ||
| 275 | + person: null, | ||
| 276 | + place: null, | ||
| 277 | + createBy: null, | ||
| 278 | + createTime: null, | ||
| 279 | + updateTime: null, | ||
| 280 | + updateBy: null | ||
| 281 | + }; | ||
| 282 | + this.resetForm("form"); | ||
| 283 | + }, | ||
| 284 | + /** 搜索按钮操作 */ | ||
| 285 | + handleQuery() { | ||
| 286 | + this.queryParams.pageNum = 1; | ||
| 287 | + this.getList(); | ||
| 288 | + }, | ||
| 289 | + /** 重置按钮操作 */ | ||
| 290 | + resetQuery() { | ||
| 291 | + this.resetForm("queryForm"); | ||
| 292 | + this.handleQuery(); | ||
| 293 | + }, | ||
| 294 | + // 多选框选中数据 | ||
| 295 | + handleSelectionChange(selection) { | ||
| 296 | + this.ids = selection.map(item => item.id) | ||
| 297 | + this.single = selection.length !== 1 | ||
| 298 | + this.multiple = !selection.length | ||
| 299 | + }, | ||
| 300 | + /** 新增按钮操作 */ | ||
| 301 | + handleAdd() { | ||
| 302 | + this.reset(); | ||
| 303 | + this.open = true; | ||
| 304 | + this.title = "添加专项督察"; | ||
| 305 | + }, | ||
| 306 | + /** 修改按钮操作 */ | ||
| 307 | + handleUpdate(row) { | ||
| 308 | + this.reset(); | ||
| 309 | + const id = row.id || this.ids | ||
| 310 | + getSupervisionSpecial(id).then(response => { | ||
| 311 | + this.form = response.data; | ||
| 312 | + if (this.form.attach && this.form.attach != "") | ||
| 313 | + this.form.attach = this.form.attach.split(","); | ||
| 242 | this.open = true; | 314 | this.open = true; |
| 243 | - this.title = "添加专项督察"; | ||
| 244 | - }, | ||
| 245 | - /** 修改按钮操作 */ | ||
| 246 | - handleUpdate(row) { | ||
| 247 | - this.reset(); | ||
| 248 | - const id = row.id || this.ids | ||
| 249 | - getSupervisionSpecial(id).then(response => { | ||
| 250 | - this.form = response.data; | ||
| 251 | - this.open = true; | ||
| 252 | - this.title = "修改专项督察"; | ||
| 253 | - }); | ||
| 254 | - }, | ||
| 255 | - /** 提交按钮 */ | ||
| 256 | - submitForm() { | ||
| 257 | - this.$refs["form"].validate(valid => { | ||
| 258 | - if (valid) { | ||
| 259 | - if (this.form.id != null) { | ||
| 260 | - updateSupervisionSpecial(this.form).then(response => { | ||
| 261 | - this.msgSuccess("修改成功"); | ||
| 262 | - this.open = false; | ||
| 263 | - this.getList(); | ||
| 264 | - }); | ||
| 265 | - } else { | ||
| 266 | - addSupervisionSpecial(this.form).then(response => { | ||
| 267 | - this.msgSuccess("新增成功"); | ||
| 268 | - this.open = false; | ||
| 269 | - this.getList(); | ||
| 270 | - }); | ||
| 271 | - } | 315 | + this.title = "修改专项督察"; |
| 316 | + }); | ||
| 317 | + }, | ||
| 318 | + /** 提交按钮 */ | ||
| 319 | + submitForm() { | ||
| 320 | + this.$refs["form"].validate(valid => { | ||
| 321 | + if (valid) { | ||
| 322 | + this.form.attach = this.form.attach +""; | ||
| 323 | + if (this.form.id != null) { | ||
| 324 | + updateSupervisionSpecial(this.form).then(response => { | ||
| 325 | + this.msgSuccess("修改成功"); | ||
| 326 | + this.open = false; | ||
| 327 | + this.getList(); | ||
| 328 | + }); | ||
| 329 | + } else { | ||
| 330 | + addSupervisionSpecial(this.form).then(response => { | ||
| 331 | + this.msgSuccess("新增成功"); | ||
| 332 | + this.open = false; | ||
| 333 | + this.getList(); | ||
| 334 | + }); | ||
| 272 | } | 335 | } |
| 273 | - }); | ||
| 274 | - }, | ||
| 275 | - /** 删除按钮操作 */ | ||
| 276 | - handleDelete(row) { | ||
| 277 | - const ids = row.id || this.ids; | ||
| 278 | - this.$confirm('是否确认删除专项督察编号为"' + ids + '"的数据项?', "警告", { | ||
| 279 | - confirmButtonText: "确定", | ||
| 280 | - cancelButtonText: "取消", | ||
| 281 | - type: "warning" | ||
| 282 | - }).then(function() { | ||
| 283 | - return delSupervisionSpecial(ids); | ||
| 284 | - }).then(() => { | ||
| 285 | - this.getList(); | ||
| 286 | - this.msgSuccess("删除成功"); | ||
| 287 | - }) | ||
| 288 | - }, | ||
| 289 | - /** 导出按钮操作 */ | ||
| 290 | - handleExport() { | ||
| 291 | - const queryParams = this.queryParams; | ||
| 292 | - this.$confirm('是否确认导出所有专项督察数据项?', "警告", { | ||
| 293 | - confirmButtonText: "确定", | ||
| 294 | - cancelButtonText: "取消", | ||
| 295 | - type: "warning" | ||
| 296 | - }).then(function() { | ||
| 297 | - return exportSupervisionSpecial(queryParams); | ||
| 298 | - }).then(response => { | ||
| 299 | - this.download(response.message); | 336 | + } |
| 337 | + }); | ||
| 338 | + }, | ||
| 339 | + /** 删除按钮操作 */ | ||
| 340 | + handleDelete(row) { | ||
| 341 | + const ids = row.id || this.ids; | ||
| 342 | + this.$confirm('是否确认删除专项督察编号为"' + ids + '"的数据项?', "警告", { | ||
| 343 | + confirmButtonText: "确定", | ||
| 344 | + cancelButtonText: "取消", | ||
| 345 | + type: "warning" | ||
| 346 | + }).then(function () { | ||
| 347 | + return delSupervisionSpecial(ids); | ||
| 348 | + }).then(() => { | ||
| 349 | + this.getList(); | ||
| 350 | + this.msgSuccess("删除成功"); | ||
| 351 | + }) | ||
| 352 | + }, | ||
| 353 | + /** 导出按钮操作 */ | ||
| 354 | + handleExport() { | ||
| 355 | + const queryParams = this.queryParams; | ||
| 356 | + this.$confirm('是否确认导出所有专项督察数据项?', "警告", { | ||
| 357 | + confirmButtonText: "确定", | ||
| 358 | + cancelButtonText: "取消", | ||
| 359 | + type: "warning" | ||
| 360 | + }).then(function () { | ||
| 361 | + return exportSupervisionSpecial(queryParams); | ||
| 362 | + }).then(response => { | ||
| 363 | + this.download(response.message); | ||
| 364 | + }) | ||
| 365 | + }, | ||
| 366 | + removeAttchItem(index, img) { | ||
| 367 | + this.form.attach.splice(this.form.attach.indexOf(img), 1); | ||
| 368 | + for(let i=0;i<this.slides.length;i++){ | ||
| 369 | + if(this.slides[i].alt==img){ | ||
| 370 | + this.slides.splice(i, 1); | ||
| 371 | + } | ||
| 372 | + } | ||
| 373 | + for(let i=0;i<this.videoSrc.length;i++){ | ||
| 374 | + if(this.videoSrc[i].alt==img){ | ||
| 375 | + this.videoSrc.splice(i, 1); | ||
| 376 | + } | ||
| 377 | + } | ||
| 378 | + | ||
| 379 | + this.$forceUpdate(); | ||
| 380 | + }, | ||
| 381 | + uploadSuccess(res, file, fileList) { | ||
| 382 | + if(res.code){ | ||
| 383 | + this.$message(res.message); | ||
| 384 | + return; | ||
| 385 | + } | ||
| 386 | + if(!this.form.attach){ | ||
| 387 | + this.form.attach = []; | ||
| 388 | + } | ||
| 389 | + this.form.attach.push(res); | ||
| 390 | + if(file.name.indexOf('.jpg') > -1 ||file.name.indexOf('.png') > -1){ | ||
| 391 | + let url = URL.createObjectURL(file.raw) | ||
| 392 | + this.slides.push({ | ||
| 393 | + url:url, | ||
| 394 | + alt:res | ||
| 300 | }) | 395 | }) |
| 301 | } | 396 | } |
| 302 | - } | ||
| 303 | - }; | 397 | + if(file.name.indexOf('.avi') > -1 ||file.name.indexOf('.mp4') > -1){ |
| 398 | + let url = URL.createObjectURL(file.raw) | ||
| 399 | + this.videoSrc.push({ | ||
| 400 | + url:url, | ||
| 401 | + alt:res | ||
| 402 | + }); | ||
| 403 | + } | ||
| 404 | + }, | ||
| 405 | + showFileUpload(i) { | ||
| 406 | + this.uploadImageDialog = true; | ||
| 407 | + this.picIndex = i; | ||
| 408 | + }, | ||
| 409 | + beforeUpload(file) { | ||
| 410 | + let isRightSize = file.size / 1024 / 1024 < 100 | ||
| 411 | + if (!isRightSize) { | ||
| 412 | + this.$message.error('文件大小超过 100MB') | ||
| 413 | + return isRightSize; | ||
| 414 | + } | ||
| 415 | + let isAccept = false; | ||
| 416 | + if (file.name.indexOf('.docx') > -1 || file.name.indexOf(".jpg") > -1 || file.name.indexOf('.doc') > -1 || file | ||
| 417 | + .name.indexOf('.pdf') > -1 || file.name.indexOf('.png') > -1||file.name.indexOf('.mp4') > -1 || file.name.indexOf(".avi") > -1) { | ||
| 418 | + isAccept = true; | ||
| 419 | + } | ||
| 420 | + if (!isAccept) { | ||
| 421 | + this.$message.error('应该选择PDF、PNG、JPG、WORD、mp4、avi类型的文件') | ||
| 422 | + return isAccept; | ||
| 423 | + } | ||
| 424 | + }, | ||
| 425 | + downloadFile(path) { | ||
| 426 | + window.location.href = process.env.VUE_APP_BASE_API + "/business/threestep/download?path=" + encodeURI(path); | ||
| 427 | + }, | ||
| 428 | + handleClose() { | ||
| 429 | + this.uploadImageDialog = false; | ||
| 430 | + this.fileList = []; | ||
| 431 | + }, | ||
| 432 | + showSlides(path) { | ||
| 433 | + return process.env.VUE_APP_BASE_API + path; | ||
| 434 | + }, | ||
| 435 | + showVideo(path) { | ||
| 436 | + return process.env.VUE_APP_BASE_API + path; | ||
| 437 | + }, | ||
| 438 | + } | ||
| 439 | +}; | ||
| 304 | </script> | 440 | </script> |
trash-ui/src/views/caseOffline/caseOffline/caseOfflineInfo.vue
| @@ -44,15 +44,31 @@ | @@ -44,15 +44,31 @@ | ||
| 44 | :preview-src-list="[showSlides(item)]" | 44 | :preview-src-list="[showSlides(item)]" |
| 45 | :z-index="2000"> | 45 | :z-index="2000"> |
| 46 | </el-image> | 46 | </el-image> |
| 47 | + <div style="display: inline-block;margin: 5px;position: relative; width: 150px;height: 100px;overflow:hidden;" v-for="(item,index) in form.attach" v-if="item.indexOf('.avi') != -1||item.indexOf('.mp4') != -1"> | ||
| 48 | + <video width="100%" controls="controls" height="100%" :src="showVideo(item)"></video> | ||
| 49 | + </div> | ||
| 47 | <el-input v-model="form.attach" type="hidden"></el-input> | 50 | <el-input v-model="form.attach" type="hidden"></el-input> |
| 48 | <a @click="downloadFile(img);" style="color: blue;" v-for="(img,index) in form.attach"> {{ img.split("/")[img.split("/").length - 1] }} </a> | 51 | <a @click="downloadFile(img);" style="color: blue;" v-for="(img,index) in form.attach"> {{ img.split("/")[img.split("/").length - 1] }} </a> |
| 49 | </el-form-item> | 52 | </el-form-item> |
| 50 | 53 | ||
| 51 | - | ||
| 52 | - <el-table :data="adviceList" v-if="adviceList != null"> | ||
| 53 | - <el-table-column label="用户" width="55" align="center" prop="name"/> | ||
| 54 | - <el-table-column label="审批内容" align="center" prop="text"/> | ||
| 55 | - <el-table-column label="时间" align="center" prop="time"/> | 54 | + <el-table :data="replyApprovalProcessList"> |
| 55 | + <el-table-column property="replyPeople" label="操作人" header-align="center" align="center"></el-table-column> | ||
| 56 | + <el-table-column property="reply" label="意见" header-align="center" align="center"></el-table-column> | ||
| 57 | + <el-table-column property="replyTime" label="操作时间" header-align="center" align="center"></el-table-column> | ||
| 58 | + <el-table-column property="replyImg" label="预览" header-align="center" align="center"> | ||
| 59 | + <template slot-scope="scope"> | ||
| 60 | + <el-button | ||
| 61 | + size="mini" | ||
| 62 | + type="text" | ||
| 63 | + icon="el-icon-view" | ||
| 64 | + @click="openImage(scope.row.replyImg)" | ||
| 65 | + v-if="scope.row.replyImg!=null && scope.row.replyImg!='undefined'" | ||
| 66 | + v-hasPermi="['casefile:violationWarningInformation:edit']" | ||
| 67 | + >查看 | ||
| 68 | + </el-button> | ||
| 69 | + <span v-if="scope.row.replyImg==null || scope.row.replyImg=='undefined'">暂无</span> | ||
| 70 | + </template> | ||
| 71 | + </el-table-column> | ||
| 56 | </el-table> | 72 | </el-table> |
| 57 | 73 | ||
| 58 | 74 | ||
| @@ -60,6 +76,22 @@ | @@ -60,6 +76,22 @@ | ||
| 60 | <el-dialog title="" :visible.sync="showPic" append-to-body width="400px"> | 76 | <el-dialog title="" :visible.sync="showPic" append-to-body width="400px"> |
| 61 | <img :src="picImage" width="100%" height="400px"/> | 77 | <img :src="picImage" width="100%" height="400px"/> |
| 62 | </el-dialog> | 78 | </el-dialog> |
| 79 | + <el-dialog title="预览" :visible.sync="openImg" append-to-body width="300px"> | ||
| 80 | + <div v-for="item in img" style="border: 1px black solid;text-align: center;"> | ||
| 81 | + | ||
| 82 | + <el-image style="width: 250px; height: 250px; margin: 5px;" | ||
| 83 | + v-if="item.indexOf('.jpg')>-1||item.indexOf('.png')>-1||item.indexOf('.jpeg')>-1||item.indexOf('.gif')>-1" | ||
| 84 | + :src="showSlides(item)" | ||
| 85 | + :preview-src-list="[showSlides(item)]" | ||
| 86 | + :z-index="2000"> | ||
| 87 | + </el-image> | ||
| 88 | + <div style="display: inline-block;margin: 5px;position: relative; width: 250px;height: 250px;overflow:hidden;" v-if="item.indexOf('.mp4')>-1||item.indexOf('.avi')>-1"> | ||
| 89 | + <video width="100%" controls="controls" height="100%" :src="showSlides(item)"></video> | ||
| 90 | + </div> | ||
| 91 | + <a @click="downloadFile(item);" style="color: blue;"> 下载: {{ item.split("/")[item.split("/").length - 1] }} </a> | ||
| 92 | + </div> | ||
| 93 | + | ||
| 94 | + </el-dialog> | ||
| 63 | </div> | 95 | </div> |
| 64 | </template> | 96 | </template> |
| 65 | 97 |
trash-ui/src/views/caseOffline/caseOffline/index.vue
| @@ -115,11 +115,14 @@ | @@ -115,11 +115,14 @@ | ||
| 115 | <a style="color:blue;font-size: 12px;" @click="uploadImageDialog=true;">选择附件</a> | 115 | <a style="color:blue;font-size: 12px;" @click="uploadImageDialog=true;">选择附件</a> |
| 116 | <br/> | 116 | <br/> |
| 117 | <el-image v-for="item in slides" | 117 | <el-image v-for="item in slides" |
| 118 | - style="width: 100px; height: 100px; margin: 5px;" | 118 | + style="width: 150px; height: 100px; margin: 5px;" |
| 119 | :src="item.url" | 119 | :src="item.url" |
| 120 | :preview-src-list="[item.url]" | 120 | :preview-src-list="[item.url]" |
| 121 | :z-index="2000"> | 121 | :z-index="2000"> |
| 122 | </el-image> | 122 | </el-image> |
| 123 | + <div style="display: inline-block;margin: 5px;position: relative; width: 150px;height: 100px;overflow:hidden;" v-for="item in videoSrc" > | ||
| 124 | + <video width="100%" controls="controls" height="100%" :src="item.url"></video> | ||
| 125 | + </div> | ||
| 123 | <el-input v-model="form.attach" type="hidden"></el-input> | 126 | <el-input v-model="form.attach" type="hidden"></el-input> |
| 124 | <div style="color: blue;" v-for="(img,index) in form.attach">{{ img.split("/")[img.split("/").length - 1] }}<a | 127 | <div style="color: blue;" v-for="(img,index) in form.attach">{{ img.split("/")[img.split("/").length - 1] }}<a |
| 125 | @click="removeAttchItem(index,img)" style="color:red;">X</a></div> | 128 | @click="removeAttchItem(index,img)" style="color:red;">X</a></div> |
| @@ -143,9 +146,10 @@ | @@ -143,9 +146,10 @@ | ||
| 143 | 146 | ||
| 144 | <el-dialog title="附件" :visible.sync="uploadImageDialog" append-to-body :beforeClose="handleClose"> | 147 | <el-dialog title="附件" :visible.sync="uploadImageDialog" append-to-body :beforeClose="handleClose"> |
| 145 | <el-upload multiple :headers="upload.headers" :action="upload.url" :file-list="fileList" | 148 | <el-upload multiple :headers="upload.headers" :action="upload.url" :file-list="fileList" |
| 149 | + accept=".docx,.doc,.pdf,.png,.jpeg,.png,.jpg,.mp4,.avi" | ||
| 146 | :on-success="uploadSuccess" :before-upload="beforeUpload"> | 150 | :on-success="uploadSuccess" :before-upload="beforeUpload"> |
| 147 | <el-button size="small" type="primary">选择附件</el-button> | 151 | <el-button size="small" type="primary">选择附件</el-button> |
| 148 | - <div slot="tip" class="el-upload__tip">只能上传不超过 20MB 的jpg、png、pdf、word文件</div> | 152 | + <div slot="tip" class="el-upload__tip">只能上传不超过 20MB 的jpg、png、pdf、word、avi、mp4文件</div> |
| 149 | </el-upload> | 153 | </el-upload> |
| 150 | <div style="height: 40px;width:100%;"> | 154 | <div style="height: 40px;width:100%;"> |
| 151 | <el-button type="primary" style="margin-top: 20px;float:right;" @click="handleClose">关闭</el-button> | 155 | <el-button type="primary" style="margin-top: 20px;float:right;" @click="handleClose">关闭</el-button> |
| @@ -154,4 +158,4 @@ | @@ -154,4 +158,4 @@ | ||
| 154 | </div> | 158 | </div> |
| 155 | </template> | 159 | </template> |
| 156 | 160 | ||
| 157 | -<script src="../../../api/caseoffline.js"/> | 161 | +<script src="@/api/caseoffline.js"/> |
trash-ui/src/views/casefile/violationCaseFile/index.vue
| @@ -180,7 +180,7 @@ | @@ -180,7 +180,7 @@ | ||
| 180 | </el-row> | 180 | </el-row> |
| 181 | <el-row :gutter="2"> | 181 | <el-row :gutter="2"> |
| 182 | <el-col :span="11"> | 182 | <el-col :span="11"> |
| 183 | - <el-form-item label="公司" prop="violationGrade"> | 183 | + <el-form-item label="公司" prop="companyName"> |
| 184 | <el-select v-model="form.companyName" :filterable="true" :remote-method="companyLoadOptions" :loading="isLoadingCompany" placeholder="请输入项目名称" style="width: 100%;"> | 184 | <el-select v-model="form.companyName" :filterable="true" :remote-method="companyLoadOptions" :loading="isLoadingCompany" placeholder="请输入项目名称" style="width: 100%;"> |
| 185 | <el-option v-for="item in companyList" :key="item.name" :label="item.name" :value="item.name"></el-option> | 185 | <el-option v-for="item in companyList" :key="item.name" :label="item.name" :value="item.name"></el-option> |
| 186 | </el-select> | 186 | </el-select> |
| @@ -193,7 +193,7 @@ | @@ -193,7 +193,7 @@ | ||
| 193 | 193 | ||
| 194 | <el-row :gutter="2"> | 194 | <el-row :gutter="2"> |
| 195 | <el-col :span="8" :offset="3"> | 195 | <el-col :span="8" :offset="3"> |
| 196 | - <el-button type="primary" @click="createDescribe">生成违规描述</el-button> | 196 | + <el-button style="margin-left: 14px" type="primary" @click="createDescribe">生成违规描述</el-button> |
| 197 | </el-col> | 197 | </el-col> |
| 198 | </el-row> | 198 | </el-row> |
| 199 | <el-row> | 199 | <el-row> |
| @@ -205,24 +205,26 @@ | @@ -205,24 +205,26 @@ | ||
| 205 | </el-row> | 205 | </el-row> |
| 206 | <el-form-item label="推送对象"> | 206 | <el-form-item label="推送对象"> |
| 207 | <el-radio-group v-model="form.sendObject"> | 207 | <el-radio-group v-model="form.sendObject"> |
| 208 | - <el-radio label="区管理部门(治)">区管理部门(治)</el-radio> | ||
| 209 | - <el-radio label="区管理部门(消)">区管理部门(消)</el-radio> | 208 | + <el-radio label="区管理部门">区管理部门</el-radio> |
| 210 | <el-radio label="运输企业">运输企业</el-radio> | 209 | <el-radio label="运输企业">运输企业</el-radio> |
| 211 | </el-radio-group> | 210 | </el-radio-group> |
| 212 | </el-form-item> | 211 | </el-form-item> |
| 213 | - <el-form-item label="附件图片预览" v-if="slide1.length!=0"> | 212 | + <el-form-item label="附件预览" v-if="slide1.length!=0"> |
| 214 | <el-image v-for="item in slide1" | 213 | <el-image v-for="item in slide1" |
| 215 | - style="width: 100px; height: 100px; margin: 5px;" | 214 | + style="width: 150px; height: 100px; margin: 5px;" |
| 216 | :src="item" | 215 | :src="item" |
| 217 | :preview-src-list="slide1" | 216 | :preview-src-list="slide1" |
| 218 | :z-index="2000"> | 217 | :z-index="2000"> |
| 219 | </el-image> | 218 | </el-image> |
| 219 | + <div style="display: inline-block;margin: 5px;position: relative; width: 150px;height: 100px;overflow:hidden;" v-for="item in videoSrc" > | ||
| 220 | + <video width="100%" controls="controls" height="100%" :src="item"></video> | ||
| 221 | + </div> | ||
| 220 | </el-form-item> | 222 | </el-form-item> |
| 221 | <el-form-item prop="fileEntityList" label="附件"> | 223 | <el-form-item prop="fileEntityList" label="附件"> |
| 222 | <el-upload | 224 | <el-upload |
| 223 | ref="upload" | 225 | ref="upload" |
| 224 | action="" | 226 | action="" |
| 225 | - accept=".docx,.doc,.pdf,.png,.jpeg,.png,.jpg" | 227 | + accept=".docx,.doc,.pdf,.png,.jpeg,.png,.jpg,.mp4,.avi" |
| 226 | :on-change="fileChange" | 228 | :on-change="fileChange" |
| 227 | :auto-upload="false" | 229 | :auto-upload="false" |
| 228 | :show-file-list="false" | 230 | :show-file-list="false" |
trash-ui/src/views/casefile/violationCaseFile/violationCaseFileInfo.vue
| @@ -93,8 +93,7 @@ | @@ -93,8 +93,7 @@ | ||
| 93 | </el-row> | 93 | </el-row> |
| 94 | <el-form-item label="推送对象"> | 94 | <el-form-item label="推送对象"> |
| 95 | <el-radio-group v-model="form.sendObject" :disabled="true"> | 95 | <el-radio-group v-model="form.sendObject" :disabled="true"> |
| 96 | - <el-radio label="区管理部门(治)">区管理部门(治)</el-radio> | ||
| 97 | - <el-radio label="区管理部门(消)">区管理部门(消)</el-radio> | 96 | + <el-radio label="区管理部门">区管理部门</el-radio> |
| 98 | <el-radio label="运输企业">运输企业</el-radio> | 97 | <el-radio label="运输企业">运输企业</el-radio> |
| 99 | </el-radio-group> | 98 | </el-radio-group> |
| 100 | </el-form-item> | 99 | </el-form-item> |
| @@ -124,11 +123,14 @@ | @@ -124,11 +123,14 @@ | ||
| 124 | </el-table> | 123 | </el-table> |
| 125 | <el-dialog title="查看附件" :visible.sync="open" append-to-body> | 124 | <el-dialog title="查看附件" :visible.sync="open" append-to-body> |
| 126 | <el-image v-for="item in slide1" | 125 | <el-image v-for="item in slide1" |
| 127 | - style="width: 100px; height: 100px; margin: 5px;" | 126 | + style="width: 150px; height: 100px; margin: 5px;" |
| 128 | :src="item" | 127 | :src="item" |
| 129 | :preview-src-list="slide1" | 128 | :preview-src-list="slide1" |
| 130 | :z-index="2000"> | 129 | :z-index="2000"> |
| 131 | </el-image> | 130 | </el-image> |
| 131 | + <div style="display: inline-block;margin: 5px;position: relative; width: 150px;height: 100px;overflow:hidden;" v-for="item in videoSrc" > | ||
| 132 | + <video width="100%" controls="controls" height="100%" :src="item"></video> | ||
| 133 | + </div> | ||
| 132 | <el-table :data="fileEntityList"> | 134 | <el-table :data="fileEntityList"> |
| 133 | <el-table-column property="name" label="附件名称" header-align="center" align="center"></el-table-column> | 135 | <el-table-column property="name" label="附件名称" header-align="center" align="center"></el-table-column> |
| 134 | <el-table-column label="操作" class-name="small-padding fixed-width" header-align="center" align="center"> | 136 | <el-table-column label="操作" class-name="small-padding fixed-width" header-align="center" align="center"> |
| @@ -149,11 +151,19 @@ | @@ -149,11 +151,19 @@ | ||
| 149 | </div> | 151 | </div> |
| 150 | </el-dialog> | 152 | </el-dialog> |
| 151 | <el-dialog title="预览" :visible.sync="openImg" append-to-body v-if="entryType==0" width="300px"> | 153 | <el-dialog title="预览" :visible.sync="openImg" append-to-body v-if="entryType==0" width="300px"> |
| 152 | - <el-image style="width: 250px; height: 250px; margin: 5px;" | ||
| 153 | - :src="img[0]" | ||
| 154 | - :preview-src-list="img" | ||
| 155 | - :z-index="2000"> | ||
| 156 | - </el-image> | 154 | + <div v-for="item in img" style="border: 1px black solid;text-align: center;"> |
| 155 | + | ||
| 156 | + <el-image style="width: 250px; height: 250px; margin: 5px;" | ||
| 157 | + v-if="item.indexOf('.jpg')>-1||item.indexOf('.png')>-1||item.indexOf('.jpeg')>-1||item.indexOf('.gif')>-1" | ||
| 158 | + :src="showFile(item)" | ||
| 159 | + :preview-src-list="[showFile(item)]" | ||
| 160 | + :z-index="2000"> | ||
| 161 | + </el-image> | ||
| 162 | + <div style="display: inline-block;margin: 5px;position: relative; width: 250px;height: 250px;overflow:hidden;" v-if="item.indexOf('.mp4')>-1||item.indexOf('.avi')>-1"> | ||
| 163 | + <video width="100%" controls="controls" height="100%" :src="showFile(item)"></video> | ||
| 164 | + </div> | ||
| 165 | + <a @click="downloadFile(item);" style="color: blue;"> 下载: {{ item.split("/")[item.split("/").length - 1] }} </a> | ||
| 166 | + </div> | ||
| 157 | </el-dialog> | 167 | </el-dialog> |
| 158 | </el-form> | 168 | </el-form> |
| 159 | </template> | 169 | </template> |
| @@ -185,7 +195,8 @@ export default { | @@ -185,7 +195,8 @@ export default { | ||
| 185 | img: [], | 195 | img: [], |
| 186 | showPic: null, | 196 | showPic: null, |
| 187 | picImage: null, | 197 | picImage: null, |
| 188 | - slide1: [] | 198 | + slide1: [], |
| 199 | + videoSrc: [], | ||
| 189 | } | 200 | } |
| 190 | }, | 201 | }, |
| 191 | created() { | 202 | created() { |
| @@ -210,6 +221,9 @@ export default { | @@ -210,6 +221,9 @@ export default { | ||
| 210 | if (item.url.indexOf(".jpg") > -1 || item.url.indexOf(".png") > -1 || item.url.indexOf(".jpeg") > -1 || item.url.indexOf(".jpg") > -1) { | 221 | if (item.url.indexOf(".jpg") > -1 || item.url.indexOf(".png") > -1 || item.url.indexOf(".jpeg") > -1 || item.url.indexOf(".jpg") > -1) { |
| 211 | this.slide1.push(process.env.VUE_APP_BASE_API + item.url); | 222 | this.slide1.push(process.env.VUE_APP_BASE_API + item.url); |
| 212 | } | 223 | } |
| 224 | + if (item.url.indexOf(".mp4") > -1 || item.url.indexOf(".avi") > -1) { | ||
| 225 | + this.videoSrc.push(process.env.VUE_APP_BASE_API + item.url); | ||
| 226 | + } | ||
| 213 | }) | 227 | }) |
| 214 | }); | 228 | }); |
| 215 | 229 | ||
| @@ -228,9 +242,19 @@ export default { | @@ -228,9 +242,19 @@ export default { | ||
| 228 | a.setAttribute('href', process.env.VUE_APP_BASE_API + url); | 242 | a.setAttribute('href', process.env.VUE_APP_BASE_API + url); |
| 229 | a.click() | 243 | a.click() |
| 230 | }, | 244 | }, |
| 231 | - openImage(img) { | 245 | + openImage(path) { |
| 246 | + this.img = []; | ||
| 232 | this.openImg = true; | 247 | this.openImg = true; |
| 233 | - this.img.push(img); | 248 | + let files = path.split(","); |
| 249 | + for(let i=0;i<files.length;i++){ | ||
| 250 | + this.img.push(files[i]); | ||
| 251 | + } | ||
| 252 | + }, | ||
| 253 | + downloadFile(path) { | ||
| 254 | + window.location.href = process.env.VUE_APP_BASE_API + "/business/threestep/download?path=" + encodeURI(path); | ||
| 255 | + }, | ||
| 256 | + showFile(path) { | ||
| 257 | + return process.env.VUE_APP_BASE_API + path; | ||
| 234 | }, | 258 | }, |
| 235 | } | 259 | } |
| 236 | } | 260 | } |
trash-ui/src/views/casefile/violationWarningInformation/index.vue
| @@ -171,7 +171,7 @@ | @@ -171,7 +171,7 @@ | ||
| 171 | </el-row> | 171 | </el-row> |
| 172 | <el-row :gutter="2"> | 172 | <el-row :gutter="2"> |
| 173 | <el-col :span="8" :offset="3"> | 173 | <el-col :span="8" :offset="3"> |
| 174 | - <el-button type="primary" @click="createDescribe">生成违规描述</el-button> | 174 | + <el-button style="margin-left: 14px" type="primary" @click="createDescribe">生成违规描述</el-button> |
| 175 | </el-col> | 175 | </el-col> |
| 176 | <el-col :span="11"> | 176 | <el-col :span="11"> |
| 177 | <el-form-item label="企业名称" prop="companyName"> | 177 | <el-form-item label="企业名称" prop="companyName"> |
| @@ -190,24 +190,26 @@ | @@ -190,24 +190,26 @@ | ||
| 190 | </el-row> | 190 | </el-row> |
| 191 | <el-form-item label="推送对象"> | 191 | <el-form-item label="推送对象"> |
| 192 | <el-radio-group v-model="form.sendObject"> | 192 | <el-radio-group v-model="form.sendObject"> |
| 193 | - <el-radio label="区管理部门(治)">区管理部门(治)</el-radio> | ||
| 194 | - <el-radio label="区管理部门(消)">区管理部门(消)</el-radio> | 193 | + <el-radio label="区管理部门">区管理部门</el-radio> |
| 195 | <el-radio label="运输企业">运输企业</el-radio> | 194 | <el-radio label="运输企业">运输企业</el-radio> |
| 196 | </el-radio-group> | 195 | </el-radio-group> |
| 197 | </el-form-item> | 196 | </el-form-item> |
| 198 | - <el-form-item label="附件图片预览" v-if="slide1.length!=0"> | 197 | + <el-form-item label="附件预览" v-if="slide1.length!=0"> |
| 199 | <el-image v-for="item in slide1" | 198 | <el-image v-for="item in slide1" |
| 200 | - style="width: 100px; height: 100px; margin: 5px;" | 199 | + style="width: 150px; height: 100px; margin: 5px;" |
| 201 | :src="item" | 200 | :src="item" |
| 202 | :preview-src-list="slide1" | 201 | :preview-src-list="slide1" |
| 203 | :z-index="2000"> | 202 | :z-index="2000"> |
| 204 | </el-image> | 203 | </el-image> |
| 204 | + <div style="display: inline-block;margin: 5px;position: relative; width: 150px;height: 100px;overflow:hidden;" v-for="item in videoSrc" > | ||
| 205 | + <video width="100%" controls="controls" height="100%" :src="item"></video> | ||
| 206 | + </div> | ||
| 205 | </el-form-item> | 207 | </el-form-item> |
| 206 | <el-form-item prop="fileEntityList" label="附件"> | 208 | <el-form-item prop="fileEntityList" label="附件"> |
| 207 | <el-upload | 209 | <el-upload |
| 208 | ref="upload" | 210 | ref="upload" |
| 209 | action="" | 211 | action="" |
| 210 | - accept=".docx,.doc,.pdf,.png,.jpeg,.png,.jpg" | 212 | + accept=".docx,.doc,.pdf,.png,.jpeg,.png,.jpg,.mp4,.avi" |
| 211 | :on-change="fileChange" | 213 | :on-change="fileChange" |
| 212 | :auto-upload="false" | 214 | :auto-upload="false" |
| 213 | :show-file-list="false" | 215 | :show-file-list="false" |
trash-ui/src/views/casefile/violationWarningInformation/violationWarningInformationInfo.vue
| @@ -91,8 +91,7 @@ | @@ -91,8 +91,7 @@ | ||
| 91 | </el-row> | 91 | </el-row> |
| 92 | <el-form-item label="推送对象"> | 92 | <el-form-item label="推送对象"> |
| 93 | <el-radio-group v-model="form.sendObject" :disabled="true"> | 93 | <el-radio-group v-model="form.sendObject" :disabled="true"> |
| 94 | - <el-radio label="区管理部门(治)">区管理部门(治)</el-radio> | ||
| 95 | - <el-radio label="区管理部门(消)">区管理部门(消)</el-radio> | 94 | + <el-radio label="区管理部门">区管理部门</el-radio> |
| 96 | <el-radio label="运输企业">运输企业</el-radio> | 95 | <el-radio label="运输企业">运输企业</el-radio> |
| 97 | </el-radio-group> | 96 | </el-radio-group> |
| 98 | </el-form-item> | 97 | </el-form-item> |
| @@ -120,13 +119,16 @@ | @@ -120,13 +119,16 @@ | ||
| 120 | </template> | 119 | </template> |
| 121 | </el-table-column> | 120 | </el-table-column> |
| 122 | </el-table> | 121 | </el-table> |
| 123 | - <el-dialog title="查看附件" :visible.sync="open" append-to-body> | 122 | + <el-dialog title="附件预览" :visible.sync="open" append-to-body> |
| 124 | <el-image v-for="item in slide1" | 123 | <el-image v-for="item in slide1" |
| 125 | - style="width: 100px; height: 100px; margin: 5px;" | 124 | + style="width: 150px; height: 100px; margin:5px;" |
| 126 | :src="item" | 125 | :src="item" |
| 127 | :preview-src-list="slide1" | 126 | :preview-src-list="slide1" |
| 128 | :z-index="2000"> | 127 | :z-index="2000"> |
| 129 | </el-image> | 128 | </el-image> |
| 129 | + <div style="display: inline-block;margin: 5px;position: relative; width: 150px;height: 100px;overflow:hidden;" v-for="item in videoSrc" > | ||
| 130 | + <video width="100%" controls="controls" height="100%" :src="item"></video> | ||
| 131 | + </div> | ||
| 130 | <el-table :data="fileEntityList"> | 132 | <el-table :data="fileEntityList"> |
| 131 | <el-table-column property="name" label="附件名称" header-align="center" align="center"></el-table-column> | 133 | <el-table-column property="name" label="附件名称" header-align="center" align="center"></el-table-column> |
| 132 | <el-table-column label="操作" class-name="small-padding fixed-width" header-align="center" align="center"> | 134 | <el-table-column label="操作" class-name="small-padding fixed-width" header-align="center" align="center"> |
| @@ -147,11 +149,20 @@ | @@ -147,11 +149,20 @@ | ||
| 147 | </div> | 149 | </div> |
| 148 | </el-dialog> | 150 | </el-dialog> |
| 149 | <el-dialog title="预览" :visible.sync="openImg" append-to-body v-if="entryType==0" width="300px"> | 151 | <el-dialog title="预览" :visible.sync="openImg" append-to-body v-if="entryType==0" width="300px"> |
| 150 | - <el-image style="width: 250px; height: 250px; margin: 5px;" | ||
| 151 | - :src="img[0]" | ||
| 152 | - :preview-src-list="img" | ||
| 153 | - :z-index="2000"> | ||
| 154 | - </el-image> | 152 | + <div v-for="item in img" style="border: 1px black solid;text-align: center;"> |
| 153 | + | ||
| 154 | + <el-image style="width: 250px; height: 250px; margin: 5px;" | ||
| 155 | + v-if="item.indexOf('.jpg')>-1||item.indexOf('.png')>-1||item.indexOf('.jpeg')>-1||item.indexOf('.gif')>-1" | ||
| 156 | + :src="showFile(item)" | ||
| 157 | + :preview-src-list="[showFile(item)]" | ||
| 158 | + :z-index="2000"> | ||
| 159 | + </el-image> | ||
| 160 | + <div style="display: inline-block;margin: 5px;position: relative; width: 250px;height: 250px;overflow:hidden;" v-if="item.indexOf('.mp4')>-1||item.indexOf('.avi')>-1"> | ||
| 161 | + <video width="100%" controls="controls" height="100%" :src="showFile(item)"></video> | ||
| 162 | + </div> | ||
| 163 | + <a @click="downloadFile(item);" style="color: blue;"> 下载: {{ item.split("/")[item.split("/").length - 1] }} </a> | ||
| 164 | + </div> | ||
| 165 | + | ||
| 155 | </el-dialog> | 166 | </el-dialog> |
| 156 | </el-form> | 167 | </el-form> |
| 157 | </template> | 168 | </template> |
| @@ -183,7 +194,8 @@ export default { | @@ -183,7 +194,8 @@ export default { | ||
| 183 | img: [], | 194 | img: [], |
| 184 | showPic: null, | 195 | showPic: null, |
| 185 | picImage: null, | 196 | picImage: null, |
| 186 | - slide1: [] | 197 | + slide1: [], |
| 198 | + videoSrc: [], | ||
| 187 | } | 199 | } |
| 188 | }, | 200 | }, |
| 189 | created() { | 201 | created() { |
| @@ -206,6 +218,9 @@ export default { | @@ -206,6 +218,9 @@ export default { | ||
| 206 | if (item.url.indexOf(".jpg") > -1 || item.url.indexOf(".png") > -1 || item.url.indexOf(".jpeg") > -1 || item.url.indexOf(".jpg") > -1) { | 218 | if (item.url.indexOf(".jpg") > -1 || item.url.indexOf(".png") > -1 || item.url.indexOf(".jpeg") > -1 || item.url.indexOf(".jpg") > -1) { |
| 207 | this.slide1.push(process.env.VUE_APP_BASE_API + item.url); | 219 | this.slide1.push(process.env.VUE_APP_BASE_API + item.url); |
| 208 | } | 220 | } |
| 221 | + if (item.url.indexOf(".mp4") > -1 || item.url.indexOf(".avi") > -1) { | ||
| 222 | + this.videoSrc.push(process.env.VUE_APP_BASE_API + item.url); | ||
| 223 | + } | ||
| 209 | }) | 224 | }) |
| 210 | }); | 225 | }); |
| 211 | listReplyApprovalProcess({tableName: "violation_warning" + ":" + this.idInfo}).then(response => { | 226 | listReplyApprovalProcess({tableName: "violation_warning" + ":" + this.idInfo}).then(response => { |
| @@ -222,11 +237,20 @@ export default { | @@ -222,11 +237,20 @@ export default { | ||
| 222 | a.setAttribute('href', process.env.VUE_APP_BASE_API + url); | 237 | a.setAttribute('href', process.env.VUE_APP_BASE_API + url); |
| 223 | a.click() | 238 | a.click() |
| 224 | }, | 239 | }, |
| 225 | - openImage(img) { | 240 | + openImage(path) { |
| 226 | this.img = []; | 241 | this.img = []; |
| 227 | this.openImg = true; | 242 | this.openImg = true; |
| 228 | - this.img.push(img); | ||
| 229 | - } | 243 | + let files = path.split(","); |
| 244 | + for(let i=0;i<files.length;i++){ | ||
| 245 | + this.img.push(files[i]); | ||
| 246 | + } | ||
| 247 | + }, | ||
| 248 | + downloadFile(path) { | ||
| 249 | + window.location.href = process.env.VUE_APP_BASE_API + "/business/threestep/download?path=" + encodeURI(path); | ||
| 250 | + }, | ||
| 251 | + showFile(path) { | ||
| 252 | + return process.env.VUE_APP_BASE_API + path; | ||
| 253 | + }, | ||
| 230 | } | 254 | } |
| 231 | } | 255 | } |
| 232 | </script> | 256 | </script> |
trash-ui/src/views/h5/leaveApplication/index.vue
| @@ -142,7 +142,7 @@ | @@ -142,7 +142,7 @@ | ||
| 142 | </el-form-item> | 142 | </el-form-item> |
| 143 | <el-form-item label="附件图片预览" v-if="slide1.length!=0"> | 143 | <el-form-item label="附件图片预览" v-if="slide1.length!=0"> |
| 144 | <el-image v-for="item in slide1" | 144 | <el-image v-for="item in slide1" |
| 145 | - style="width: 100px; height: 100px; margin: 5px;" | 145 | + style="width: 150px; height: 100px; margin: 5px;" |
| 146 | :src="item" | 146 | :src="item" |
| 147 | :preview-src-list="slide1" | 147 | :preview-src-list="slide1" |
| 148 | :z-index="2000"> | 148 | :z-index="2000"> |
trash-ui/src/views/h5/leaveApplication/leaveApplicationInfo.vue
| @@ -46,7 +46,7 @@ | @@ -46,7 +46,7 @@ | ||
| 46 | </el-form-item> | 46 | </el-form-item> |
| 47 | <el-form-item label="附件图片预览" v-if="slide1.length!=0"> | 47 | <el-form-item label="附件图片预览" v-if="slide1.length!=0"> |
| 48 | <el-image v-for="item in slide1" | 48 | <el-image v-for="item in slide1" |
| 49 | - style="width: 100px; height: 100px; margin: 5px;" | 49 | + style="width: 150px; height: 100px; margin: 5px;" |
| 50 | :src="item" | 50 | :src="item" |
| 51 | :preview-src-list="slide1" | 51 | :preview-src-list="slide1" |
| 52 | :z-index="2000"> | 52 | :z-index="2000"> |
trash-ui/src/views/h5/task/violationCaseFileInfo.vue
| @@ -72,8 +72,7 @@ | @@ -72,8 +72,7 @@ | ||
| 72 | 72 | ||
| 73 | <el-form-item label="推送对象"> | 73 | <el-form-item label="推送对象"> |
| 74 | <el-radio-group v-model="form.sendObject" :disabled="true"> | 74 | <el-radio-group v-model="form.sendObject" :disabled="true"> |
| 75 | - <el-radio label="区管理部门(治)">区管理部门(治)</el-radio> | ||
| 76 | - <el-radio label="区管理部门(消)">区管理部门(消)</el-radio> | 75 | + <el-radio label="区管理部门">区管理部门</el-radio> |
| 77 | <el-radio label="运输企业">运输企业</el-radio> | 76 | <el-radio label="运输企业">运输企业</el-radio> |
| 78 | </el-radio-group> | 77 | </el-radio-group> |
| 79 | </el-form-item> | 78 | </el-form-item> |
| @@ -97,6 +96,15 @@ | @@ -97,6 +96,15 @@ | ||
| 97 | </el-table-column> | 96 | </el-table-column> |
| 98 | </el-table> | 97 | </el-table> |
| 99 | <el-dialog title="查看附件" :visible.sync="open" append-to-body width="300px"> | 98 | <el-dialog title="查看附件" :visible.sync="open" append-to-body width="300px"> |
| 99 | + <el-image v-for="item in slide1" | ||
| 100 | + style="width: 100px; height: 100px; margin: 5px;" | ||
| 101 | + :src="item" | ||
| 102 | + :preview-src-list="slide1" | ||
| 103 | + :z-index="2000"> | ||
| 104 | + </el-image> | ||
| 105 | + <div style="display: inline-block;margin: 5px;position: relative; width: 150px;height: 100px;overflow:hidden;" v-for="item in videoSrc" > | ||
| 106 | + <video width="100%" controls="controls" height="100%" :src="item"></video> | ||
| 107 | + </div> | ||
| 100 | <el-table :data="fileEntityList"> | 108 | <el-table :data="fileEntityList"> |
| 101 | <el-table-column property="name" label="附件名称" header-align="center" align="center"></el-table-column> | 109 | <el-table-column property="name" label="附件名称" header-align="center" align="center"></el-table-column> |
| 102 | <el-table-column label="操作" class-name="small-padding fixed-width" header-align="center" align="center"> | 110 | <el-table-column label="操作" class-name="small-padding fixed-width" header-align="center" align="center"> |
| @@ -117,7 +125,11 @@ | @@ -117,7 +125,11 @@ | ||
| 117 | </div> | 125 | </div> |
| 118 | </el-dialog> | 126 | </el-dialog> |
| 119 | <el-dialog title="预览" :visible.sync="openImg" append-to-body v-if="entryType==0" width="300px"> | 127 | <el-dialog title="预览" :visible.sync="openImg" append-to-body v-if="entryType==0" width="300px"> |
| 120 | - <img :src="img" width="100%" height="750px" /> | 128 | + <el-image style="width: 250px; height: 250px; margin: 5px;" |
| 129 | + :src="img[0]" | ||
| 130 | + :preview-src-list="img" | ||
| 131 | + :z-index="2000"> | ||
| 132 | + </el-image> | ||
| 121 | </el-dialog> | 133 | </el-dialog> |
| 122 | 134 | ||
| 123 | </el-form> | 135 | </el-form> |
| @@ -147,6 +159,10 @@ export default { | @@ -147,6 +159,10 @@ export default { | ||
| 147 | replyApprovalProcessList:[], | 159 | replyApprovalProcessList:[], |
| 148 | openImg:false, | 160 | openImg:false, |
| 149 | img:null, | 161 | img:null, |
| 162 | + showPic: null, | ||
| 163 | + picImage: null, | ||
| 164 | + slide1: [], | ||
| 165 | + videoSrc: [], | ||
| 150 | } | 166 | } |
| 151 | }, | 167 | }, |
| 152 | created() { | 168 | created() { |
| @@ -169,6 +185,14 @@ export default { | @@ -169,6 +185,14 @@ export default { | ||
| 169 | this.form = response.data.violationCaseFile; | 185 | this.form = response.data.violationCaseFile; |
| 170 | let files = JSON.stringify(response.data.uploadFiles); | 186 | let files = JSON.stringify(response.data.uploadFiles); |
| 171 | this.fileEntityList = JSON.parse(files.replaceAll("filePath", "url").replaceAll("fileName", "name")); | 187 | this.fileEntityList = JSON.parse(files.replaceAll("filePath", "url").replaceAll("fileName", "name")); |
| 188 | + this.fileEntityList.map(item => { | ||
| 189 | + if (item.url.indexOf(".jpg") > -1 || item.url.indexOf(".png") > -1 || item.url.indexOf(".jpeg") > -1 || item.url.indexOf(".jpg") > -1) { | ||
| 190 | + this.slide1.push(process.env.VUE_APP_BASE_API + item.url); | ||
| 191 | + } | ||
| 192 | + if (item.url.indexOf(".mp4") > -1 || item.url.indexOf(".avi") > -1) { | ||
| 193 | + this.videoSrc.push(process.env.VUE_APP_BASE_API + item.url); | ||
| 194 | + } | ||
| 195 | + }) | ||
| 172 | }); | 196 | }); |
| 173 | 197 | ||
| 174 | 198 | ||
| @@ -186,9 +210,10 @@ export default { | @@ -186,9 +210,10 @@ export default { | ||
| 186 | a.setAttribute('href', process.env.VUE_APP_BASE_API + url); | 210 | a.setAttribute('href', process.env.VUE_APP_BASE_API + url); |
| 187 | a.click() | 211 | a.click() |
| 188 | }, | 212 | }, |
| 189 | - openImage(base64){ | 213 | + openImage(img) { |
| 214 | + this.img = []; | ||
| 190 | this.openImg = true; | 215 | this.openImg = true; |
| 191 | - this.img = base64; | 216 | + this.img.push(img); |
| 192 | }, | 217 | }, |
| 193 | } | 218 | } |
| 194 | } | 219 | } |
trash-ui/src/views/h5/task/violationWarningInformationInfo.vue
| @@ -69,8 +69,7 @@ | @@ -69,8 +69,7 @@ | ||
| 69 | 69 | ||
| 70 | <el-form-item label="推送对象"> | 70 | <el-form-item label="推送对象"> |
| 71 | <el-radio-group v-model="form.sendObject" :disabled="true"> | 71 | <el-radio-group v-model="form.sendObject" :disabled="true"> |
| 72 | - <el-radio label="区管理部门(治)">区管理部门(治)</el-radio> | ||
| 73 | - <el-radio label="区管理部门(消)">区管理部门(消)</el-radio> | 72 | + <el-radio label="区管理部门">区管理部门</el-radio> |
| 74 | <el-radio label="运输企业">运输企业</el-radio> | 73 | <el-radio label="运输企业">运输企业</el-radio> |
| 75 | </el-radio-group> | 74 | </el-radio-group> |
| 76 | </el-form-item> | 75 | </el-form-item> |
| @@ -93,6 +92,15 @@ | @@ -93,6 +92,15 @@ | ||
| 93 | </el-table-column> | 92 | </el-table-column> |
| 94 | </el-table> | 93 | </el-table> |
| 95 | <el-dialog title="查看附件" :visible.sync="open" append-to-body width="300px"> | 94 | <el-dialog title="查看附件" :visible.sync="open" append-to-body width="300px"> |
| 95 | + <el-image v-for="item in slide1" | ||
| 96 | + style="width: 150px; height: 100px; margin:5px;" | ||
| 97 | + :src="item" | ||
| 98 | + :preview-src-list="slide1" | ||
| 99 | + :z-index="2000"> | ||
| 100 | + </el-image> | ||
| 101 | + <div style="display: inline-block;margin: 5px;position: relative; width: 150px;height: 100px;overflow:hidden;" v-for="item in videoSrc" > | ||
| 102 | + <video width="100%" controls="controls" height="100%" :src="item"></video> | ||
| 103 | + </div> | ||
| 96 | <el-table :data="fileEntityList"> | 104 | <el-table :data="fileEntityList"> |
| 97 | <el-table-column property="name" label="附件名称" header-align="center" align="center"></el-table-column> | 105 | <el-table-column property="name" label="附件名称" header-align="center" align="center"></el-table-column> |
| 98 | <el-table-column label="操作" class-name="small-padding fixed-width" header-align="center" align="center"> | 106 | <el-table-column label="操作" class-name="small-padding fixed-width" header-align="center" align="center"> |
| @@ -113,7 +121,11 @@ | @@ -113,7 +121,11 @@ | ||
| 113 | </div> | 121 | </div> |
| 114 | </el-dialog> | 122 | </el-dialog> |
| 115 | <el-dialog title="预览" :visible.sync="openImg" append-to-body v-if="entryType==0" width="300px"> | 123 | <el-dialog title="预览" :visible.sync="openImg" append-to-body v-if="entryType==0" width="300px"> |
| 116 | - <img :src="img" width="100%" height="750px" /> | 124 | + <el-image style="width: 250px; height: 250px; margin: 5px;" |
| 125 | + :src="img[0]" | ||
| 126 | + :preview-src-list="img" | ||
| 127 | + :z-index="2000"> | ||
| 128 | + </el-image> | ||
| 117 | </el-dialog> | 129 | </el-dialog> |
| 118 | </el-form> | 130 | </el-form> |
| 119 | </template> | 131 | </template> |
| @@ -142,6 +154,10 @@ export default { | @@ -142,6 +154,10 @@ export default { | ||
| 142 | replyApprovalProcessList:[], | 154 | replyApprovalProcessList:[], |
| 143 | openImg:false, | 155 | openImg:false, |
| 144 | img:null, | 156 | img:null, |
| 157 | + showPic: null, | ||
| 158 | + picImage: null, | ||
| 159 | + slide1: [], | ||
| 160 | + videoSrc: [], | ||
| 145 | } | 161 | } |
| 146 | }, | 162 | }, |
| 147 | created() { | 163 | created() { |
| @@ -160,6 +176,14 @@ export default { | @@ -160,6 +176,14 @@ export default { | ||
| 160 | this.form = response.data.violationWarningInformation; | 176 | this.form = response.data.violationWarningInformation; |
| 161 | let files = JSON.stringify(response.data.uploadFiles); | 177 | let files = JSON.stringify(response.data.uploadFiles); |
| 162 | this.fileEntityList = JSON.parse(files.replaceAll("filePath", "url").replaceAll("fileName", "name")); | 178 | this.fileEntityList = JSON.parse(files.replaceAll("filePath", "url").replaceAll("fileName", "name")); |
| 179 | + this.fileEntityList.map(item => { | ||
| 180 | + if (item.url.indexOf(".jpg") > -1 || item.url.indexOf(".png") > -1 || item.url.indexOf(".jpeg") > -1 || item.url.indexOf(".jpg") > -1) { | ||
| 181 | + this.slide1.push(process.env.VUE_APP_BASE_API + item.url); | ||
| 182 | + } | ||
| 183 | + if (item.url.indexOf(".mp4") > -1 || item.url.indexOf(".avi") > -1) { | ||
| 184 | + this.videoSrc.push(process.env.VUE_APP_BASE_API + item.url); | ||
| 185 | + } | ||
| 186 | + }) | ||
| 163 | }); | 187 | }); |
| 164 | listReplyApprovalProcess({tableName:"violation_warning" + ":" + this.idInfo}).then(response => { | 188 | listReplyApprovalProcess({tableName:"violation_warning" + ":" + this.idInfo}).then(response => { |
| 165 | this.replyApprovalProcessList = response.rows; | 189 | this.replyApprovalProcessList = response.rows; |
| @@ -176,8 +200,9 @@ export default { | @@ -176,8 +200,9 @@ export default { | ||
| 176 | a.click() | 200 | a.click() |
| 177 | }, | 201 | }, |
| 178 | openImage(base64){ | 202 | openImage(base64){ |
| 203 | + this.img = []; | ||
| 179 | this.openImg = true; | 204 | this.openImg = true; |
| 180 | - this.img = base64; | 205 | + this.img.push(img); |
| 181 | } | 206 | } |
| 182 | } | 207 | } |
| 183 | } | 208 | } |
trash-ui/src/views/h5/violationCaseFile/index.vue
| @@ -173,16 +173,26 @@ | @@ -173,16 +173,26 @@ | ||
| 173 | </el-row> | 173 | </el-row> |
| 174 | <el-form-item label="推送对象"> | 174 | <el-form-item label="推送对象"> |
| 175 | <el-radio-group v-model="form.sendObject"> | 175 | <el-radio-group v-model="form.sendObject"> |
| 176 | - <el-radio label="区管理部门(治)">区管理部门(治)</el-radio> | ||
| 177 | - <el-radio label="区管理部门(消)">区管理部门(消)</el-radio> | 176 | + <el-radio label="区管理部门">区管理部门</el-radio> |
| 178 | <el-radio label="运输企业">运输企业</el-radio> | 177 | <el-radio label="运输企业">运输企业</el-radio> |
| 179 | </el-radio-group> | 178 | </el-radio-group> |
| 180 | </el-form-item> | 179 | </el-form-item> |
| 180 | + <el-form-item label="附件预览" v-if="slide1.length!=0"> | ||
| 181 | + <el-image v-for="item in slide1" | ||
| 182 | + style="width: 150px; height: 100px; margin: 5px;" | ||
| 183 | + :src="item" | ||
| 184 | + :preview-src-list="slide1" | ||
| 185 | + :z-index="2000"> | ||
| 186 | + </el-image> | ||
| 187 | + <div style="display: inline-block;margin: 5px;position: relative; width: 150px;height: 100px;overflow:hidden;" v-for="item in videoSrc" > | ||
| 188 | + <video width="100%" controls="controls" height="100%" :src="item"></video> | ||
| 189 | + </div> | ||
| 190 | + </el-form-item> | ||
| 181 | <el-form-item prop="fileEntityList" label="附件"> | 191 | <el-form-item prop="fileEntityList" label="附件"> |
| 182 | <el-upload | 192 | <el-upload |
| 183 | ref="upload" | 193 | ref="upload" |
| 184 | action="" | 194 | action="" |
| 185 | - accept=".docx,.xlsx,.xls,.ppt,.doc,.pdf,.png,.jpeg,.png,.jpg" | 195 | + accept=".docx,.xlsx,.xls,.ppt,.doc,.pdf,.png,.jpeg,.png,.jpg,.mp4,.avi" |
| 186 | :on-change="fileChange" | 196 | :on-change="fileChange" |
| 187 | :auto-upload="false" | 197 | :auto-upload="false" |
| 188 | :show-file-list="false" | 198 | :show-file-list="false" |
| @@ -228,7 +238,8 @@ | @@ -228,7 +238,8 @@ | ||
| 228 | </div> | 238 | </div> |
| 229 | </template> | 239 | </template> |
| 230 | 240 | ||
| 231 | -<script src="../../../api/vio_casefile"/> | 241 | +<script src="../../../api/vio_casefile"> |
| 242 | +</script> | ||
| 232 | <style scope> | 243 | <style scope> |
| 233 | .el-select-dropdown__item{ | 244 | .el-select-dropdown__item{ |
| 234 | width:300px; | 245 | width:300px; |
trash-ui/src/views/h5/violationWarningInformation/index.vue
| @@ -134,16 +134,26 @@ | @@ -134,16 +134,26 @@ | ||
| 134 | </el-form-item> | 134 | </el-form-item> |
| 135 | <el-form-item label="推送对象"> | 135 | <el-form-item label="推送对象"> |
| 136 | <el-radio-group v-model="form.sendObject"> | 136 | <el-radio-group v-model="form.sendObject"> |
| 137 | - <el-radio label="区管理部门(治)">区管理部门(治)</el-radio> | ||
| 138 | - <el-radio label="区管理部门(消)">区管理部门(消)</el-radio> | 137 | + <el-radio label="区管理部门">区管理部门</el-radio> |
| 139 | <el-radio label="运输企业">运输企业</el-radio> | 138 | <el-radio label="运输企业">运输企业</el-radio> |
| 140 | </el-radio-group> | 139 | </el-radio-group> |
| 141 | </el-form-item> | 140 | </el-form-item> |
| 141 | + <el-form-item label="附件预览" v-if="slide1.length!=0"> | ||
| 142 | + <el-image v-for="item in slide1" | ||
| 143 | + style="width: 150px; height: 100px; margin: 5px;" | ||
| 144 | + :src="item" | ||
| 145 | + :preview-src-list="slide1" | ||
| 146 | + :z-index="2000"> | ||
| 147 | + </el-image> | ||
| 148 | + <div style="display: inline-block;margin: 5px;position: relative; width: 150px;height: 100px;overflow:hidden;" v-for="item in videoSrc" > | ||
| 149 | + <video width="100%" controls="controls" height="100%" :src="item"></video> | ||
| 150 | + </div> | ||
| 151 | + </el-form-item> | ||
| 142 | <el-form-item prop="fileEntityList" label="附件"> | 152 | <el-form-item prop="fileEntityList" label="附件"> |
| 143 | <el-upload | 153 | <el-upload |
| 144 | ref="upload" | 154 | ref="upload" |
| 145 | action="" | 155 | action="" |
| 146 | - accept=".docx,.xlsx,.xls,.ppt,.doc,.pdf,.png,.jpeg,.png,.jpg" | 156 | + accept=".docx,.xlsx,.xls,.ppt,.doc,.pdf,.png,.jpeg,.png,.jpg,.mp4,.avi" |
| 147 | :on-change="fileChange" | 157 | :on-change="fileChange" |
| 148 | :auto-upload="false" | 158 | :auto-upload="false" |
| 149 | :show-file-list="false" | 159 | :show-file-list="false" |
trash-ui/src/views/office/handle/handleInfo.vue
| @@ -91,7 +91,7 @@ | @@ -91,7 +91,7 @@ | ||
| 91 | </el-form-item> | 91 | </el-form-item> |
| 92 | <el-form-item label="附件图片预览" v-if="slide1.length!=0"> | 92 | <el-form-item label="附件图片预览" v-if="slide1.length!=0"> |
| 93 | <el-image v-for="item in slide1" | 93 | <el-image v-for="item in slide1" |
| 94 | - style="width: 100px; height: 100px; margin: 5px;" | 94 | + style="width: 150px; height: 100px; margin: 5px;" |
| 95 | :src="item" | 95 | :src="item" |
| 96 | :preview-src-list="slide1" | 96 | :preview-src-list="slide1" |
| 97 | :z-index="2000"> | 97 | :z-index="2000"> |
trash-ui/src/views/office/leaveApplication/leaveApplicationInfo.vue
| @@ -46,7 +46,7 @@ | @@ -46,7 +46,7 @@ | ||
| 46 | </el-form-item> | 46 | </el-form-item> |
| 47 | <el-form-item label="附件图片预览" v-if="slide1.length!=0"> | 47 | <el-form-item label="附件图片预览" v-if="slide1.length!=0"> |
| 48 | <el-image v-for="item in slide1" | 48 | <el-image v-for="item in slide1" |
| 49 | - style="width: 100px; height: 100px; margin: 5px;" | 49 | + style="width: 150px; height: 100px; margin: 5px;" |
| 50 | :src="item" | 50 | :src="item" |
| 51 | :preview-src-list="slide1" | 51 | :preview-src-list="slide1" |
| 52 | :z-index="2000"> | 52 | :z-index="2000"> |
trash-workFlow/src/main/java/com/trash/business/domain/SupervisionSpecial.java
| @@ -38,7 +38,17 @@ public class SupervisionSpecial extends BaseEntity | @@ -38,7 +38,17 @@ public class SupervisionSpecial extends BaseEntity | ||
| 38 | @Excel(name = "所属区域") | 38 | @Excel(name = "所属区域") |
| 39 | private String place; | 39 | private String place; |
| 40 | 40 | ||
| 41 | - public void setId(String id) | 41 | + private String attach; |
| 42 | + | ||
| 43 | + public String getAttach() { | ||
| 44 | + return attach; | ||
| 45 | + } | ||
| 46 | + | ||
| 47 | + public void setAttach(String attach) { | ||
| 48 | + this.attach = attach; | ||
| 49 | + } | ||
| 50 | + | ||
| 51 | + public void setId(String id) | ||
| 42 | { | 52 | { |
| 43 | this.id = id; | 53 | this.id = id; |
| 44 | } | 54 | } |
trash-workFlow/src/main/java/com/trash/casefile/kafka/Consumer.java
| @@ -134,7 +134,7 @@ public class Consumer { | @@ -134,7 +134,7 @@ public class Consumer { | ||
| 134 | violationWarningInformation.setViolationGrade("一般类"); | 134 | violationWarningInformation.setViolationGrade("一般类"); |
| 135 | //项目名称(工地名称,消纳场名称) | 135 | //项目名称(工地名称,消纳场名称) |
| 136 | 136 | ||
| 137 | - violationWarningInformation.setSendObject("区管理部门(治)"); | 137 | + violationWarningInformation.setSendObject("区管理部门"); |
| 138 | String describe = ""; | 138 | String describe = ""; |
| 139 | //根据不同违规类型,走不同流程 | 139 | //根据不同违规类型,走不同流程 |
| 140 | switch (violationTypeCode) { | 140 | switch (violationTypeCode) { |
| @@ -146,7 +146,7 @@ public class Consumer { | @@ -146,7 +146,7 @@ public class Consumer { | ||
| 146 | case "44030030": | 146 | case "44030030": |
| 147 | case "44030031": | 147 | case "44030031": |
| 148 | violationWarningInformation.setViolationObjectType("0"); | 148 | violationWarningInformation.setViolationObjectType("0"); |
| 149 | - violationWarningInformation.setSendObject("区管理部门(治)"); | 149 | + violationWarningInformation.setSendObject("区管理部门"); |
| 150 | violationWarningInformation.setProjectName(jsonObject.getString("siteName")); | 150 | violationWarningInformation.setProjectName(jsonObject.getString("siteName")); |
| 151 | describe = DateFormatUtils.format(alarmTime, "yyyy/MM/dd HH:mm:ss") + " " | 151 | describe = DateFormatUtils.format(alarmTime, "yyyy/MM/dd HH:mm:ss") + " " |
| 152 | + violationWarningInformation.getCompanyName() + " " + jsonObject.get("licenseplateNo") + "在" + | 152 | + violationWarningInformation.getCompanyName() + " " + jsonObject.get("licenseplateNo") + "在" + |
| @@ -158,7 +158,7 @@ public class Consumer { | @@ -158,7 +158,7 @@ public class Consumer { | ||
| 158 | case "44030029": | 158 | case "44030029": |
| 159 | case "44030025": | 159 | case "44030025": |
| 160 | violationWarningInformation.setViolationObjectType("1"); | 160 | violationWarningInformation.setViolationObjectType("1"); |
| 161 | - violationWarningInformation.setSendObject("区管理部门(消)"); | 161 | + violationWarningInformation.setSendObject("区管理部门"); |
| 162 | violationWarningInformation.setProjectName(jsonObject.getString("siteName")); | 162 | violationWarningInformation.setProjectName(jsonObject.getString("siteName")); |
| 163 | describe = DateFormatUtils.format(alarmTime, "yyyy/MM/dd HH:mm:ss") + " " | 163 | describe = DateFormatUtils.format(alarmTime, "yyyy/MM/dd HH:mm:ss") + " " |
| 164 | + violationWarningInformation.getCompanyName() + " " + jsonObject.get("licenseplateNo") + "在" + | 164 | + violationWarningInformation.getCompanyName() + " " + jsonObject.get("licenseplateNo") + "在" + |
| @@ -167,7 +167,7 @@ public class Consumer { | @@ -167,7 +167,7 @@ public class Consumer { | ||
| 167 | case "44030032": | 167 | case "44030032": |
| 168 | violationWarningInformation.setViolationObjectType("0"); | 168 | violationWarningInformation.setViolationObjectType("0"); |
| 169 | violationWarningInformation.setViolationGrade("重点类"); | 169 | violationWarningInformation.setViolationGrade("重点类"); |
| 170 | - violationWarningInformation.setSendObject("区管理部门(治)"); | 170 | + violationWarningInformation.setSendObject("区管理部门"); |
| 171 | describe = DateFormatUtils.format(alarmTime, "yyyy/MM/dd HH:mm:ss") + " " | 171 | describe = DateFormatUtils.format(alarmTime, "yyyy/MM/dd HH:mm:ss") + " " |
| 172 | + violationWarningInformation.getCompanyName() + " " + jsonObject.get("licenseplateNo") + "在" + | 172 | + violationWarningInformation.getCompanyName() + " " + jsonObject.get("licenseplateNo") + "在" + |
| 173 | jsonObject.get("siteName") + "出现" + violationWarningInformation.getViolationType(); | 173 | jsonObject.get("siteName") + "出现" + violationWarningInformation.getViolationType(); |
trash-workFlow/src/main/java/com/trash/casefile/service/impl/ViolationCaseFileServiceImpl.java
| @@ -120,9 +120,7 @@ public class ViolationCaseFileServiceImpl implements IViolationCaseFileService | @@ -120,9 +120,7 @@ public class ViolationCaseFileServiceImpl implements IViolationCaseFileService | ||
| 120 | 120 | ||
| 121 | int i = 0; | 121 | int i = 0; |
| 122 | //根据发送对象判断流程 | 122 | //根据发送对象判断流程 |
| 123 | - if(violationCaseFile.getSendObject().equals("区管理部门(消)")){ | ||
| 124 | - i = 3; | ||
| 125 | - }else if(violationCaseFile.getSendObject().equals("区管理部门(治)")){ | 123 | + if(violationCaseFile.getSendObject().equals("区管理部门")){ |
| 126 | 124 | ||
| 127 | if(violationCaseFile.getViolationGrade().equals("一般类")){ | 125 | if(violationCaseFile.getViolationGrade().equals("一般类")){ |
| 128 | i = 1; | 126 | i = 1; |
| @@ -130,7 +128,9 @@ public class ViolationCaseFileServiceImpl implements IViolationCaseFileService | @@ -130,7 +128,9 @@ public class ViolationCaseFileServiceImpl implements IViolationCaseFileService | ||
| 130 | i = 2; | 128 | i = 2; |
| 131 | } | 129 | } |
| 132 | } | 130 | } |
| 133 | - | 131 | + if(violationCaseFile.getViolationType().equals("三无车辆进入工地")||violationCaseFile.getViolationType().equals("三无车辆进入消纳场")){ |
| 132 | + i = 2; | ||
| 133 | + } | ||
| 134 | 134 | ||
| 135 | WorkflowService.createCaseFile(violationCaseFile,i); | 135 | WorkflowService.createCaseFile(violationCaseFile,i); |
| 136 | 136 |
trash-workFlow/src/main/java/com/trash/casefile/service/impl/ViolationWarningInformationServiceImpl.java
| @@ -123,9 +123,7 @@ public class ViolationWarningInformationServiceImpl implements IViolationWarning | @@ -123,9 +123,7 @@ public class ViolationWarningInformationServiceImpl implements IViolationWarning | ||
| 123 | } | 123 | } |
| 124 | int i = 0; | 124 | int i = 0; |
| 125 | //根据发送对象判断流程 | 125 | //根据发送对象判断流程 |
| 126 | - if(violationWarningInformation.getSendObject().equals("区管理部门(消)")){ | ||
| 127 | - i = 3; | ||
| 128 | - }else if(violationWarningInformation.getSendObject().equals("区管理部门(治)")){ | 126 | + if(violationWarningInformation.getSendObject().equals("区管理部门")){ |
| 129 | 127 | ||
| 130 | if(violationWarningInformation.getViolationGrade().equals("一般类")){ | 128 | if(violationWarningInformation.getViolationGrade().equals("一般类")){ |
| 131 | i = 1; | 129 | i = 1; |
trash-workFlow/src/main/resources/mapper/SupervisionSpecialMapper.xml
| @@ -15,10 +15,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" | @@ -15,10 +15,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" | ||
| 15 | <result property="createTime" column="create_time" /> | 15 | <result property="createTime" column="create_time" /> |
| 16 | <result property="updateTime" column="update_time" /> | 16 | <result property="updateTime" column="update_time" /> |
| 17 | <result property="updateBy" column="update_by" /> | 17 | <result property="updateBy" column="update_by" /> |
| 18 | + <result property="attach" column="attach" /> | ||
| 18 | </resultMap> | 19 | </resultMap> |
| 19 | 20 | ||
| 20 | <sql id="selectSupervisionSpecialVo"> | 21 | <sql id="selectSupervisionSpecialVo"> |
| 21 | - select id, type, title, content, person, place, create_by, create_time, update_time, update_by from supervision_special | 22 | + select id, type, title, content, person, place, create_by, create_time, update_time, update_by,attach from supervision_special |
| 22 | </sql> | 23 | </sql> |
| 23 | 24 | ||
| 24 | <select id="selectSupervisionSpecialList" parameterType="SupervisionSpecial" resultMap="SupervisionSpecialResult"> | 25 | <select id="selectSupervisionSpecialList" parameterType="SupervisionSpecial" resultMap="SupervisionSpecialResult"> |
| @@ -50,6 +51,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" | @@ -50,6 +51,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" | ||
| 50 | <if test="createTime != null">create_time,</if> | 51 | <if test="createTime != null">create_time,</if> |
| 51 | <if test="updateTime != null">update_time,</if> | 52 | <if test="updateTime != null">update_time,</if> |
| 52 | <if test="updateBy != null">update_by,</if> | 53 | <if test="updateBy != null">update_by,</if> |
| 54 | + <if test="updateBy != null">update_by,</if> | ||
| 55 | + <if test="attach != null">attach,</if> | ||
| 53 | </trim> | 56 | </trim> |
| 54 | <trim prefix="values (" suffix=")" suffixOverrides=","> | 57 | <trim prefix="values (" suffix=")" suffixOverrides=","> |
| 55 | <if test="id != null">#{id},</if> | 58 | <if test="id != null">#{id},</if> |
| @@ -62,6 +65,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" | @@ -62,6 +65,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" | ||
| 62 | <if test="createTime != null">#{createTime},</if> | 65 | <if test="createTime != null">#{createTime},</if> |
| 63 | <if test="updateTime != null">#{updateTime},</if> | 66 | <if test="updateTime != null">#{updateTime},</if> |
| 64 | <if test="updateBy != null">#{updateBy},</if> | 67 | <if test="updateBy != null">#{updateBy},</if> |
| 68 | + <if test="attach != null">#{attach},</if> | ||
| 65 | </trim> | 69 | </trim> |
| 66 | </insert> | 70 | </insert> |
| 67 | 71 | ||
| @@ -77,6 +81,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" | @@ -77,6 +81,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" | ||
| 77 | <if test="createTime != null">create_time = #{createTime},</if> | 81 | <if test="createTime != null">create_time = #{createTime},</if> |
| 78 | <if test="updateTime != null">update_time = #{updateTime},</if> | 82 | <if test="updateTime != null">update_time = #{updateTime},</if> |
| 79 | <if test="updateBy != null">update_by = #{updateBy},</if> | 83 | <if test="updateBy != null">update_by = #{updateBy},</if> |
| 84 | + <if test="attach != null">attach =#{attach},</if> | ||
| 80 | </trim> | 85 | </trim> |
| 81 | where id = #{id} | 86 | where id = #{id} |
| 82 | </update> | 87 | </update> |