Commit 63b854d7211a9b03b0716a043b91b40fd19d3af2
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('Pagination', Pagination) | @@ -56,8 +54,6 @@ Vue.component('Pagination', 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> |