Commit 6810617c2d76911dd165e39ce970134d0689b8ea

Authored by youxiw2000
2 parents 95009f99 664bbcdc

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 // pdf 34 // pdf
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 &quot;@/views/office/logistics/logisticsInfo&quot;; @@ -600,7 +637,8 @@ import logisticsInfo from &quot;@/views/office/logistics/logisticsInfo&quot;;
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 &quot;-//mybatis.org//DTD Mapper 3.0//EN&quot; @@ -15,10 +15,11 @@ PUBLIC &quot;-//mybatis.org//DTD Mapper 3.0//EN&quot;
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 &quot;-//mybatis.org//DTD Mapper 3.0//EN&quot; @@ -50,6 +51,8 @@ PUBLIC &quot;-//mybatis.org//DTD Mapper 3.0//EN&quot;
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 &quot;-//mybatis.org//DTD Mapper 3.0//EN&quot; @@ -62,6 +65,7 @@ PUBLIC &quot;-//mybatis.org//DTD Mapper 3.0//EN&quot;
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 &quot;-//mybatis.org//DTD Mapper 3.0//EN&quot; @@ -77,6 +81,7 @@ PUBLIC &quot;-//mybatis.org//DTD Mapper 3.0//EN&quot;
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>