| | |
| | | </el-col> |
| | | <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20"> |
| | | <el-form-item label="上传图片" prop="rfidImage"> |
| | | <el-upload |
| | | v-model:file-list="fileList" |
| | | class="upload-demo" |
| | | accept="image/*" |
| | | :action="uploadUrl" |
| | | :on-preview="handlePreview" |
| | | :on-remove="handleRemove" |
| | | :before-upload ="getUploadUrl" |
| | | :before-remove="beforeRemove" |
| | | :limit="1" |
| | | :on-exceed="handleExceed" |
| | | > |
| | | <el-button type="primary">点击上传</el-button> |
| | | <el-upload accept="image/*" v-model:file-list="fileList" :http-request="upload" :action="uploadUrl" list-type="picture-card" :on-remove="handleRemove" :before-remove="beforeRemove" :before-upload="getUploadUrl"> |
| | | <el-icon><Plus /></el-icon> |
| | | <template #tip> |
| | | <div class="el-upload__tip"> |
| | | 上传 jpg/png 图片尺寸小于500KB |
| | | </div> |
| | | <div class="el-upload__tip">上传 jpg/png 图片尺寸小于500KB</div> |
| | | </template> |
| | | </el-upload> |
| | | </el-form-item> |
| | |
| | | RFIDForm: { |
| | | rfid: string; |
| | | rfidName: string; |
| | | rfidImage: string |
| | | |
| | | rfidImage: string; |
| | | }; |
| | | title: string; |
| | | RFIDFormRules: {}; |
| | | uploadUrl: string |
| | | uploadUrl: string; |
| | | fileList: []; |
| | | } |
| | | interface levelListState {} |
| | | import { reactive, toRefs, ref } from 'vue'; |
| | | import { RFIDApi } from '/@/api/intellectInspectSystem/RFID'; |
| | | import { ElMessage, ElMessageBox } from 'element-plus'; |
| | | import type { UploadProps, UploadUserFile } from 'element-plus' |
| | | import type { UploadProps, UploadUserFile } from 'element-plus'; |
| | | import axios from 'axios'; |
| | | export default { |
| | | name: 'RFIDDialog', |
| | | setup(props: any, context: any) { |
| | |
| | | rfidImage: '' |
| | | }, |
| | | uploadUrl: '', |
| | | |
| | | RFIDFormRules: { |
| | | rfid: [{ required: true, message: '请填写RFID编码', trigger: 'blur' }], |
| | | rfidName: [{ required: true, message: '请填写RFID名称', trigger: 'change' }], |
| | | riskLevel: [{ required: true, message: '请选择风险等级', trigger: 'change' }], |
| | | location: [{ required: true, message: '请填写区域位置', trigger: 'blur' }] |
| | | } |
| | | }, |
| | | |
| | | fileList: [] |
| | | }); |
| | | //打开模态框 |
| | | const openRFIDDialog = (type: string, value: object) => { |
| | |
| | | } |
| | | }; |
| | | |
| | | // 图片上传 |
| | | const fileList = ref<UploadUserFile[]>([]) |
| | | // // 图片上传 |
| | | // const fileList = ref<UploadUserFile[]>([]); |
| | | |
| | | const handleRemove: UploadProps['onRemove'] = (file, uploadFiles) => { |
| | | console.log(file, uploadFiles) |
| | | } |
| | | console.log(file, uploadFiles); |
| | | }; |
| | | |
| | | const handlePreview: UploadProps['onPreview'] = (uploadFile) => { |
| | | console.log(uploadFile) |
| | | } |
| | | console.log(uploadFile); |
| | | }; |
| | | |
| | | const handleExceed: UploadProps['onExceed'] = (files, uploadFiles) => { |
| | | ElMessage.warning( |
| | | `您选择的图片数量超出要求` |
| | | ) |
| | | } |
| | | const getUploadUrl = async (rawFile: UploadRawFile)=>{ |
| | | const res = await RFIDApi().getUploadUrl() |
| | | if(res.data.code === '200') { |
| | | console.log(res.data, '1111111111') |
| | | state.RFIDForm.rfidImage = res.data.fileName |
| | | console.log(res.data.uploadUrl,'33') |
| | | // state.uploadUrl = res.data.uploadUrl |
| | | console.log(state.uploadUrl,'222222222222') |
| | | } else { |
| | | ElMessage({ |
| | | type: 'warning', |
| | | message: res.data.msg |
| | | }); |
| | | } |
| | | } |
| | | ElMessage.warning(`您选择的图片数量超出要求`); |
| | | }; |
| | | const getUploadUrl = async (rawFile: any) => { |
| | | const res = await RFIDApi().getUploadUrl(rawFile.name); |
| | | state.RFIDForm.rfidImage = res.data.rfidImage; |
| | | state.uploadUrl = res.data.uploadUrl; |
| | | }; |
| | | |
| | | const upload = async (params: any) => { |
| | | debugger; |
| | | // const formData = new FormData(); |
| | | // formData.append('file', state.fileList[0].raw); |
| | | let reader = new FileReader(); |
| | | reader.readAsArrayBuffer(params.file); |
| | | reader.onload = async () => { |
| | | axios |
| | | .put(state.uploadUrl, reader.result, { |
| | | header: { 'Content-Type': 'multipart/form-data' } |
| | | }) |
| | | .then(() => {}); |
| | | // let res = await RFIDApi().uploadFile(state.uploadUrl, reader.result); |
| | | // if (res.data.code === '200') { |
| | | // } else { |
| | | // ElMessage({ |
| | | // type: 'warning', |
| | | // message: res.data.msg |
| | | // }); |
| | | // } |
| | | }; |
| | | }; |
| | | |
| | | const beforeRemove: UploadProps['beforeRemove'] = (uploadFile, uploadFiles) => { |
| | | return ElMessageBox.confirm( |
| | | `Cancel the transfert of ${uploadFile.name} ?` |
| | | ).then( |
| | | return ElMessageBox.confirm(`Cancel the transfert of ${uploadFile.name} ?`).then( |
| | | () => true, |
| | | () => false |
| | | ) |
| | | } |
| | | ); |
| | | }; |
| | | |
| | | //新增修改提交 |
| | | const submitRFID = async () => { |
| | |
| | | return { |
| | | ...toRefs(state), |
| | | RFIDFormRef, |
| | | fileList, |
| | | // fileList, |
| | | upload, |
| | | getUploadUrl, |
| | | handleRemove, |
| | | handlePreview, |