Commit 63b854d7211a9b03b0716a043b91b40fd19d3af2

Authored by 273548560@qq.com
1 parent 34a9413f

修复bug

Showing 33 changed files with 1139 additions and 718 deletions
trash-ui/package.json
@@ -63,7 +63,6 @@ @@ -63,7 +63,6 @@
63 "vue": "2.6.10", 63 "vue": "2.6.10",
64 "vue-count-to": "1.0.13", 64 "vue-count-to": "1.0.13",
65 "vue-cropper": "0.4.9", 65 "vue-cropper": "0.4.9",
66 - "vue-preview": "^1.1.3",  
67 "vue-router": "3.0.2", 66 "vue-router": "3.0.2",
68 "vue-splitpane": "1.0.4", 67 "vue-splitpane": "1.0.4",
69 "vue-style-loader": "^4.1.3", 68 "vue-style-loader": "^4.1.3",
trash-ui/src/api/caseOfflineInfo.js
1 -import { listCaseOffline, getCaseOffline,getAdviceList } from "@/api/caseOffline/caseOffline";  
2 - import {  
3 - getArea,  
4 - earthsitesList,  
5 - constructionsitesList,  
6 - getDict, 1 +import {getAdviceList, getCaseOffline} from "@/api/caseOffline/caseOffline";
  2 +import {getArea,} from "@/api/dict";
7 3
8 - } from "@/api/dict";  
9 - import {  
10 - getThreestep,  
11 - } from "@/api/business/threestep";  
12 4
  5 +import {getToken} from "@/utils/auth";
13 6
14 -  
15 - import {  
16 - getToken  
17 - } from "@/utils/auth";  
18 export default { 7 export default {
19 name: "CaseOffline", 8 name: "CaseOffline",
20 props: { 9 props: {
@@ -42,7 +31,7 @@ export default { @@ -42,7 +31,7 @@ export default {
42 title: "", 31 title: "",
43 // 是否显示弹出层 32 // 是否显示弹出层
44 open: false, 33 open: false,
45 - open2:false, 34 + open2: false,
46 // 查询参数 35 // 查询参数
47 queryParams: { 36 queryParams: {
48 pageNum: 1, 37 pageNum: 1,
@@ -51,26 +40,24 @@ export default { @@ -51,26 +40,24 @@ export default {
51 place: null, 40 place: null,
52 createTime: null, 41 createTime: null,
53 }, 42 },
54 - uploadImageDialog:false, 43 + uploadImageDialog: false,
55 // 表单参数 44 // 表单参数
56 form: {}, 45 form: {},
57 // 表单校验 46 // 表单校验
58 - rules: {  
59 - },  
60 - caseType:[  
61 - {code:0,name:"渣土处置工地(含处理场所)的渣土运输车辆出场车身不洁,车轮带泥"},  
62 - {code:1,name:"未洗车出场或者出场清洁不彻底"},  
63 - {code:2,name:"渣土运输车辆货箱顶盖未按规定关闭到位或未按规定和标准装载渣土出场"},  
64 - {code:3,name:"非核准车辆进入渣土处置工地运输渣土"},  
65 - {code:4,name:"渣土处置工地未按规定时间开停工"},  
66 - {code:5,name:"渣土处置工地洗车设施等破损、未正常使用及措施不到位的"},  
67 - {code:6,name:"渣土处置工地、处理场所(含回填场)出入口两侧50米范围内出现渣土污染、污水外排等现象"},  
68 - {code:7,name:"其他1"},  
69 - {code:8,name:"其他2"},  
70 - {code:9,name:"其他3"} 47 + rules: {},
  48 + caseType: [
  49 + {code: 0, name: "渣土处置工地(含处理场所)的渣土运输车辆出场车身不洁,车轮带泥"},
  50 + {code: 1, name: "未洗车出场或者出场清洁不彻底"},
  51 + {code: 2, name: "渣土运输车辆货箱顶盖未按规定关闭到位或未按规定和标准装载渣土出场"},
  52 + {code: 3, name: "非核准车辆进入渣土处置工地运输渣土"},
  53 + {code: 4, name: "渣土处置工地未按规定时间开停工"},
  54 + {code: 5, name: "渣土处置工地洗车设施等破损、未正常使用及措施不到位的"},
  55 + {code: 6, name: "渣土处置工地、处理场所(含回填场)出入口两侧50米范围内出现渣土污染、污水外排等现象"},
  56 + {code: 7, name: "其他1"},
  57 + {code: 8, name: "其他2"},
  58 + {code: 9, name: "其他3"}
71 ], 59 ],
72 - areas:null,  
73 - fileList:[], 60 + fileList: [],
74 areas: [], 61 areas: [],
75 upload: { 62 upload: {
76 // 是否显示弹出层(用户导入) 63 // 是否显示弹出层(用户导入)
@@ -87,88 +74,97 @@ export default { @@ -87,88 +74,97 @@ export default {
87 url: process.env.VUE_APP_BASE_API + "/business/threestep/upload", 74 url: process.env.VUE_APP_BASE_API + "/business/threestep/upload",
88 75
89 }, 76 },
90 - workflow:"workflow_caseoffline",  
91 - data:{},  
92 - adviceList:[],  
93 - showPic:false,  
94 - picImage:null, 77 + workflow: "workflow_caseoffline",
  78 + data: {},
  79 + adviceList: [],
  80 + showPic: false,
  81 + picImage: null,
  82 + slides: [],
95 }; 83 };
96 }, 84 },
97 created() { 85 created() {
98 - getArea().then(res=>{ 86 + getArea().then(res => {
99 this.areas = res.result; 87 this.areas = res.result;
100 this.handleUpdate(); 88 this.handleUpdate();
101 }); 89 });
102 }, 90 },
103 methods: { 91 methods: {
104 - getSite(item){ 92 + getSite(item) {
105 this.form.objectId = item.id; 93 this.form.objectId = item.id;
106 }, 94 },
107 95
108 - getAreaName(code){  
109 - for(let i =0;i<this.areas.length;i++){  
110 - if(Number(code) == this.areas[i].code){  
111 - return this.areas[i].name;  
112 - break;  
113 - }  
114 - }  
115 - return code;  
116 - },  
117 - getCaseType(type){  
118 - for(let i in this.caseType){  
119 - if(this.caseType[i].code==Number(type)) 96 + getAreaName(code) {
  97 + for (let i = 0; i < this.areas.length; i++) {
  98 + if (Number(code) == this.areas[i].code) {
  99 + return this.areas[i].name;
  100 + break;
  101 + }
  102 + }
  103 + return code;
  104 + },
  105 + getCaseType(type) {
  106 + for (let i in this.caseType) {
  107 + if (this.caseType[i].code == Number(type))
120 return this.caseType[i].name 108 return this.caseType[i].name
121 } 109 }
122 }, 110 },
123 111
124 - downloadFile(path) {  
125 - if(path.indexOf(".jpg") > -1){  
126 -  
127 - getBase64({"path":path}).then(res=>{  
128 - if(res){  
129 - this.picImage = "data:image/jpg;base64," + res;  
130 - this.showPic = true;  
131 - }  
132 - });  
133 -  
134 - return;  
135 - }  
136 - window.location.href = process.env.VUE_APP_BASE_API + "/business/threestep/download?path=" + encodeURI(path);  
137 - }, 112 + downloadFile(path) {
  113 + window.location.href = process.env.VUE_APP_BASE_API + "/business/threestep/download?path=" + encodeURI(path);
  114 + },
  115 + showSlides(path) {
  116 + return process.env.VUE_APP_BASE_API + path;
  117 + },
138 /** 修改按钮操作 */ 118 /** 修改按钮操作 */
139 handleUpdate() { 119 handleUpdate() {
140 let id; 120 let id;
141 - if(this.businessKey.split(":").length == 2){ 121 + if (this.businessKey.split(":").length == 2) {
142 id = this.businessKey.split(":")[1]; 122 id = this.businessKey.split(":")[1];
143 - }else{ 123 + } else {
144 id = this.businessKey; 124 id = this.businessKey;
145 } 125 }
146 126
147 getCaseOffline(id).then(response => { 127 getCaseOffline(id).then(response => {
148 this.form = response.data; 128 this.form = response.data;
149 - if(this.form.attach && this.form.attach != "")  
150 - this.form.attach = this.form.attach.split(","); 129 + if (this.form.attach && this.form.attach != "")
  130 + this.form.attach = this.form.attach.split(",");
151 131
152 this.form.siteType = this.form.siteType + ""; 132 this.form.siteType = this.form.siteType + "";
153 this.form.type = this.getCaseType(this.form.type); 133 this.form.type = this.getCaseType(this.form.type);
154 this.form.place = this.getAreaName(this.form.place); 134 this.form.place = this.getAreaName(this.form.place);
155 135
156 - getAdviceList(this.workflow+":"+id).then(res=>{  
157 - if(res.data){  
158 - if(res.data.advice1){  
159 - this.adviceList.push({name: res.data.advice1.create_by ,time:res.data.advice1.create_time,text:this.form.advice1})  
160 - }  
161 - if(res.data.advice2){  
162 - this.adviceList.push({name: res.data.advice2.create_by ,time:res.data.advice2.create_time,text:this.form.advice2})  
163 - }  
164 - if(res.data.advice3){  
165 - this.adviceList.push({name: res.data.advice3.create_by ,time:res.data.advice3.create_time,text:this.form.advice3})  
166 - }  
167 - if(res.data.advice4){  
168 - this.adviceList.push({name: res.data.advice4.create_by ,time:res.data.advice4.create_time,text:this.form.advice4})  
169 - }  
170 - 136 + getAdviceList(this.workflow + ":" + id).then(res => {
  137 + if (res.data) {
  138 + if (res.data.advice1) {
  139 + this.adviceList.push({
  140 + name: res.data.advice1.create_by,
  141 + time: res.data.advice1.create_time,
  142 + text: this.form.advice1
  143 + })
171 } 144 }
  145 + if (res.data.advice2) {
  146 + this.adviceList.push({
  147 + name: res.data.advice2.create_by,
  148 + time: res.data.advice2.create_time,
  149 + text: this.form.advice2
  150 + })
  151 + }
  152 + if (res.data.advice3) {
  153 + this.adviceList.push({
  154 + name: res.data.advice3.create_by,
  155 + time: res.data.advice3.create_time,
  156 + text: this.form.advice3
  157 + })
  158 + }
  159 + if (res.data.advice4) {
  160 + this.adviceList.push({
  161 + name: res.data.advice4.create_by,
  162 + time: res.data.advice4.create_time,
  163 + text: this.form.advice4
  164 + })
  165 + }
  166 +
  167 + }
172 }); 168 });
173 169
174 170
trash-ui/src/api/caseoffline.js
@@ -78,7 +78,6 @@ export default { @@ -78,7 +78,6 @@ export default {
78 {code:8,name:"其他2"}, 78 {code:8,name:"其他2"},
79 {code:9,name:"其他3"} 79 {code:9,name:"其他3"}
80 ], 80 ],
81 - areas:null,  
82 fileList:[], 81 fileList:[],
83 areas: [], 82 areas: [],
84 upload: { 83 upload: {
@@ -96,7 +95,8 @@ export default { @@ -96,7 +95,8 @@ export default {
96 url: process.env.VUE_APP_BASE_API + "/business/threestep/upload", 95 url: process.env.VUE_APP_BASE_API + "/business/threestep/upload",
97 }, 96 },
98 data:{}, 97 data:{},
99 - objId:null 98 + objId:null,
  99 + slides:[]
100 }; 100 };
101 }, 101 },
102 created() { 102 created() {
@@ -173,6 +173,7 @@ export default { @@ -173,6 +173,7 @@ export default {
173 cancel() { 173 cancel() {
174 this.open = false; 174 this.open = false;
175 this.open2 = false; 175 this.open2 = false;
  176 + this.slides = [];
176 this.reset(); 177 this.reset();
177 }, 178 },
178 // 表单重置 179 // 表单重置
@@ -303,6 +304,12 @@ export default { @@ -303,6 +304,12 @@ export default {
303 }, 304 },
304 removeAttchItem(index, img) { 305 removeAttchItem(index, img) {
305 this.form.attach.splice(this.form.attach.indexOf(img), 1); 306 this.form.attach.splice(this.form.attach.indexOf(img), 1);
  307 + for(let i=0;i<this.slides.length;i++){
  308 + if(this.slides[i].alt==img){
  309 + this.slides.splice(i, 1);
  310 + }
  311 + }
  312 +
306 this.$forceUpdate(); 313 this.$forceUpdate();
307 }, 314 },
308 uploadSuccess(res, file, fileList) { 315 uploadSuccess(res, file, fileList) {
@@ -314,6 +321,13 @@ export default { @@ -314,6 +321,13 @@ export default {
314 this.form.attach = []; 321 this.form.attach = [];
315 } 322 }
316 this.form.attach.push(res); 323 this.form.attach.push(res);
  324 + if(file.name.indexOf('.jpg') > -1 ||file.name.indexOf('.png') > -1){
  325 + let url = URL.createObjectURL(file.raw)
  326 + this.slides.push({
  327 + url:url,
  328 + alt:res
  329 + })
  330 + }
317 }, 331 },
318 showFileUpload(i) { 332 showFileUpload(i) {
319 this.uploadImageDialog = true; 333 this.uploadImageDialog = true;
@@ -327,11 +341,11 @@ export default { @@ -327,11 +341,11 @@ export default {
327 } 341 }
328 let isAccept = false; 342 let isAccept = false;
329 if (file.name.indexOf('.docx') > -1 || file.name.indexOf(".jpg") > -1 || file.name.indexOf('.doc') > -1 || file 343 if (file.name.indexOf('.docx') > -1 || file.name.indexOf(".jpg") > -1 || file.name.indexOf('.doc') > -1 || file
330 - .name.indexOf('.pdf') > -1) { 344 + .name.indexOf('.pdf') > -1 || file.name.indexOf('.png') > -1) {
331 isAccept = true; 345 isAccept = true;
332 } 346 }
333 if (!isAccept) { 347 if (!isAccept) {
334 - this.$message.error('应该选择PDF、JPG、WORD类型的文件') 348 + this.$message.error('应该选择PDF、PNG、JPG、WORD类型的文件')
335 return isAccept; 349 return isAccept;
336 } 350 }
337 }, 351 },
trash-ui/src/api/leave.js
@@ -97,21 +97,10 @@ export default { @@ -97,21 +97,10 @@ export default {
97 if (this.fileEntityList.length != 0) { 97 if (this.fileEntityList.length != 0) {
98 this.fileEntityList.map(item => { 98 this.fileEntityList.map(item => {
99 if (item.name.indexOf(".jpg") > -1 || item.name.indexOf(".png") > -1 || item.name.indexOf(".jpeg") > -1 || item.name.indexOf(".jpg") > -1) { 99 if (item.name.indexOf(".jpg") > -1 || item.name.indexOf(".png") > -1 || item.name.indexOf(".jpeg") > -1 || item.name.indexOf(".jpg") > -1) {
100 - if(item.raw!=null){  
101 - this.slide1.push({  
102 - src: URL.createObjectURL(item.raw),  
103 - msrc: URL.createObjectURL(item.raw),  
104 - alt: item.uid,  
105 - w: 1920,  
106 - h: 1080  
107 - });  
108 - }else{  
109 - this.slide1.push({  
110 - src: process.env.VUE_APP_BASE_API + item.url,  
111 - msrc: process.env.VUE_APP_BASE_API + item.url,  
112 - w: 1920,  
113 - h: 1080  
114 - }); 100 + if (item.raw != null) {
  101 + this.slide1.push(URL.createObjectURL(item.raw));
  102 + } else {
  103 + this.slide1.push(process.env.VUE_APP_BASE_API + item.url);
115 } 104 }
116 } 105 }
117 }) 106 })
trash-ui/src/api/three_step.js
@@ -488,9 +488,14 @@ export default { @@ -488,9 +488,14 @@ export default {
488 this.form[target].splice(this.form[target].indexOf(img), 1); 488 this.form[target].splice(this.form[target].indexOf(img), 1);
489 this.$forceUpdate(); 489 this.$forceUpdate();
490 }, 490 },
491 - removeAttchItem(index, img) { 491 + removeAttchItem(index, img,index1) {
492 let target = "attchItem" + index; 492 let target = "attchItem" + index;
493 this.form[target].splice(this.form[target].indexOf(img), 1); 493 this.form[target].splice(this.form[target].indexOf(img), 1);
  494 + for(let i=0;i<this.slides[index1].length;i++){
  495 + if(this.slides[index1][i].alt == img){
  496 + this.slides[index1].splice(i,1);
  497 + }
  498 + }
494 this.$forceUpdate(); 499 this.$forceUpdate();
495 }, 500 },
496 501
@@ -514,17 +519,12 @@ export default { @@ -514,17 +519,12 @@ export default {
514 } 519 }
515 520
516 this.form[target].push(res); 521 this.form[target].push(res);
517 - if(file.name.indexOf('.jpg') > -1){ 522 + if(file.name.indexOf('.jpg') > -1 ||file.name.indexOf('.png') > -1){
518 let url = URL.createObjectURL(file.raw) 523 let url = URL.createObjectURL(file.raw)
519 - this.slidesArys.push(  
520 - {  
521 - src: url,  
522 - msrc: url,  
523 - alt: res,  
524 - w: 1920,  
525 - h: 1080  
526 - }  
527 - ) 524 + this.slidesArys.push({
  525 + url:url,
  526 + alt:res
  527 + })
528 this.slides[this.picIndex] = this.slidesArys; 528 this.slides[this.picIndex] = this.slidesArys;
529 } 529 }
530 }, 530 },
@@ -540,11 +540,11 @@ export default { @@ -540,11 +540,11 @@ export default {
540 } 540 }
541 let isAccept = false; 541 let isAccept = false;
542 if (file.name.indexOf('.docx') > -1 || file.name.indexOf(".jpg") > -1 || file.name.indexOf('.doc') > -1 || file 542 if (file.name.indexOf('.docx') > -1 || file.name.indexOf(".jpg") > -1 || file.name.indexOf('.doc') > -1 || file
543 - .name.indexOf('.pdf') > -1) { 543 + .name.indexOf('.pdf') > -1||file.name.indexOf('.png') > -1) {
544 isAccept = true; 544 isAccept = true;
545 } 545 }
546 if (!isAccept) { 546 if (!isAccept) {
547 - this.$message.error('应该选择PDF、JPG、WORD类型的文件') 547 + this.$message.error('应该选择PDF、PNG、JPG、WORD类型的文件')
548 return isAccept; 548 return isAccept;
549 } 549 }
550 550
@@ -652,6 +652,7 @@ export default { @@ -652,6 +652,7 @@ export default {
652 // 取消按钮 652 // 取消按钮
653 cancel() { 653 cancel() {
654 this.open = false; 654 this.open = false;
  655 + this.slides = [];
655 this.reset(); 656 this.reset();
656 }, 657 },
657 // 表单重置 658 // 表单重置
trash-ui/src/api/threestepInfo.js
@@ -39,14 +39,7 @@ export default { @@ -39,14 +39,7 @@ export default {
39 }, 39 },
40 methods: { 40 methods: {
41 slides1(img){ 41 slides1(img){
42 - console.log(img)  
43 - let slide = [{  
44 - src: process.env.VUE_APP_BASE_API + img,  
45 - msrc: process.env.VUE_APP_BASE_API + img,  
46 - w: 1920,  
47 - h: 1080  
48 - }]  
49 - return slide 42 + return process.env.VUE_APP_BASE_API + img;
50 }, 43 },
51 downloadFile(path) { 44 downloadFile(path) {
52 window.location.href = process.env.VUE_APP_BASE_API + "/business/threestep/download?path=" + encodeURI(path); 45 window.location.href = process.env.VUE_APP_BASE_API + "/business/threestep/download?path=" + encodeURI(path);
trash-ui/src/api/vio_casefile.js
@@ -136,21 +136,10 @@ export default { @@ -136,21 +136,10 @@ export default {
136 if (this.fileEntityList.length != 0) { 136 if (this.fileEntityList.length != 0) {
137 this.fileEntityList.map(item => { 137 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) { 138 if (item.name.indexOf(".jpg") > -1 || item.name.indexOf(".png") > -1 || item.name.indexOf(".jpeg") > -1 || item.name.indexOf(".jpg") > -1) {
139 - if(item.raw!=null){  
140 - this.slide1.push({  
141 - src: URL.createObjectURL(item.raw),  
142 - msrc: URL.createObjectURL(item.raw),  
143 - alt: item.uid,  
144 - w: 1920,  
145 - h: 1080  
146 - });  
147 - }else{  
148 - this.slide1.push({  
149 - src: process.env.VUE_APP_BASE_API + item.url,  
150 - msrc: process.env.VUE_APP_BASE_API + item.url,  
151 - w: 1920,  
152 - h: 1080  
153 - }); 139 + if (item.raw != null) {
  140 + this.slide1.push(URL.createObjectURL(item.raw));
  141 + } else {
  142 + this.slide1.push(process.env.VUE_APP_BASE_API + item.url);
154 } 143 }
155 } 144 }
156 }) 145 })
trash-ui/src/api/warningInfo.js
@@ -188,21 +188,10 @@ export default { @@ -188,21 +188,10 @@ export default {
188 if (this.fileEntityList.length != 0) { 188 if (this.fileEntityList.length != 0) {
189 this.fileEntityList.map(item => { 189 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) { 190 if (item.name.indexOf(".jpg") > -1 || item.name.indexOf(".png") > -1 || item.name.indexOf(".jpeg") > -1 || item.name.indexOf(".jpg") > -1) {
191 - if(item.raw!=null){  
192 - this.slide1.push({  
193 - src: URL.createObjectURL(item.raw),  
194 - msrc: URL.createObjectURL(item.raw),  
195 - alt: item.uid,  
196 - w: 1920,  
197 - h: 1080  
198 - });  
199 - }else{  
200 - this.slide1.push({  
201 - src: process.env.VUE_APP_BASE_API + item.url,  
202 - msrc: process.env.VUE_APP_BASE_API + item.url,  
203 - w: 1920,  
204 - h: 1080  
205 - }); 191 + if (item.raw != null) {
  192 + this.slide1.push(URL.createObjectURL(item.raw));
  193 + } else {
  194 + this.slide1.push(process.env.VUE_APP_BASE_API + item.url);
206 } 195 }
207 } 196 }
208 }) 197 })
trash-ui/src/main.js
@@ -22,8 +22,6 @@ import { parseTime, resetForm, addDateRange, selectDictLabel, selectDictLabels, @@ -22,8 +22,6 @@ import { parseTime, resetForm, addDateRange, selectDictLabel, selectDictLabels,
22 import Pagination from "@/components/Pagination"; 22 import Pagination from "@/components/Pagination";
23 //自定义表格工具扩展 23 //自定义表格工具扩展
24 import RightToolbar from "@/components/RightToolbar" 24 import RightToolbar from "@/components/RightToolbar"
25 -//缩略图插件  
26 -import VuePreview from "vue-preview";  
27 25
28 // 全局方法挂载 26 // 全局方法挂载
29 Vue.prototype.getDicts = getDicts 27 Vue.prototype.getDicts = getDicts
@@ -56,8 +54,6 @@ Vue.component(&#39;Pagination&#39;, Pagination) @@ -56,8 +54,6 @@ Vue.component(&#39;Pagination&#39;, Pagination)
56 Vue.component('RightToolbar', RightToolbar) 54 Vue.component('RightToolbar', RightToolbar)
57 55
58 Vue.use(permission) 56 Vue.use(permission)
59 -//缩略图插件  
60 -Vue.use(VuePreview)  
61 57
62 /** 58 /**
63 * If you don't want to use mock-server 59 * If you don't want to use mock-server
trash-ui/src/views/activiti/task/companyInfo.vue
@@ -52,8 +52,13 @@ @@ -52,8 +52,13 @@
52 <p >{{dict.name}}</p> 52 <p >{{dict.name}}</p>
53 <a v-for="item in infoData.attachmentList" @click="downloadFile(item.attachmentPath);" style="color:blue;" v-if="item.typeCode == dict.code"><p>{{item.name}}</p></a> 53 <a v-for="item in infoData.attachmentList" @click="downloadFile(item.attachmentPath);" style="color:blue;" v-if="item.typeCode == dict.code"><p>{{item.name}}</p></a>
54 </div> 54 </div>
55 - <el-dialog title="" :visible.sync="showPic" append-to-body width="400px">  
56 - <img :src="picImage" width="100%" height="400px" /> 55 + <el-dialog title="" :visible.sync="showPic" append-to-body width="400px">
  56 + <el-image
  57 + style="width: 350px; height: 350px; margin: 5px;"
  58 + :src="picImage"
  59 + :preview-src-list="[picImage]"
  60 + :z-index="2000">
  61 + </el-image>
57 </el-dialog> 62 </el-dialog>
58 </div> 63 </div>
59 </div> 64 </div>
trash-ui/src/views/activiti/task/driverInfo.vue
@@ -41,7 +41,12 @@ @@ -41,7 +41,12 @@
41 <a v-for="item in infoData.attachment" @click="downloadFile(item.attachmentPath);" style="color:blue;" v-if="item.typeCode == dict.code"><p>{{item.name}}</p></a> 41 <a v-for="item in infoData.attachment" @click="downloadFile(item.attachmentPath);" style="color:blue;" v-if="item.typeCode == dict.code"><p>{{item.name}}</p></a>
42 </div> 42 </div>
43 <el-dialog title="" :visible.sync="showPic" append-to-body width="400px"> 43 <el-dialog title="" :visible.sync="showPic" append-to-body width="400px">
44 - <img :src="picImage" width="100%" height="400px" /> 44 + <el-image
  45 + style="width: 350px; height: 350px; margin: 5px;"
  46 + :src="picImage"
  47 + :preview-src-list="[picImage]"
  48 + :z-index="2000">
  49 + </el-image>
45 </el-dialog> 50 </el-dialog>
46 </div> 51 </div>
47 </div> 52 </div>
trash-ui/src/views/activiti/task/vehicleInfo.vue
@@ -58,7 +58,12 @@ @@ -58,7 +58,12 @@
58 </div> 58 </div>
59 59
60 <el-dialog title="" :visible.sync="showPic" append-to-body width="400px"> 60 <el-dialog title="" :visible.sync="showPic" append-to-body width="400px">
61 - <img :src="picImage" width="100%" height="400px" /> 61 + <el-image
  62 + style="width: 350px; height: 350px; margin: 5px;"
  63 + :src="picImage"
  64 + :preview-src-list="[picImage]"
  65 + :z-index="2000">
  66 + </el-image>
62 </el-dialog> 67 </el-dialog>
63 </div> 68 </div>
64 </template> 69 </template>
trash-ui/src/views/business/threestep/index.vue
@@ -189,86 +189,163 @@ @@ -189,86 +189,163 @@
189 </el-row> 189 </el-row>
190 <el-row type="flex" justify="center" style="margin-top: 20px;" v-if="form.type != null"> 190 <el-row type="flex" justify="center" style="margin-top: 20px;" v-if="form.type != null">
191 <el-col :span="6"> 191 <el-col :span="6">
192 - <a style="color:blue;font-size: 12px;" @click="showFileUpload(0)">过水槽照片</a>  
193 - <vue-preview :slides="slides[0]"></vue-preview> 192 + <a style="color:blue;font-size: 12px;" @click="showFileUpload(0)">过水槽照片</a><br/>
  193 + <el-image v-for="item in slides[0]"
  194 + style="width: 100px; height: 100px; margin: 5px;"
  195 + :src="item.url"
  196 + :preview-src-list="[item.url]"
  197 + :z-index="2000">
  198 + </el-image>
194 <el-input v-model="form.img0" type="hidden"></el-input> 199 <el-input v-model="form.img0" type="hidden"></el-input>
195 - <p v-for="img,index in form.img0">{{img.split("/")[img.split("/").length -1]}}<a @click="removeImage(0,img)" style="color:red"> x</a></p> 200 + <p v-for="(img,index) in form.img0">{{img.split("/")[img.split("/").length -1]}}<a @click="removeImage(0,img)" style="color:red"> x</a></p>
196 </el-col> 201 </el-col>
197 <el-col :span="6"> 202 <el-col :span="6">
198 <a style="color:blue;font-size: 12px;" @click="showFileUpload(1)">洗车平台照片</a> 203 <a style="color:blue;font-size: 12px;" @click="showFileUpload(1)">洗车平台照片</a>
199 - <vue-preview :slides="slides[1]"></vue-preview> 204 + <br/>
  205 + <el-image v-for="item in slides[1]"
  206 + style="width: 100px; height: 100px; margin: 5px;"
  207 + :src="item.url"
  208 + :preview-src-list="[item.url]"
  209 + :z-index="2000">
  210 + </el-image>
200 <el-input v-model="form.img1" type="hidden"></el-input> 211 <el-input v-model="form.img1" type="hidden"></el-input>
201 - <p v-for="img,index in form.img1">{{img.split("/")[img.split("/").length -1]}}<a @click="removeImage(1,img)" style="color:red"> x</a></p> 212 + <p v-for="(img,index) in form.img1">{{img.split("/")[img.split("/").length -1]}}<a @click="removeImage(1,img)" style="color:red"> x</a></p>
202 </el-col> 213 </el-col>
203 <el-col :span="6"> 214 <el-col :span="6">
204 <a style="color:blue;font-size: 12px;" @click="showFileUpload(2)">出入口照片</a> 215 <a style="color:blue;font-size: 12px;" @click="showFileUpload(2)">出入口照片</a>
205 - <vue-preview :slides="slides[2]"></vue-preview> 216 + <br/>
  217 + <el-image v-for="item in slides[2]"
  218 + style="width: 100px; height: 100px; margin: 5px;"
  219 + :src="item.url"
  220 + :preview-src-list="[item.url]"
  221 + :z-index="2000">
  222 + </el-image>
206 <el-input v-model="form.img2" type="hidden"></el-input> 223 <el-input v-model="form.img2" type="hidden"></el-input>
207 - <p v-for="img,index in form.img2">{{img.split("/")[img.split("/").length -1]}}<a @click="removeImage(2,img)" style="color:red"> x</a></p> 224 + <p v-for="(img,index) in form.img2">{{img.split("/")[img.split("/").length -1]}}<a @click="removeImage(2,img)" style="color:red"> x</a></p>
208 </el-col> 225 </el-col>
209 <el-col :span="6"> 226 <el-col :span="6">
210 <a style="color:blue;font-size: 12px;" @click="showFileUpload(3)">沉淀池照片</a> 227 <a style="color:blue;font-size: 12px;" @click="showFileUpload(3)">沉淀池照片</a>
211 - <vue-preview :slides="slides[3]"></vue-preview> 228 + <br/>
  229 + <el-image v-for="item in slides[3]"
  230 + style="width: 100px; height: 100px; margin: 5px;"
  231 + :src="item.url"
  232 + :preview-src-list="[item.url]"
  233 + :z-index="2000">
  234 + </el-image>
212 <el-input v-model="form.img3" type="hidden"></el-input> 235 <el-input v-model="form.img3" type="hidden"></el-input>
213 - <p v-for="img,index in form.img3">{{img.split("/")[img.split("/").length -1]}}<a @click="removeImage(3,img)" style="color:red"> x</a></p> 236 + <p v-for="(img,index) in form.img3">{{img.split("/")[img.split("/").length -1]}}<a @click="removeImage(3,img)" style="color:red"> x</a></p>
214 </el-col> 237 </el-col>
215 </el-row> 238 </el-row>
216 <el-row type="flex" justify="center" v-if="form.type != null"> 239 <el-row type="flex" justify="center" v-if="form.type != null">
217 <el-col :span="6"> 240 <el-col :span="6">
218 <a style="color:blue;font-size: 12px;" @click="showFileUpload(4)">硬质路面照片</a> 241 <a style="color:blue;font-size: 12px;" @click="showFileUpload(4)">硬质路面照片</a>
219 - <vue-preview :slides="slides[4]"></vue-preview> 242 + <br/>
  243 + <el-image v-for="item in slides[4]"
  244 + style="width: 100px; height: 100px; margin: 5px;"
  245 + :src="item.url"
  246 + :preview-src-list="[item.url]"
  247 + :z-index="2000">
  248 + </el-image>
220 <el-input v-model="form.img4" type="hidden"></el-input> 249 <el-input v-model="form.img4" type="hidden"></el-input>
221 - <p v-for="img,index in form.img4">{{img.split("/")[img.split("/").length -1]}}<a @click="removeImage(4,img)" style="color:red"> x</a></p> 250 + <p v-for="(img,index) in form.img4">{{img.split("/")[img.split("/").length -1]}}<a @click="removeImage(4,img)" style="color:red"> x</a></p>
222 </el-col> 251 </el-col>
223 <el-col :span="6"> 252 <el-col :span="6">
224 <a style="color:blue;font-size: 12px;" @click="showFileUpload(5)">{{form.type==0?"摄像头视频截图1":"洗车设施照片"}}</a> 253 <a style="color:blue;font-size: 12px;" @click="showFileUpload(5)">{{form.type==0?"摄像头视频截图1":"洗车设施照片"}}</a>
225 - <vue-preview :slides="slides[5]"></vue-preview> 254 + <br/>
  255 + <el-image v-for="item in slides[5]"
  256 + style="width: 100px; height: 100px; margin: 5px;"
  257 + :src="item.url"
  258 + :preview-src-list="[item.url]"
  259 + :z-index="2000">
  260 + </el-image>
226 <el-input v-model="form.img5" type="hidden"></el-input> 261 <el-input v-model="form.img5" type="hidden"></el-input>
227 - <p v-for="img,index in form.img5">{{img.split("/")[img.split("/").length -1]}}<a @click="removeImage(5,img)" style="color:red"> x</a></p> 262 + <p v-for="(img,index) in form.img5">{{img.split("/")[img.split("/").length -1]}}<a @click="removeImage(5,img)" style="color:red"> x</a></p>
228 </el-col> 263 </el-col>
229 <el-col :span="6"> 264 <el-col :span="6">
230 <a style="color:blue;font-size: 12px;" @click="showFileUpload(6)">{{form.type==0?"摄像头视频截图2":"雾炮机"}}</a> 265 <a style="color:blue;font-size: 12px;" @click="showFileUpload(6)">{{form.type==0?"摄像头视频截图2":"雾炮机"}}</a>
231 - <vue-preview :slides="slides[6]"></vue-preview> 266 + <br/>
  267 + <el-image v-for="item in slides[6]"
  268 + style="width: 100px; height: 100px; margin: 5px;"
  269 + :src="item.url"
  270 + :preview-src-list="[item.url]"
  271 + :z-index="2000">
  272 + </el-image>
232 <el-input v-model="form.img6" type="hidden"></el-input> 273 <el-input v-model="form.img6" type="hidden"></el-input>
233 - <p v-for="img,index in form.img6">{{img.split("/")[img.split("/").length -1]}}<a @click="removeImage(6,img)" style="color:red"> x</a></p> 274 + <p v-for="(img,index) in form.img6">{{img.split("/")[img.split("/").length -1]}}<a @click="removeImage(6,img)" style="color:red"> x</a></p>
234 </el-col> 275 </el-col>
235 <el-col :span="6"> 276 <el-col :span="6">
236 <a style="color:blue;font-size: 12px;" @click="showFileUpload(7)">{{form.type==0?"摄像头视频截图3":"裸露黄土覆盖照片"}}</a> 277 <a style="color:blue;font-size: 12px;" @click="showFileUpload(7)">{{form.type==0?"摄像头视频截图3":"裸露黄土覆盖照片"}}</a>
237 - <vue-preview :slides="slides[7]"></vue-preview> 278 + <br/>
  279 + <el-image v-for="item in slides[7]"
  280 + style="width: 100px; height: 100px; margin: 5px;"
  281 + :src="item.url"
  282 + :preview-src-list="[item.url]"
  283 + :z-index="2000">
  284 + </el-image>
238 <el-input v-model="form.img7" type="hidden"></el-input> 285 <el-input v-model="form.img7" type="hidden"></el-input>
239 - <p v-for="img,index in form.img7">{{img.split("/")[img.split("/").length -1]}}<a @click="removeImage(7,img)" style="color:red"> x</a></p> 286 + <p v-for="(img,index) in form.img7">{{img.split("/")[img.split("/").length -1]}}<a @click="removeImage(7,img)" style="color:red"> x</a></p>
240 </el-col> 287 </el-col>
241 </el-row> 288 </el-row>
242 <el-row type="flex" justify="center" v-if="form.type != null"> 289 <el-row type="flex" justify="center" v-if="form.type != null">
243 <el-col :span="5"> 290 <el-col :span="5">
244 <a style="color:blue;font-size: 12px;" @click="showFileUpload(8)">其他1</a> 291 <a style="color:blue;font-size: 12px;" @click="showFileUpload(8)">其他1</a>
245 - <vue-preview :slides="slides[8]"></vue-preview> 292 + <br/>
  293 + <el-image v-for="item in slides[8]"
  294 + style="width: 100px; height: 100px; margin: 5px;"
  295 + :src="item.url"
  296 + :preview-src-list="[item.url]"
  297 + :z-index="2000">
  298 + </el-image>
246 <el-input v-model="form.img8" type="hidden"></el-input> 299 <el-input v-model="form.img8" type="hidden"></el-input>
247 - <p v-for="img,index in form.img8">{{img.split("/")[img.split("/").length -1]}}<a @click="removeImage(8,img)" style="color:red"> x</a></p> 300 + <p v-for="(img,index) in form.img8">{{img.split("/")[img.split("/").length -1]}}<a @click="removeImage(8,img)" style="color:red"> x</a></p>
248 </el-col> 301 </el-col>
249 <el-col :span="5"> 302 <el-col :span="5">
250 <a style="color:blue;font-size: 12px;" @click="showFileUpload(9)">其他2</a> 303 <a style="color:blue;font-size: 12px;" @click="showFileUpload(9)">其他2</a>
251 - <vue-preview :slides="slides[9]"></vue-preview> 304 + <br/>
  305 + <el-image v-for="item in slides[9]"
  306 + style="width: 100px; height: 100px; margin: 5px;"
  307 + :src="item.url"
  308 + :preview-src-list="[item.url]"
  309 + :z-index="2000">
  310 + </el-image>
252 <el-input v-model="form.img9" type="hidden"></el-input> 311 <el-input v-model="form.img9" type="hidden"></el-input>
253 - <p v-for="img,index in form.img9">{{img.split("/")[img.split("/").length -1]}}<a @click="removeImage(9,img)" style="color:red"> x</a></p> 312 + <p v-for="(img,index) in form.img9">{{img.split("/")[img.split("/").length -1]}}<a @click="removeImage(9,img)" style="color:red"> x</a></p>
254 </el-col> 313 </el-col>
255 <el-col :span="5"> 314 <el-col :span="5">
256 <a style="color:blue;font-size: 12px;" @click="showFileUpload(10)">其他3</a> 315 <a style="color:blue;font-size: 12px;" @click="showFileUpload(10)">其他3</a>
257 - <vue-preview :slides="slides[10]"></vue-preview> 316 + <br/>
  317 + <el-image v-for="item in slides[10]"
  318 + style="width: 100px; height: 100px; margin: 5px;"
  319 + :src="item.url"
  320 + :preview-src-list="[item.url]"
  321 + :z-index="2000">
  322 + </el-image>
258 <el-input v-model="form.img10" type="hidden"></el-input> 323 <el-input v-model="form.img10" type="hidden"></el-input>
259 - <p v-for="img,index in form.img10">{{img.split("/")[img.split("/").length -1]}}<a @click="removeImage(10,img)" style="color:red"> x</a></p> 324 + <p v-for="(img,index) in form.img10">{{img.split("/")[img.split("/").length -1]}}<a @click="removeImage(10,img)" style="color:red"> x</a></p>
260 </el-col> 325 </el-col>
261 <el-col :span="5"> 326 <el-col :span="5">
262 <a style="color:blue;font-size: 12px;" @click="showFileUpload(11)">其他4</a> 327 <a style="color:blue;font-size: 12px;" @click="showFileUpload(11)">其他4</a>
263 - <vue-preview :slides="slides[11]"></vue-preview> 328 + <br/>
  329 + <el-image v-for="item in slides[11]"
  330 + style="width: 100px; height: 100px; margin: 5px;"
  331 + :src="item.url"
  332 + :preview-src-list="[item.url]"
  333 + :z-index="2000">
  334 + </el-image>
264 <el-input v-model="form.img11" type="hidden"></el-input> 335 <el-input v-model="form.img11" type="hidden"></el-input>
265 - <p v-for="img,index in form.img11">{{img.split("/")[img.split("/").length -1]}}<a @click="removeImage(11,img)" style="color:red"> x</a></p> 336 + <p v-for="(img,index) in form.img11">{{img.split("/")[img.split("/").length -1]}}<a @click="removeImage(11,img)" style="color:red"> x</a></p>
266 </el-col> 337 </el-col>
267 <el-col :span="4"> 338 <el-col :span="4">
268 <a style="color:blue;font-size: 12px;" @click="showFileUpload(12)">其他5</a> 339 <a style="color:blue;font-size: 12px;" @click="showFileUpload(12)">其他5</a>
269 - <vue-preview :slides="slides[12]"></vue-preview> 340 + <br/>
  341 + <el-image v-for="item in slides[12]"
  342 + style="width: 100px; height: 100px; margin: 5px;"
  343 + :src="item.url"
  344 + :preview-src-list="[item.url]"
  345 + :z-index="2000">
  346 + </el-image>
270 <el-input v-model="form.img12" type="hidden"></el-input> 347 <el-input v-model="form.img12" type="hidden"></el-input>
271 - <p v-for="img,index in form.img12">{{img.split("/")[img.split("/").length -1]}}<a @click="removeImage(12,img)" style="color:red"> x</a></p> 348 + <p v-for="(img,index) in form.img12">{{img.split("/")[img.split("/").length -1]}}<a @click="removeImage(12,img)" style="color:red"> x</a></p>
272 </el-col> 349 </el-col>
273 </el-row> 350 </el-row>
274 351
@@ -294,18 +371,39 @@ @@ -294,18 +371,39 @@
294 <el-row type="flex" justify="center"> 371 <el-row type="flex" justify="center">
295 <el-col :span="8"> 372 <el-col :span="8">
296 <a style="color:blue;font-size: 12px;" @click="showFileUpload(91)">附件1</a> 373 <a style="color:blue;font-size: 12px;" @click="showFileUpload(91)">附件1</a>
  374 + <br/>
  375 + <el-image v-for="item in slides[91]"
  376 + style="width: 100px; height: 100px; margin: 5px;"
  377 + :src="item.url"
  378 + :preview-src-list="[item.url]"
  379 + :z-index="2000">
  380 + </el-image>
297 <el-input v-model="form.attchItem1" type="hidden"></el-input> 381 <el-input v-model="form.attchItem1" type="hidden"></el-input>
298 - <p v-for="img,index in form.attchItem1">{{img.split("/")[img.split("/").length -1]}}<a @click="removeAttchItem(1,img)" style="color:red"> x</a></p> 382 + <p v-for="(img,index) in form.attchItem1">{{img.split("/")[img.split("/").length -1]}}<a @click="removeAttchItem(1,img,91)" style="color:red"> x</a></p>
299 </el-col> 383 </el-col>
300 <el-col :span="8"> 384 <el-col :span="8">
301 <a style="color:blue;font-size: 12px;" @click="showFileUpload(92)">附件2</a> 385 <a style="color:blue;font-size: 12px;" @click="showFileUpload(92)">附件2</a>
  386 + <br/>
  387 + <el-image v-for="item in slides[92]"
  388 + style="width: 100px; height: 100px; margin: 5px;"
  389 + :src="item.url"
  390 + :preview-src-list="[item.url]"
  391 + :z-index="2000">
  392 + </el-image>
302 <el-input v-model="form.attchItem2" type="hidden"></el-input> 393 <el-input v-model="form.attchItem2" type="hidden"></el-input>
303 - <p v-for="img,index in form.attchItem2">{{img.split("/")[img.split("/").length -1]}}<a @click="removeAttchItem(2,img)" style="color:red"> x</a></p> 394 + <p v-for="(img,index) in form.attchItem2">{{img.split("/")[img.split("/").length -1]}}<a @click="removeAttchItem(2,img,92)" style="color:red"> x</a></p>
304 </el-col> 395 </el-col>
305 <el-col :span="8"> 396 <el-col :span="8">
306 <a style="color:blue;font-size: 12px;" @click="showFileUpload(93)">附件3</a> 397 <a style="color:blue;font-size: 12px;" @click="showFileUpload(93)">附件3</a>
  398 + <br/>
  399 + <el-image v-for="item in slides[93]"
  400 + style="width: 100px; height: 100px; margin: 5px;"
  401 + :src="item.url"
  402 + :preview-src-list="[item.url]"
  403 + :z-index="2000">
  404 + </el-image>
307 <el-input v-model="form.attchItem3" type="hidden"></el-input> 405 <el-input v-model="form.attchItem3" type="hidden"></el-input>
308 - <p v-for="img,index in form.attchItem3">{{img.split("/")[img.split("/").length -1]}}<a @click="removeAttchItem(3,img)" style="color:red"> x</a></p> 406 + <p v-for="(img,index) in form.attchItem3">{{img.split("/")[img.split("/").length -1]}}<a @click="removeAttchItem(3,img,93)" style="color:red"> x</a></p>
309 </el-col> 407 </el-col>
310 </el-row> 408 </el-row>
311 </el-form> 409 </el-form>
@@ -326,7 +424,7 @@ @@ -326,7 +424,7 @@
326 <el-upload multiple :headers="upload.headers" :action="upload.url" :file-list="fileList" 424 <el-upload multiple :headers="upload.headers" :action="upload.url" :file-list="fileList"
327 :on-success="uploadSuccess" :before-upload="beforeUpload"> 425 :on-success="uploadSuccess" :before-upload="beforeUpload">
328 <el-button size="small" type="primary">选择附件</el-button> 426 <el-button size="small" type="primary">选择附件</el-button>
329 - <div slot="tip" class="el-upload__tip">只能上传不超过 20MB 的jpg pdf word文件</div> 427 + <div slot="tip" class="el-upload__tip">只能上传不超过 20MB 的jpg、png、pdf、word文件</div>
330 </el-upload> 428 </el-upload>
331 <div style="height: 40px;width:100%;"> 429 <div style="height: 40px;width:100%;">
332 <el-button type="primary" style="margin-top: 20px;float:right;" @click="handleClose">关闭</el-button> 430 <el-button type="primary" style="margin-top: 20px;float:right;" @click="handleClose">关闭</el-button>
trash-ui/src/views/business/threestep/threestepInfo.vue
@@ -72,117 +72,195 @@ @@ -72,117 +72,195 @@
72 <el-col :span="4"> 72 <el-col :span="4">
73 过水槽照片 73 过水槽照片
74 </el-col> 74 </el-col>
75 - <el-col :span="4" v-for="img,index in infoData.img0.split(',')" style="margin-bottom:10px;">  
76 - <vue-preview :slides="slides1(img)" v-if="img.indexOf('.jpg') > -1"></vue-preview>  
77 - <a @click="downloadFile(img);" style="color: blue;" v-if="img.indexOf('.jpg') == -1">{{img.split("/")[img.split("/").length -1]}}</a> 75 + <el-col :span="4" v-for="(img,index) in infoData.img0.split(',')" style="margin-bottom:10px;">
  76 + <el-image v-if="img.indexOf('.jpg') > -1 || img.indexOf('.png') > -1"
  77 + style="width: 100px; height: 100px; margin: 5px;"
  78 + :src="slides1(img)"
  79 + :preview-src-list="[slides1(img)]"
  80 + :z-index="2000">
  81 + </el-image>
  82 + <br/>
  83 + <a @click="downloadFile(img);" style="color: blue;">{{img.split("/")[img.split("/").length -1]}}</a>
78 </el-col> 84 </el-col>
79 </el-row> 85 </el-row>
80 <el-row v-if="infoData.img1" > 86 <el-row v-if="infoData.img1" >
81 <el-col :span="4"> 87 <el-col :span="4">
82 洗车平台照片 88 洗车平台照片
83 </el-col> 89 </el-col>
84 - <el-col :span="4" v-for="img,index in infoData.img1.split(',')" style="margin-bottom:10px;">  
85 - <vue-preview :slides="slides1(img)" v-if="img.indexOf('.jpg') > -1"></vue-preview>  
86 - <a @click="downloadFile(img);" style="color: blue;" v-if="img.indexOf('.jpg') == -1">{{img.split("/")[img.split("/").length -1]}}</a> 90 + <el-col :span="4" v-for="(img,index) in infoData.img1.split(',')" style="margin-bottom:10px;">
  91 + <el-image v-if="img.indexOf('.jpg') > -1 || img.indexOf('.png') > -1"
  92 + style="width: 100px; height: 100px; margin: 5px;"
  93 + :src="slides1(img)"
  94 + :preview-src-list="[slides1(img)]"
  95 + :z-index="2000">
  96 + </el-image>
  97 + <br/>
  98 + <a @click="downloadFile(img);" style="color: blue;" >{{img.split("/")[img.split("/").length -1]}}</a>
87 </el-col> 99 </el-col>
88 </el-row> 100 </el-row>
89 <el-row v-if="infoData.img2" > 101 <el-row v-if="infoData.img2" >
90 <el-col :span="4"> 102 <el-col :span="4">
91 出入口照片 103 出入口照片
92 </el-col> 104 </el-col>
93 - <el-col :span="4" v-for="img,index in infoData.img2.split(',')" style="margin-bottom:10px;">  
94 - <vue-preview :slides="slides1(img)" v-if="img.indexOf('.jpg') > -1"></vue-preview>  
95 - <a @click="downloadFile(img);" style="color: blue;" v-if="img.indexOf('.jpg') == -1">{{img.split("/")[img.split("/").length -1]}}</a> 105 + <el-col :span="4" v-for="(img,index) in infoData.img2.split(',')" style="margin-bottom:10px;">
  106 + <el-image v-if="img.indexOf('.jpg') > -1 || img.indexOf('.png') > -1"
  107 + style="width: 100px; height: 100px; margin: 5px;"
  108 + :src="slides1(img)"
  109 + :preview-src-list="[slides1(img)]"
  110 + :z-index="2000">
  111 + </el-image>
  112 + <br/>
  113 + <a @click="downloadFile(img);" style="color: blue;" >{{img.split("/")[img.split("/").length -1]}}</a>
96 </el-col> 114 </el-col>
97 </el-row> 115 </el-row>
98 <el-row v-if="infoData.img3" > 116 <el-row v-if="infoData.img3" >
99 <el-col :span="4"> 117 <el-col :span="4">
100 沉淀池照片 118 沉淀池照片
101 </el-col> 119 </el-col>
102 - <el-col :span="4" v-for="img,index in infoData.img3.split(',')" style="margin-bottom:10px;">  
103 - <vue-preview :slides="slides1(img)" v-if="img.indexOf('.jpg') > -1"></vue-preview>  
104 - <a @click="downloadFile(img);" style="color: blue;" v-if="img.indexOf('.jpg') == -1">{{img.split("/")[img.split("/").length -1]}}</a> 120 + <el-col :span="4" v-for="(img,index) in infoData.img3.split(',')" style="margin-bottom:10px;">
  121 + <el-image v-if="img.indexOf('.jpg') > -1 || img.indexOf('.png') > -1"
  122 + style="width: 100px; height: 100px; margin: 5px;"
  123 + :src="slides1(img)"
  124 + :preview-src-list="[slides1(img)]"
  125 + :z-index="2000">
  126 + </el-image>
  127 + <br/>
  128 + <a @click="downloadFile(img);" style="color: blue;" >{{img.split("/")[img.split("/").length -1]}}</a>
105 </el-col> 129 </el-col>
106 </el-row> 130 </el-row>
107 <el-row v-if="infoData.img4" > 131 <el-row v-if="infoData.img4" >
108 <el-col :span="4"> 132 <el-col :span="4">
109 硬质路面照片 133 硬质路面照片
110 </el-col> 134 </el-col>
111 - <el-col :span="4" v-for="img,index in infoData.img4.split(',')" style="margin-bottom:10px;">  
112 - <vue-preview :slides="slides1(img)" v-if="img.indexOf('.jpg') > -1"></vue-preview>  
113 - <a @click="downloadFile(img);" style="color: blue;" v-if="img.indexOf('.jpg') == -1">{{img.split("/")[img.split("/").length -1]}}</a> 135 + <el-col :span="4" v-for="(img,index) in infoData.img4.split(',')" style="margin-bottom:10px;">
  136 + <el-image v-if="img.indexOf('.jpg') > -1 || img.indexOf('.png') > -1"
  137 + style="width: 100px; height: 100px; margin: 5px;"
  138 + :src="slides1(img)"
  139 + :preview-src-list="[slides1(img)]"
  140 + :z-index="2000">
  141 + </el-image>
  142 + <br/>
  143 + <a @click="downloadFile(img);" style="color: blue;" >{{img.split("/")[img.split("/").length -1]}}</a>
114 </el-col> 144 </el-col>
115 </el-row> 145 </el-row>
116 <el-row v-if="infoData.img5" > 146 <el-row v-if="infoData.img5" >
117 <el-col :span="4"> 147 <el-col :span="4">
118 {{infoData.type==0?"摄像头视频截图1":"洗车设施照片"}} 148 {{infoData.type==0?"摄像头视频截图1":"洗车设施照片"}}
119 </el-col> 149 </el-col>
120 - <el-col :span="4" v-for="img,index in infoData.img5.split(',')" style="margin-bottom:10px;">  
121 - <vue-preview :slides="slides1(img)" v-if="img.indexOf('.jpg') > -1"></vue-preview>  
122 - <a @click="downloadFile(img);" style="color: blue;" v-if="img.indexOf('.jpg') == -1">{{img.split("/")[img.split("/").length -1]}}</a> 150 + <el-col :span="4" v-for="(img,index) in infoData.img5.split(',')" style="margin-bottom:10px;">
  151 + <el-image v-if="img.indexOf('.jpg') > -1 || img.indexOf('.png') > -1"
  152 + style="width: 100px; height: 100px; margin: 5px;"
  153 + :src="slides1(img)"
  154 + :preview-src-list="[slides1(img)]"
  155 + :z-index="2000">
  156 + </el-image>
  157 + <br/>
  158 + <a @click="downloadFile(img);" style="color: blue;" >{{img.split("/")[img.split("/").length -1]}}</a>
123 </el-col> 159 </el-col>
124 </el-row> 160 </el-row>
125 <el-row v-if="infoData.img6" > 161 <el-row v-if="infoData.img6" >
126 <el-col :span="4"> 162 <el-col :span="4">
127 {{infoData.type==0?"摄像头视频截图2":"雾炮机"}} 163 {{infoData.type==0?"摄像头视频截图2":"雾炮机"}}
128 </el-col> 164 </el-col>
129 - <el-col :span="4" v-for="img,index in infoData.img6.split(',')" style="margin-bottom:10px;">  
130 - <vue-preview :slides="slides1(img)" v-if="img.indexOf('.jpg') > -1"></vue-preview>  
131 - <a @click="downloadFile(img);" style="color: blue;" v-if="img.indexOf('.jpg') == -1">{{img.split("/")[img.split("/").length -1]}}</a> 165 + <el-col :span="4" v-for="(img,index) in infoData.img6.split(',')" style="margin-bottom:10px;">
  166 + <el-image v-if="img.indexOf('.jpg') > -1 || img.indexOf('.png') > -1"
  167 + style="width: 100px; height: 100px; margin: 5px;"
  168 + :src="slides1(img)"
  169 + :preview-src-list="[slides1(img)]"
  170 + :z-index="2000">
  171 + </el-image>
  172 + <br/>
  173 + <a @click="downloadFile(img);" style="color: blue;" >{{img.split("/")[img.split("/").length -1]}}</a>
132 </el-col> 174 </el-col>
133 </el-row> 175 </el-row>
134 <el-row v-if="infoData.img7" > 176 <el-row v-if="infoData.img7" >
135 <el-col :span="4"> 177 <el-col :span="4">
136 {{infoData.type==0?"摄像头视频截图3":"裸露黄土覆盖照片"}} 178 {{infoData.type==0?"摄像头视频截图3":"裸露黄土覆盖照片"}}
137 </el-col> 179 </el-col>
138 - <el-col :span="4" v-for="img,index in infoData.img7.split(',')" style="margin-bottom:10px;">  
139 - <vue-preview :slides="slides1(img)" v-if="img.indexOf('.jpg') > -1"></vue-preview>  
140 - <a @click="downloadFile(img);" style="color: blue;" v-if="img.indexOf('.jpg') == -1">{{img.split("/")[img.split("/").length -1]}}</a> 180 + <el-col :span="4" v-for="(img,index) in infoData.img7.split(',')" style="margin-bottom:10px;">
  181 + <el-image v-if="img.indexOf('.jpg') > -1 || img.indexOf('.png') > -1"
  182 + style="width: 100px; height: 100px; margin: 5px;"
  183 + :src="slides1(img)"
  184 + :preview-src-list="[slides1(img)]"
  185 + :z-index="2000">
  186 + </el-image>
  187 + <br/>
  188 + <a @click="downloadFile(img);" style="color: blue;" >{{img.split("/")[img.split("/").length -1]}}</a>
141 </el-col> 189 </el-col>
142 </el-row> 190 </el-row>
143 <el-row v-if="infoData.img8" > 191 <el-row v-if="infoData.img8" >
144 <el-col :span="4"> 192 <el-col :span="4">
145 其他1 193 其他1
146 </el-col> 194 </el-col>
147 - <el-col :span="4" v-for="img,index in infoData.img8.split(',')" style="margin-bottom:10px;">  
148 - <vue-preview :slides="slides1(img)" v-if="img.indexOf('.jpg') > -1"></vue-preview>  
149 - <a @click="downloadFile(img);" style="color: blue;" v-if="img.indexOf('.jpg') == -1">{{img.split("/")[img.split("/").length -1]}}</a> 195 + <el-col :span="4" v-for="(img,index) in infoData.img8.split(',')" style="margin-bottom:10px;">
  196 + <el-image v-if="img.indexOf('.jpg') > -1 || img.indexOf('.png') > -1"
  197 + style="width: 100px; height: 100px; margin: 5px;"
  198 + :src="slides1(img)"
  199 + :preview-src-list="[slides1(img)]"
  200 + :z-index="2000">
  201 + </el-image>
  202 + <br/>
  203 + <a @click="downloadFile(img);" style="color: blue;" >{{img.split("/")[img.split("/").length -1]}}</a>
150 </el-col> 204 </el-col>
151 </el-row> 205 </el-row>
152 <el-row v-if="infoData.img9" > 206 <el-row v-if="infoData.img9" >
153 <el-col :span="4"> 207 <el-col :span="4">
154 其他2 208 其他2
155 </el-col> 209 </el-col>
156 - <el-col :span="4" v-for="img,index in infoData.img9.split(',')" style="margin-bottom:10px;">  
157 - <vue-preview :slides="slides1(img)" v-if="img.indexOf('.jpg') > -1"></vue-preview>  
158 - <a @click="downloadFile(img);" style="color: blue;" v-if="img.indexOf('.jpg') == -1">{{img.split("/")[img.split("/").length -1]}}</a> 210 + <el-col :span="4" v-for="(img,index) in infoData.img9.split(',')" style="margin-bottom:10px;">
  211 + <el-image v-if="img.indexOf('.jpg') > -1 || img.indexOf('.png') > -1"
  212 + style="width: 100px; height: 100px; margin: 5px;"
  213 + :src="slides1(img)"
  214 + :preview-src-list="[slides1(img)]"
  215 + :z-index="2000">
  216 + </el-image>
  217 + <br/>
  218 + <a @click="downloadFile(img);" style="color: blue;" >{{img.split("/")[img.split("/").length -1]}}</a>
159 </el-col> 219 </el-col>
160 </el-row> 220 </el-row>
161 <el-row v-if="infoData.img10" > 221 <el-row v-if="infoData.img10" >
162 <el-col :span="4"> 222 <el-col :span="4">
163 其他3 223 其他3
164 </el-col> 224 </el-col>
165 - <el-col :span="4" v-for="img,index in infoData.img10.split(',')" style="margin-bottom:10px;">  
166 - <vue-preview :slides="slides1(img)" v-if="img.indexOf('.jpg') > -1"></vue-preview>  
167 - <a @click="downloadFile(img);" style="color: blue;" v-if="img.indexOf('.jpg') == -1">{{img.split("/")[img.split("/").length -1]}}</a> 225 + <el-col :span="4" v-for="(img,index) in infoData.img10.split(',')" style="margin-bottom:10px;">
  226 + <el-image v-if="img.indexOf('.jpg') > -1 || img.indexOf('.png') > -1"
  227 + style="width: 100px; height: 100px; margin: 5px;"
  228 + :src="slides1(img)"
  229 + :preview-src-list="[slides1(img)]"
  230 + :z-index="2000">
  231 + </el-image>
  232 + <br/>
  233 + <a @click="downloadFile(img);" style="color: blue;" >{{img.split("/")[img.split("/").length -1]}}</a>
168 </el-col> 234 </el-col>
169 </el-row> 235 </el-row>
170 <el-row v-if="infoData.img11" > 236 <el-row v-if="infoData.img11" >
171 <el-col :span="4"> 237 <el-col :span="4">
172 其他4 238 其他4
173 </el-col> 239 </el-col>
174 - <el-col :span="4" v-for="img,index in infoData.img11.split(',')" style="margin-bottom:10px;">  
175 - <vue-preview :slides="slides1(img)" v-if="img.indexOf('.jpg') > -1"></vue-preview>  
176 - <a @click="downloadFile(img);" style="color: blue;" v-if="img.indexOf('.jpg') == -1">{{img.split("/")[img.split("/").length -1]}}</a> 240 + <el-col :span="4" v-for="(img,index) in infoData.img11.split(',')" style="margin-bottom:10px;">
  241 + <el-image v-if="img.indexOf('.jpg') > -1 || img.indexOf('.png') > -1"
  242 + style="width: 100px; height: 100px; margin: 5px;"
  243 + :src="slides1(img)"
  244 + :preview-src-list="[slides1(img)]"
  245 + :z-index="2000">
  246 + </el-image>
  247 + <br/>
  248 + <a @click="downloadFile(img);" style="color: blue;" >{{img.split("/")[img.split("/").length -1]}}</a>
177 </el-col> 249 </el-col>
178 </el-row> 250 </el-row>
179 <el-row v-if="infoData.img12" > 251 <el-row v-if="infoData.img12" >
180 <el-col :span="4"> 252 <el-col :span="4">
181 其他5 253 其他5
182 </el-col> 254 </el-col>
183 - <el-col :span="4" v-for="img,index in infoData.img12.split(',')" style="margin-bottom:10px;">  
184 - <vue-preview :slides="slides1(img)" v-if="img.indexOf('.jpg') > -1"></vue-preview>  
185 - <a @click="downloadFile(img);" style="color: blue;" v-if="img.indexOf('.jpg') == -1">{{img.split("/")[img.split("/").length -1]}}</a> 255 + <el-col :span="4" v-for="(img,index) in infoData.img12.split(',')" style="margin-bottom:10px;">
  256 + <el-image v-if="img.indexOf('.jpg') > -1 || img.indexOf('.png') > -1"
  257 + style="width: 100px; height: 100px; margin: 5px;"
  258 + :src="slides1(img)"
  259 + :preview-src-list="[slides1(img)]"
  260 + :z-index="2000">
  261 + </el-image>
  262 + <br/>
  263 + <a @click="downloadFile(img);" style="color: blue;" >{{img.split("/")[img.split("/").length -1]}}</a>
186 </el-col> 264 </el-col>
187 </el-row> 265 </el-row>
188 266
@@ -222,117 +300,195 @@ @@ -222,117 +300,195 @@
222 <el-col :span="4"> 300 <el-col :span="4">
223 履职情况照片 301 履职情况照片
224 </el-col> 302 </el-col>
225 - <el-col :span="4" v-for="img,index in infoData.sub_img0.split(',')" style="margin-bottom:10px;">  
226 - <vue-preview :slides="slides1(img)" v-if="img.indexOf('.jpg') > -1"></vue-preview>  
227 - <a @click="downloadFile(img);" style="color: blue;" v-if="img.indexOf('.jpg') == -1">{{img.split("/")[img.split("/").length -1]}}</a> 303 + <el-col :span="4" v-for="(img,index) in infoData.sub_img0.split(',')" style="margin-bottom:10px;">
  304 + <el-image v-if="img.indexOf('.jpg') > -1 || img.indexOf('.png') > -1"
  305 + style="width: 100px; height: 100px; margin: 5px;"
  306 + :src="slides1(img)"
  307 + :preview-src-list="[slides1(img)]"
  308 + :z-index="2000">
  309 + </el-image>
  310 + <br/>
  311 + <a @click="downloadFile(img);" style="color: blue;" >{{img.split("/")[img.split("/").length -1]}}</a>
228 </el-col> 312 </el-col>
229 </el-row> 313 </el-row>
230 <el-row v-if="infoData.sub_img1" > 314 <el-row v-if="infoData.sub_img1" >
231 <el-col :span="4"> 315 <el-col :span="4">
232 水枪水嘴照片 316 水枪水嘴照片
233 </el-col> 317 </el-col>
234 - <el-col :span="4" v-for="img,index in infoData.sub_img1.split(',')" style="margin-bottom:10px;">  
235 - <vue-preview :slides="slides1(img)" v-if="img.indexOf('.jpg') > -1"></vue-preview>  
236 - <a @click="downloadFile(img);" style="color: blue;" v-if="img.indexOf('.jpg') == -1">{{img.split("/")[img.split("/").length -1]}}</a> 318 + <el-col :span="4" v-for="(img,index) in infoData.sub_img1.split(',')" style="margin-bottom:10px;">
  319 + <el-image v-if="img.indexOf('.jpg') > -1 || img.indexOf('.png') > -1"
  320 + style="width: 100px; height: 100px; margin: 5px;"
  321 + :src="slides1(img)"
  322 + :preview-src-list="[slides1(img)]"
  323 + :z-index="2000">
  324 + </el-image>
  325 + <br/>
  326 + <a @click="downloadFile(img);" style="color: blue;" >{{img.split("/")[img.split("/").length -1]}}</a>
237 </el-col> 327 </el-col>
238 </el-row> 328 </el-row>
239 <el-row v-if="infoData.sub_img2" > 329 <el-row v-if="infoData.sub_img2" >
240 <el-col :span="4"> 330 <el-col :span="4">
241 照明照片 331 照明照片
242 </el-col> 332 </el-col>
243 - <el-col :span="4" v-for="img,index in infoData.sub_img2.split(',')" style="margin-bottom:10px;">  
244 - <vue-preview :slides="slides1(img)" v-if="img.indexOf('.jpg') > -1"></vue-preview>  
245 - <a @click="downloadFile(img);" style="color: blue;" v-if="img.indexOf('.jpg') == -1">{{img.split("/")[img.split("/").length -1]}}</a> 333 + <el-col :span="4" v-for="(img,index) in infoData.sub_img2.split(',')" style="margin-bottom:10px;">
  334 + <el-image v-if="img.indexOf('.jpg') > -1 || img.indexOf('.png') > -1"
  335 + style="width: 100px; height: 100px; margin: 5px;"
  336 + :src="slides1(img)"
  337 + :preview-src-list="[slides1(img)]"
  338 + :z-index="2000">
  339 + </el-image>
  340 + <br/>
  341 + <a @click="downloadFile(img);" style="color: blue;" >{{img.split("/")[img.split("/").length -1]}}</a>
246 </el-col> 342 </el-col>
247 </el-row> 343 </el-row>
248 <el-row v-if="infoData.sub_img3" > 344 <el-row v-if="infoData.sub_img3" >
249 <el-col :span="4"> 345 <el-col :span="4">
250 视频监控照片 346 视频监控照片
251 </el-col> 347 </el-col>
252 - <el-col :span="4" v-for="img,index in infoData.sub_img3.split(',')" style="margin-bottom:10px;">  
253 - <vue-preview :slides="slides1(img)" v-if="img.indexOf('.jpg') > -1"></vue-preview>  
254 - <a @click="downloadFile(img);" style="color: blue;" v-if="img.indexOf('.jpg') == -1">{{img.split("/")[img.split("/").length -1]}}</a> 348 + <el-col :span="4" v-for="(img,index) in infoData.sub_img3.split(',')" style="margin-bottom:10px;">
  349 + <el-image v-if="img.indexOf('.jpg') > -1 || img.indexOf('.png') > -1"
  350 + style="width: 100px; height: 100px; margin: 5px;"
  351 + :src="slides1(img)"
  352 + :preview-src-list="[slides1(img)]"
  353 + :z-index="2000">
  354 + </el-image>
  355 + <br/>
  356 + <a @click="downloadFile(img);" style="color: blue;" >{{img.split("/")[img.split("/").length -1]}}</a>
255 </el-col> 357 </el-col>
256 </el-row> 358 </el-row>
257 <el-row v-if="infoData.sub_img4" > 359 <el-row v-if="infoData.sub_img4" >
258 <el-col :span="4"> 360 <el-col :span="4">
259 洗车机照片 361 洗车机照片
260 </el-col> 362 </el-col>
261 - <el-col :span="4" v-for="img,index in infoData.sub_img4.split(',')" style="margin-bottom:10px;">  
262 - <vue-preview :slides="slides1(img)" v-if="img.indexOf('.jpg') > -1"></vue-preview>  
263 - <a @click="downloadFile(img);" style="color: blue;" v-if="img.indexOf('.jpg') == -1">{{img.split("/")[img.split("/").length -1]}}</a> 363 + <el-col :span="4" v-for="(img,index) in infoData.sub_img4.split(',')" style="margin-bottom:10px;">
  364 + <el-image v-if="img.indexOf('.jpg') > -1 || img.indexOf('.png') > -1"
  365 + style="width: 100px; height: 100px; margin: 5px;"
  366 + :src="slides1(img)"
  367 + :preview-src-list="[slides1(img)]"
  368 + :z-index="2000">
  369 + </el-image>
  370 + <br/>
  371 + <a @click="downloadFile(img);" style="color: blue;" >{{img.split("/")[img.split("/").length -1]}}</a>
264 </el-col> 372 </el-col>
265 </el-row> 373 </el-row>
266 <el-row v-if="infoData.sub_img5" > 374 <el-row v-if="infoData.sub_img5" >
267 <el-col :span="4"> 375 <el-col :span="4">
268 {{infoData.type==0?"摄像头视频截图1":"洗车设施照片"}} 376 {{infoData.type==0?"摄像头视频截图1":"洗车设施照片"}}
269 </el-col> 377 </el-col>
270 - <el-col :span="4" v-for="img,index in infoData.sub_img5.split(',')" style="margin-bottom:10px;">  
271 - <vue-preview :slides="slides1(img)" v-if="img.indexOf('.jpg') > -1"></vue-preview>  
272 - <a @click="downloadFile(img);" style="color: blue;" v-if="img.indexOf('.jpg') == -1">{{img.split("/")[img.split("/").length -1]}}</a> 378 + <el-col :span="4" v-for="(img,index) in infoData.sub_img5.split(',')" style="margin-bottom:10px;">
  379 + <el-image v-if="img.indexOf('.jpg') > -1 || img.indexOf('.png') > -1"
  380 + style="width: 100px; height: 100px; margin: 5px;"
  381 + :src="slides1(img)"
  382 + :preview-src-list="[slides1(img)]"
  383 + :z-index="2000">
  384 + </el-image>
  385 + <br/>
  386 + <a @click="downloadFile(img);" style="color: blue;" >{{img.split("/")[img.split("/").length -1]}}</a>
273 </el-col> 387 </el-col>
274 </el-row> 388 </el-row>
275 <el-row v-if="infoData.sub_img6" > 389 <el-row v-if="infoData.sub_img6" >
276 <el-col :span="4"> 390 <el-col :span="4">
277 {{infoData.type==0?"摄像头视频截图2":"雾炮机"}} 391 {{infoData.type==0?"摄像头视频截图2":"雾炮机"}}
278 </el-col> 392 </el-col>
279 - <el-col :span="4" v-for="img,index in infoData.sub_img6.split(',')" style="margin-bottom:10px;">  
280 - <vue-preview :slides="slides1(img)" v-if="img.indexOf('.jpg') > -1"></vue-preview>  
281 - <a @click="downloadFile(img);" style="color: blue;" v-if="img.indexOf('.jpg') == -1">{{img.split("/")[img.split("/").length -1]}}</a> 393 + <el-col :span="4" v-for="(img,index) in infoData.sub_img6.split(',')" style="margin-bottom:10px;">
  394 + <el-image v-if="img.indexOf('.jpg') > -1 || img.indexOf('.png') > -1"
  395 + style="width: 100px; height: 100px; margin: 5px;"
  396 + :src="slides1(img)"
  397 + :preview-src-list="[slides1(img)]"
  398 + :z-index="2000">
  399 + </el-image>
  400 + <br/>
  401 + <a @click="downloadFile(img);" style="color: blue;" >{{img.split("/")[img.split("/").length -1]}}</a>
282 </el-col> 402 </el-col>
283 </el-row> 403 </el-row>
284 <el-row v-if="infoData.sub_img7" > 404 <el-row v-if="infoData.sub_img7" >
285 <el-col :span="4"> 405 <el-col :span="4">
286 {{infoData.type==0?"摄像头视频截图3":"裸露黄土覆盖照片"}} 406 {{infoData.type==0?"摄像头视频截图3":"裸露黄土覆盖照片"}}
287 </el-col> 407 </el-col>
288 - <el-col :span="4" v-for="img,index in infoData.sub_img7.split(',')" style="margin-bottom:10px;">  
289 - <vue-preview :slides="slides1(img)" v-if="img.indexOf('.jpg') > -1"></vue-preview>  
290 - <a @click="downloadFile(img);" style="color: blue;" v-if="img.indexOf('.jpg') == -1">{{img.split("/")[img.split("/").length -1]}}</a> 408 + <el-col :span="4" v-for="(img,index) in infoData.sub_img7.split(',')" style="margin-bottom:10px;">
  409 + <el-image v-if="img.indexOf('.jpg') > -1 || img.indexOf('.png') > -1"
  410 + style="width: 100px; height: 100px; margin: 5px;"
  411 + :src="slides1(img)"
  412 + :preview-src-list="[slides1(img)]"
  413 + :z-index="2000">
  414 + </el-image>
  415 + <br/>
  416 + <a @click="downloadFile(img);" style="color: blue;" >{{img.split("/")[img.split("/").length -1]}}</a>
291 </el-col> 417 </el-col>
292 </el-row> 418 </el-row>
293 <el-row v-if="infoData.sub_img8" > 419 <el-row v-if="infoData.sub_img8" >
294 <el-col :span="4"> 420 <el-col :span="4">
295 其他1 421 其他1
296 </el-col> 422 </el-col>
297 - <el-col :span="4" v-for="img,index in infoData.sub_img8.split(',')" style="margin-bottom:10px;">  
298 - <vue-preview :slides="slides1(img)" v-if="img.indexOf('.jpg') > -1"></vue-preview>  
299 - <a @click="downloadFile(img);" style="color: blue;" v-if="img.indexOf('.jpg') == -1">{{img.split("/")[img.split("/").length -1]}}</a> 423 + <el-col :span="4" v-for="(img,index) in infoData.sub_img8.split(',')" style="margin-bottom:10px;">
  424 + <el-image v-if="img.indexOf('.jpg') > -1 || img.indexOf('.png') > -1"
  425 + style="width: 100px; height: 100px; margin: 5px;"
  426 + :src="slides1(img)"
  427 + :preview-src-list="[slides1(img)]"
  428 + :z-index="2000">
  429 + </el-image>
  430 + <br/>
  431 + <a @click="downloadFile(img);" style="color: blue;" >{{img.split("/")[img.split("/").length -1]}}</a>
300 </el-col> 432 </el-col>
301 </el-row> 433 </el-row>
302 <el-row v-if="infoData.sub_img9" > 434 <el-row v-if="infoData.sub_img9" >
303 <el-col :span="4"> 435 <el-col :span="4">
304 其他2 436 其他2
305 </el-col> 437 </el-col>
306 - <el-col :span="4" v-for="img,index in infoData.sub_img9.split(',')" style="margin-bottom:10px;">  
307 - <vue-preview :slides="slides1(img)" v-if="img.indexOf('.jpg') > -1"></vue-preview>  
308 - <a @click="downloadFile(img);" style="color: blue;" v-if="img.indexOf('.jpg') == -1">{{img.split("/")[img.split("/").length -1]}}</a> 438 + <el-col :span="4" v-for="(img,index) in infoData.sub_img9.split(',')" style="margin-bottom:10px;">
  439 + <el-image v-if="img.indexOf('.jpg') > -1 || img.indexOf('.png') > -1"
  440 + style="width: 100px; height: 100px; margin: 5px;"
  441 + :src="slides1(img)"
  442 + :preview-src-list="[slides1(img)]"
  443 + :z-index="2000">
  444 + </el-image>
  445 + <br/>
  446 + <a @click="downloadFile(img);" style="color: blue;" >{{img.split("/")[img.split("/").length -1]}}</a>
309 </el-col> 447 </el-col>
310 </el-row> 448 </el-row>
311 <el-row v-if="infoData.sub_img10" > 449 <el-row v-if="infoData.sub_img10" >
312 <el-col :span="4"> 450 <el-col :span="4">
313 其他3 451 其他3
314 </el-col> 452 </el-col>
315 - <el-col :span="4" v-for="img,index in infoData.sub_img10.split(',')" style="margin-bottom:10px;">  
316 - <vue-preview :slides="slides1(img)" v-if="img.indexOf('.jpg') > -1"></vue-preview>  
317 - <a @click="downloadFile(img);" style="color: blue;" v-if="img.indexOf('.jpg') == -1">{{img.split("/")[img.split("/").length -1]}}</a> 453 + <el-col :span="4" v-for="(img,index) in infoData.sub_img10.split(',')" style="margin-bottom:10px;">
  454 + <el-image v-if="img.indexOf('.jpg') > -1 || img.indexOf('.png') > -1"
  455 + style="width: 100px; height: 100px; margin: 5px;"
  456 + :src="slides1(img)"
  457 + :preview-src-list="[slides1(img)]"
  458 + :z-index="2000">
  459 + </el-image>
  460 + <br/>
  461 + <a @click="downloadFile(img);" style="color: blue;" >{{img.split("/")[img.split("/").length -1]}}</a>
318 </el-col> 462 </el-col>
319 </el-row> 463 </el-row>
320 <el-row v-if="infoData.sub_img11" > 464 <el-row v-if="infoData.sub_img11" >
321 <el-col :span="4"> 465 <el-col :span="4">
322 其他4 466 其他4
323 </el-col> 467 </el-col>
324 - <el-col :span="4" v-for="img,index in infoData.sub_img11.split(',')" style="margin-bottom:10px;">  
325 - <vue-preview :slides="slides1(img)" v-if="img.indexOf('.jpg') > -1"></vue-preview>  
326 - <a @click="downloadFile(img);" style="color: blue;" v-if="img.indexOf('.jpg') == -1">{{img.split("/")[img.split("/").length -1]}}</a> 468 + <el-col :span="4" v-for="(img,index) in infoData.sub_img11.split(',')" style="margin-bottom:10px;">
  469 + <el-image v-if="img.indexOf('.jpg') > -1 || img.indexOf('.png') > -1"
  470 + style="width: 100px; height: 100px; margin: 5px;"
  471 + :src="slides1(img)"
  472 + :preview-src-list="[slides1(img)]"
  473 + :z-index="2000">
  474 + </el-image>
  475 + <br/>
  476 + <a @click="downloadFile(img);" style="color: blue;" >{{img.split("/")[img.split("/").length -1]}}</a>
327 </el-col> 477 </el-col>
328 </el-row> 478 </el-row>
329 <el-row v-if="infoData.sub_img12" > 479 <el-row v-if="infoData.sub_img12" >
330 <el-col :span="4"> 480 <el-col :span="4">
331 其他5 481 其他5
332 </el-col> 482 </el-col>
333 - <el-col :span="4" v-for="img,index in infoData.sub_img12.split(',')" style="margin-bottom:10px;">  
334 - <vue-preview :slides="slides1(img)" v-if="img.indexOf('.jpg') > -1"></vue-preview>  
335 - <a @click="downloadFile(img);" style="color: blue;" v-if="img.indexOf('.jpg') == -1">{{img.split("/")[img.split("/").length -1]}}</a> 483 + <el-col :span="4" v-for="(img,index) in infoData.sub_img12.split(',')" style="margin-bottom:10px;">
  484 + <el-image v-if="img.indexOf('.jpg') > -1 || img.indexOf('.png') > -1"
  485 + style="width: 100px; height: 100px; margin: 5px;"
  486 + :src="slides1(img)"
  487 + :preview-src-list="[slides1(img)]"
  488 + :z-index="2000">
  489 + </el-image>
  490 + <br/>
  491 + <a @click="downloadFile(img);" style="color: blue;" >{{img.split("/")[img.split("/").length -1]}}</a>
336 </el-col> 492 </el-col>
337 </el-row> 493 </el-row>
338 494
@@ -361,27 +517,45 @@ @@ -361,27 +517,45 @@
361 <el-col :span="4"> 517 <el-col :span="4">
362 附件1 518 附件1
363 </el-col> 519 </el-col>
364 - <el-col :span="4" v-for="img,index in infoData.attchItem1.split(',')" style="margin-bottom:10px;">  
365 - <vue-preview :slides="slides1(img)" v-if="img.indexOf('.jpg') > -1"></vue-preview>  
366 - <a @click="downloadFile(img);" style="color: blue;" v-if="img.indexOf('.jpg') == -1">{{img.split("/")[img.split("/").length -1]}}</a> 520 + <el-col :span="4" v-for="(img,index) in infoData.attchItem1.split(',')" style="margin-bottom:10px;">
  521 + <el-image v-if="img.indexOf('.jpg') > -1 || img.indexOf('.png') > -1"
  522 + style="width: 100px; height: 100px; margin: 5px;"
  523 + :src="slides1(img)"
  524 + :preview-src-list="[slides1(img)]"
  525 + :z-index="2000">
  526 + </el-image>
  527 + <br/>
  528 + <a @click="downloadFile(img);" style="color: blue;" >{{img.split("/")[img.split("/").length -1]}}</a>
367 </el-col> 529 </el-col>
368 </el-row> 530 </el-row>
369 <el-row v-if="infoData.attchItem2" > 531 <el-row v-if="infoData.attchItem2" >
370 <el-col :span="4"> 532 <el-col :span="4">
371 附件2 533 附件2
372 </el-col> 534 </el-col>
373 - <el-col :span="4" v-for="img,index in infoData.attchItem2.split(',')" style="margin-bottom:10px;">  
374 - <vue-preview :slides="slides1(img)" v-if="img.indexOf('.jpg') > -1"></vue-preview>  
375 - <a @click="downloadFile(img);" style="color: blue;" v-if="img.indexOf('.jpg') == -1">{{img.split("/")[img.split("/").length -1]}}</a> 535 + <el-col :span="4" v-for="(img,index) in infoData.attchItem2.split(',')" style="margin-bottom:10px;">
  536 + <el-image v-if="img.indexOf('.jpg') > -1 || img.indexOf('.png') > -1"
  537 + style="width: 100px; height: 100px; margin: 5px;"
  538 + :src="slides1(img)"
  539 + :preview-src-list="[slides1(img)]"
  540 + :z-index="2000">
  541 + </el-image>
  542 + <br/>
  543 + <a @click="downloadFile(img);" style="color: blue;" >{{img.split("/")[img.split("/").length -1]}}</a>
376 </el-col> 544 </el-col>
377 </el-row> 545 </el-row>
378 <el-row v-if="infoData.attchItem3" > 546 <el-row v-if="infoData.attchItem3" >
379 <el-col :span="4"> 547 <el-col :span="4">
380 附件3 548 附件3
381 </el-col> 549 </el-col>
382 - <el-col :span="4" v-for="img,index in infoData.attchItem3.split(',')" style="margin-bottom:10px;">  
383 - <vue-preview :slides="slides1(img)" v-if="img.indexOf('.jpg') > -1"></vue-preview>  
384 - <a @click="downloadFile(img);" style="color: blue;" v-if="img.indexOf('.jpg') == -1">{{img.split("/")[img.split("/").length -1]}}</a> 550 + <el-col :span="4" v-for="(img,index) in infoData.attchItem3.split(',')" style="margin-bottom:10px;">
  551 + <el-image v-if="img.indexOf('.jpg') > -1 || img.indexOf('.png') > -1"
  552 + style="width: 100px; height: 100px; margin: 5px;"
  553 + :src="slides1(img)"
  554 + :preview-src-list="[slides1(img)]"
  555 + :z-index="2000">
  556 + </el-image>
  557 + <br/>
  558 + <a @click="downloadFile(img);" style="color: blue;" >{{img.split("/")[img.split("/").length -1]}}</a>
385 </el-col> 559 </el-col>
386 </el-row> 560 </el-row>
387 </el-form> 561 </el-form>
@@ -393,7 +567,7 @@ @@ -393,7 +567,7 @@
393 </template> 567 </template>
394 568
395 569
396 -<script src="../../../api/threestepInfo"> 570 +<script src="@/api/threestepInfo">
397 571
398 <style> 572 <style>
399 </style> 573 </style>
trash-ui/src/views/caseOffline/caseOffline/caseOfflineInfo.vue
1 <template> 1 <template>
2 2
3 <div> 3 <div>
4 - <el-form ref="form" :model="form" :rules="rules" label-width="80px">  
5 - <el-form-item label="案卷类型" prop="type">  
6 - <el-input v-model="form.type" type="textarea" :rows="3" disabled />  
7 - </el-form-item>  
8 - <el-form-item label="所属区域" prop="place">  
9 - <el-select v-model="form.place" placeholder="请输入所属区域" size="small" disabled>  
10 - <el-option v-for="item in areas" :label="item.name" :value="item.code" />  
11 - </el-select>  
12 - </el-form-item>  
13 - <el-form-item label="类型" prop="siteType">  
14 - <el-select v-model="form.siteType" placeholder="请选择类型" disabled>  
15 - <el-option label="工地" value="0" />  
16 - <el-option label="处理场所" value="1" />  
17 - </el-select>  
18 - </el-form-item>  
19 - <el-form-item :label="form.siteType==0?'工地名称':'处理场所名称'" prop="siteName">  
20 - <el-select v-model="form.siteName" placeholder="请选择类型" disabled>  
21 - <el-option v-for="item in data[form.siteType]" :label="item.name" :value="item.name" @native.click="getSite(item)" disabled/>  
22 - </el-select>  
23 - </el-form-item>  
24 - <el-form-item label="问题描述" prop="caseDec">  
25 - <el-input v-model="form.caseDec" type="textarea" maxlength="200" :rows="3" disabled/>  
26 - </el-form-item>  
27 - <el-form-item label="位置描述" prop="locationDec">  
28 - <el-input v-model="form.locationDec" type="textarea" maxlength="100" :rows="3" disabled/>  
29 - </el-form-item>  
30 - <el-form-item label="审批意见" prop="advice1">  
31 - <el-input v-model="form.advice1" type="textarea" :rows="3" disabled/>  
32 - </el-form-item>  
33 -  
34 - <el-form-item label="案卷编号" prop="number">  
35 - <el-input v-model="form.number" disabled/>  
36 - </el-form-item>  
37 -  
38 - <el-form-item label="附件" prop="attach">  
39 - <el-input v-model="form.attach" type="hidden"></el-input>  
40 - <a @click="downloadFile(img);" style="color: blue;" v-for="img,index in form.attach">附件 - {{index+1}}</a>  
41 - </el-form-item>  
42 -  
43 -  
44 - <el-table :data="adviceList" v-if="adviceList != null">  
45 - <el-table-column label="用户" width="55" align="center" prop="name"/>  
46 - <el-table-column label="审批内容" align="center" prop="text" />  
47 - <el-table-column label="时间" align="center" prop="time" />  
48 - </el-table>  
49 -  
50 -  
51 - </el-form> 4 + <el-form ref="form" :model="form" :rules="rules" label-width="80px">
  5 + <el-form-item label="案卷类型" prop="type">
  6 + <el-input v-model="form.type" type="textarea" :rows="3" disabled/>
  7 + </el-form-item>
  8 + <el-form-item label="所属区域" prop="place">
  9 + <el-select v-model="form.place" placeholder="请输入所属区域" size="small" disabled>
  10 + <el-option v-for="item in areas" :label="item.name" :value="item.code"/>
  11 + </el-select>
  12 + </el-form-item>
  13 + <el-form-item label="类型" prop="siteType">
  14 + <el-select v-model="form.siteType" placeholder="请选择类型" disabled>
  15 + <el-option label="工地" value="0"/>
  16 + <el-option label="处理场所" value="1"/>
  17 + </el-select>
  18 + </el-form-item>
  19 + <el-form-item :label="form.siteType==0?'工地名称':'处理场所名称'" prop="siteName">
  20 + <el-select v-model="form.siteName" placeholder="请选择类型" disabled>
  21 + <el-option v-for="item in data[form.siteType]" :label="item.name" :value="item.name"
  22 + @native.click="getSite(item)" disabled/>
  23 + </el-select>
  24 + </el-form-item>
  25 + <el-form-item label="问题描述" prop="caseDec">
  26 + <el-input v-model="form.caseDec" type="textarea" maxlength="200" :rows="3" disabled/>
  27 + </el-form-item>
  28 + <el-form-item label="位置描述" prop="locationDec">
  29 + <el-input v-model="form.locationDec" type="textarea" maxlength="100" :rows="3" disabled/>
  30 + </el-form-item>
  31 + <el-form-item label="审批意见" prop="advice1">
  32 + <el-input v-model="form.advice1" type="textarea" :rows="3" disabled/>
  33 + </el-form-item>
  34 +
  35 + <el-form-item label="案卷编号" prop="number">
  36 + <el-input v-model="form.number" disabled/>
  37 + </el-form-item>
  38 +
  39 + <el-form-item label="附件" prop="attach">
  40 + <el-image v-for="(item,index) in form.attach"
  41 + v-if="item.indexOf('.png') != -1||item.indexOf('.jpg') != -1"
  42 + style="width: 100px; height: 100px; margin: 5px;"
  43 + :src="showSlides(item)"
  44 + :preview-src-list="[showSlides(item)]"
  45 + :z-index="2000">
  46 + </el-image>
  47 + <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>
  49 + </el-form-item>
  50 +
  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"/>
  56 + </el-table>
  57 +
  58 +
  59 + </el-form>
52 <el-dialog title="" :visible.sync="showPic" append-to-body width="400px"> 60 <el-dialog title="" :visible.sync="showPic" append-to-body width="400px">
53 - <img :src="picImage" width="100%" height="400px" /> 61 + <img :src="picImage" width="100%" height="400px"/>
54 </el-dialog> 62 </el-dialog>
55 </div> 63 </div>
56 </template> 64 </template>
57 65
58 -<script src="../../../api/caseOfflineInfo"> 66 +<script src="@/api/caseOfflineInfo">
59 67
60 </script> 68 </script>
trash-ui/src/views/caseOffline/caseOffline/index.vue
@@ -2,21 +2,21 @@ @@ -2,21 +2,21 @@
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 v-for="item in caseType" :label="item.name" :value="item.code" /> 5 + <el-select v-model="queryParams.type" placeholder="请选择案卷类型" size="small">
  6 + <el-option v-for="item in caseType" :label="item.name" :value="item.code"/>
7 </el-select> 7 </el-select>
8 </el-form-item> 8 </el-form-item>
9 <el-form-item label="所属区域" prop="place"> 9 <el-form-item label="所属区域" prop="place">
10 - <el-select v-model="queryParams.place" placeholder="请选择所属区域" size="small">  
11 - <el-option v-for="item in areas" :label="item.name" :value="item.code" /> 10 + <el-select v-model="queryParams.place" placeholder="请选择所属区域" size="small">
  11 + <el-option v-for="item in areas" :label="item.name" :value="item.code"/>
12 </el-select> 12 </el-select>
13 </el-form-item> 13 </el-form-item>
14 <el-form-item label="时间" prop="createTime"> 14 <el-form-item label="时间" prop="createTime">
15 - <el-date-picker size="small" style="width: 200px"  
16 - v-model="queryParams.createTime"  
17 - type="date"  
18 - value-format="yyyy-MM-dd"  
19 - placeholder="选择时间"> 15 + <el-date-picker size="small" style="width: 200px"
  16 + v-model="queryParams.createTime"
  17 + type="date"
  18 + value-format="yyyy-MM-dd"
  19 + placeholder="选择时间">
20 </el-date-picker> 20 </el-date-picker>
21 </el-form-item> 21 </el-form-item>
22 <el-form-item> 22 <el-form-item>
@@ -33,7 +33,8 @@ @@ -33,7 +33,8 @@
33 size="mini" 33 size="mini"
34 @click="handleAdd" 34 @click="handleAdd"
35 v-hasPermi="['caseOffline:caseOffline:add']" 35 v-hasPermi="['caseOffline:caseOffline:add']"
36 - >新增</el-button> 36 + >新增
  37 + </el-button>
37 </el-col> 38 </el-col>
38 <el-col :span="1.5"> 39 <el-col :span="1.5">
39 <el-button 40 <el-button
@@ -42,15 +43,16 @@ @@ -42,15 +43,16 @@
42 size="mini" 43 size="mini"
43 @click="handleExport" 44 @click="handleExport"
44 v-hasPermi="['caseOffline:caseOffline:export']" 45 v-hasPermi="['caseOffline:caseOffline:export']"
45 - >导出</el-button> 46 + >导出
  47 + </el-button>
46 </el-col> 48 </el-col>
47 </el-row> 49 </el-row>
48 50
49 <el-table v-loading="loading" :data="caseOfflineList" @selection-change="handleSelectionChange"> 51 <el-table v-loading="loading" :data="caseOfflineList" @selection-change="handleSelectionChange">
50 - <el-table-column label="序号" align="center" type="index" />  
51 - <el-table-column label="案卷编号" align="center" prop="number" />  
52 - <el-table-column label="案卷类型" align="center" prop="type" />  
53 - <el-table-column label="所属区域" align="center" prop="place" /> 52 + <el-table-column label="序号" align="center" type="index"/>
  53 + <el-table-column label="案卷编号" align="center" prop="number"/>
  54 + <el-table-column label="案卷类型" align="center" prop="type"/>
  55 + <el-table-column label="所属区域" align="center" prop="place"/>
54 <el-table-column label="时间" align="center" prop="createTime" width="180"> 56 <el-table-column label="时间" align="center" prop="createTime" width="180">
55 </el-table-column> 57 </el-table-column>
56 <el-table-column label="操作" align="center" class-name="small-padding fixed-width"> 58 <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
@@ -60,7 +62,8 @@ @@ -60,7 +62,8 @@
60 type="text" 62 type="text"
61 @click="handleUpdate(scope.row)" 63 @click="handleUpdate(scope.row)"
62 v-hasPermi="['caseOffline:caseOffline:edit']" 64 v-hasPermi="['caseOffline:caseOffline:edit']"
63 - >{{scope.row.status == 0 ?"审批中" : (scope.row.status == 2 ?"驳回" :"审批完成")}}</el-button> 65 + >{{ scope.row.status == 0 ? "审批中" : (scope.row.status == 2 ? "驳回" : "审批完成") }}
  66 + </el-button>
64 </template> 67 </template>
65 </el-table-column> 68 </el-table-column>
66 </el-table> 69 </el-table>
@@ -78,23 +81,24 @@ @@ -78,23 +81,24 @@
78 <el-form ref="form" :model="form" :rules="rules" label-width="80px"> 81 <el-form ref="form" :model="form" :rules="rules" label-width="80px">
79 <el-form-item label="案卷类型" prop="type"> 82 <el-form-item label="案卷类型" prop="type">
80 <el-select v-model="form.type" placeholder="请选择案卷类型"> 83 <el-select v-model="form.type" placeholder="请选择案卷类型">
81 - <el-option v-for="item in caseType" :label="item.name" :value="item.code" /> 84 + <el-option v-for="item in caseType" :label="item.name" :value="item.code"/>
82 </el-select> 85 </el-select>
83 </el-form-item> 86 </el-form-item>
84 <el-form-item label="所属区域" prop="place"> 87 <el-form-item label="所属区域" prop="place">
85 - <el-select v-model="form.place" placeholder="请输入所属区域" size="small">  
86 - <el-option v-for="item in areas" :label="item.name" :value="item.code" />  
87 - </el-select> 88 + <el-select v-model="form.place" placeholder="请输入所属区域" size="small">
  89 + <el-option v-for="item in areas" :label="item.name" :value="item.code"/>
  90 + </el-select>
88 </el-form-item> 91 </el-form-item>
89 <el-form-item label="类型" prop="siteType"> 92 <el-form-item label="类型" prop="siteType">
90 <el-select v-model="form.siteType" placeholder="请选择类型"> 93 <el-select v-model="form.siteType" placeholder="请选择类型">
91 - <el-option label="工地" value="0" />  
92 - <el-option label="处理场所" value="1" /> 94 + <el-option label="工地" value="0"/>
  95 + <el-option label="处理场所" value="1"/>
93 </el-select> 96 </el-select>
94 </el-form-item> 97 </el-form-item>
95 <el-form-item :label="form.siteType==0?'工地名称':'处理场所名称'" prop="siteName"> 98 <el-form-item :label="form.siteType==0?'工地名称':'处理场所名称'" prop="siteName">
96 <el-select v-model="form.siteName" placeholder="请选择类型"> 99 <el-select v-model="form.siteName" placeholder="请选择类型">
97 - <el-option v-for="item in data[form.siteType]" :label="item.name" :value="item.name" @native.click="getSite(item)"/> 100 + <el-option v-for="item in data[form.siteType]" :label="item.name" :value="item.name"
  101 + @native.click="getSite(item)"/>
98 </el-select> 102 </el-select>
99 </el-form-item> 103 </el-form-item>
100 <el-form-item label="问题描述" prop="caseDec"> 104 <el-form-item label="问题描述" prop="caseDec">
@@ -108,9 +112,17 @@ @@ -108,9 +112,17 @@
108 </el-form-item> 112 </el-form-item>
109 113
110 <el-form-item label="附件" prop="attach"> 114 <el-form-item label="附件" prop="attach">
111 - <a style="color:blue;font-size: 12px;" @click="uploadImageDialog=true;">选择附件</a>  
112 - <el-input v-model="form.attach" type="hidden"></el-input>  
113 - <div style="color: blue;" v-for="img,index in form.attach">附件 - {{index+1}} <a @click="removeAttchItem()" style="color:red;">X</a></div> 115 + <a style="color:blue;font-size: 12px;" @click="uploadImageDialog=true;">选择附件</a>
  116 + <br/>
  117 + <el-image v-for="item in slides"
  118 + style="width: 100px; height: 100px; margin: 5px;"
  119 + :src="item.url"
  120 + :preview-src-list="[item.url]"
  121 + :z-index="2000">
  122 + </el-image>
  123 + <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
  125 + @click="removeAttchItem(index,img)" style="color:red;">X</a></div>
114 </el-form-item> 126 </el-form-item>
115 127
116 </el-form> 128 </el-form>
@@ -121,19 +133,19 @@ @@ -121,19 +133,19 @@
121 </el-dialog> 133 </el-dialog>
122 134
123 135
124 - <el-dialog title="查看详情" :visible.sync="open2" width="500px" append-to-body>  
125 - <caseOfflineInfo :businessKey="businessKey" v-if="open2" />  
126 - <div slot="footer" class="dialog-footer">  
127 - <el-button @click="cancel">取 消</el-button>  
128 - </div>  
129 - </el-dialog> 136 + <el-dialog title="查看详情" :visible.sync="open2" width="500px" append-to-body>
  137 + <caseOfflineInfo :businessKey="businessKey" v-if="open2"/>
  138 + <div slot="footer" class="dialog-footer">
  139 + <el-button @click="cancel">取 消</el-button>
  140 + </div>
  141 + </el-dialog>
130 142
131 143
132 - <el-dialog title="附件" :visible.sync="uploadImageDialog" append-to-body :beforeClose="handleClose" > 144 + <el-dialog title="附件" :visible.sync="uploadImageDialog" append-to-body :beforeClose="handleClose">
133 <el-upload multiple :headers="upload.headers" :action="upload.url" :file-list="fileList" 145 <el-upload multiple :headers="upload.headers" :action="upload.url" :file-list="fileList"
134 - :on-success="uploadSuccess" :before-upload="beforeUpload"> 146 + :on-success="uploadSuccess" :before-upload="beforeUpload">
135 <el-button size="small" type="primary">选择附件</el-button> 147 <el-button size="small" type="primary">选择附件</el-button>
136 - <div slot="tip" class="el-upload__tip">只能上传不超过 20MB 的jpg pdf word文件</div> 148 + <div slot="tip" class="el-upload__tip">只能上传不超过 20MB 的jpg、png、pdf、word文件</div>
137 </el-upload> 149 </el-upload>
138 <div style="height: 40px;width:100%;"> 150 <div style="height: 40px;width:100%;">
139 <el-button type="primary" style="margin-top: 20px;float:right;" @click="handleClose">关闭</el-button> 151 <el-button type="primary" style="margin-top: 20px;float:right;" @click="handleClose">关闭</el-button>
@@ -142,4 +154,4 @@ @@ -142,4 +154,4 @@
142 </div> 154 </div>
143 </template> 155 </template>
144 156
145 -<script src="../../../api/caseoffline.js" /> 157 +<script src="../../../api/caseoffline.js"/>
trash-ui/src/views/casefile/violationCaseFile/index.vue
@@ -210,8 +210,13 @@ @@ -210,8 +210,13 @@
210 <el-radio label="运输企业">运输企业</el-radio> 210 <el-radio label="运输企业">运输企业</el-radio>
211 </el-radio-group> 211 </el-radio-group>
212 </el-form-item> 212 </el-form-item>
213 - <el-form-item>  
214 - <vue-preview :slides="slide1"></vue-preview> 213 + <el-form-item label="附件图片预览" v-if="slide1.length!=0">
  214 + <el-image v-for="item in slide1"
  215 + style="width: 100px; height: 100px; margin: 5px;"
  216 + :src="item"
  217 + :preview-src-list="slide1"
  218 + :z-index="2000">
  219 + </el-image>
215 </el-form-item> 220 </el-form-item>
216 <el-form-item prop="fileEntityList" label="附件"> 221 <el-form-item prop="fileEntityList" label="附件">
217 <el-upload 222 <el-upload
@@ -263,5 +268,5 @@ @@ -263,5 +268,5 @@
263 </div> 268 </div>
264 </template> 269 </template>
265 270
266 -<script src="../../../api/vio_casefile"> 271 +<script src="@/api/vio_casefile">
267 </script> 272 </script>
trash-ui/src/views/casefile/violationCaseFile/violationCaseFileInfo.vue
@@ -8,10 +8,11 @@ @@ -8,10 +8,11 @@
8 </el-col> 8 </el-col>
9 <el-col :span="11"> 9 <el-col :span="11">
10 <el-form-item label="违规对象类型" prop="violationObjectType"> 10 <el-form-item label="违规对象类型" prop="violationObjectType">
11 - <el-select v-model="form.violationObjectType" placeholder="请选择违规对象类型" style="width: 100%;" :disabled="true">  
12 - <el-option label="工地" value="0" />  
13 - <el-option label="处理场所" value="1" />  
14 - <el-option label="企业" value="2" /> 11 + <el-select v-model="form.violationObjectType" placeholder="请选择违规对象类型" style="width: 100%;"
  12 + :disabled="true">
  13 + <el-option label="工地" value="0"/>
  14 + <el-option label="处理场所" value="1"/>
  15 + <el-option label="企业" value="2"/>
15 </el-select> 16 </el-select>
16 </el-form-item> 17 </el-form-item>
17 </el-col> 18 </el-col>
@@ -20,16 +21,16 @@ @@ -20,16 +21,16 @@
20 <el-col :span="11"> 21 <el-col :span="11">
21 <el-form-item label="所属区域" prop="owningRegion"> 22 <el-form-item label="所属区域" prop="owningRegion">
22 <el-select v-model="form.owningRegion" placeholder="请输入所属区域" style="width: 100%;" :disabled="true"> 23 <el-select v-model="form.owningRegion" placeholder="请输入所属区域" style="width: 100%;" :disabled="true">
23 - <el-option label="区域1" value="区域1" />  
24 - <el-option label="区域2" value="区域2" /> 24 + <el-option label="区域1" value="区域1"/>
  25 + <el-option label="区域2" value="区域2"/>
25 </el-select> 26 </el-select>
26 </el-form-item> 27 </el-form-item>
27 </el-col> 28 </el-col>
28 <el-col :span="11"> 29 <el-col :span="11">
29 <el-form-item label="违规类型" prop="violationType"> 30 <el-form-item label="违规类型" prop="violationType">
30 <el-select v-model="form.violationType" placeholder="请选择违规类型" style="width: 100%;" :disabled="true"> 31 <el-select v-model="form.violationType" placeholder="请选择违规类型" style="width: 100%;" :disabled="true">
31 - <el-option label="违规1" value="违规1" />  
32 - <el-option label="违规2" value="违规2" /> 32 + <el-option label="违规1" value="违规1"/>
  33 + <el-option label="违规2" value="违规2"/>
33 </el-select> 34 </el-select>
34 </el-form-item> 35 </el-form-item>
35 </el-col> 36 </el-col>
@@ -39,13 +40,13 @@ @@ -39,13 +40,13 @@
39 <el-form-item label="违规等级" prop="violationGrade"> 40 <el-form-item label="违规等级" prop="violationGrade">
40 <el-select v-model="form.violationGrade" placeholder="请选择企业名称" style="width: 100%;" :disabled="true"> 41 <el-select v-model="form.violationGrade" placeholder="请选择企业名称" style="width: 100%;" :disabled="true">
41 <el-option label="一般类" value="一般类"/> 42 <el-option label="一般类" value="一般类"/>
42 - <el-option label="重点类" value="重点类" /> 43 + <el-option label="重点类" value="重点类"/>
43 </el-select> 44 </el-select>
44 </el-form-item> 45 </el-form-item>
45 </el-col> 46 </el-col>
46 <el-col :span="11"> 47 <el-col :span="11">
47 <el-form-item label="项目名称" prop="projectName"> 48 <el-form-item label="项目名称" prop="projectName">
48 - <el-select v-model="form.projectName" :disabled="true" style="width: 100%;"> 49 + <el-select v-model="form.projectName" :disabled="true" style="width: 100%;">
49 50
50 </el-select> 51 </el-select>
51 </el-form-item> 52 </el-form-item>
@@ -54,7 +55,7 @@ @@ -54,7 +55,7 @@
54 <el-row :gutter="2"> 55 <el-row :gutter="2">
55 <el-col :span="11"> 56 <el-col :span="11">
56 <el-form-item label="企业名称" prop="companyName"> 57 <el-form-item label="企业名称" prop="companyName">
57 - <el-select v-model="form.companyName" :disabled="true" style="width: 100%;"> 58 + <el-select v-model="form.companyName" :disabled="true" style="width: 100%;">
58 </el-select> 59 </el-select>
59 </el-form-item> 60 </el-form-item>
60 </el-col> 61 </el-col>
@@ -98,7 +99,9 @@ @@ -98,7 +99,9 @@
98 </el-radio-group> 99 </el-radio-group>
99 </el-form-item> 100 </el-form-item>
100 <el-row> 101 <el-row>
101 - <el-col :offset="3"><el-button type="primary" @click="open = true">查看附件({{fileEntityList.length}})</el-button></el-col> 102 + <el-col :offset="3">
  103 + <el-button type="primary" @click="open = true">查看附件({{ fileEntityList.length }})</el-button>
  104 + </el-col>
102 </el-row> 105 </el-row>
103 <el-table :data="replyApprovalProcessList" v-if="entryType==0"> 106 <el-table :data="replyApprovalProcessList" v-if="entryType==0">
104 <el-table-column property="replyPeople" label="操作人" header-align="center" align="center"></el-table-column> 107 <el-table-column property="replyPeople" label="操作人" header-align="center" align="center"></el-table-column>
@@ -113,13 +116,19 @@ @@ -113,13 +116,19 @@
113 @click="openImage(scope.row.replyImg)" 116 @click="openImage(scope.row.replyImg)"
114 v-if="scope.row.replyImg!=null" 117 v-if="scope.row.replyImg!=null"
115 v-hasPermi="['casefile:violationWarningInformation:view']" 118 v-hasPermi="['casefile:violationWarningInformation:view']"
116 - >查看</el-button> 119 + >查看
  120 + </el-button>
117 <span v-if="scope.row.replyImg==null">暂无</span> 121 <span v-if="scope.row.replyImg==null">暂无</span>
118 </template> 122 </template>
119 </el-table-column> 123 </el-table-column>
120 </el-table> 124 </el-table>
121 <el-dialog title="查看附件" :visible.sync="open" append-to-body> 125 <el-dialog title="查看附件" :visible.sync="open" append-to-body>
122 - <vue-preview :slides="slide1"></vue-preview> 126 + <el-image v-for="item in slide1"
  127 + style="width: 100px; height: 100px; margin: 5px;"
  128 + :src="item"
  129 + :preview-src-list="slide1"
  130 + :z-index="2000">
  131 + </el-image>
123 <el-table :data="fileEntityList"> 132 <el-table :data="fileEntityList">
124 <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>
125 <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">
@@ -139,8 +148,12 @@ @@ -139,8 +148,12 @@
139 <el-button @click="open = false">取 消</el-button> 148 <el-button @click="open = false">取 消</el-button>
140 </div> 149 </div>
141 </el-dialog> 150 </el-dialog>
142 - <el-dialog title="预览" :visible.sync="openImg" append-to-body v-if="entryType==0">  
143 - <img :src="img" width="100%" height="750px" /> 151 + <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>
144 </el-dialog> 157 </el-dialog>
145 </el-form> 158 </el-form>
146 </template> 159 </template>
@@ -148,7 +161,7 @@ @@ -148,7 +161,7 @@
148 <script> 161 <script>
149 import {getViolationCaseFile} from "@/api/casefile/violationCaseFile"; 162 import {getViolationCaseFile} from "@/api/casefile/violationCaseFile";
150 import {listReplyApprovalProcess} from "@/api/casefile/replyApprovalProcess"; 163 import {listReplyApprovalProcess} from "@/api/casefile/replyApprovalProcess";
151 -import {getBase64} from "@/api/business/threestep"; 164 +
152 export default { 165 export default {
153 name: "violationWarningInformationInfo", 166 name: "violationWarningInformationInfo",
154 props: { 167 props: {
@@ -167,9 +180,9 @@ export default { @@ -167,9 +180,9 @@ export default {
167 form: {}, 180 form: {},
168 fileEntityList: [], 181 fileEntityList: [],
169 open: false, 182 open: false,
170 - replyApprovalProcessList:[],  
171 - openImg:false,  
172 - img:null, 183 + replyApprovalProcessList: [],
  184 + openImg: false,
  185 + img: [],
173 showPic: null, 186 showPic: null,
174 picImage: null, 187 picImage: null,
175 slide1: [] 188 slide1: []
@@ -178,37 +191,30 @@ export default { @@ -178,37 +191,30 @@ export default {
178 created() { 191 created() {
179 let id = this.idInfo.split(":"); 192 let id = this.idInfo.split(":");
180 193
181 - if(id.length == 2){ 194 + if (id.length == 2) {
182 this.idInfo = id[1]; 195 this.idInfo = id[1];
183 - }else{ 196 + } else {
184 this.idInfo = id; 197 this.idInfo = id;
185 } 198 }
186 199
187 200
188 -  
189 -  
190 this.init(); 201 this.init();
191 }, 202 },
192 - methods:{  
193 - init(){ 203 + methods: {
  204 + init() {
194 getViolationCaseFile(this.idInfo).then(response => { 205 getViolationCaseFile(this.idInfo).then(response => {
195 this.form = response.data.violationCaseFile; 206 this.form = response.data.violationCaseFile;
196 let files = JSON.stringify(response.data.uploadFiles); 207 let files = JSON.stringify(response.data.uploadFiles);
197 this.fileEntityList = JSON.parse(files.replaceAll("filePath", "url").replaceAll("fileName", "name")); 208 this.fileEntityList = JSON.parse(files.replaceAll("filePath", "url").replaceAll("fileName", "name"));
198 this.fileEntityList.map(item => { 209 this.fileEntityList.map(item => {
199 - if(item.url.indexOf(".jpg") > -1 || item.url.indexOf(".png") > -1 || item.url.indexOf(".jpeg") > -1 || item.url.indexOf(".jpg") > -1){  
200 - this.slide1.push({  
201 - src: process.env.VUE_APP_BASE_API + item.url,  
202 - msrc: process.env.VUE_APP_BASE_API + item.url,  
203 - w: 1920,  
204 - h: 1080  
205 - }); 210 + 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);
206 } 212 }
207 }) 213 })
208 }); 214 });
209 215
210 216
211 - listReplyApprovalProcess({tableName:"workflow_casefile" + ":" + this.idInfo}).then(response => { 217 + listReplyApprovalProcess({tableName: "workflow_casefile" + ":" + this.idInfo}).then(response => {
212 this.replyApprovalProcessList = response.rows; 218 this.replyApprovalProcessList = response.rows;
213 }); 219 });
214 }, 220 },
@@ -222,9 +228,9 @@ export default { @@ -222,9 +228,9 @@ export default {
222 a.setAttribute('href', process.env.VUE_APP_BASE_API + url); 228 a.setAttribute('href', process.env.VUE_APP_BASE_API + url);
223 a.click() 229 a.click()
224 }, 230 },
225 - openImage(base64){ 231 + openImage(img) {
226 this.openImg = true; 232 this.openImg = true;
227 - this.img = base64; 233 + this.img.push(img);
228 }, 234 },
229 } 235 }
230 } 236 }
trash-ui/src/views/casefile/violationWarningInformation/index.vue
@@ -195,8 +195,13 @@ @@ -195,8 +195,13 @@
195 <el-radio label="运输企业">运输企业</el-radio> 195 <el-radio label="运输企业">运输企业</el-radio>
196 </el-radio-group> 196 </el-radio-group>
197 </el-form-item> 197 </el-form-item>
198 - <el-form-item>  
199 - <vue-preview :slides="slide1"></vue-preview> 198 + <el-form-item label="附件图片预览" v-if="slide1.length!=0">
  199 + <el-image v-for="item in slide1"
  200 + style="width: 100px; height: 100px; margin: 5px;"
  201 + :src="item"
  202 + :preview-src-list="slide1"
  203 + :z-index="2000">
  204 + </el-image>
200 </el-form-item> 205 </el-form-item>
201 <el-form-item prop="fileEntityList" label="附件"> 206 <el-form-item prop="fileEntityList" label="附件">
202 <el-upload 207 <el-upload
@@ -249,5 +254,5 @@ @@ -249,5 +254,5 @@
249 </div> 254 </div>
250 </template> 255 </template>
251 256
252 -<script src="../../../api/warningInfo"> 257 +<script src="@/api/warningInfo">
253 </script> 258 </script>
trash-ui/src/views/casefile/violationWarningInformation/violationWarningInformationInfo.vue
@@ -8,10 +8,11 @@ @@ -8,10 +8,11 @@
8 </el-col> 8 </el-col>
9 <el-col :span="11"> 9 <el-col :span="11">
10 <el-form-item label="违规对象类型" prop="violationObjectType"> 10 <el-form-item label="违规对象类型" prop="violationObjectType">
11 - <el-select v-model="form.violationObjectType" placeholder="请选择违规对象类型" style="width: 100%;" :disabled="true">  
12 - <el-option label="工地" value="0" />  
13 - <el-option label="处理场所" value="1" />  
14 - <el-option label="企业" value="2" /> 11 + <el-select v-model="form.violationObjectType" placeholder="请选择违规对象类型" style="width: 100%;"
  12 + :disabled="true">
  13 + <el-option label="工地" value="0"/>
  14 + <el-option label="处理场所" value="1"/>
  15 + <el-option label="企业" value="2"/>
15 </el-select> 16 </el-select>
16 </el-form-item> 17 </el-form-item>
17 </el-col> 18 </el-col>
@@ -83,7 +84,8 @@ @@ -83,7 +84,8 @@
83 <el-row> 84 <el-row>
84 <el-col :span="22"> 85 <el-col :span="22">
85 <el-form-item label="违规描述" prop="describe"> 86 <el-form-item label="违规描述" prop="describe">
86 - <el-input v-model="form.describe" type="textarea" placeholder="请输入内容" :rows="5" :disabled="true"style="white-space: pre-line"/> 87 + <el-input v-model="form.describe" type="textarea" placeholder="请输入内容" :rows="5" :disabled="true"
  88 + style="white-space: pre-line"/>
87 </el-form-item> 89 </el-form-item>
88 </el-col> 90 </el-col>
89 </el-row> 91 </el-row>
@@ -112,13 +114,19 @@ @@ -112,13 +114,19 @@
112 @click="openImage(scope.row.replyImg)" 114 @click="openImage(scope.row.replyImg)"
113 v-if="scope.row.replyImg!=null" 115 v-if="scope.row.replyImg!=null"
114 v-hasPermi="['casefile:violationWarningInformation:edit']" 116 v-hasPermi="['casefile:violationWarningInformation:edit']"
115 - >查看</el-button> 117 + >查看
  118 + </el-button>
116 <span v-if="scope.row.replyImg==null">暂无</span> 119 <span v-if="scope.row.replyImg==null">暂无</span>
117 </template> 120 </template>
118 </el-table-column> 121 </el-table-column>
119 </el-table> 122 </el-table>
120 <el-dialog title="查看附件" :visible.sync="open" append-to-body> 123 <el-dialog title="查看附件" :visible.sync="open" append-to-body>
121 - <vue-preview :slides="slide1"></vue-preview> 124 + <el-image v-for="item in slide1"
  125 + style="width: 100px; height: 100px; margin: 5px;"
  126 + :src="item"
  127 + :preview-src-list="slide1"
  128 + :z-index="2000">
  129 + </el-image>
122 <el-table :data="fileEntityList"> 130 <el-table :data="fileEntityList">
123 <el-table-column property="name" label="附件名称" header-align="center" align="center"></el-table-column> 131 <el-table-column property="name" label="附件名称" header-align="center" align="center"></el-table-column>
124 <el-table-column label="操作" class-name="small-padding fixed-width" header-align="center" align="center"> 132 <el-table-column label="操作" class-name="small-padding fixed-width" header-align="center" align="center">
@@ -138,8 +146,12 @@ @@ -138,8 +146,12 @@
138 <el-button @click="open = false">取 消</el-button> 146 <el-button @click="open = false">取 消</el-button>
139 </div> 147 </div>
140 </el-dialog> 148 </el-dialog>
141 - <el-dialog title="预览" :visible.sync="openImg" append-to-body v-if="entryType==0">  
142 - <img :src="img" width="100%" height="750px" /> 149 + <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>
143 </el-dialog> 155 </el-dialog>
144 </el-form> 156 </el-form>
145 </template> 157 </template>
@@ -147,7 +159,7 @@ @@ -147,7 +159,7 @@
147 <script> 159 <script>
148 import {getViolationWarningInformation} from "@/api/casefile/violationWarningInformation"; 160 import {getViolationWarningInformation} from "@/api/casefile/violationWarningInformation";
149 import {listReplyApprovalProcess} from "@/api/casefile/replyApprovalProcess"; 161 import {listReplyApprovalProcess} from "@/api/casefile/replyApprovalProcess";
150 -import {getBase64} from "@/api/business/threestep"; 162 +
151 export default { 163 export default {
152 name: "violationWarningInformationInfo", 164 name: "violationWarningInformationInfo",
153 props: { 165 props: {
@@ -165,10 +177,10 @@ export default { @@ -165,10 +177,10 @@ export default {
165 return { 177 return {
166 form: {}, 178 form: {},
167 fileEntityList: [], 179 fileEntityList: [],
168 - open:false,  
169 - replyApprovalProcessList:[],  
170 - openImg:false,  
171 - img:null, 180 + open: false,
  181 + replyApprovalProcessList: [],
  182 + openImg: false,
  183 + img: [],
172 showPic: null, 184 showPic: null,
173 picImage: null, 185 picImage: null,
174 slide1: [] 186 slide1: []
@@ -177,9 +189,9 @@ export default { @@ -177,9 +189,9 @@ export default {
177 created() { 189 created() {
178 let id = this.idInfo.split(":"); 190 let id = this.idInfo.split(":");
179 191
180 - if(id.length == 2){ 192 + if (id.length == 2) {
181 this.idInfo = id[1]; 193 this.idInfo = id[1];
182 - }else{ 194 + } else {
183 this.idInfo = id; 195 this.idInfo = id;
184 } 196 }
185 this.init(); 197 this.init();
@@ -191,17 +203,12 @@ export default { @@ -191,17 +203,12 @@ export default {
191 let files = JSON.stringify(response.data.uploadFiles); 203 let files = JSON.stringify(response.data.uploadFiles);
192 this.fileEntityList = JSON.parse(files.replaceAll("filePath", "url").replaceAll("fileName", "name")); 204 this.fileEntityList = JSON.parse(files.replaceAll("filePath", "url").replaceAll("fileName", "name"));
193 this.fileEntityList.map(item => { 205 this.fileEntityList.map(item => {
194 - if(item.url.indexOf(".jpg") > -1 || item.url.indexOf(".png") > -1 || item.url.indexOf(".jpeg") > -1 || item.url.indexOf(".jpg") > -1){  
195 - this.slide1.push({  
196 - src: process.env.VUE_APP_BASE_API + item.url,  
197 - msrc: process.env.VUE_APP_BASE_API + item.url,  
198 - w: 1920,  
199 - h: 1080  
200 - }); 206 + 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);
201 } 208 }
202 }) 209 })
203 }); 210 });
204 - listReplyApprovalProcess({tableName:"violation_warning" + ":" + this.idInfo}).then(response => { 211 + listReplyApprovalProcess({tableName: "violation_warning" + ":" + this.idInfo}).then(response => {
205 this.replyApprovalProcessList = response.rows; 212 this.replyApprovalProcessList = response.rows;
206 }); 213 });
207 }, 214 },
@@ -215,9 +222,10 @@ export default { @@ -215,9 +222,10 @@ export default {
215 a.setAttribute('href', process.env.VUE_APP_BASE_API + url); 222 a.setAttribute('href', process.env.VUE_APP_BASE_API + url);
216 a.click() 223 a.click()
217 }, 224 },
218 - openImage(base64){ 225 + openImage(img) {
  226 + this.img = [];
219 this.openImg = true; 227 this.openImg = true;
220 - this.img = base64; 228 + this.img.push(img);
221 } 229 }
222 } 230 }
223 } 231 }
trash-ui/src/views/h5/leaveApplication/index.vue
@@ -140,6 +140,14 @@ @@ -140,6 +140,14 @@
140 <el-form-item label="请假事由"> 140 <el-form-item label="请假事由">
141 <el-input v-model="form.content" type="textarea" :rows="4"/> 141 <el-input v-model="form.content" type="textarea" :rows="4"/>
142 </el-form-item> 142 </el-form-item>
  143 + <el-form-item label="附件图片预览" v-if="slide1.length!=0">
  144 + <el-image v-for="item in slide1"
  145 + style="width: 100px; height: 100px; margin: 5px;"
  146 + :src="item"
  147 + :preview-src-list="slide1"
  148 + :z-index="2000">
  149 + </el-image>
  150 + </el-form-item>
143 <el-form-item prop="fileEntityList" label="附件"> 151 <el-form-item prop="fileEntityList" label="附件">
144 <el-upload 152 <el-upload
145 ref="upload" 153 ref="upload"
@@ -191,7 +199,7 @@ @@ -191,7 +199,7 @@
191 </div> 199 </div>
192 </template> 200 </template>
193 201
194 -<script src="../../../api/leave.js"/> 202 +<script src="@/api/leave.js"/>
195 <style scope> 203 <style scope>
196 .el-select-dropdown__item{ 204 .el-select-dropdown__item{
197 width:300px; 205 width:300px;
trash-ui/src/views/h5/leaveApplication/leaveApplicationInfo.vue
@@ -44,8 +44,13 @@ @@ -44,8 +44,13 @@
44 <el-form-item label="请假事由"> 44 <el-form-item label="请假事由">
45 <el-input v-model="form.content" type="textarea" :rows="4" :disabled="true"/> 45 <el-input v-model="form.content" type="textarea" :rows="4" :disabled="true"/>
46 </el-form-item> 46 </el-form-item>
47 - <el-form-item>  
48 - <vue-preview :slides="slide1"></vue-preview> 47 + <el-form-item label="附件图片预览" v-if="slide1.length!=0">
  48 + <el-image v-for="item in slide1"
  49 + style="width: 100px; height: 100px; margin: 5px;"
  50 + :src="item"
  51 + :preview-src-list="slide1"
  52 + :z-index="2000">
  53 + </el-image>
49 </el-form-item> 54 </el-form-item>
50 <el-table :data="fileEntityList"> 55 <el-table :data="fileEntityList">
51 <el-table-column property="name" label="附件名称" header-align="center" align="center"></el-table-column> 56 <el-table-column property="name" label="附件名称" header-align="center" align="center"></el-table-column>
@@ -102,12 +107,7 @@ export default { @@ -102,12 +107,7 @@ export default {
102 this.fileEntityList = JSON.parse(files.replaceAll("filePath", "url").replaceAll("fileName", "name")); 107 this.fileEntityList = JSON.parse(files.replaceAll("filePath", "url").replaceAll("fileName", "name"));
103 this.fileEntityList.map(item => { 108 this.fileEntityList.map(item => {
104 if(item.url.indexOf(".jpg") > -1 || item.url.indexOf(".png") > -1 || item.url.indexOf(".jpeg") > -1 || item.url.indexOf(".jpg") > -1){ 109 if(item.url.indexOf(".jpg") > -1 || item.url.indexOf(".png") > -1 || item.url.indexOf(".jpeg") > -1 || item.url.indexOf(".jpg") > -1){
105 - this.slide1.push({  
106 - src: process.env.VUE_APP_BASE_API + item.url,  
107 - msrc: process.env.VUE_APP_BASE_API + item.url,  
108 - w: 1920,  
109 - h: 1080  
110 - }); 110 + this.slide1.push(process.env.VUE_APP_BASE_API + item.url);
111 } 111 }
112 }) 112 })
113 }); 113 });
trash-ui/src/views/h5/threestep/index.vue
@@ -143,93 +143,158 @@ @@ -143,93 +143,158 @@
143 <el-row type="flex" justify="center" style="margin-top: 20px;" v-if="form.type != null"> 143 <el-row type="flex" justify="center" style="margin-top: 20px;" v-if="form.type != null">
144 <el-col :span="12"> 144 <el-col :span="12">
145 <a style="color:blue;font-size: 12px;" @click="showFileUpload(0)">过水槽照片</a> 145 <a style="color:blue;font-size: 12px;" @click="showFileUpload(0)">过水槽照片</a>
146 - <vue-preview :slides="slides[0]"></vue-preview> 146 + <el-image v-for="item in slides[0]"
  147 + style="width: 100px; height: 100px; margin: 5px;"
  148 + :src="item.url"
  149 + :preview-src-list="[item.url]"
  150 + :z-index="2000">
  151 + </el-image>
147 <el-input v-model="form.img0" type="hidden"></el-input> 152 <el-input v-model="form.img0" type="hidden"></el-input>
148 - <p v-for="img,index in form.img0">{{img.split("/")[img.split("/").length -1]}}<a @click="removeImage(0,img)" style="color:red"> x</a></p> 153 + <p v-for="(img,index) in form.img0">{{img.split("/")[img.split("/").length -1]}}<a @click="removeImage(0,img)" style="color:red"> x</a></p>
149 </el-col> 154 </el-col>
150 <el-col :span="12"> 155 <el-col :span="12">
151 <a style="color:blue;font-size: 12px;" @click="showFileUpload(1)">洗车平台照片</a> 156 <a style="color:blue;font-size: 12px;" @click="showFileUpload(1)">洗车平台照片</a>
152 - <vue-preview :slides="slides[1]"></vue-preview> 157 + <el-image v-for="item in slides[1]"
  158 + style="width: 100px; height: 100px; margin: 5px;"
  159 + :src="item.url"
  160 + :preview-src-list="[item.url]"
  161 + :z-index="2000">
  162 + </el-image>
153 <el-input v-model="form.img1" type="hidden"></el-input> 163 <el-input v-model="form.img1" type="hidden"></el-input>
154 - <p v-for="img,index in form.img1">{{img.split("/")[img.split("/").length -1]}}<a @click="removeImage(1,img)" style="color:red"> x</a></p> 164 + <p v-for="(img,index) in form.img1">{{img.split("/")[img.split("/").length -1]}}<a @click="removeImage(1,img)" style="color:red"> x</a></p>
155 </el-col> 165 </el-col>
156 </el-row> 166 </el-row>
157 <el-row type="flex" justify="center" style="margin-top: 20px;" v-if="form.type != null"> 167 <el-row type="flex" justify="center" style="margin-top: 20px;" v-if="form.type != null">
158 <el-col :span="12"> 168 <el-col :span="12">
159 <a style="color:blue;font-size: 12px;" @click="showFileUpload(2)">出入口照片</a> 169 <a style="color:blue;font-size: 12px;" @click="showFileUpload(2)">出入口照片</a>
160 - <vue-preview :slides="slides[2]"></vue-preview> 170 + <el-image v-for="item in slides[2]"
  171 + style="width: 100px; height: 100px; margin: 5px;"
  172 + :src="item.url"
  173 + :preview-src-list="[item.url]"
  174 + :z-index="2000">
  175 + </el-image>
161 <el-input v-model="form.img2" type="hidden"></el-input> 176 <el-input v-model="form.img2" type="hidden"></el-input>
162 - <p v-for="img,index in form.img2">{{img.split("/")[img.split("/").length -1]}}<a @click="removeImage(2,img)" style="color:red"> x</a></p> 177 + <p v-for="(img,index) in form.img2">{{img.split("/")[img.split("/").length -1]}}<a @click="removeImage(2,img)" style="color:red"> x</a></p>
163 </el-col> 178 </el-col>
164 <el-col :span="12"> 179 <el-col :span="12">
165 <a style="color:blue;font-size: 12px;" @click="showFileUpload(3)">沉淀池照片</a> 180 <a style="color:blue;font-size: 12px;" @click="showFileUpload(3)">沉淀池照片</a>
166 - <vue-preview :slides="slides[3]"></vue-preview> 181 + <el-image v-for="item in slides[3]"
  182 + style="width: 100px; height: 100px; margin: 5px;"
  183 + :src="item.url"
  184 + :preview-src-list="[item.url]"
  185 + :z-index="2000">
  186 + </el-image>
167 <el-input v-model="form.img3" type="hidden"></el-input> 187 <el-input v-model="form.img3" type="hidden"></el-input>
168 - <p v-for="img,index in form.img3">{{img.split("/")[img.split("/").length -1]}}<a @click="removeImage(3,img)" style="color:red"> x</a></p> 188 + <p v-for="(img,index) in form.img3">{{img.split("/")[img.split("/").length -1]}}<a @click="removeImage(3,img)" style="color:red"> x</a></p>
169 </el-col> 189 </el-col>
170 </el-row> 190 </el-row>
171 <el-row type="flex" justify="center" v-if="form.type != null"> 191 <el-row type="flex" justify="center" v-if="form.type != null">
172 <el-col :span="12"> 192 <el-col :span="12">
173 <a style="color:blue;font-size: 12px;" @click="showFileUpload(4)">硬质路面照片</a> 193 <a style="color:blue;font-size: 12px;" @click="showFileUpload(4)">硬质路面照片</a>
174 - <vue-preview :slides="slides[4]"></vue-preview> 194 + <el-image v-for="item in slides[4]"
  195 + style="width: 100px; height: 100px; margin: 5px;"
  196 + :src="item.url"
  197 + :preview-src-list="[item.url]"
  198 + :z-index="2000">
  199 + </el-image>
175 <el-input v-model="form.img4" type="hidden"></el-input> 200 <el-input v-model="form.img4" type="hidden"></el-input>
176 - <p v-for="img,index in form.img4">{{img.split("/")[img.split("/").length -1]}}<a @click="removeImage(4,img)" style="color:red"> x</a></p> 201 + <p v-for="(img,index) in form.img4">{{img.split("/")[img.split("/").length -1]}}<a @click="removeImage(4,img)" style="color:red"> x</a></p>
177 </el-col> 202 </el-col>
178 <el-col :span="12"> 203 <el-col :span="12">
179 <a style="color:blue;font-size: 12px;" @click="showFileUpload(5)">{{form.type==0?"摄像头视频截图1":"洗车设施照片"}}</a> 204 <a style="color:blue;font-size: 12px;" @click="showFileUpload(5)">{{form.type==0?"摄像头视频截图1":"洗车设施照片"}}</a>
180 - <vue-preview :slides="slides[5]"></vue-preview> 205 + <el-image v-for="item in slides[5]"
  206 + style="width: 100px; height: 100px; margin: 5px;"
  207 + :src="item.url"
  208 + :preview-src-list="[item.url]"
  209 + :z-index="2000">
  210 + </el-image>
181 <el-input v-model="form.img5" type="hidden"></el-input> 211 <el-input v-model="form.img5" type="hidden"></el-input>
182 - <p v-for="img,index in form.img5">{{img.split("/")[img.split("/").length -1]}}<a @click="removeImage(5,img)" style="color:red"> x</a></p> 212 + <p v-for="(img,index) in form.img5">{{img.split("/")[img.split("/").length -1]}}<a @click="removeImage(5,img)" style="color:red"> x</a></p>
183 </el-col> 213 </el-col>
184 </el-row> 214 </el-row>
185 <el-row type="flex" justify="center" style="margin-top: 20px;" v-if="form.type != null"> 215 <el-row type="flex" justify="center" style="margin-top: 20px;" v-if="form.type != null">
186 <el-col :span="12"> 216 <el-col :span="12">
187 <a style="color:blue;font-size: 12px;" @click="showFileUpload(6)">{{form.type==0?"摄像头视频截图2":"雾炮机"}}</a> 217 <a style="color:blue;font-size: 12px;" @click="showFileUpload(6)">{{form.type==0?"摄像头视频截图2":"雾炮机"}}</a>
188 - <vue-preview :slides="slides[6]"></vue-preview> 218 + <el-image v-for="item in slides[6]"
  219 + style="width: 100px; height: 100px; margin: 5px;"
  220 + :src="item.url"
  221 + :preview-src-list="[item.url]"
  222 + :z-index="2000">
  223 + </el-image>
189 <el-input v-model="form.img6" type="hidden"></el-input> 224 <el-input v-model="form.img6" type="hidden"></el-input>
190 - <p v-for="img,index in form.img6">{{img.split("/")[img.split("/").length -1]}}<a @click="removeImage(6,img)" style="color:red"> x</a></p> 225 + <p v-for="(img,index) in form.img6">{{img.split("/")[img.split("/").length -1]}}<a @click="removeImage(6,img)" style="color:red"> x</a></p>
191 </el-col> 226 </el-col>
192 <el-col :span="12"> 227 <el-col :span="12">
193 <a style="color:blue;font-size: 12px;" @click="showFileUpload(7)">{{form.type==0?"摄像头视频截图3":"裸露黄土覆盖照片"}}</a> 228 <a style="color:blue;font-size: 12px;" @click="showFileUpload(7)">{{form.type==0?"摄像头视频截图3":"裸露黄土覆盖照片"}}</a>
194 - <vue-preview :slides="slides[7]"></vue-preview> 229 + <el-image v-for="item in slides[7]"
  230 + style="width: 100px; height: 100px; margin: 5px;"
  231 + :src="item.url"
  232 + :preview-src-list="[item.url]"
  233 + :z-index="2000">
  234 + </el-image>
195 <el-input v-model="form.img7" type="hidden"></el-input> 235 <el-input v-model="form.img7" type="hidden"></el-input>
196 - <p v-for="img,index in form.img7">{{img.split("/")[img.split("/").length -1]}}<a @click="removeImage(7,img)" style="color:red"> x</a></p> 236 + <p v-for="(img,index) in form.img7">{{img.split("/")[img.split("/").length -1]}}<a @click="removeImage(7,img)" style="color:red"> x</a></p>
197 </el-col> 237 </el-col>
198 </el-row> 238 </el-row>
199 <el-row type="flex" justify="center" v-if="form.type != null"> 239 <el-row type="flex" justify="center" v-if="form.type != null">
200 <el-col :span="12"> 240 <el-col :span="12">
201 <a style="color:blue;font-size: 12px;" @click="showFileUpload(8)">其他1</a> 241 <a style="color:blue;font-size: 12px;" @click="showFileUpload(8)">其他1</a>
202 - <vue-preview :slides="slides[8]"></vue-preview> 242 + <el-image v-for="item in slides[8]"
  243 + style="width: 100px; height: 100px; margin: 5px;"
  244 + :src="item.url"
  245 + :preview-src-list="[item.url]"
  246 + :z-index="2000">
  247 + </el-image>
203 <el-input v-model="form.img8" type="hidden"></el-input> 248 <el-input v-model="form.img8" type="hidden"></el-input>
204 - <p v-for="img,index in form.img8">{{img.split("/")[img.split("/").length -1]}}<a @click="removeImage(8,img)" style="color:red"> x</a></p> 249 + <p v-for="(img,index) in form.img8">{{img.split("/")[img.split("/").length -1]}}<a @click="removeImage(8,img)" style="color:red"> x</a></p>
205 </el-col> 250 </el-col>
206 <el-col :span="12"> 251 <el-col :span="12">
207 <a style="color:blue;font-size: 12px;" @click="showFileUpload(9)">其他2</a> 252 <a style="color:blue;font-size: 12px;" @click="showFileUpload(9)">其他2</a>
208 - <vue-preview :slides="slides[9]"></vue-preview> 253 + <el-image v-for="item in slides[9]"
  254 + style="width: 100px; height: 100px; margin: 5px;"
  255 + :src="item.url"
  256 + :preview-src-list="[item.url]"
  257 + :z-index="2000">
  258 + </el-image>
209 <el-input v-model="form.img9" type="hidden"></el-input> 259 <el-input v-model="form.img9" type="hidden"></el-input>
210 - <p v-for="img,index in form.img9">{{img.split("/")[img.split("/").length -1]}}<a @click="removeImage(9,img)" style="color:red"> x</a></p> 260 + <p v-for="(img,index) in form.img9">{{img.split("/")[img.split("/").length -1]}}<a @click="removeImage(9,img)" style="color:red"> x</a></p>
211 </el-col> 261 </el-col>
212 </el-row> 262 </el-row>
213 <el-row type="flex" justify="center" style="margin-top: 20px;" v-if="form.type != null"> 263 <el-row type="flex" justify="center" style="margin-top: 20px;" v-if="form.type != null">
214 <el-col :span="12"> 264 <el-col :span="12">
215 <a style="color:blue;font-size: 12px;" @click="showFileUpload(10)">其他3</a> 265 <a style="color:blue;font-size: 12px;" @click="showFileUpload(10)">其他3</a>
216 - <vue-preview :slides="slides[10]"></vue-preview> 266 + <el-image v-for="item in slides[10]"
  267 + style="width: 100px; height: 100px; margin: 5px;"
  268 + :src="item.url"
  269 + :preview-src-list="[item.url]"
  270 + :z-index="2000">
  271 + </el-image>
217 <el-input v-model="form.img10" type="hidden"></el-input> 272 <el-input v-model="form.img10" type="hidden"></el-input>
218 - <p v-for="img,index in form.img10">{{img.split("/")[img.split("/").length -1]}}<a @click="removeImage(10,img)" style="color:red"> x</a></p> 273 + <p v-for="(img,index) in form.img10">{{img.split("/")[img.split("/").length -1]}}<a @click="removeImage(10,img)" style="color:red"> x</a></p>
219 </el-col> 274 </el-col>
220 <el-col :span="12"> 275 <el-col :span="12">
221 <a style="color:blue;font-size: 12px;" @click="showFileUpload(11)">其他4</a> 276 <a style="color:blue;font-size: 12px;" @click="showFileUpload(11)">其他4</a>
222 - <vue-preview :slides="slides[11]"></vue-preview> 277 + <el-image v-for="item in slides[11]"
  278 + style="width: 100px; height: 100px; margin: 5px;"
  279 + :src="item.url"
  280 + :preview-src-list="[item.url]"
  281 + :z-index="2000">
  282 + </el-image>
223 <el-input v-model="form.img11" type="hidden"></el-input> 283 <el-input v-model="form.img11" type="hidden"></el-input>
224 - <p v-for="img,index in form.img11">{{img.split("/")[img.split("/").length -1]}}<a @click="removeImage(11,img)" style="color:red"> x</a></p> 284 + <p v-for="(img,index) in form.img11">{{img.split("/")[img.split("/").length -1]}}<a @click="removeImage(11,img)" style="color:red"> x</a></p>
225 </el-col> 285 </el-col>
226 </el-row> 286 </el-row>
227 <el-row type="flex" justify="center" style="margin-top: 20px;" v-if="form.type != null"> 287 <el-row type="flex" justify="center" style="margin-top: 20px;" v-if="form.type != null">
228 <el-col :span="12"> 288 <el-col :span="12">
229 <a style="color:blue;font-size: 12px;" @click="showFileUpload(12)">其他5</a> 289 <a style="color:blue;font-size: 12px;" @click="showFileUpload(12)">其他5</a>
230 - <vue-preview :slides="slides[12]"></vue-preview> 290 + <el-image v-for="item in slides[12]"
  291 + style="width: 100px; height: 100px; margin: 5px;"
  292 + :src="item.url"
  293 + :preview-src-list="[item.url]"
  294 + :z-index="2000">
  295 + </el-image>
231 <el-input v-model="form.img12" type="hidden"></el-input> 296 <el-input v-model="form.img12" type="hidden"></el-input>
232 - <p v-for="img,index in form.img12">{{img.split("/")[img.split("/").length -1]}}<a @click="removeImage(12,img)" style="color:red"> x</a></p> 297 + <p v-for="(img,index) in form.img12">{{img.split("/")[img.split("/").length -1]}}<a @click="removeImage(12,img)" style="color:red"> x</a></p>
233 </el-col> 298 </el-col>
234 </el-row> 299 </el-row>
235 300
@@ -255,18 +320,36 @@ @@ -255,18 +320,36 @@
255 <el-row type="flex" justify="center"> 320 <el-row type="flex" justify="center">
256 <el-col :span="8"> 321 <el-col :span="8">
257 <a style="color:blue;font-size: 12px;" @click="showFileUpload(91)">附件1</a> 322 <a style="color:blue;font-size: 12px;" @click="showFileUpload(91)">附件1</a>
  323 + <el-image v-for="item in slides[91]"
  324 + style="width: 100px; height: 100px; margin: 5px;"
  325 + :src="item.url"
  326 + :preview-src-list="[item.url]"
  327 + :z-index="2000">
  328 + </el-image>
258 <el-input v-model="form.attchItem1" type="hidden"></el-input> 329 <el-input v-model="form.attchItem1" type="hidden"></el-input>
259 - <p v-for="img,index in form.attchItem1">{{img.split("/")[img.split("/").length -1]}}<a @click="removeAttchItem(1,img)" style="color:red"> x</a></p> 330 + <p v-for="(img,index) in form.attchItem1">{{img.split("/")[img.split("/").length -1]}}<a @click="removeAttchItem(1,img,91)" style="color:red"> x</a></p>
260 </el-col> 331 </el-col>
261 <el-col :span="8"> 332 <el-col :span="8">
262 <a style="color:blue;font-size: 12px;" @click="showFileUpload(92)">附件2</a> 333 <a style="color:blue;font-size: 12px;" @click="showFileUpload(92)">附件2</a>
  334 + <el-image v-for="item in slides[92]"
  335 + style="width: 100px; height: 100px; margin: 5px;"
  336 + :src="item.url"
  337 + :preview-src-list="[item.url]"
  338 + :z-index="2000">
  339 + </el-image>
263 <el-input v-model="form.attchItem2" type="hidden"></el-input> 340 <el-input v-model="form.attchItem2" type="hidden"></el-input>
264 - <p v-for="img,index in form.attchItem2">{{img.split("/")[img.split("/").length -1]}}<a @click="removeAttchItem(2,img)" style="color:red"> x</a></p> 341 + <p v-for="(img,index) in form.attchItem2">{{img.split("/")[img.split("/").length -1]}}<a @click="removeAttchItem(2,img,92)" style="color:red"> x</a></p>
265 </el-col> 342 </el-col>
266 <el-col :span="8"> 343 <el-col :span="8">
267 <a style="color:blue;font-size: 12px;" @click="showFileUpload(93)">附件3</a> 344 <a style="color:blue;font-size: 12px;" @click="showFileUpload(93)">附件3</a>
  345 + <el-image v-for="item in slides[93]"
  346 + style="width: 100px; height: 100px; margin: 5px;"
  347 + :src="item.url"
  348 + :preview-src-list="[item.url]"
  349 + :z-index="2000">
  350 + </el-image>
268 <el-input v-model="form.attchItem3" type="hidden"></el-input> 351 <el-input v-model="form.attchItem3" type="hidden"></el-input>
269 - <p v-for="img,index in form.attchItem3">{{img.split("/")[img.split("/").length -1]}}<a @click="removeAttchItem(3,img)" style="color:red"> x</a></p> 352 + <p v-for="(img,index) in form.attchItem3">{{img.split("/")[img.split("/").length -1]}}<a @click="removeAttchItem(3,img,93)" style="color:red"> x</a></p>
270 </el-col> 353 </el-col>
271 </el-row> 354 </el-row>
272 </el-form> 355 </el-form>
trash-ui/src/views/office/conference/conferenceInfo.vue
@@ -39,8 +39,13 @@ @@ -39,8 +39,13 @@
39 </el-form-item> 39 </el-form-item>
40 </el-col> 40 </el-col>
41 </el-row> 41 </el-row>
42 - <el-form-item label="附件缩略图">  
43 - <vue-preview :slides="slide1"></vue-preview> 42 + <el-form-item label="附件图片预览" v-if="slide1.length!=0">
  43 + <el-image v-for="item in slide1"
  44 + style="width: 100px; height: 100px; margin: 5px;"
  45 + :src="item"
  46 + :preview-src-list="slide1"
  47 + :z-index="2000">
  48 + </el-image>
44 </el-form-item> 49 </el-form-item>
45 <el-row> 50 <el-row>
46 <el-table :data="fileEntityList"> 51 <el-table :data="fileEntityList">
@@ -94,12 +99,7 @@ export default { @@ -94,12 +99,7 @@ export default {
94 this.fileEntityList = JSON.parse(files.replaceAll("filePath", "url").replaceAll("fileName", "name")) 99 this.fileEntityList = JSON.parse(files.replaceAll("filePath", "url").replaceAll("fileName", "name"))
95 this.fileEntityList.map(item => { 100 this.fileEntityList.map(item => {
96 if(item.url.indexOf(".jpg") > -1 || item.url.indexOf(".png") > -1 || item.url.indexOf(".jpeg") > -1 || item.url.indexOf(".jpg") > -1){ 101 if(item.url.indexOf(".jpg") > -1 || item.url.indexOf(".png") > -1 || item.url.indexOf(".jpeg") > -1 || item.url.indexOf(".jpg") > -1){
97 - this.slide1.push({  
98 - src: process.env.VUE_APP_BASE_API + item.url,  
99 - msrc: process.env.VUE_APP_BASE_API + item.url,  
100 - w: 1920,  
101 - h: 1080  
102 - }); 102 + this.slide1.push(process.env.VUE_APP_BASE_API + item.url);
103 } 103 }
104 }) 104 })
105 }); 105 });
trash-ui/src/views/office/conference/index.vue
@@ -101,14 +101,14 @@ @@ -101,14 +101,14 @@
101 v-hasPermi="['office:conference:edit']" 101 v-hasPermi="['office:conference:edit']"
102 >修改 102 >修改
103 </el-button> 103 </el-button>
104 - <!-- <el-button-->  
105 - <!-- size="mini"-->  
106 - <!-- type="text"-->  
107 - <!-- icon="el-icon-delete"-->  
108 - <!-- @click="handleDelete(scope.row)"-->  
109 - <!-- v-hasPermi="['office:conference:remove']"-->  
110 - <!-- >删除-->  
111 - <!-- </el-button>--> 104 +<!-- <el-button-->
  105 +<!-- size="mini"-->
  106 +<!-- type="text"-->
  107 +<!-- icon="el-icon-delete"-->
  108 +<!-- @click="handleDelete(scope.row)"-->
  109 +<!-- v-hasPermi="['office:conference:remove']"-->
  110 +<!-- >删除-->
  111 +<!-- </el-button>-->
112 </template> 112 </template>
113 </el-table-column> 113 </el-table-column>
114 </el-table> 114 </el-table>
@@ -162,9 +162,16 @@ @@ -162,9 +162,16 @@
162 </el-form-item> 162 </el-form-item>
163 </el-col> 163 </el-col>
164 </el-row> 164 </el-row>
165 - <el-form-item>  
166 - <vue-preview :slides="slide1"></vue-preview> 165 +
  166 + <el-form-item label="附件图片预览" v-if="slide1.length!=0">
  167 + <el-image v-for="item in slide1"
  168 + style="width: 100px; height: 100px; margin: 5px;"
  169 + :src="item"
  170 + :preview-src-list="slide1"
  171 + :z-index="2000">
  172 + </el-image>
167 </el-form-item> 173 </el-form-item>
  174 +
168 <el-row :gutter="2"> 175 <el-row :gutter="2">
169 <el-col :span="11"> 176 <el-col :span="11">
170 <el-form-item prop="fileEntityList" label="附件"> 177 <el-form-item prop="fileEntityList" label="附件">
@@ -223,12 +230,12 @@ @@ -223,12 +230,12 @@
223 230
224 <script> 231 <script>
225 import { 232 import {
226 - listConference,  
227 - getConference,  
228 - delConference,  
229 addConference, 233 addConference,
230 - updateConference,  
231 - exportConference 234 + delConference,
  235 + exportConference,
  236 + getConference,
  237 + listConference,
  238 + updateConference
232 } from "@/api/office/conference"; 239 } from "@/api/office/conference";
233 import Editor from '@/components/ZcEditor'; 240 import Editor from '@/components/ZcEditor';
234 import conferenceInfo from "./conferenceInfo"; 241 import conferenceInfo from "./conferenceInfo";
@@ -301,21 +308,10 @@ export default { @@ -301,21 +308,10 @@ export default {
301 if (this.fileEntityList.length != 0) { 308 if (this.fileEntityList.length != 0) {
302 this.fileEntityList.map(item => { 309 this.fileEntityList.map(item => {
303 if (item.name.indexOf(".jpg") > -1 || item.name.indexOf(".png") > -1 || item.name.indexOf(".jpeg") > -1 || item.name.indexOf(".jpg") > -1) { 310 if (item.name.indexOf(".jpg") > -1 || item.name.indexOf(".png") > -1 || item.name.indexOf(".jpeg") > -1 || item.name.indexOf(".jpg") > -1) {
304 - if(item.raw!=null){  
305 - this.slide1.push({  
306 - src: URL.createObjectURL(item.raw),  
307 - msrc: URL.createObjectURL(item.raw),  
308 - alt: item.uid,  
309 - w: 1920,  
310 - h: 1080  
311 - });  
312 - }else{  
313 - this.slide1.push({  
314 - src: process.env.VUE_APP_BASE_API + item.url,  
315 - msrc: process.env.VUE_APP_BASE_API + item.url,  
316 - w: 1920,  
317 - h: 1080  
318 - }); 311 + if (item.raw != null) {
  312 + this.slide1.push(URL.createObjectURL(item.raw));
  313 + } else {
  314 + this.slide1.push(process.env.VUE_APP_BASE_API + item.url);
319 } 315 }
320 } 316 }
321 }) 317 })
trash-ui/src/views/office/handle/handleInfo.vue
@@ -89,8 +89,13 @@ @@ -89,8 +89,13 @@
89 v-if="form.type==0 && businessKey=='yuelanxuexi1'"> 89 v-if="form.type==0 && businessKey=='yuelanxuexi1'">
90 <el-input v-model="form.userNamesDone" :disabled="true"/> 90 <el-input v-model="form.userNamesDone" :disabled="true"/>
91 </el-form-item> 91 </el-form-item>
92 - <el-form-item>  
93 - <vue-preview :slides="slide1"></vue-preview> 92 + <el-form-item label="附件图片预览" v-if="slide1.length!=0">
  93 + <el-image v-for="item in slide1"
  94 + style="width: 100px; height: 100px; margin: 5px;"
  95 + :src="item"
  96 + :preview-src-list="slide1"
  97 + :z-index="2000">
  98 + </el-image>
94 </el-form-item> 99 </el-form-item>
95 <el-row> 100 <el-row>
96 <el-table :data="fileEntityList"> 101 <el-table :data="fileEntityList">
@@ -177,12 +182,7 @@ export default { @@ -177,12 +182,7 @@ export default {
177 this.fileEntityList = JSON.parse(files.replaceAll("filePath", "url").replaceAll("fileName", "name")); 182 this.fileEntityList = JSON.parse(files.replaceAll("filePath", "url").replaceAll("fileName", "name"));
178 this.fileEntityList.map(item => { 183 this.fileEntityList.map(item => {
179 if(item.url.indexOf(".jpg") > -1 || item.url.indexOf(".png") > -1 || item.url.indexOf(".jpeg") > -1 || item.url.indexOf(".jpg") > -1){ 184 if(item.url.indexOf(".jpg") > -1 || item.url.indexOf(".png") > -1 || item.url.indexOf(".jpeg") > -1 || item.url.indexOf(".jpg") > -1){
180 - this.slide1.push({  
181 - src: process.env.VUE_APP_BASE_API + item.url,  
182 - msrc: process.env.VUE_APP_BASE_API + item.url,  
183 - w: 1920,  
184 - h: 1080  
185 - }); 185 + this.slide1.push(process.env.VUE_APP_BASE_API + item.url);
186 } 186 }
187 }) 187 })
188 }); 188 });
trash-ui/src/views/office/handle/index.vue
@@ -207,8 +207,13 @@ @@ -207,8 +207,13 @@
207 <el-form-item label="诉求" prop="appeal" v-if="form.type==2 || form.type==3|| form.type==4"> 207 <el-form-item label="诉求" prop="appeal" v-if="form.type==2 || form.type==3|| form.type==4">
208 <el-input v-model="form.appeal" type="textarea" placeholder="请输入内容" :rows="6"/> 208 <el-input v-model="form.appeal" type="textarea" placeholder="请输入内容" :rows="6"/>
209 </el-form-item> 209 </el-form-item>
210 - <el-form-item>  
211 - <vue-preview :slides="slide1"></vue-preview> 210 + <el-form-item label="附件图片预览" v-if="slide1.length!=0">
  211 + <el-image v-for="item in slide1"
  212 + style="width: 100px; height: 100px; margin: 5px;"
  213 + :src="item"
  214 + :preview-src-list="slide1"
  215 + :z-index="2000">
  216 + </el-image>
212 </el-form-item> 217 </el-form-item>
213 <el-row> 218 <el-row>
214 <el-col> 219 <el-col>
@@ -341,21 +346,10 @@ export default { @@ -341,21 +346,10 @@ export default {
341 if (this.fileEntityList.length != 0) { 346 if (this.fileEntityList.length != 0) {
342 this.fileEntityList.map(item => { 347 this.fileEntityList.map(item => {
343 if (item.name.indexOf(".jpg") > -1 || item.name.indexOf(".png") > -1 || item.name.indexOf(".jpeg") > -1 || item.name.indexOf(".jpg") > -1) { 348 if (item.name.indexOf(".jpg") > -1 || item.name.indexOf(".png") > -1 || item.name.indexOf(".jpeg") > -1 || item.name.indexOf(".jpg") > -1) {
344 - if(item.raw!=null){  
345 - this.slide1.push({  
346 - src: URL.createObjectURL(item.raw),  
347 - msrc: URL.createObjectURL(item.raw),  
348 - alt: item.uid,  
349 - w: 1920,  
350 - h: 1080  
351 - });  
352 - }else{  
353 - this.slide1.push({  
354 - src: process.env.VUE_APP_BASE_API + item.url,  
355 - msrc: process.env.VUE_APP_BASE_API + item.url,  
356 - w: 1920,  
357 - h: 1080  
358 - }); 349 + if (item.raw != null) {
  350 + this.slide1.push(URL.createObjectURL(item.raw));
  351 + } else {
  352 + this.slide1.push(process.env.VUE_APP_BASE_API + item.url);
359 } 353 }
360 } 354 }
361 }) 355 })
trash-ui/src/views/office/leaveApplication/index.vue
@@ -10,14 +10,14 @@ @@ -10,14 +10,14 @@
10 10
11 /> 11 />
12 </el-form-item> 12 </el-form-item>
13 -<!-- <el-form-item label="申请部门" prop="deptName">-->  
14 -<!-- <el-select v-model="queryParams.deptName" placeholder="请选择部门" size="small">-->  
15 -<!-- <el-option label="全部" value=""/>-->  
16 -<!-- <el-option v-for="item in depts" :label="item.name" :value="item.name" :key="item.code"/>-->  
17 -<!-- </el-select>-->  
18 -<!-- </el-form-item>--> 13 + <!-- <el-form-item label="申请部门" prop="deptName">-->
  14 + <!-- <el-select v-model="queryParams.deptName" placeholder="请选择部门" size="small">-->
  15 + <!-- <el-option label="全部" value=""/>-->
  16 + <!-- <el-option v-for="item in depts" :label="item.name" :value="item.name" :key="item.code"/>-->
  17 + <!-- </el-select>-->
  18 + <!-- </el-form-item>-->
19 <el-form-item label="请假类型" prop="type"> 19 <el-form-item label="请假类型" prop="type">
20 - <el-select v-model="queryParams.type" placeholder="请选择请假类型" size="small"> 20 + <el-select v-model="queryParams.type" placeholder="请选择请假类型" size="small">
21 <el-option label="事假" value="事假"/> 21 <el-option label="事假" value="事假"/>
22 <el-option label="病假" value="病假"/> 22 <el-option label="病假" value="病假"/>
23 <el-option label="年假" value="年假"/> 23 <el-option label="年假" value="年假"/>
@@ -45,28 +45,28 @@ @@ -45,28 +45,28 @@
45 >新增 45 >新增
46 </el-button> 46 </el-button>
47 </el-col> 47 </el-col>
48 -<!-- <el-col :span="1.5">-->  
49 -<!-- <el-button-->  
50 -<!-- type="success"-->  
51 -<!-- icon="el-icon-edit"-->  
52 -<!-- size="mini"-->  
53 -<!-- :disabled="single"-->  
54 -<!-- @click="handleUpdate"-->  
55 -<!-- v-hasPermi="['office:leaveApplication:edit']"-->  
56 -<!-- >修改-->  
57 -<!-- </el-button>-->  
58 -<!-- </el-col>-->  
59 -<!-- <el-col :span="1.5">-->  
60 -<!-- <el-button-->  
61 -<!-- type="danger"-->  
62 -<!-- icon="el-icon-delete"-->  
63 -<!-- size="mini"-->  
64 -<!-- :disabled="multiple"-->  
65 -<!-- @click="handleDelete"-->  
66 -<!-- v-hasPermi="['office:leaveApplication:remove']"-->  
67 -<!-- >删除-->  
68 -<!-- </el-button>-->  
69 -<!-- </el-col>--> 48 + <!-- <el-col :span="1.5">-->
  49 + <!-- <el-button-->
  50 + <!-- type="success"-->
  51 + <!-- icon="el-icon-edit"-->
  52 + <!-- size="mini"-->
  53 + <!-- :disabled="single"-->
  54 + <!-- @click="handleUpdate"-->
  55 + <!-- v-hasPermi="['office:leaveApplication:edit']"-->
  56 + <!-- >修改-->
  57 + <!-- </el-button>-->
  58 + <!-- </el-col>-->
  59 + <!-- <el-col :span="1.5">-->
  60 + <!-- <el-button-->
  61 + <!-- type="danger"-->
  62 + <!-- icon="el-icon-delete"-->
  63 + <!-- size="mini"-->
  64 + <!-- :disabled="multiple"-->
  65 + <!-- @click="handleDelete"-->
  66 + <!-- v-hasPermi="['office:leaveApplication:remove']"-->
  67 + <!-- >删除-->
  68 + <!-- </el-button>-->
  69 + <!-- </el-col>-->
70 <el-col :span="1.5"> 70 <el-col :span="1.5">
71 <el-button 71 <el-button
72 type="warning" 72 type="warning"
@@ -83,7 +83,8 @@ @@ -83,7 +83,8 @@
83 <el-table v-loading="loading" :data="leaveApplicationList" @selection-change="handleSelectionChange"> 83 <el-table v-loading="loading" :data="leaveApplicationList" @selection-change="handleSelectionChange">
84 <el-table-column type="selection" width="55" align="center"/> 84 <el-table-column type="selection" width="55" align="center"/>
85 <el-table-column label="序号" align="center" type='index'/> 85 <el-table-column label="序号" align="center" type='index'/>
86 - <el-table-column label="申请人" align="center" prop="applicant"/>> 86 + <el-table-column label="申请人" align="center" prop="applicant"/>
  87 + >
87 <el-table-column label="联系方式" align="center" prop="phone"/> 88 <el-table-column label="联系方式" align="center" prop="phone"/>
88 <el-table-column label="请假类型" align="center" prop="type"/> 89 <el-table-column label="请假类型" align="center" prop="type"/>
89 <el-table-column label="请假开始时间" align="center" prop="beginDate" width="180"> 90 <el-table-column label="请假开始时间" align="center" prop="beginDate" width="180">
@@ -121,14 +122,14 @@ @@ -121,14 +122,14 @@
121 v-hasPermi="['office:leaveApplication:edit']" 122 v-hasPermi="['office:leaveApplication:edit']"
122 >修改 123 >修改
123 </el-button> 124 </el-button>
124 -<!-- <el-button-->  
125 -<!-- size="mini"-->  
126 -<!-- type="text"-->  
127 -<!-- icon="el-icon-delete"-->  
128 -<!-- @click="handleDelete(scope.row)"-->  
129 -<!-- v-hasPermi="['office:leaveApplication:remove']"-->  
130 -<!-- >删除-->  
131 -<!-- </el-button>--> 125 + <!-- <el-button-->
  126 + <!-- size="mini"-->
  127 + <!-- type="text"-->
  128 + <!-- icon="el-icon-delete"-->
  129 + <!-- @click="handleDelete(scope.row)"-->
  130 + <!-- v-hasPermi="['office:leaveApplication:remove']"-->
  131 + <!-- >删除-->
  132 + <!-- </el-button>-->
132 </template> 133 </template>
133 </el-table-column> 134 </el-table-column>
134 </el-table> 135 </el-table>
@@ -146,7 +147,7 @@ @@ -146,7 +147,7 @@
146 <el-form ref="form" :model="form" :rules="rules" label-width="80px"> 147 <el-form ref="form" :model="form" :rules="rules" label-width="80px">
147 148
148 <el-form-item label="联系方式" prop="phone"> 149 <el-form-item label="联系方式" prop="phone">
149 - <el-input v-model="form.phone" placeholder="请输入联系方式" :maxlength="11" show-word-limit /> 150 + <el-input v-model="form.phone" placeholder="请输入联系方式" :maxlength="11" show-word-limit/>
150 </el-form-item> 151 </el-form-item>
151 152
152 <el-form-item label="请假类型" prop="type"> 153 <el-form-item label="请假类型" prop="type">
@@ -167,7 +168,7 @@ @@ -167,7 +168,7 @@
167 </el-form-item> 168 </el-form-item>
168 169
169 <el-form-item label="开始时间" prop="beginDate"> 170 <el-form-item label="开始时间" prop="beginDate">
170 - <el-date-picker size="small" style="width: 100%" 171 + <el-date-picker size="small" style="width: 100%"
171 v-model="form.beginDate" 172 v-model="form.beginDate"
172 type="datetime" 173 type="datetime"
173 value-format="yyyy-MM-dd HH:mm:ss" 174 value-format="yyyy-MM-dd HH:mm:ss"
@@ -175,7 +176,7 @@ @@ -175,7 +176,7 @@
175 </el-date-picker> 176 </el-date-picker>
176 </el-form-item> 177 </el-form-item>
177 <el-form-item label="结束时间" prop="endDate"> 178 <el-form-item label="结束时间" prop="endDate">
178 - <el-date-picker size="small" style="width: 100%" 179 + <el-date-picker size="small" style="width: 100%"
179 v-model="form.endDate" 180 v-model="form.endDate"
180 type="datetime" 181 type="datetime"
181 value-format="yyyy-MM-dd HH:mm:ss" 182 value-format="yyyy-MM-dd HH:mm:ss"
@@ -185,8 +186,13 @@ @@ -185,8 +186,13 @@
185 <el-form-item label="请假事由"> 186 <el-form-item label="请假事由">
186 <el-input v-model="form.content" type="textarea" :rows="4"/> 187 <el-input v-model="form.content" type="textarea" :rows="4"/>
187 </el-form-item> 188 </el-form-item>
188 - <el-form-item>  
189 - <vue-preview :slides="slide1"></vue-preview> 189 + <el-form-item label="附件图片预览" v-if="slide1.length!=0">
  190 + <el-image v-for="item in slide1"
  191 + style="width: 100px; height: 100px; margin: 5px;"
  192 + :src="item"
  193 + :preview-src-list="slide1"
  194 + :z-index="2000">
  195 + </el-image>
190 </el-form-item> 196 </el-form-item>
191 <el-form-item prop="fileEntityList" label="附件"> 197 <el-form-item prop="fileEntityList" label="附件">
192 <el-upload 198 <el-upload
@@ -239,5 +245,5 @@ @@ -239,5 +245,5 @@
239 </div> 245 </div>
240 </template> 246 </template>
241 247
242 -<script src="../../../api/leave"> 248 +<script src="@/api/leave">
243 </script> 249 </script>
trash-ui/src/views/office/leaveApplication/leaveApplicationInfo.vue
@@ -44,8 +44,13 @@ @@ -44,8 +44,13 @@
44 <el-form-item label="请假事由"> 44 <el-form-item label="请假事由">
45 <el-input v-model="form.content" type="textarea" :rows="4" :disabled="true"/> 45 <el-input v-model="form.content" type="textarea" :rows="4" :disabled="true"/>
46 </el-form-item> 46 </el-form-item>
47 - <el-form-item>  
48 - <vue-preview :slides="slide1"></vue-preview> 47 + <el-form-item label="附件图片预览" v-if="slide1.length!=0">
  48 + <el-image v-for="item in slide1"
  49 + style="width: 100px; height: 100px; margin: 5px;"
  50 + :src="item"
  51 + :preview-src-list="slide1"
  52 + :z-index="2000">
  53 + </el-image>
49 </el-form-item> 54 </el-form-item>
50 <el-table :data="fileEntityList"> 55 <el-table :data="fileEntityList">
51 <el-table-column property="name" label="附件名称" header-align="center" align="center"></el-table-column> 56 <el-table-column property="name" label="附件名称" header-align="center" align="center"></el-table-column>
@@ -102,12 +107,7 @@ export default { @@ -102,12 +107,7 @@ export default {
102 this.fileEntityList = JSON.parse(files.replaceAll("filePath", "url").replaceAll("fileName", "name")); 107 this.fileEntityList = JSON.parse(files.replaceAll("filePath", "url").replaceAll("fileName", "name"));
103 this.fileEntityList.map(item => { 108 this.fileEntityList.map(item => {
104 if(item.url.indexOf(".jpg") > -1 || item.url.indexOf(".png") > -1 || item.url.indexOf(".jpeg") > -1 || item.url.indexOf(".jpg") > -1){ 109 if(item.url.indexOf(".jpg") > -1 || item.url.indexOf(".png") > -1 || item.url.indexOf(".jpeg") > -1 || item.url.indexOf(".jpg") > -1){
105 - this.slide1.push({  
106 - src: process.env.VUE_APP_BASE_API + item.url,  
107 - msrc: process.env.VUE_APP_BASE_API + item.url,  
108 - w: 1920,  
109 - h: 1080  
110 - }); 110 + this.slide1.push(process.env.VUE_APP_BASE_API + item.url);
111 } 111 }
112 }) 112 })
113 }); 113 });
trash-ui/src/views/office/management/contractInfo.vue
@@ -88,8 +88,13 @@ @@ -88,8 +88,13 @@
88 </el-form-item> 88 </el-form-item>
89 </el-col> 89 </el-col>
90 </el-row> 90 </el-row>
91 - <el-form-item>  
92 - <vue-preview :slides="slide1"></vue-preview> 91 + <el-form-item label="附件图片预览" v-if="slide1.length!=0">
  92 + <el-image v-for="item in slide1"
  93 + style="width: 100px; height: 100px; margin: 5px;"
  94 + :src="item"
  95 + :preview-src-list="slide1"
  96 + :z-index="2000">
  97 + </el-image>
93 </el-form-item> 98 </el-form-item>
94 <el-row> 99 <el-row>
95 <el-table :data="fileEntityList"> 100 <el-table :data="fileEntityList">
@@ -141,12 +146,7 @@ export default { @@ -141,12 +146,7 @@ export default {
141 this.fileEntityList = JSON.parse(files.replaceAll("filePath", "url").replaceAll("fileName", "name")) 146 this.fileEntityList = JSON.parse(files.replaceAll("filePath", "url").replaceAll("fileName", "name"))
142 this.fileEntityList.map(item => { 147 this.fileEntityList.map(item => {
143 if(item.url.indexOf(".jpg") > -1 || item.url.indexOf(".png") > -1 || item.url.indexOf(".jpeg") > -1 || item.url.indexOf(".jpg") > -1){ 148 if(item.url.indexOf(".jpg") > -1 || item.url.indexOf(".png") > -1 || item.url.indexOf(".jpeg") > -1 || item.url.indexOf(".jpg") > -1){
144 - this.slide1.push({  
145 - src: process.env.VUE_APP_BASE_API + item.url,  
146 - msrc: process.env.VUE_APP_BASE_API + item.url,  
147 - w: 1920,  
148 - h: 1080  
149 - }); 149 + this.slide1.push(process.env.VUE_APP_BASE_API + item.url);
150 } 150 }
151 }) 151 })
152 }); 152 });
trash-ui/src/views/office/management/index.vue
@@ -212,8 +212,13 @@ @@ -212,8 +212,13 @@
212 </el-form-item> 212 </el-form-item>
213 </el-col> 213 </el-col>
214 </el-row> 214 </el-row>
215 - <el-form-item>  
216 - <vue-preview :slides="slide1"></vue-preview> 215 + <el-form-item label="附件图片预览" v-if="slide1.length!=0">
  216 + <el-image v-for="item in slide1"
  217 + style="width: 100px; height: 100px; margin: 5px;"
  218 + :src="item"
  219 + :preview-src-list="slide1"
  220 + :z-index="2000">
  221 + </el-image>
217 </el-form-item> 222 </el-form-item>
218 <el-row> 223 <el-row>
219 <el-col :span="11"> 224 <el-col :span="11">
@@ -370,21 +375,10 @@ export default { @@ -370,21 +375,10 @@ export default {
370 if (this.fileEntityList.length != 0) { 375 if (this.fileEntityList.length != 0) {
371 this.fileEntityList.map(item => { 376 this.fileEntityList.map(item => {
372 if (item.name.indexOf(".jpg") > -1 || item.name.indexOf(".png") > -1 || item.name.indexOf(".jpeg") > -1 || item.name.indexOf(".jpg") > -1) { 377 if (item.name.indexOf(".jpg") > -1 || item.name.indexOf(".png") > -1 || item.name.indexOf(".jpeg") > -1 || item.name.indexOf(".jpg") > -1) {
373 - if(item.raw!=null){  
374 - this.slide1.push({  
375 - src: URL.createObjectURL(item.raw),  
376 - msrc: URL.createObjectURL(item.raw),  
377 - alt: item.uid,  
378 - w: 1920,  
379 - h: 1080  
380 - });  
381 - }else{  
382 - this.slide1.push({  
383 - src: process.env.VUE_APP_BASE_API + item.url,  
384 - msrc: process.env.VUE_APP_BASE_API + item.url,  
385 - w: 1920,  
386 - h: 1080  
387 - }); 378 + if (item.raw != null) {
  379 + this.slide1.push(URL.createObjectURL(item.raw));
  380 + } else {
  381 + this.slide1.push(process.env.VUE_APP_BASE_API + item.url);
388 } 382 }
389 } 383 }
390 }) 384 })
trash-ui/src/views/other/projectCheck/index.vue
@@ -5,9 +5,9 @@ @@ -5,9 +5,9 @@
5 <el-input 5 <el-input
6 v-model="queryParams.name" 6 v-model="queryParams.name"
7 placeholder="请输入工程名称" 7 placeholder="请输入工程名称"
8 - 8 +
9 size="small" 9 size="small"
10 - 10 +
11 /> 11 />
12 </el-form-item> 12 </el-form-item>
13 <el-form-item label="检查时间" prop="checkTime"> 13 <el-form-item label="检查时间" prop="checkTime">
@@ -418,7 +418,7 @@ @@ -418,7 +418,7 @@
418 <el-input v-model="form.sign" placeholder="请输入建设单位代表签字" /> 418 <el-input v-model="form.sign" placeholder="请输入建设单位代表签字" />
419 </el-form-item> 419 </el-form-item>
420 420
421 - </el-row> 421 + <el-row>
422 <el-col :span="24"> 422 <el-col :span="24">
423 <el-form-item label="是否达标" prop="p9C3"> 423 <el-form-item label="是否达标" prop="p9C3">
424 <el-select disabled v-model="form.p9C3"> 424 <el-select disabled v-model="form.p9C3">
trash-ui/src/views/otherData/otherData/index.vue
@@ -4,16 +4,16 @@ @@ -4,16 +4,16 @@
4 <el-form-item label="所属区域" prop="place"> 4 <el-form-item label="所属区域" prop="place">
5 <el-select v-model="queryParams.place" placeholder="请输入所属区域"> 5 <el-select v-model="queryParams.place" placeholder="请输入所属区域">
6 <el-option v-for="item in areas" :label="item.name" 6 <el-option v-for="item in areas" :label="item.name"
7 - :value="item.name" :key="item.code"> 7 + :value="item.name" :key="item.code">
8 </el-option> 8 </el-option>
9 </el-select> 9 </el-select>
10 </el-form-item> 10 </el-form-item>
11 <el-form-item label="填报日期" prop="time"> 11 <el-form-item label="填报日期" prop="time">
12 - <el-date-picker size="small" style="width: 200px"  
13 - v-model="queryParams.time"  
14 - type="date"  
15 - value-format="yyyy-MM-dd"  
16 - placeholder="选择填报日期"> 12 + <el-date-picker size="small" style="width: 200px"
  13 + v-model="queryParams.time"
  14 + type="date"
  15 + value-format="yyyy-MM-dd"
  16 + placeholder="选择填报日期">
17 </el-date-picker> 17 </el-date-picker>
18 </el-form-item> 18 </el-form-item>
19 <el-form-item> 19 <el-form-item>
@@ -30,7 +30,8 @@ @@ -30,7 +30,8 @@
30 size="mini" 30 size="mini"
31 @click="handleAdd" 31 @click="handleAdd"
32 v-hasPermi="['otherData:otherData:add']" 32 v-hasPermi="['otherData:otherData:add']"
33 - >新增</el-button> 33 + >新增
  34 + </el-button>
34 </el-col> 35 </el-col>
35 <el-col :span="1.5"> 36 <el-col :span="1.5">
36 <el-button 37 <el-button
@@ -39,21 +40,22 @@ @@ -39,21 +40,22 @@
39 size="mini" 40 size="mini"
40 @click="handleExport" 41 @click="handleExport"
41 v-hasPermi="['otherData:otherData:export']" 42 v-hasPermi="['otherData:otherData:export']"
42 - >导出</el-button> 43 + >导出
  44 + </el-button>
43 </el-col> 45 </el-col>
44 - <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> 46 + <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
45 </el-row> 47 </el-row>
46 48
47 <el-table v-loading="loading" :data="otherDataList" @selection-change="handleSelectionChange"> 49 <el-table v-loading="loading" :data="otherDataList" @selection-change="handleSelectionChange">
48 - <el-table-column label="序号" align="center" type="index" />  
49 - <el-table-column label="所属区域" align="center" prop="place" />  
50 - <el-table-column label="资料类别" align="center" prop="type" /> 50 + <el-table-column label="序号" align="center" type="index"/>
  51 + <el-table-column label="所属区域" align="center" prop="place"/>
  52 + <el-table-column label="资料类别" align="center" prop="type"/>
51 <el-table-column label="填报日期" align="center" prop="time" width="180"> 53 <el-table-column label="填报日期" align="center" prop="time" width="180">
52 <template slot-scope="scope"> 54 <template slot-scope="scope">
53 <span>{{ parseTime(scope.row.time, '{y}-{m}-{d}') }}</span> 55 <span>{{ parseTime(scope.row.time, '{y}-{m}-{d}') }}</span>
54 </template> 56 </template>
55 </el-table-column> 57 </el-table-column>
56 - <el-table-column label="填报人" align="center" prop="people" /> 58 + <el-table-column label="填报人" align="center" prop="people"/>
57 <el-table-column label="操作" align="center" class-name="small-padding fixed-width"> 59 <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
58 <template slot-scope="scope"> 60 <template slot-scope="scope">
59 <el-button 61 <el-button
@@ -61,7 +63,8 @@ @@ -61,7 +63,8 @@
61 type="text" 63 type="text"
62 icon="el-icon-edit" 64 icon="el-icon-edit"
63 @click="handleUpdate(scope.row)" 65 @click="handleUpdate(scope.row)"
64 - >查看</el-button> 66 + >查看
  67 + </el-button>
65 </template> 68 </template>
66 </el-table-column> 69 </el-table-column>
67 </el-table> 70 </el-table>
@@ -78,37 +81,46 @@ @@ -78,37 +81,46 @@
78 <el-dialog :title="title" :visible.sync="open" width="600px" append-to-body> 81 <el-dialog :title="title" :visible.sync="open" width="600px" append-to-body>
79 <el-form ref="form" :model="form" :rules="rules" label-width="80px"> 82 <el-form ref="form" :model="form" :rules="rules" label-width="80px">
80 <el-form-item label="所属区域" prop="place"> 83 <el-form-item label="所属区域" prop="place">
81 - <el-select v-model="form.place" placeholder="请输入所属区域">  
82 - <el-option v-for="item in areas" :label="item.name"  
83 - :value="item.name" :key="item.code">  
84 - </el-option>  
85 - </el-select> 84 + <el-select v-model="form.place" placeholder="请输入所属区域">
  85 + <el-option v-for="item in areas" :label="item.name"
  86 + :value="item.name" :key="item.code">
  87 + </el-option>
  88 + </el-select>
86 </el-form-item> 89 </el-form-item>
87 <el-form-item label="资料类别" prop="type"> 90 <el-form-item label="资料类别" prop="type">
88 - <el-input v-model="form.type" placeholder="请输入资料类别" /> 91 + <el-input v-model="form.type" placeholder="请输入资料类别"/>
89 </el-form-item> 92 </el-form-item>
90 <el-form-item label="资料内容" prop="context"> 93 <el-form-item label="资料内容" prop="context">
91 <el-input v-model="form.context" placeholder="请输入资料内容" type="textarea"/> 94 <el-input v-model="form.context" placeholder="请输入资料内容" type="textarea"/>
92 </el-form-item> 95 </el-form-item>
93 <el-form-item label="填报日期" prop="time"> 96 <el-form-item label="填报日期" prop="time">
94 - <el-date-picker size="small" style="width: 200px"  
95 - v-model="form.time"  
96 - type="date"  
97 - value-format="yyyy-MM-dd"  
98 - placeholder="选择填报日期"> 97 + <el-date-picker size="small" style="width: 200px"
  98 + v-model="form.time"
  99 + type="date"
  100 + value-format="yyyy-MM-dd"
  101 + placeholder="选择填报日期">
99 </el-date-picker> 102 </el-date-picker>
100 </el-form-item> 103 </el-form-item>
101 <el-form-item label="填报人" prop="people"> 104 <el-form-item label="填报人" prop="people">
102 - <el-input v-model="form.people" placeholder="请输入填报人" /> 105 + <el-input v-model="form.people" placeholder="请输入填报人"/>
103 </el-form-item> 106 </el-form-item>
104 <el-form-item label="附件" prop="attach"> 107 <el-form-item label="附件" prop="attach">
105 - <a style="color:blue;font-size: 12px;" @click="uploadImageDialog=true;">选择附件</a>  
106 - <el-input v-model="form.attach" type="hidden"></el-input>  
107 - <p v-for="img,index in form.attach">附件 - {{index+1}}<a @click="removeAttchItem(1,img)" style="color:red"> x</a></p> 108 + <a style="color:blue;font-size: 12px;" @click="uploadImageDialog=true;">选择附件</a>
  109 + <br/>
  110 + <el-image v-for="item in slides"
  111 + style="width: 100px; height: 100px; margin: 5px;"
  112 + :src="item.url"
  113 + :preview-src-list="[item.url]"
  114 + :z-index="2000">
  115 + </el-image>
  116 + <el-input v-model="form.attach" type="hidden"></el-input>
  117 + <p v-for="(img,index) in form.attach">{{ img.split("/")[img.split("/").length - 1] }}<a
  118 + @click="removeAttchItem(1,img)"
  119 + style="color:red"> x</a></p>
108 </el-form-item> 120 </el-form-item>
109 </el-form> 121 </el-form>
110 <div slot="footer" class="dialog-footer"> 122 <div slot="footer" class="dialog-footer">
111 - <el-button type="primary" @click="submitForm" >确 定</el-button> 123 + <el-button type="primary" @click="submitForm">确 定</el-button>
112 <el-button @click="cancel">取 消</el-button> 124 <el-button @click="cancel">取 消</el-button>
113 </div> 125 </div>
114 </el-dialog> 126 </el-dialog>
@@ -117,11 +129,11 @@ @@ -117,11 +129,11 @@
117 <el-dialog :title="title" :visible.sync="open2" width="600px" append-to-body> 129 <el-dialog :title="title" :visible.sync="open2" width="600px" append-to-body>
118 <el-form ref="form" :model="form" :rules="rules" label-width="80px"> 130 <el-form ref="form" :model="form" :rules="rules" label-width="80px">
119 <el-form-item label="所属区域" prop="place"> 131 <el-form-item label="所属区域" prop="place">
120 - <el-select v-model="form.place" placeholder="请输入所属区域" disabled>  
121 - <el-option v-for="item in areas" :label="item.name"  
122 - :value="item.name" :key="item.code">  
123 - </el-option>  
124 - </el-select> 132 + <el-select v-model="form.place" placeholder="请输入所属区域" disabled>
  133 + <el-option v-for="item in areas" :label="item.name"
  134 + :value="item.name" :key="item.code">
  135 + </el-option>
  136 + </el-select>
125 </el-form-item> 137 </el-form-item>
126 <el-form-item label="资料类别" prop="type"> 138 <el-form-item label="资料类别" prop="type">
127 <el-input v-model="form.type" placeholder="请输入资料类别" disabled/> 139 <el-input v-model="form.type" placeholder="请输入资料类别" disabled/>
@@ -130,28 +142,36 @@ @@ -130,28 +142,36 @@
130 <el-input v-model="form.context" placeholder="请输入资料内容" type="textarea" disabled/> 142 <el-input v-model="form.context" placeholder="请输入资料内容" type="textarea" disabled/>
131 </el-form-item> 143 </el-form-item>
132 <el-form-item label="填报日期" prop="time"> 144 <el-form-item label="填报日期" prop="time">
133 - <el-date-picker size="small" style="width: 200px" disabled  
134 - v-model="form.time"  
135 - type="date"  
136 - value-format="yyyy-MM-dd"  
137 - placeholder="选择填报日期"> 145 + <el-date-picker size="small" style="width: 200px" disabled
  146 + v-model="form.time"
  147 + type="date"
  148 + value-format="yyyy-MM-dd"
  149 + placeholder="选择填报日期">
138 </el-date-picker> 150 </el-date-picker>
139 </el-form-item> 151 </el-form-item>
140 <el-form-item label="填报人" prop="people"> 152 <el-form-item label="填报人" prop="people">
141 <el-input v-model="form.people" placeholder="请输入填报人" disabled/> 153 <el-input v-model="form.people" placeholder="请输入填报人" disabled/>
142 </el-form-item> 154 </el-form-item>
143 <el-form-item label="附件" prop="attach"> 155 <el-form-item label="附件" prop="attach">
144 - <el-input v-model="form.attach" type="hidden"></el-input>  
145 - <a @click="downloadFile(img);" style="color: blue;" v-for="img,index in form.attach">附件 - {{index+1}}</a> 156 + <el-image v-for="(img,index) in form.attach"
  157 + v-if="img.indexOf('.png') != -1||img.indexOf('.jpg') != -1"
  158 + style="width: 100px; height: 100px; margin: 5px;"
  159 + :src="showSlides(img)"
  160 + :preview-src-list="[showSlides(img)]"
  161 + :z-index="2000">
  162 + </el-image>
  163 + <el-input v-model="form.attach" type="hidden"></el-input>
  164 + <a @click="downloadFile(img);" style="color: blue;" v-for="(img,index) in form.attach">
  165 + {{ img.split("/")[img.split("/").length - 1] }} </a>
146 </el-form-item> 166 </el-form-item>
147 </el-form> 167 </el-form>
148 </el-dialog> 168 </el-dialog>
149 169
150 - <el-dialog title="附件" :visible.sync="uploadImageDialog" append-to-body :beforeClose="handleClose" > 170 + <el-dialog title="附件" :visible.sync="uploadImageDialog" append-to-body :beforeClose="handleClose">
151 <el-upload multiple :headers="upload.headers" :action="upload.url" :file-list="fileList" 171 <el-upload multiple :headers="upload.headers" :action="upload.url" :file-list="fileList"
152 - :on-success="uploadSuccess" :before-upload="beforeUpload"> 172 + :on-success="uploadSuccess" :before-upload="beforeUpload">
153 <el-button size="small" type="primary">选择附件</el-button> 173 <el-button size="small" type="primary">选择附件</el-button>
154 - <div slot="tip" class="el-upload__tip">只能上传不超过 20MB 的jpg pdf word文件</div> 174 + <div slot="tip" class="el-upload__tip">只能上传不超过 20MB 的jpg、png、pdf、word文件</div>
155 </el-upload> 175 </el-upload>
156 <div style="height: 40px;width:100%;"> 176 <div style="height: 40px;width:100%;">
157 <el-button type="primary" style="margin-top: 20px;float:right;" @click="handleClose">关闭</el-button> 177 <el-button type="primary" style="margin-top: 20px;float:right;" @click="handleClose">关闭</el-button>
@@ -161,15 +181,19 @@ @@ -161,15 +181,19 @@
161 </template> 181 </template>
162 182
163 <script> 183 <script>
164 -import { listOtherData, getOtherData, delOtherData, addOtherData, updateOtherData, exportOtherData } from "@/api/otherData/otherData"; 184 +import {
  185 + addOtherData,
  186 + delOtherData,
  187 + exportOtherData,
  188 + getOtherData,
  189 + listOtherData,
  190 + updateOtherData
  191 +} from "@/api/otherData/otherData";
165 192
166 - import {  
167 - getArea,  
168 - } from "@/api/dict"; 193 +import {getArea,} from "@/api/dict";
  194 +
  195 +import {getToken} from "@/utils/auth";
169 196
170 - import {  
171 - getToken  
172 - } from "@/utils/auth";  
173 export default { 197 export default {
174 name: "OtherData", 198 name: "OtherData",
175 data() { 199 data() {
@@ -199,25 +223,27 @@ export default { @@ -199,25 +223,27 @@ export default {
199 place: null, 223 place: null,
200 time: null, 224 time: null,
201 }, 225 },
202 - uploadImageDialog:false, 226 + uploadImageDialog: false,
203 // 表单参数 227 // 表单参数
204 form: { 228 form: {
205 229
206 - attach:[] 230 + attach: []
207 }, 231 },
208 // 表单校验 232 // 表单校验
209 - rules: {place: [  
210 - { required: true, message: '请选择区域', trigger: 'change' },  
211 - ],type: [  
212 - { required: true, message: '请填写类型', trigger: 'change' },  
213 - ],context: [  
214 - { required: true, message: '请填写内容', trigger: 'change' },  
215 - ],time: [  
216 - { required: true, message: '请选择时间', trigger: 'change' },  
217 - ],people: [  
218 - { required: true, message: '请填写人员', trigger: 'change' },  
219 - ]},  
220 - fileList:[], 233 + rules: {
  234 + place: [
  235 + {required: true, message: '请选择区域', trigger: 'change'},
  236 + ], type: [
  237 + {required: true, message: '请填写类型', trigger: 'change'},
  238 + ], context: [
  239 + {required: true, message: '请填写内容', trigger: 'change'},
  240 + ], time: [
  241 + {required: true, message: '请选择时间', trigger: 'change'},
  242 + ], people: [
  243 + {required: true, message: '请填写人员', trigger: 'change'},
  244 + ]
  245 + },
  246 + fileList: [],
221 areas: [], 247 areas: [],
222 upload: { 248 upload: {
223 // 是否显示弹出层(用户导入) 249 // 是否显示弹出层(用户导入)
@@ -233,7 +259,8 @@ export default { @@ -233,7 +259,8 @@ export default {
233 // 上传的地址 259 // 上传的地址
234 url: process.env.VUE_APP_BASE_API + "/business/threestep/upload", 260 url: process.env.VUE_APP_BASE_API + "/business/threestep/upload",
235 }, 261 },
236 - open2 : false, 262 + open2: false,
  263 + slides: []
237 }; 264 };
238 }, 265 },
239 created() { 266 created() {
@@ -258,6 +285,7 @@ export default { @@ -258,6 +285,7 @@ export default {
258 // 取消按钮 285 // 取消按钮
259 cancel() { 286 cancel() {
260 this.open = false; 287 this.open = false;
  288 + this.slides = [];
261 this.reset(); 289 this.reset();
262 }, 290 },
263 // 表单重置 291 // 表单重置
@@ -269,11 +297,10 @@ export default { @@ -269,11 +297,10 @@ export default {
269 context: null, 297 context: null,
270 time: null, 298 time: null,
271 people: null, 299 people: null,
272 - attach: null,  
273 createBy: null, 300 createBy: null,
274 createTime: null, 301 createTime: null,
275 updateTime: null, 302 updateTime: null,
276 - attach:[] 303 + attach: []
277 }; 304 };
278 this.resetForm("form"); 305 this.resetForm("form");
279 }, 306 },
@@ -290,7 +317,7 @@ export default { @@ -290,7 +317,7 @@ export default {
290 // 多选框选中数据 317 // 多选框选中数据
291 handleSelectionChange(selection) { 318 handleSelectionChange(selection) {
292 this.ids = selection.map(item => item.id) 319 this.ids = selection.map(item => item.id)
293 - this.single = selection.length!==1 320 + this.single = selection.length !== 1
294 this.multiple = !selection.length 321 this.multiple = !selection.length
295 }, 322 },
296 /** 新增按钮操作 */ 323 /** 新增按钮操作 */
@@ -305,11 +332,12 @@ export default { @@ -305,11 +332,12 @@ export default {
305 const id = row.id || this.ids 332 const id = row.id || this.ids
306 getOtherData(id).then(response => { 333 getOtherData(id).then(response => {
307 this.form = response.data; 334 this.form = response.data;
308 - if(this.form.attach)  
309 - this.form.attach = this.form .attach.split(","); 335 + if (this.form.attach)
  336 + this.form.attach = this.form.attach.split(",");
310 337
311 this.open2 = true; 338 this.open2 = true;
312 this.title = "其他专项资料"; 339 this.title = "其他专项资料";
  340 +
313 }); 341 });
314 }, 342 },
315 /** 提交按钮 */ 343 /** 提交按钮 */
@@ -339,42 +367,54 @@ export default { @@ -339,42 +367,54 @@ export default {
339 handleDelete(row) { 367 handleDelete(row) {
340 const ids = row.id || this.ids; 368 const ids = row.id || this.ids;
341 this.$confirm('是否确认删除其他专项资料编号为"' + ids + '"的数据项?', "警告", { 369 this.$confirm('是否确认删除其他专项资料编号为"' + ids + '"的数据项?', "警告", {
342 - confirmButtonText: "确定",  
343 - cancelButtonText: "取消",  
344 - type: "warning"  
345 - }).then(function() {  
346 - return delOtherData(ids);  
347 - }).then(() => {  
348 - this.getList();  
349 - this.msgSuccess("删除成功");  
350 - }) 370 + confirmButtonText: "确定",
  371 + cancelButtonText: "取消",
  372 + type: "warning"
  373 + }).then(function () {
  374 + return delOtherData(ids);
  375 + }).then(() => {
  376 + this.getList();
  377 + this.msgSuccess("删除成功");
  378 + })
351 }, 379 },
352 /** 导出按钮操作 */ 380 /** 导出按钮操作 */
353 handleExport() { 381 handleExport() {
354 const queryParams = this.queryParams; 382 const queryParams = this.queryParams;
355 this.$confirm('是否确认导出所有其他专项资料数据项?', "警告", { 383 this.$confirm('是否确认导出所有其他专项资料数据项?', "警告", {
356 - confirmButtonText: "确定",  
357 - cancelButtonText: "取消",  
358 - type: "warning"  
359 - }).then(function() {  
360 - return exportOtherData(queryParams);  
361 - }).then(response => {  
362 - this.download(response.message);  
363 - }) 384 + confirmButtonText: "确定",
  385 + cancelButtonText: "取消",
  386 + type: "warning"
  387 + }).then(function () {
  388 + return exportOtherData(queryParams);
  389 + }).then(response => {
  390 + this.download(response.message);
  391 + })
364 }, 392 },
365 removeAttchItem(index, img) { 393 removeAttchItem(index, img) {
366 this.form.attach.splice(this.form.attach.indexOf(img), 1); 394 this.form.attach.splice(this.form.attach.indexOf(img), 1);
  395 + for (let i = 0; i < this.slides.length; i++) {
  396 + if (this.slides[i].alt == img) {
  397 + this.slides.splice(i, 1);
  398 + }
  399 + }
367 this.$forceUpdate(); 400 this.$forceUpdate();
368 }, 401 },
369 uploadSuccess(res, file, fileList) { 402 uploadSuccess(res, file, fileList) {
370 - if(res.code){  
371 - this.$message(res.message);  
372 - return;  
373 - }  
374 - if(!this.form.attach){ 403 + if (res.code) {
  404 + this.$message(res.message);
  405 + return;
  406 + }
  407 + if (!this.form.attach) {
375 this.form.attach = []; 408 this.form.attach = [];
376 } 409 }
377 this.form.attach.push(res); 410 this.form.attach.push(res);
  411 + if (file.name.indexOf('.jpg') > -1 || file.name.indexOf('.png') > -1) {
  412 + let url = URL.createObjectURL(file.raw)
  413 + this.slides.push({
  414 + url: url,
  415 + alt: res
  416 + })
  417 + }
378 }, 418 },
379 showFileUpload(i) { 419 showFileUpload(i) {
380 this.uploadImageDialog = true; 420 this.uploadImageDialog = true;
@@ -388,7 +428,7 @@ export default { @@ -388,7 +428,7 @@ export default {
388 } 428 }
389 let isAccept = false; 429 let isAccept = false;
390 if (file.name.indexOf('.docx') > -1 || file.name.indexOf(".jpg") > -1 || file.name.indexOf('.doc') > -1 || file 430 if (file.name.indexOf('.docx') > -1 || file.name.indexOf(".jpg") > -1 || file.name.indexOf('.doc') > -1 || file
391 - .name.indexOf('.pdf') > -1) { 431 + .name.indexOf('.pdf') > -1 || file.name.indexOf('.png') > -1) {
392 isAccept = true; 432 isAccept = true;
393 } 433 }
394 if (!isAccept) { 434 if (!isAccept) {
@@ -396,13 +436,16 @@ export default { @@ -396,13 +436,16 @@ export default {
396 return isAccept; 436 return isAccept;
397 } 437 }
398 }, 438 },
399 - downloadFile(path) {  
400 - window.location.href = process.env.VUE_APP_BASE_API + "/business/threestep/download?path=" + encodeURI(path);  
401 - },  
402 - handleClose() {  
403 - this.uploadImageDialog = false;  
404 - this.fileList = [];  
405 - }, 439 + downloadFile(path) {
  440 + window.location.href = process.env.VUE_APP_BASE_API + "/business/threestep/download?path=" + encodeURI(path);
  441 + },
  442 + handleClose() {
  443 + this.uploadImageDialog = false;
  444 + this.fileList = [];
  445 + },
  446 + showSlides(path) {
  447 + return process.env.VUE_APP_BASE_API + path;
  448 + },
406 } 449 }
407 }; 450 };
408 </script> 451 </script>