Commit 63b854d7211a9b03b0716a043b91b40fd19d3af2

Authored by 273548560@qq.com
1 parent 34a9413f

修复bug

Showing 33 changed files with 1139 additions and 718 deletions
trash-ui/package.json
... ... @@ -63,7 +63,6 @@
63 63 "vue": "2.6.10",
64 64 "vue-count-to": "1.0.13",
65 65 "vue-cropper": "0.4.9",
66   - "vue-preview": "^1.1.3",
67 66 "vue-router": "3.0.2",
68 67 "vue-splitpane": "1.0.4",
69 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 7 export default {
19 8 name: "CaseOffline",
20 9 props: {
... ... @@ -42,7 +31,7 @@ export default {
42 31 title: "",
43 32 // 是否显示弹出层
44 33 open: false,
45   - open2:false,
  34 + open2: false,
46 35 // 查询参数
47 36 queryParams: {
48 37 pageNum: 1,
... ... @@ -51,26 +40,24 @@ export default {
51 40 place: null,
52 41 createTime: null,
53 42 },
54   - uploadImageDialog:false,
  43 + uploadImageDialog: false,
55 44 // 表单参数
56 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 61 areas: [],
75 62 upload: {
76 63 // 是否显示弹出层(用户导入)
... ... @@ -87,88 +74,97 @@ export default {
87 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 85 created() {
98   - getArea().then(res=>{
  86 + getArea().then(res => {
99 87 this.areas = res.result;
100 88 this.handleUpdate();
101 89 });
102 90 },
103 91 methods: {
104   - getSite(item){
  92 + getSite(item) {
105 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 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 119 handleUpdate() {
140 120 let id;
141   - if(this.businessKey.split(":").length == 2){
  121 + if (this.businessKey.split(":").length == 2) {
142 122 id = this.businessKey.split(":")[1];
143   - }else{
  123 + } else {
144 124 id = this.businessKey;
145 125 }
146 126  
147 127 getCaseOffline(id).then(response => {
148 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 132 this.form.siteType = this.form.siteType + "";
153 133 this.form.type = this.getCaseType(this.form.type);
154 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 78 {code:8,name:"其他2"},
79 79 {code:9,name:"其他3"}
80 80 ],
81   - areas:null,
82 81 fileList:[],
83 82 areas: [],
84 83 upload: {
... ... @@ -96,7 +95,8 @@ export default {
96 95 url: process.env.VUE_APP_BASE_API + "/business/threestep/upload",
97 96 },
98 97 data:{},
99   - objId:null
  98 + objId:null,
  99 + slides:[]
100 100 };
101 101 },
102 102 created() {
... ... @@ -173,6 +173,7 @@ export default {
173 173 cancel() {
174 174 this.open = false;
175 175 this.open2 = false;
  176 + this.slides = [];
176 177 this.reset();
177 178 },
178 179 // 表单重置
... ... @@ -303,6 +304,12 @@ export default {
303 304 },
304 305 removeAttchItem(index, img) {
305 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 313 this.$forceUpdate();
307 314 },
308 315 uploadSuccess(res, file, fileList) {
... ... @@ -314,6 +321,13 @@ export default {
314 321 this.form.attach = [];
315 322 }
316 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 332 showFileUpload(i) {
319 333 this.uploadImageDialog = true;
... ... @@ -327,11 +341,11 @@ export default {
327 341 }
328 342 let isAccept = false;
329 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 345 isAccept = true;
332 346 }
333 347 if (!isAccept) {
334   - this.$message.error('应该选择PDF、JPG、WORD类型的文件')
  348 + this.$message.error('应该选择PDF、PNG、JPG、WORD类型的文件')
335 349 return isAccept;
336 350 }
337 351 },
... ...
trash-ui/src/api/leave.js
... ... @@ -97,21 +97,10 @@ export default {
97 97 if (this.fileEntityList.length != 0) {
98 98 this.fileEntityList.map(item => {
99 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 488 this.form[target].splice(this.form[target].indexOf(img), 1);
489 489 this.$forceUpdate();
490 490 },
491   - removeAttchItem(index, img) {
  491 + removeAttchItem(index, img,index1) {
492 492 let target = "attchItem" + index;
493 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 499 this.$forceUpdate();
495 500 },
496 501  
... ... @@ -514,17 +519,12 @@ export default {
514 519 }
515 520  
516 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 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 528 this.slides[this.picIndex] = this.slidesArys;
529 529 }
530 530 },
... ... @@ -540,11 +540,11 @@ export default {
540 540 }
541 541 let isAccept = false;
542 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 544 isAccept = true;
545 545 }
546 546 if (!isAccept) {
547   - this.$message.error('应该选择PDF、JPG、WORD类型的文件')
  547 + this.$message.error('应该选择PDF、PNG、JPG、WORD类型的文件')
548 548 return isAccept;
549 549 }
550 550  
... ... @@ -652,6 +652,7 @@ export default {
652 652 // 取消按钮
653 653 cancel() {
654 654 this.open = false;
  655 + this.slides = [];
655 656 this.reset();
656 657 },
657 658 // 表单重置
... ...
trash-ui/src/api/threestepInfo.js
... ... @@ -39,14 +39,7 @@ export default {
39 39 },
40 40 methods: {
41 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 44 downloadFile(path) {
52 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 136 if (this.fileEntityList.length != 0) {
137 137 this.fileEntityList.map(item => {
138 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 188 if (this.fileEntityList.length != 0) {
189 189 this.fileEntityList.map(item => {
190 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 22 import Pagination from "@/components/Pagination";
23 23 //自定义表格工具扩展
24 24 import RightToolbar from "@/components/RightToolbar"
25   -//缩略图插件
26   -import VuePreview from "vue-preview";
27 25  
28 26 // 全局方法挂载
29 27 Vue.prototype.getDicts = getDicts
... ... @@ -56,8 +54,6 @@ Vue.component(&#39;Pagination&#39;, Pagination)
56 54 Vue.component('RightToolbar', RightToolbar)
57 55  
58 56 Vue.use(permission)
59   -//缩略图插件
60   -Vue.use(VuePreview)
61 57  
62 58 /**
63 59 * If you don't want to use mock-server
... ...
trash-ui/src/views/activiti/task/companyInfo.vue
... ... @@ -52,8 +52,13 @@
52 52 <p >{{dict.name}}</p>
53 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 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 62 </el-dialog>
58 63 </div>
59 64 </div>
... ...
trash-ui/src/views/activiti/task/driverInfo.vue
... ... @@ -41,7 +41,12 @@
41 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 42 </div>
43 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 50 </el-dialog>
46 51 </div>
47 52 </div>
... ...
trash-ui/src/views/activiti/task/vehicleInfo.vue
... ... @@ -58,7 +58,12 @@
58 58 </div>
59 59  
60 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 67 </el-dialog>
63 68 </div>
64 69 </template>
... ...
trash-ui/src/views/business/threestep/index.vue
... ... @@ -189,86 +189,163 @@
189 189 </el-row>
190 190 <el-row type="flex" justify="center" style="margin-top: 20px;" v-if="form.type != null">
191 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 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 201 </el-col>
197 202 <el-col :span="6">
198 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 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 213 </el-col>
203 214 <el-col :span="6">
204 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 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 225 </el-col>
209 226 <el-col :span="6">
210 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 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 237 </el-col>
215 238 </el-row>
216 239 <el-row type="flex" justify="center" v-if="form.type != null">
217 240 <el-col :span="6">
218 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 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 251 </el-col>
223 252 <el-col :span="6">
224 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 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 263 </el-col>
229 264 <el-col :span="6">
230 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 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 275 </el-col>
235 276 <el-col :span="6">
236 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 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 287 </el-col>
241 288 </el-row>
242 289 <el-row type="flex" justify="center" v-if="form.type != null">
243 290 <el-col :span="5">
244 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 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 301 </el-col>
249 302 <el-col :span="5">
250 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 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 313 </el-col>
255 314 <el-col :span="5">
256 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 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 325 </el-col>
261 326 <el-col :span="5">
262 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 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 337 </el-col>
267 338 <el-col :span="4">
268 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 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 349 </el-col>
273 350 </el-row>
274 351  
... ... @@ -294,18 +371,39 @@
294 371 <el-row type="flex" justify="center">
295 372 <el-col :span="8">
296 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 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 383 </el-col>
300 384 <el-col :span="8">
301 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 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 395 </el-col>
305 396 <el-col :span="8">
306 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 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 407 </el-col>
310 408 </el-row>
311 409 </el-form>
... ... @@ -326,7 +424,7 @@
326 424 <el-upload multiple :headers="upload.headers" :action="upload.url" :file-list="fileList"
327 425 :on-success="uploadSuccess" :before-upload="beforeUpload">
328 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 428 </el-upload>
331 429 <div style="height: 40px;width:100%;">
332 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 72 <el-col :span="4">
73 73 过水槽照片
74 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 84 </el-col>
79 85 </el-row>
80 86 <el-row v-if="infoData.img1" >
81 87 <el-col :span="4">
82 88 洗车平台照片
83 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 99 </el-col>
88 100 </el-row>
89 101 <el-row v-if="infoData.img2" >
90 102 <el-col :span="4">
91 103 出入口照片
92 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 114 </el-col>
97 115 </el-row>
98 116 <el-row v-if="infoData.img3" >
99 117 <el-col :span="4">
100 118 沉淀池照片
101 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 129 </el-col>
106 130 </el-row>
107 131 <el-row v-if="infoData.img4" >
108 132 <el-col :span="4">
109 133 硬质路面照片
110 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 144 </el-col>
115 145 </el-row>
116 146 <el-row v-if="infoData.img5" >
117 147 <el-col :span="4">
118 148 {{infoData.type==0?"摄像头视频截图1":"洗车设施照片"}}
119 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 159 </el-col>
124 160 </el-row>
125 161 <el-row v-if="infoData.img6" >
126 162 <el-col :span="4">
127 163 {{infoData.type==0?"摄像头视频截图2":"雾炮机"}}
128 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 174 </el-col>
133 175 </el-row>
134 176 <el-row v-if="infoData.img7" >
135 177 <el-col :span="4">
136 178 {{infoData.type==0?"摄像头视频截图3":"裸露黄土覆盖照片"}}
137 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 189 </el-col>
142 190 </el-row>
143 191 <el-row v-if="infoData.img8" >
144 192 <el-col :span="4">
145 193 其他1
146 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 204 </el-col>
151 205 </el-row>
152 206 <el-row v-if="infoData.img9" >
153 207 <el-col :span="4">
154 208 其他2
155 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 219 </el-col>
160 220 </el-row>
161 221 <el-row v-if="infoData.img10" >
162 222 <el-col :span="4">
163 223 其他3
164 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 234 </el-col>
169 235 </el-row>
170 236 <el-row v-if="infoData.img11" >
171 237 <el-col :span="4">
172 238 其他4
173 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 249 </el-col>
178 250 </el-row>
179 251 <el-row v-if="infoData.img12" >
180 252 <el-col :span="4">
181 253 其他5
182 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 264 </el-col>
187 265 </el-row>
188 266  
... ... @@ -222,117 +300,195 @@
222 300 <el-col :span="4">
223 301 履职情况照片
224 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 312 </el-col>
229 313 </el-row>
230 314 <el-row v-if="infoData.sub_img1" >
231 315 <el-col :span="4">
232 316 水枪水嘴照片
233 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 327 </el-col>
238 328 </el-row>
239 329 <el-row v-if="infoData.sub_img2" >
240 330 <el-col :span="4">
241 331 照明照片
242 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 342 </el-col>
247 343 </el-row>
248 344 <el-row v-if="infoData.sub_img3" >
249 345 <el-col :span="4">
250 346 视频监控照片
251 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 357 </el-col>
256 358 </el-row>
257 359 <el-row v-if="infoData.sub_img4" >
258 360 <el-col :span="4">
259 361 洗车机照片
260 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 372 </el-col>
265 373 </el-row>
266 374 <el-row v-if="infoData.sub_img5" >
267 375 <el-col :span="4">
268 376 {{infoData.type==0?"摄像头视频截图1":"洗车设施照片"}}
269 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 387 </el-col>
274 388 </el-row>
275 389 <el-row v-if="infoData.sub_img6" >
276 390 <el-col :span="4">
277 391 {{infoData.type==0?"摄像头视频截图2":"雾炮机"}}
278 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 402 </el-col>
283 403 </el-row>
284 404 <el-row v-if="infoData.sub_img7" >
285 405 <el-col :span="4">
286 406 {{infoData.type==0?"摄像头视频截图3":"裸露黄土覆盖照片"}}
287 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 417 </el-col>
292 418 </el-row>
293 419 <el-row v-if="infoData.sub_img8" >
294 420 <el-col :span="4">
295 421 其他1
296 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 432 </el-col>
301 433 </el-row>
302 434 <el-row v-if="infoData.sub_img9" >
303 435 <el-col :span="4">
304 436 其他2
305 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 447 </el-col>
310 448 </el-row>
311 449 <el-row v-if="infoData.sub_img10" >
312 450 <el-col :span="4">
313 451 其他3
314 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 462 </el-col>
319 463 </el-row>
320 464 <el-row v-if="infoData.sub_img11" >
321 465 <el-col :span="4">
322 466 其他4
323 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 477 </el-col>
328 478 </el-row>
329 479 <el-row v-if="infoData.sub_img12" >
330 480 <el-col :span="4">
331 481 其他5
332 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 492 </el-col>
337 493 </el-row>
338 494  
... ... @@ -361,27 +517,45 @@
361 517 <el-col :span="4">
362 518 附件1
363 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 529 </el-col>
368 530 </el-row>
369 531 <el-row v-if="infoData.attchItem2" >
370 532 <el-col :span="4">
371 533 附件2
372 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 544 </el-col>
377 545 </el-row>
378 546 <el-row v-if="infoData.attchItem3" >
379 547 <el-col :span="4">
380 548 附件3
381 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 559 </el-col>
386 560 </el-row>
387 561 </el-form>
... ... @@ -393,7 +567,7 @@
393 567 </template>
394 568  
395 569  
396   -<script src="../../../api/threestepInfo">
  570 +<script src="@/api/threestepInfo">
397 571  
398 572 <style>
399 573 </style>
... ...
trash-ui/src/views/caseOffline/caseOffline/caseOfflineInfo.vue
1 1 <template>
2 2  
3 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 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 62 </el-dialog>
55 63 </div>
56 64 </template>
57 65  
58   -<script src="../../../api/caseOfflineInfo">
  66 +<script src="@/api/caseOfflineInfo">
59 67  
60 68 </script>
... ...
trash-ui/src/views/caseOffline/caseOffline/index.vue
... ... @@ -2,21 +2,21 @@
2 2 <div class="app-container">
3 3 <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
4 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 7 </el-select>
8 8 </el-form-item>
9 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 12 </el-select>
13 13 </el-form-item>
14 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 20 </el-date-picker>
21 21 </el-form-item>
22 22 <el-form-item>
... ... @@ -33,7 +33,8 @@
33 33 size="mini"
34 34 @click="handleAdd"
35 35 v-hasPermi="['caseOffline:caseOffline:add']"
36   - >新增</el-button>
  36 + >新增
  37 + </el-button>
37 38 </el-col>
38 39 <el-col :span="1.5">
39 40 <el-button
... ... @@ -42,15 +43,16 @@
42 43 size="mini"
43 44 @click="handleExport"
44 45 v-hasPermi="['caseOffline:caseOffline:export']"
45   - >导出</el-button>
  46 + >导出
  47 + </el-button>
46 48 </el-col>
47 49 </el-row>
48 50  
49 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 56 <el-table-column label="时间" align="center" prop="createTime" width="180">
55 57 </el-table-column>
56 58 <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
... ... @@ -60,7 +62,8 @@
60 62 type="text"
61 63 @click="handleUpdate(scope.row)"
62 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 67 </template>
65 68 </el-table-column>
66 69 </el-table>
... ... @@ -78,23 +81,24 @@
78 81 <el-form ref="form" :model="form" :rules="rules" label-width="80px">
79 82 <el-form-item label="案卷类型" prop="type">
80 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 85 </el-select>
83 86 </el-form-item>
84 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 91 </el-form-item>
89 92 <el-form-item label="类型" prop="siteType">
90 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 96 </el-select>
94 97 </el-form-item>
95 98 <el-form-item :label="form.siteType==0?'工地名称':'处理场所名称'" prop="siteName">
96 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 102 </el-select>
99 103 </el-form-item>
100 104 <el-form-item label="问题描述" prop="caseDec">
... ... @@ -108,9 +112,17 @@
108 112 </el-form-item>
109 113  
110 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 126 </el-form-item>
115 127  
116 128 </el-form>
... ... @@ -121,19 +133,19 @@
121 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 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 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 149 </el-upload>
138 150 <div style="height: 40px;width:100%;">
139 151 <el-button type="primary" style="margin-top: 20px;float:right;" @click="handleClose">关闭</el-button>
... ... @@ -142,4 +154,4 @@
142 154 </div>
143 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 210 <el-radio label="运输企业">运输企业</el-radio>
211 211 </el-radio-group>
212 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 220 </el-form-item>
216 221 <el-form-item prop="fileEntityList" label="附件">
217 222 <el-upload
... ... @@ -263,5 +268,5 @@
263 268 </div>
264 269 </template>
265 270  
266   -<script src="../../../api/vio_casefile">
  271 +<script src="@/api/vio_casefile">
267 272 </script>
... ...
trash-ui/src/views/casefile/violationCaseFile/violationCaseFileInfo.vue
... ... @@ -8,10 +8,11 @@
8 8 </el-col>
9 9 <el-col :span="11">
10 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 16 </el-select>
16 17 </el-form-item>
17 18 </el-col>
... ... @@ -20,16 +21,16 @@
20 21 <el-col :span="11">
21 22 <el-form-item label="所属区域" prop="owningRegion">
22 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 26 </el-select>
26 27 </el-form-item>
27 28 </el-col>
28 29 <el-col :span="11">
29 30 <el-form-item label="违规类型" prop="violationType">
30 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 34 </el-select>
34 35 </el-form-item>
35 36 </el-col>
... ... @@ -39,13 +40,13 @@
39 40 <el-form-item label="违规等级" prop="violationGrade">
40 41 <el-select v-model="form.violationGrade" placeholder="请选择企业名称" style="width: 100%;" :disabled="true">
41 42 <el-option label="一般类" value="一般类"/>
42   - <el-option label="重点类" value="重点类" />
  43 + <el-option label="重点类" value="重点类"/>
43 44 </el-select>
44 45 </el-form-item>
45 46 </el-col>
46 47 <el-col :span="11">
47 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 51 </el-select>
51 52 </el-form-item>
... ... @@ -54,7 +55,7 @@
54 55 <el-row :gutter="2">
55 56 <el-col :span="11">
56 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 59 </el-select>
59 60 </el-form-item>
60 61 </el-col>
... ... @@ -98,7 +99,9 @@
98 99 </el-radio-group>
99 100 </el-form-item>
100 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 105 </el-row>
103 106 <el-table :data="replyApprovalProcessList" v-if="entryType==0">
104 107 <el-table-column property="replyPeople" label="操作人" header-align="center" align="center"></el-table-column>
... ... @@ -113,13 +116,19 @@
113 116 @click="openImage(scope.row.replyImg)"
114 117 v-if="scope.row.replyImg!=null"
115 118 v-hasPermi="['casefile:violationWarningInformation:view']"
116   - >查看</el-button>
  119 + >查看
  120 + </el-button>
117 121 <span v-if="scope.row.replyImg==null">暂无</span>
118 122 </template>
119 123 </el-table-column>
120 124 </el-table>
121 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 132 <el-table :data="fileEntityList">
124 133 <el-table-column property="name" label="附件名称" header-align="center" align="center"></el-table-column>
125 134 <el-table-column label="操作" class-name="small-padding fixed-width" header-align="center" align="center">
... ... @@ -139,8 +148,12 @@
139 148 <el-button @click="open = false">取 消</el-button>
140 149 </div>
141 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 157 </el-dialog>
145 158 </el-form>
146 159 </template>
... ... @@ -148,7 +161,7 @@
148 161 <script>
149 162 import {getViolationCaseFile} from "@/api/casefile/violationCaseFile";
150 163 import {listReplyApprovalProcess} from "@/api/casefile/replyApprovalProcess";
151   -import {getBase64} from "@/api/business/threestep";
  164 +
152 165 export default {
153 166 name: "violationWarningInformationInfo",
154 167 props: {
... ... @@ -167,9 +180,9 @@ export default {
167 180 form: {},
168 181 fileEntityList: [],
169 182 open: false,
170   - replyApprovalProcessList:[],
171   - openImg:false,
172   - img:null,
  183 + replyApprovalProcessList: [],
  184 + openImg: false,
  185 + img: [],
173 186 showPic: null,
174 187 picImage: null,
175 188 slide1: []
... ... @@ -178,37 +191,30 @@ export default {
178 191 created() {
179 192 let id = this.idInfo.split(":");
180 193  
181   - if(id.length == 2){
  194 + if (id.length == 2) {
182 195 this.idInfo = id[1];
183   - }else{
  196 + } else {
184 197 this.idInfo = id;
185 198 }
186 199  
187 200  
188   -
189   -
190 201 this.init();
191 202 },
192   - methods:{
193   - init(){
  203 + methods: {
  204 + init() {
194 205 getViolationCaseFile(this.idInfo).then(response => {
195 206 this.form = response.data.violationCaseFile;
196 207 let files = JSON.stringify(response.data.uploadFiles);
197 208 this.fileEntityList = JSON.parse(files.replaceAll("filePath", "url").replaceAll("fileName", "name"));
198 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 218 this.replyApprovalProcessList = response.rows;
213 219 });
214 220 },
... ... @@ -222,9 +228,9 @@ export default {
222 228 a.setAttribute('href', process.env.VUE_APP_BASE_API + url);
223 229 a.click()
224 230 },
225   - openImage(base64){
  231 + openImage(img) {
226 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 195 <el-radio label="运输企业">运输企业</el-radio>
196 196 </el-radio-group>
197 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 205 </el-form-item>
201 206 <el-form-item prop="fileEntityList" label="附件">
202 207 <el-upload
... ... @@ -249,5 +254,5 @@
249 254 </div>
250 255 </template>
251 256  
252   -<script src="../../../api/warningInfo">
  257 +<script src="@/api/warningInfo">
253 258 </script>
... ...
trash-ui/src/views/casefile/violationWarningInformation/violationWarningInformationInfo.vue
... ... @@ -8,10 +8,11 @@
8 8 </el-col>
9 9 <el-col :span="11">
10 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 16 </el-select>
16 17 </el-form-item>
17 18 </el-col>
... ... @@ -83,7 +84,8 @@
83 84 <el-row>
84 85 <el-col :span="22">
85 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 89 </el-form-item>
88 90 </el-col>
89 91 </el-row>
... ... @@ -112,13 +114,19 @@
112 114 @click="openImage(scope.row.replyImg)"
113 115 v-if="scope.row.replyImg!=null"
114 116 v-hasPermi="['casefile:violationWarningInformation:edit']"
115   - >查看</el-button>
  117 + >查看
  118 + </el-button>
116 119 <span v-if="scope.row.replyImg==null">暂无</span>
117 120 </template>
118 121 </el-table-column>
119 122 </el-table>
120 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 130 <el-table :data="fileEntityList">
123 131 <el-table-column property="name" label="附件名称" header-align="center" align="center"></el-table-column>
124 132 <el-table-column label="操作" class-name="small-padding fixed-width" header-align="center" align="center">
... ... @@ -138,8 +146,12 @@
138 146 <el-button @click="open = false">取 消</el-button>
139 147 </div>
140 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 155 </el-dialog>
144 156 </el-form>
145 157 </template>
... ... @@ -147,7 +159,7 @@
147 159 <script>
148 160 import {getViolationWarningInformation} from "@/api/casefile/violationWarningInformation";
149 161 import {listReplyApprovalProcess} from "@/api/casefile/replyApprovalProcess";
150   -import {getBase64} from "@/api/business/threestep";
  162 +
151 163 export default {
152 164 name: "violationWarningInformationInfo",
153 165 props: {
... ... @@ -165,10 +177,10 @@ export default {
165 177 return {
166 178 form: {},
167 179 fileEntityList: [],
168   - open:false,
169   - replyApprovalProcessList:[],
170   - openImg:false,
171   - img:null,
  180 + open: false,
  181 + replyApprovalProcessList: [],
  182 + openImg: false,
  183 + img: [],
172 184 showPic: null,
173 185 picImage: null,
174 186 slide1: []
... ... @@ -177,9 +189,9 @@ export default {
177 189 created() {
178 190 let id = this.idInfo.split(":");
179 191  
180   - if(id.length == 2){
  192 + if (id.length == 2) {
181 193 this.idInfo = id[1];
182   - }else{
  194 + } else {
183 195 this.idInfo = id;
184 196 }
185 197 this.init();
... ... @@ -191,17 +203,12 @@ export default {
191 203 let files = JSON.stringify(response.data.uploadFiles);
192 204 this.fileEntityList = JSON.parse(files.replaceAll("filePath", "url").replaceAll("fileName", "name"));
193 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 212 this.replyApprovalProcessList = response.rows;
206 213 });
207 214 },
... ... @@ -215,9 +222,10 @@ export default {
215 222 a.setAttribute('href', process.env.VUE_APP_BASE_API + url);
216 223 a.click()
217 224 },
218   - openImage(base64){
  225 + openImage(img) {
  226 + this.img = [];
219 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 140 <el-form-item label="请假事由">
141 141 <el-input v-model="form.content" type="textarea" :rows="4"/>
142 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 151 <el-form-item prop="fileEntityList" label="附件">
144 152 <el-upload
145 153 ref="upload"
... ... @@ -191,7 +199,7 @@
191 199 </div>
192 200 </template>
193 201  
194   -<script src="../../../api/leave.js"/>
  202 +<script src="@/api/leave.js"/>
195 203 <style scope>
196 204 .el-select-dropdown__item{
197 205 width:300px;
... ...
trash-ui/src/views/h5/leaveApplication/leaveApplicationInfo.vue
... ... @@ -44,8 +44,13 @@
44 44 <el-form-item label="请假事由">
45 45 <el-input v-model="form.content" type="textarea" :rows="4" :disabled="true"/>
46 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 54 </el-form-item>
50 55 <el-table :data="fileEntityList">
51 56 <el-table-column property="name" label="附件名称" header-align="center" align="center"></el-table-column>
... ... @@ -102,12 +107,7 @@ export default {
102 107 this.fileEntityList = JSON.parse(files.replaceAll("filePath", "url").replaceAll("fileName", "name"));
103 108 this.fileEntityList.map(item => {
104 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 143 <el-row type="flex" justify="center" style="margin-top: 20px;" v-if="form.type != null">
144 144 <el-col :span="12">
145 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 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 154 </el-col>
150 155 <el-col :span="12">
151 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 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 165 </el-col>
156 166 </el-row>
157 167 <el-row type="flex" justify="center" style="margin-top: 20px;" v-if="form.type != null">
158 168 <el-col :span="12">
159 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 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 178 </el-col>
164 179 <el-col :span="12">
165 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 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 189 </el-col>
170 190 </el-row>
171 191 <el-row type="flex" justify="center" v-if="form.type != null">
172 192 <el-col :span="12">
173 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 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 202 </el-col>
178 203 <el-col :span="12">
179 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 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 213 </el-col>
184 214 </el-row>
185 215 <el-row type="flex" justify="center" style="margin-top: 20px;" v-if="form.type != null">
186 216 <el-col :span="12">
187 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 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 226 </el-col>
192 227 <el-col :span="12">
193 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 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 237 </el-col>
198 238 </el-row>
199 239 <el-row type="flex" justify="center" v-if="form.type != null">
200 240 <el-col :span="12">
201 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 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 250 </el-col>
206 251 <el-col :span="12">
207 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 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 261 </el-col>
212 262 </el-row>
213 263 <el-row type="flex" justify="center" style="margin-top: 20px;" v-if="form.type != null">
214 264 <el-col :span="12">
215 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 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 274 </el-col>
220 275 <el-col :span="12">
221 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 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 285 </el-col>
226 286 </el-row>
227 287 <el-row type="flex" justify="center" style="margin-top: 20px;" v-if="form.type != null">
228 288 <el-col :span="12">
229 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 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 298 </el-col>
234 299 </el-row>
235 300  
... ... @@ -255,18 +320,36 @@
255 320 <el-row type="flex" justify="center">
256 321 <el-col :span="8">
257 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 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 331 </el-col>
261 332 <el-col :span="8">
262 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 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 342 </el-col>
266 343 <el-col :span="8">
267 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 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 353 </el-col>
271 354 </el-row>
272 355 </el-form>
... ...
trash-ui/src/views/office/conference/conferenceInfo.vue
... ... @@ -39,8 +39,13 @@
39 39 </el-form-item>
40 40 </el-col>
41 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 49 </el-form-item>
45 50 <el-row>
46 51 <el-table :data="fileEntityList">
... ... @@ -94,12 +99,7 @@ export default {
94 99 this.fileEntityList = JSON.parse(files.replaceAll("filePath", "url").replaceAll("fileName", "name"))
95 100 this.fileEntityList.map(item => {
96 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 101 v-hasPermi="['office:conference:edit']"
102 102 >修改
103 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 112 </template>
113 113 </el-table-column>
114 114 </el-table>
... ... @@ -162,9 +162,16 @@
162 162 </el-form-item>
163 163 </el-col>
164 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 173 </el-form-item>
  174 +
168 175 <el-row :gutter="2">
169 176 <el-col :span="11">
170 177 <el-form-item prop="fileEntityList" label="附件">
... ... @@ -223,12 +230,12 @@
223 230  
224 231 <script>
225 232 import {
226   - listConference,
227   - getConference,
228   - delConference,
229 233 addConference,
230   - updateConference,
231   - exportConference
  234 + delConference,
  235 + exportConference,
  236 + getConference,
  237 + listConference,
  238 + updateConference
232 239 } from "@/api/office/conference";
233 240 import Editor from '@/components/ZcEditor';
234 241 import conferenceInfo from "./conferenceInfo";
... ... @@ -301,21 +308,10 @@ export default {
301 308 if (this.fileEntityList.length != 0) {
302 309 this.fileEntityList.map(item => {
303 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 89 v-if="form.type==0 && businessKey=='yuelanxuexi1'">
90 90 <el-input v-model="form.userNamesDone" :disabled="true"/>
91 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 99 </el-form-item>
95 100 <el-row>
96 101 <el-table :data="fileEntityList">
... ... @@ -177,12 +182,7 @@ export default {
177 182 this.fileEntityList = JSON.parse(files.replaceAll("filePath", "url").replaceAll("fileName", "name"));
178 183 this.fileEntityList.map(item => {
179 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 207 <el-form-item label="诉求" prop="appeal" v-if="form.type==2 || form.type==3|| form.type==4">
208 208 <el-input v-model="form.appeal" type="textarea" placeholder="请输入内容" :rows="6"/>
209 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 217 </el-form-item>
213 218 <el-row>
214 219 <el-col>
... ... @@ -341,21 +346,10 @@ export default {
341 346 if (this.fileEntityList.length != 0) {
342 347 this.fileEntityList.map(item => {
343 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 10  
11 11 />
12 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 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 21 <el-option label="事假" value="事假"/>
22 22 <el-option label="病假" value="病假"/>
23 23 <el-option label="年假" value="年假"/>
... ... @@ -45,28 +45,28 @@
45 45 >新增
46 46 </el-button>
47 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 70 <el-col :span="1.5">
71 71 <el-button
72 72 type="warning"
... ... @@ -83,7 +83,8 @@
83 83 <el-table v-loading="loading" :data="leaveApplicationList" @selection-change="handleSelectionChange">
84 84 <el-table-column type="selection" width="55" align="center"/>
85 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 88 <el-table-column label="联系方式" align="center" prop="phone"/>
88 89 <el-table-column label="请假类型" align="center" prop="type"/>
89 90 <el-table-column label="请假开始时间" align="center" prop="beginDate" width="180">
... ... @@ -121,14 +122,14 @@
121 122 v-hasPermi="['office:leaveApplication:edit']"
122 123 >修改
123 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 133 </template>
133 134 </el-table-column>
134 135 </el-table>
... ... @@ -146,7 +147,7 @@
146 147 <el-form ref="form" :model="form" :rules="rules" label-width="80px">
147 148  
148 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 151 </el-form-item>
151 152  
152 153 <el-form-item label="请假类型" prop="type">
... ... @@ -167,7 +168,7 @@
167 168 </el-form-item>
168 169  
169 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 172 v-model="form.beginDate"
172 173 type="datetime"
173 174 value-format="yyyy-MM-dd HH:mm:ss"
... ... @@ -175,7 +176,7 @@
175 176 </el-date-picker>
176 177 </el-form-item>
177 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 180 v-model="form.endDate"
180 181 type="datetime"
181 182 value-format="yyyy-MM-dd HH:mm:ss"
... ... @@ -185,8 +186,13 @@
185 186 <el-form-item label="请假事由">
186 187 <el-input v-model="form.content" type="textarea" :rows="4"/>
187 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 196 </el-form-item>
191 197 <el-form-item prop="fileEntityList" label="附件">
192 198 <el-upload
... ... @@ -239,5 +245,5 @@
239 245 </div>
240 246 </template>
241 247  
242   -<script src="../../../api/leave">
  248 +<script src="@/api/leave">
243 249 </script>
... ...
trash-ui/src/views/office/leaveApplication/leaveApplicationInfo.vue
... ... @@ -44,8 +44,13 @@
44 44 <el-form-item label="请假事由">
45 45 <el-input v-model="form.content" type="textarea" :rows="4" :disabled="true"/>
46 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 54 </el-form-item>
50 55 <el-table :data="fileEntityList">
51 56 <el-table-column property="name" label="附件名称" header-align="center" align="center"></el-table-column>
... ... @@ -102,12 +107,7 @@ export default {
102 107 this.fileEntityList = JSON.parse(files.replaceAll("filePath", "url").replaceAll("fileName", "name"));
103 108 this.fileEntityList.map(item => {
104 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 88 </el-form-item>
89 89 </el-col>
90 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 98 </el-form-item>
94 99 <el-row>
95 100 <el-table :data="fileEntityList">
... ... @@ -141,12 +146,7 @@ export default {
141 146 this.fileEntityList = JSON.parse(files.replaceAll("filePath", "url").replaceAll("fileName", "name"))
142 147 this.fileEntityList.map(item => {
143 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 212 </el-form-item>
213 213 </el-col>
214 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 222 </el-form-item>
218 223 <el-row>
219 224 <el-col :span="11">
... ... @@ -370,21 +375,10 @@ export default {
370 375 if (this.fileEntityList.length != 0) {
371 376 this.fileEntityList.map(item => {
372 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 5 <el-input
6 6 v-model="queryParams.name"
7 7 placeholder="请输入工程名称"
8   -
  8 +
9 9 size="small"
10   -
  10 +
11 11 />
12 12 </el-form-item>
13 13 <el-form-item label="检查时间" prop="checkTime">
... ... @@ -418,7 +418,7 @@
418 418 <el-input v-model="form.sign" placeholder="请输入建设单位代表签字" />
419 419 </el-form-item>
420 420  
421   - </el-row>
  421 + <el-row>
422 422 <el-col :span="24">
423 423 <el-form-item label="是否达标" prop="p9C3">
424 424 <el-select disabled v-model="form.p9C3">
... ...
trash-ui/src/views/otherData/otherData/index.vue
... ... @@ -4,16 +4,16 @@
4 4 <el-form-item label="所属区域" prop="place">
5 5 <el-select v-model="queryParams.place" placeholder="请输入所属区域">
6 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 8 </el-option>
9 9 </el-select>
10 10 </el-form-item>
11 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 17 </el-date-picker>
18 18 </el-form-item>
19 19 <el-form-item>
... ... @@ -30,7 +30,8 @@
30 30 size="mini"
31 31 @click="handleAdd"
32 32 v-hasPermi="['otherData:otherData:add']"
33   - >新增</el-button>
  33 + >新增
  34 + </el-button>
34 35 </el-col>
35 36 <el-col :span="1.5">
36 37 <el-button
... ... @@ -39,21 +40,22 @@
39 40 size="mini"
40 41 @click="handleExport"
41 42 v-hasPermi="['otherData:otherData:export']"
42   - >导出</el-button>
  43 + >导出
  44 + </el-button>
43 45 </el-col>
44   - <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
  46 + <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
45 47 </el-row>
46 48  
47 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 53 <el-table-column label="填报日期" align="center" prop="time" width="180">
52 54 <template slot-scope="scope">
53 55 <span>{{ parseTime(scope.row.time, '{y}-{m}-{d}') }}</span>
54 56 </template>
55 57 </el-table-column>
56   - <el-table-column label="填报人" align="center" prop="people" />
  58 + <el-table-column label="填报人" align="center" prop="people"/>
57 59 <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
58 60 <template slot-scope="scope">
59 61 <el-button
... ... @@ -61,7 +63,8 @@
61 63 type="text"
62 64 icon="el-icon-edit"
63 65 @click="handleUpdate(scope.row)"
64   - >查看</el-button>
  66 + >查看
  67 + </el-button>
65 68 </template>
66 69 </el-table-column>
67 70 </el-table>
... ... @@ -78,37 +81,46 @@
78 81 <el-dialog :title="title" :visible.sync="open" width="600px" append-to-body>
79 82 <el-form ref="form" :model="form" :rules="rules" label-width="80px">
80 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 89 </el-form-item>
87 90 <el-form-item label="资料类别" prop="type">
88   - <el-input v-model="form.type" placeholder="请输入资料类别" />
  91 + <el-input v-model="form.type" placeholder="请输入资料类别"/>
89 92 </el-form-item>
90 93 <el-form-item label="资料内容" prop="context">
91 94 <el-input v-model="form.context" placeholder="请输入资料内容" type="textarea"/>
92 95 </el-form-item>
93 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 102 </el-date-picker>
100 103 </el-form-item>
101 104 <el-form-item label="填报人" prop="people">
102   - <el-input v-model="form.people" placeholder="请输入填报人" />
  105 + <el-input v-model="form.people" placeholder="请输入填报人"/>
103 106 </el-form-item>
104 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 120 </el-form-item>
109 121 </el-form>
110 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 124 <el-button @click="cancel">取 消</el-button>
113 125 </div>
114 126 </el-dialog>
... ... @@ -117,11 +129,11 @@
117 129 <el-dialog :title="title" :visible.sync="open2" width="600px" append-to-body>
118 130 <el-form ref="form" :model="form" :rules="rules" label-width="80px">
119 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 137 </el-form-item>
126 138 <el-form-item label="资料类别" prop="type">
127 139 <el-input v-model="form.type" placeholder="请输入资料类别" disabled/>
... ... @@ -130,28 +142,36 @@
130 142 <el-input v-model="form.context" placeholder="请输入资料内容" type="textarea" disabled/>
131 143 </el-form-item>
132 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 150 </el-date-picker>
139 151 </el-form-item>
140 152 <el-form-item label="填报人" prop="people">
141 153 <el-input v-model="form.people" placeholder="请输入填报人" disabled/>
142 154 </el-form-item>
143 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 166 </el-form-item>
147 167 </el-form>
148 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 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 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 175 </el-upload>
156 176 <div style="height: 40px;width:100%;">
157 177 <el-button type="primary" style="margin-top: 20px;float:right;" @click="handleClose">关闭</el-button>
... ... @@ -161,15 +181,19 @@
161 181 </template>
162 182  
163 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 197 export default {
174 198 name: "OtherData",
175 199 data() {
... ... @@ -199,25 +223,27 @@ export default {
199 223 place: null,
200 224 time: null,
201 225 },
202   - uploadImageDialog:false,
  226 + uploadImageDialog: false,
203 227 // 表单参数
204 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 247 areas: [],
222 248 upload: {
223 249 // 是否显示弹出层(用户导入)
... ... @@ -233,7 +259,8 @@ export default {
233 259 // 上传的地址
234 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 266 created() {
... ... @@ -258,6 +285,7 @@ export default {
258 285 // 取消按钮
259 286 cancel() {
260 287 this.open = false;
  288 + this.slides = [];
261 289 this.reset();
262 290 },
263 291 // 表单重置
... ... @@ -269,11 +297,10 @@ export default {
269 297 context: null,
270 298 time: null,
271 299 people: null,
272   - attach: null,
273 300 createBy: null,
274 301 createTime: null,
275 302 updateTime: null,
276   - attach:[]
  303 + attach: []
277 304 };
278 305 this.resetForm("form");
279 306 },
... ... @@ -290,7 +317,7 @@ export default {
290 317 // 多选框选中数据
291 318 handleSelectionChange(selection) {
292 319 this.ids = selection.map(item => item.id)
293   - this.single = selection.length!==1
  320 + this.single = selection.length !== 1
294 321 this.multiple = !selection.length
295 322 },
296 323 /** 新增按钮操作 */
... ... @@ -305,11 +332,12 @@ export default {
305 332 const id = row.id || this.ids
306 333 getOtherData(id).then(response => {
307 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 338 this.open2 = true;
312 339 this.title = "其他专项资料";
  340 +
313 341 });
314 342 },
315 343 /** 提交按钮 */
... ... @@ -339,42 +367,54 @@ export default {
339 367 handleDelete(row) {
340 368 const ids = row.id || this.ids;
341 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 381 handleExport() {
354 382 const queryParams = this.queryParams;
355 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 393 removeAttchItem(index, img) {
366 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 400 this.$forceUpdate();
368 401 },
369 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 408 this.form.attach = [];
376 409 }
377 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 419 showFileUpload(i) {
380 420 this.uploadImageDialog = true;
... ... @@ -388,7 +428,7 @@ export default {
388 428 }
389 429 let isAccept = false;
390 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 432 isAccept = true;
393 433 }
394 434 if (!isAccept) {
... ... @@ -396,13 +436,16 @@ export default {
396 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 451 </script>
... ...