From 0188d5c81ee28ab2f42edc5d1db67c9cdb0db42d Mon Sep 17 00:00:00 2001
From: feige <791364011@qq.com>
Date: 星期五, 29 三月 2024 23:15:46 +0800
Subject: [PATCH] 提交上传的图像的代码
---
ruoyi-ui/src/views/device/equipmentInfo.vue | 481 ++++++++++++++++++++++++++++++++++++++++++----------
1 files changed, 383 insertions(+), 98 deletions(-)
diff --git a/ruoyi-ui/src/views/device/equipmentInfo.vue b/ruoyi-ui/src/views/device/equipmentInfo.vue
index 484547a..a684bd7 100644
--- a/ruoyi-ui/src/views/device/equipmentInfo.vue
+++ b/ruoyi-ui/src/views/device/equipmentInfo.vue
@@ -1,8 +1,21 @@
<template>
- <div class="app-container">
+ <div class="app-container" id="printable-content">
<div class="form-header mt">
- <h4 class="dt h4">瀹跺涵璁惧璇︾粏淇℃伅 </h4>
-
+ <h1 style="font-size:21px;padding-top:30px;display: flex;justify-content: space-between;align-items: center;">
+ <span>瀹跺涵璁惧璇︽儏</span>
+ <div style="display: flex; align-items: center;">
+ <el-button size="mini" type="text" @click="checkNote" v-hasPermi="['person:information:memo']">
+ <div class="form" ><el-icon style="padding-right:110px;"></el-icon>
+ <span class="text" style="width: 69px;height: 26px;font-size: 16px;
+ font-family: Microsoft YaHei-Regular, Microsoft YaHei; color: #EBA4AA;">澶囧繕鏈�</span></div>
+ </el-button>
+ <el-button size="mini" type="text" v-print="'#printable-content'" v-hasPermi="['person:information:memo']">
+ <div class="form" ><el-icon style="padding-right:110px;"></el-icon>
+ <span class="text" style="width: 69px;height: 26px;font-size: 16px;
+ font-family: Microsoft YaHei-Regular, Microsoft YaHei; color: #EBA4AA;">鎵撳嵃</span></div>
+ </el-button>
+ </div>
+ </h1>
</div>
<!-- 鍚嶇О銆佹椂闂淬�佽喘涔颁汉銆佸唴瀹广�佸湴鐐广�佸娉� -->
<el-form ref="elForm" :model="formData" :rules="rules" size="medium" label-width="100px" >
@@ -11,7 +24,7 @@
<el-input v-model="formData.name" placeholder="璇疯緭鍏ヨ澶囧悕绉�" clearable :style="{width: '100%'}" :disabled="dsb"></el-input>
</el-form-item>
<el-form-item label="鏃堕棿" prop="happenTime">
- <el-input v-model="formData.happenTime" placeholder="璇疯緭鍏ユ椂闂�" clearable :style="{width: '100%'}" :disabled="dsb">
+ <el-input v-model="formData.happenTime" placeholder="璇疯緭鍏ユ椂闂�" type="date" clearable :style="{width: '100%'}" :disabled="dsb">
</el-input>
</el-form-item>
<el-form-item label="璐拱浜�" prop="buyer">
@@ -27,8 +40,11 @@
</el-input>
</el-form-item>
<el-form-item label="鏄惁娉ㄩ攢" prop="status">
- <el-select v-model="formData.status=== 1 ? '鏄�':'鍚�'" placeholder="璇烽�夋嫨鏄惁娉ㄩ攢" clearable :style="{width: '100%'}" :disabled="dsb" >
- </el-select>
+ <el-select v-model="formData.status" placeholder="璇烽�夋嫨鏄�/鍚�" clearable :style="{width: '100%'}" :disabled="dsb" >
+ <el-option v-for="(item, index) in typeOptions2" :key="index" :label="item.label" :value="item.value"
+ ></el-option>
+ </el-select>
+
</el-form-item>
<!-- <el-form-item label="瀹跺涵鍙�" prop="familyId">
@@ -40,6 +56,7 @@
</el-form-item>
+
<h4 class="form-header">鐩稿叧鍥剧墖 </h4>
<el-upload
action="#"
@@ -47,8 +64,14 @@
multiple
:http-request="requestUpload"
:file-list="fileList"
+ :disabled="!btn"
+ :class="{ hide: !btn }"
+
+ :on-change="handleChange"
+ :auto-upload="false"
>
- <i slot="default" class="el-icon-plus"></i>
+
+ <i v-if="!uploading" slot="default" class="el-icon-plus"></i>
<div slot="file" slot-scope="{file}">
<img
class="el-upload-list__item-thumbnail"
@@ -60,14 +83,14 @@
>
<span class="el-upload-list__item-actions">
<span
- v-if="isShow"
+
class="el-upload-list__item-preview"
@click="handlePictureCardPreview(file)"
>
<i class="el-icon-zoom-in"></i>
</span>
<span
- v-if="isShow"
+
class="el-upload-list__item-delete"
@click="handleDownload(file.url)"
>
@@ -85,66 +108,92 @@
</div>
</el-upload>
-
+ <el-button
+ style="margin-left: 10px"
+ size="small"
+ type="success"
+ v-if="btn"
+ @click="picUpload"
+ >涓婁紶鍒版湇鍔″櫒</el-button>
<h4 class="form-header">鍏朵粬闄勪欢 </h4>
<el-upload
action=""
- :file-list="fileListOther"
+
class="upload-demo"
multiple
list-type="picture-card"
:on-preview="handleFileCardPreview"
- :on-remove="handleRemoveFile"
- :http-request="requestUpload"
- :show-file-list="true"
+ ref="upload1"
+ :on-remove="handleRemoveFile"
+ :http-request="requestUpload1"
+ :file-list="fileListOther"
+ :on-change="handleChange1"
+ :auto-upload="false"
+ :disabled="!btn"
+ :class="{ hide: !btn }"
>
- <i slot="default" class="el-icon-plus"></i>
+
+ <i v-if="!uploading" slot="default" class="el-icon-plus"></i>
<div slot="file" slot-scope="{file}">
- <img
+ <!-- 娣诲姞video鍏冪礌鐢ㄤ簬鏄剧ず瑙嗛 -->
+ <video
+ v-if="file.url.includes('.mp4')"
class="el-upload-list__item-thumbnail"
- src="../../assets/401_images/401.gif"
- alt=""
+ :src="file.url"
style="width: 147px; height: 147px"
fit="cover"
- >
+ ></video>
+ <img v-else
+ class="el-upload-list__item-thumbnail"
+ src="../../assets/401_images/401.gif"
+ alt=""
+ style="width: 147px; height: 147px"
+ fit="cover">
+
<span class="el-upload-list__item-actions">
- <span
- v-if="isShow"
- class="el-upload-list__item-preview"
- @click="handleFileCardPreview(file)"
- >
- <i class="el-icon-zoom-in"></i>
- </span>
- <span
- v-if="isShow"
- class="el-upload-list__item-delete"
- @click="handleDownload(file.url)"
- >
+ <span class="el-upload-list__item-name">{{ file.name }}</span>
+ <span
+ class="el-upload-list__item-preview"
+ @click="handleFileCardPreview(file)"
+ >
+ <i class="el-icon-zoom-in"></i>
+ </span>
+ <span
+
+ class="el-upload-list__item-delete"
+ @click="handleDownload(file.url)"
+ >
<i class="el-icon-download"></i>
</span>
- <span
- v-if="isShow"
- class="el-upload-list__item-delete"
- @click="handleRemoveFile(file)"
- >
- <i class="el-icon-delete"></i>
- </span>
+ <span
+ v-if="isShow"
+ class="el-upload-list__item-delete"
+ @click="handleRemoveFile(file)"
+ >
+ <i class="el-icon-delete"></i>
+ </span>
</span>
-
</div>
</el-upload>
-
+ <el-button
+ style="margin-left: 10px"
+ size="small"
+ type="success"
+ v-if="btn"
+ @click="fileUpload"
+ >涓婁紶鍒版湇鍔″櫒</el-button>
+ <h4 class="form-header"> </h4>
<el-form-item size="large">
<el-button v-if="isShow" type="primary" @click="submitForm" :disabled="dsb">淇敼</el-button>
</el-form-item>
</el-form>
<el-dialog :visible.sync="dialogVisible">
- <img w-full :src="dialogImageUrl" style="width: 700px; height: 700px" alt="Preview Image" />
+ <img w-full :src="dialogImageUrl" style="width: 100%; height: 100%" alt="Preview Image" />
</el-dialog>
</div>
</template>
@@ -162,15 +211,22 @@
return {
cdi:"瀹跺涵璁惧淇℃伅",
udi:"瀹跺涵璁惧淇敼",
- fot:[".jpg",".jif"],
+ // 鏁版嵁鑼冨洿閫夐」
+ fot:['.bmp','.jpg','.jpeg','.png','.tif','.gif','.pcx','.tga','.exif','.fpx',
+ '.svg','.psd','.cdr','.pcd','.dxf','.ufo','.eps','.ai','.aw','.WMF','.webp','.apng'],
+
fileList:[
],
+ fileList1:[],
+ uploadFileList:[],
+ uploadFileList1:[],
fileListOther:[
-
+
],
dsb:true,
btn:false,
isShow:true,
+ uploading: false,
formData: {
name: undefined,
@@ -179,9 +235,19 @@
content: undefined,
remark: undefined,
status:undefined,
- url: undefined,
+ url: "",
happenTime:undefined
},
+ typeOptions2: [
+ {
+ value: '鍚�',
+ label: '鍚�',
+ },
+ {
+ value: '鏄�',
+ label: '鏄�',
+ }
+ ],
desurl:'',
dialogImageUrl: '',
dialogVisible: false,
@@ -194,7 +260,7 @@
trigger: 'change'
}],
status: [{
- // required: true,
+ required: true,
message: '璇烽�夋嫨鏄惁娉ㄩ攢',
trigger: 'change'
}],
@@ -242,13 +308,14 @@
this.btn= jd
this.dsb = !jd
this.isShow=true
- document.title = "淇敼瀹跺涵璁惧璇︾粏淇℃伅";
+ // document.title = "淇敼瀹跺涵璁惧璇︾粏淇℃伅";
this.$route.meta.title = "淇敼瀹跺涵璁惧璇︾粏淇℃伅";//鍒楄〃鐨勫悕绉�
}
else{
- document.title = "瀹跺涵璁惧璇︾粏淇℃伅";
+ // document.title = "瀹跺涵璁惧璇︾粏淇℃伅";
this.$route.meta.title = "瀹跺涵璁惧璇︾粏淇℃伅";//鍒楄〃鐨勫悕绉�
- this.isShow=true
+ this.btn = false;
+ this.isShow=false
}
let _this = this
@@ -257,22 +324,36 @@
getEquipmentInfo(id).then((response) => {
this.formData = response.data;
+ if(this.formData.status==1)
+ this.formData.status = '鏄�'
+ else
+ this.formData.status = '鍚�'
let paths = response.data.url.split(",");
for(let i = 0; i < paths.length; i++)
{
if(paths[i]!="") {
-
- let pth = paths[i].substr(paths[i].length - 4, paths[i].length)
-
- if (_this.fot.includes(pth) === true)
- _this.fileList.push({name:paths[i],url: process.env.VUE_APP_BASE_TRUE_API+paths[i]})
- else {
- // alert(paths[i])
- let nms = paths[i].split("\/")
- let nm = nms[nms.length - 1]
- _this.fileListOther.push({name:nm, url: process.env.VUE_APP_BASE_TRUE_API+paths[i]})
+
+ let pth = paths[i].substr(paths[i].length - 4, paths[i].length)
+ // alert(pth)
+ if (_this.fot.includes(pth) === true)
+ {
+ if(paths[i][0]=="/")
+ _this.fileList.push({name:paths[i],url: process.env.VUE_APP_BASE_TRUE_API+paths[i].substr(1),res:false})
+ else
+ _this.fileList.push({name:paths[i],url: process.env.VUE_APP_BASE_TRUE_API+paths[i],res:false})
+ }
+ else {
+ // alert(paths[i])
+ // alert()
+ let nms = paths[i].split("\/")
+ let nm = nms[nms.length - 1]
+ if(paths[i][0]=="/")
+ _this.fileListOther.push({name:nm, url: process.env.VUE_APP_BASE_TRUE_API+paths[i].substr(1),res:false})
+ else
+ _this.fileListOther.push({name:nm, url: process.env.VUE_APP_BASE_TRUE_API+paths[i],res:false})
+
+ }
}
- }
}
this.loading = false;
});
@@ -294,27 +375,31 @@
// })
// },
submitForm() {
- let ul = this.fileList.map(function (elem){
- return elem.url.replace(process.env.VUE_APP_BASE_TRUE_API,"")
- }).join(",")
- let uls = this.fileListOther.map(function (elem){
- return elem.url.replace(process.env.VUE_APP_BASE_TRUE_API,"")
- }).join(",")
- this.formData.url = ul+","+uls
+
this.$refs['elForm'].validate(valid => {
-
+if(this.formData.status=='鏄�')
+ this.formData.status = 1
+ else
+ this.formData.status = 0
if (valid) {
if (this.formData.id != undefined) {
updateEquipment(this.formData).then(response => {
this.$modal.msgSuccess("淇敼鎴愬姛");
// this.open = false;
+ if(this.formData.status==1)
+ this.formData.status = '鏄�'
+ else
+ this.formData.status = '鍚�'
this.btn=false
});
} else {
this.$modal.msgSuccess("淇敼澶辫触");
-
+if(this.formData.status==1)
+ this.formData.status = '鏄�'
+ else
+ this.formData.status = '鍚�'
}
}
})
@@ -336,24 +421,106 @@
})
},
handleRemoveFile(file) {
+ //鍒よ鏄惁鏄箣鍓嶇殑鍥剧墖
+ let res = false
for(let i = 0; i < this.fileListOther.length; i++)
{
if(this.fileListOther[i].url==file.url)
+ {
+ if(this.fileListOther[i].res==false)
+ res = true
+ else
+ {
+ this.$delete(this.uploadFileList1, Math.abs(i - this.uploadFileList1.length-1))
+ }
this.$delete(this.fileListOther,i);
+
+ }
+ }
+
+ let ul = ""
+ this.fileList.map(function (elem){
+ if(elem.res==false)
+ ul = ul + ","+elem.url.replace(process.env.VUE_APP_BASE_TRUE_API,"")
+ })
+ let uls = ""
+ this.fileListOther.map(function (elem){
+ if(elem.res==false)
+ uls = uls +","+elem.url.replace(process.env.VUE_APP_BASE_TRUE_API,"")
+ })
+ this.formData.url = ul+","+uls;
+ // alert(this.formData.url)
+ if(this.formData.status=='鏄�')
+ this.formData.status = 1
+ else
+ this.formData.status = 0
+
+ if(res==true){
+ updateEquipment(this.formData).then(response => {
+ this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+ // this.open = false;
+
+ });
}
},
handleRemove(file) {
- for(let i = 0; i < this.fileList.length; i++)
- {
- if(this.fileList[i].url==file.url)
- this.$delete(this.fileList,i);
- }
+ //鍒ゆ柇鏄惁鏄箣鍓嶇殑鍥剧墖
+ let res = false
+ // alert(this.fileList.length)
+ for(let i = 0; i < this.fileList.length; i++)
+ {
+ if(this.fileList[i].url==file.url)
+ {
+ //鍘熸潵鍥惧儚鏍囪涓篺alse
+ //alert(this.fileList[i].res)
+ if(this.fileList[i].res==false)
+ res = true
+ else
+ {
+ // alert(this.uploadFileList.length)
+ // alert(87)
+ this.$delete(this.uploadFileList, Math.abs(i - this.uploadFileList.length-1))
+ // alert(this.uploadFileList.length)
+ }
+ this.$delete(this.fileList,i);
+
+ }
+ }
+ let ul = ""
+ this.fileList.map(function (elem){
+ if(elem.res==false)
+ ul = ul + ","+elem.url.replace(process.env.VUE_APP_BASE_TRUE_API,"")
+ })
+ let uls = ""
+ this.fileListOther.map(function (elem){
+ if(elem.res==false)
+ uls = uls +","+elem.url.replace(process.env.VUE_APP_BASE_TRUE_API,"")
+ })
+ this.formData.url = ul+","+uls;
+ if(this.formData.status=='鏄�')
+ this.formData.status = 1
+ else
+ this.formData.status = 0
+
+ if(res==true){
+ updateEquipment(this.formData).then(response => {
+ this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+ });
+ }
+
},
handleFileCardPreview(file){
this.dialogFileUrl = file.url;
+ // alert(file.url)
+ // this.dialogFileUrl = 'https://www.bendudu.com:8080/profile/upload/2023/10/18/20231018214647A011.doc'
+ // this.dialogFileUrl = 'https://47.93.189.255:8080/profile/upload/2023/03/19/test7_20230319222030A007.jpg'
+ if(this.dialogFileUrl.includes("47.93.189.255")==true)
+ this.dialogFileUrl = this.dialogFileUrl.replace("47.93.189.255","www.bendudu.com")
+ //alert(this.dialogFileUrl)
const Base64 = require('js-base64').Base64
- this.desurl = process.env.VUE_APP_BASE_OTHER_API+'onlinePreview?url='+encodeURIComponent(Base64.encode(this.dialogFileUrl));
- var myWindow=window.open(this.desurl,'','width=1200,height=800,top=150,left=300');
+
+ this.desurl = process.env.VUE_APP_BASE_OTHER_API+"preview/"+'onlinePreview?url='+encodeURIComponent(Base64.encode(this.dialogFileUrl));
+ let myWindow=window.open(this.desurl,'','width=1200,height=800,top=150,left=300');
},
handlePictureCardPreview(file) {
this.dialogImageUrl = file.url;
@@ -378,35 +545,147 @@
this.dsb = false
this.btn = true
},
- requestUpload(params)
- {
- var file = params.file;
- var formData = new FormData();
- formData.append('uploadFile', file);
- let _this = this
+ //鏌ョ湅澶囧繕鏈�
+ checkNote(row){
- uploadPic(formData).then(response => {
- let pth = response.data.originalFilename.substr(response.data.originalFilename.length-4, response.data.originalFilename.length)
+ const id = this.$route.params && this.$route.params.id;
- if(_this.fot.includes(pth) === true)
- {
- _this.fileList.push({name:response.data.fileName, "url":response.data.url})
-
- }
-
- else{
- _this.fileListOther.push({name:response.data.fileName, url:response.data.url})
-
- }
- })
-
- }
-
+ this.$router.push("/familymodel/Device/memo/" + id );
+ },
+
+ //鑷畾涔変笂浼犳柟娉�
+ handleChange(file, fileList1) {
+ //瀹氫箟涓�涓叏灞�鏁扮粍uploadFileList鏉ュ仛瀛樺偍
+
+ // this.uploadFileList.push(file.raw);
+ console.log("=========5555=========")
+ this.uploadFileList.push(file.raw);
+ this.fileList.push({name:file.name,url:file.url,res:true})
+ },
+ //鑷畾涔変笂浼犳柟娉�
+ handleChange1(file, fileListOther1) {
+ //瀹氫箟涓�涓叏灞�鏁扮粍uploadFileList鏉ュ仛瀛樺偍
+
+ // this.uploadFileList.push(file.raw);
+ this.uploadFileList1.push(file.raw);
+ this.fileListOther.push({name:file.name,url:file.url,res:true})
+ console.log("=========5555=========")
+ //console.log(file)
+ // console.log(this.uploadFileList)
+ // this.fileList = fileList
+ },
+ fileUpload(){
+ // var file = params.file;
+
+ var formData = new FormData();
+ //this.$refs.upload1.submit();
+ // alert(this.uploadFileList1.length)
+ // formData.append('uploadFile', file);
+ if(this.uploadFileList1.length==0){
+ this.$modal.msgSuccess("鏂囨。涓婁紶鍒楄〃涓嶈兘涓虹┖锛�");
+ return}
+
+ this.uploadFileList1.forEach((elem)=>{
+ formData.append("files", elem)
+
+ })
+ console.log(this.uploadFileList1)
+ let _this = this
+
+ this.uploading = true;
+ uploadPic(formData).then(response => {
+ _this.uploadFileList1 = []
+ if(_this.formData.status=='鏄�')
+ _this.formData.status = 1
+ else
+ _this.formData.status = 0
+
+ _this.formData.url = _this.formData.url+","+response.fileNames
+ updateEquipment(_this.formData).then(response => {
+ this.$modal.msgSuccess("鏂囨。涓婁紶鎴愬姛");
+ // this.open = false;
+ });
+ })
+
+ },
+ picUpload()
+ {
+
+ var formData = new FormData();
+ //this.$refs.upload.submit();
+ //alert(this.uploadFileList.length)
+ if(this.uploadFileList.length==0){
+ this.$modal.msgSuccess("鍥惧儚涓婁紶鍒楄〃涓嶈兘涓虹┖锛�");
+ return}
+
+ this.uploadFileList.forEach((elem)=>{
+ formData.append("files", elem)
+
+ })
+ let _this = this
+
+
+ uploadPic(formData).then(response => {
+ // console.log(response.originalFilenames)
+ // console.log(response.urls)
+ // console.log(response.fileNames)
+ // console.log(response.newFileNames)
+ // let pth = response.data.originalFilename.substr(response.data.originalFilename.length-4, response.data.originalFilename.length)
+ // _this.uploading1= false;
+ // console.log(_this.fot.includes(pth))
+ // // debugger
+ // if(_this.fot.includes(pth) === true)
+ // {
+ // _this.fileList.push({name:response.data.fileName, "url":response.data.url})
+ // let ul = _this.fileList.map(function (elem){
+ // return elem.url.replace(process.env.VUE_APP_BASE_TRUE_API,"")
+ // }).join(",")
+ // let uls = _this.fileListOther.map(function (elem){
+ // return elem.url.replace(process.env.VUE_APP_BASE_TRUE_API,"")
+ // }).join(",")
+ //console.log(_this.fileList)
+ // alert(response.fileNames)
+ _this.formData.url = _this.formData.url+","+response.fileNames
+ _this.uploadFileList = []
+ // alert(87)
+ if(_this.formData.status=='鏄�')
+ _this.formData.status = 1
+ else
+ _this.formData.status = 0
+
+ updateEquipment(_this.formData).then(response => {
+ _this.$modal.msgSuccess("鍥剧墖涓婁紶鎴愬姛");
+ // this.open = false;
+
+ });
+ // }
+ // else{
+ // _this.fileListOther.push({name:response.data.fileName, url:response.data.url})
+
+ // }
+ });
+ },
+ requestUpload(params)
+ {
+ // alert(124)
+ // this.uploadFileList.push(params.file);
+
+ //alert(34)
+
+
+ },
+ requestUpload1(params)
+ {
+ // alert(123)
+ // this.uploadFileList1.push(params.file);
+ // console.log("-----------")
+ //console.log(this.uploadFileList1)
+ },
}
}
</script>
-<style>
+<style scoped>
.mt
{
position: relative;
@@ -415,6 +694,12 @@
display: block;
}
+.hide /deep/ .el-upload--picture-card {
+ display: none;
+}
+.form{
+ background:center/11% no-repeat url('../../assets/icons/form.png') ;
+}
.pt{
right: 10px;
top:-3px;
--
Gitblit v1.9.1