| | |
| | | </el-col> |
| | | <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20"> |
| | | <el-form-item label="上传图片" prop="rfidImage"> |
| | | <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-upload accept="image/*" :on-preview="handlePictureCardPreview" :limits="1" 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> |
| | |
| | | </span> |
| | | </template> |
| | | </el-dialog> |
| | | <el-dialog v-model="dialogVisible"> |
| | | <img w-full :src="dialogImageUrl" alt="Preview Image" /> |
| | | </el-dialog> |
| | | </div> |
| | | </template> |
| | | |
| | |
| | | RFIDForm: { |
| | | rfid: string; |
| | | rfidName: string; |
| | | rfidImage: string; |
| | | rfidImage: string | null; |
| | | }; |
| | | title: string; |
| | | dialogVisible: Boolean; |
| | | dialogImageUrl: string | null; |
| | | RFIDFormRules: {}; |
| | | uploadUrl: string; |
| | | fileList: []; |
| | | fileList: Array<file>; |
| | | } |
| | | interface levelListState {} |
| | | interface file { |
| | | url: string; |
| | | } |
| | | import { reactive, toRefs, ref } from 'vue'; |
| | | import { RFIDApi } from '/@/api/intellectInspectSystem/RFID'; |
| | | import { ElMessage, ElMessageBox } from 'element-plus'; |
| | |
| | | RFIDForm: { |
| | | rfid: '', |
| | | rfidName: '', |
| | | rfidImage: '' |
| | | rfidImage: null |
| | | }, |
| | | uploadUrl: '', |
| | | |
| | | dialogVisible: false, |
| | | dialogImageUrl: null, |
| | | RFIDFormRules: { |
| | | rfid: [{ required: true, message: '请填写RFID编码', trigger: 'blur' }], |
| | | rfidName: [{ required: true, message: '请填写RFID名称', trigger: 'change' }], |
| | |
| | | rfidName: '', |
| | | rfidImage: '' |
| | | }; |
| | | state.fileList = []; |
| | | } else { |
| | | state.title = '修改RFID'; |
| | | state.fileList = []; |
| | | state.RFIDForm = JSON.parse(JSON.stringify(value)); |
| | | if (state.RFIDForm.rfidImage === null) return; |
| | | state.fileList = [{ url: state.RFIDForm.rfidImage }]; |
| | | } |
| | | }; |
| | | |
| | | // // 图片上传 |
| | | // const fileList = ref<UploadUserFile[]>([]); |
| | | |
| | | const handleRemove: UploadProps['onRemove'] = (file, uploadFiles) => { |
| | | console.log(file, uploadFiles); |
| | | }; |
| | | // |
| | | // const handleRemove = () => { |
| | | // ElMessageBox.confirm(`此操作将永久删除该图片,是否继续?`, '提示', { |
| | | // confirmButtonText: '确认', |
| | | // cancelButtonText: '取消', |
| | | // type: 'warning' |
| | | // }) |
| | | // .then(() => { |
| | | // state.RFIDForm.rfidImage = null; |
| | | // state.fileList = []; |
| | | // }) |
| | | // .catch(() => {}); |
| | | // }; |
| | | |
| | | const handlePreview: UploadProps['onPreview'] = (uploadFile) => { |
| | | console.log(uploadFile); |
| | | }; |
| | | |
| | | const handleExceed: UploadProps['onExceed'] = (files, uploadFiles) => { |
| | | ElMessage.warning(`您选择的图片数量超出要求`); |
| | | }; |
| | | const getUploadUrl = async (rawFile: any) => { |
| | | const res = await RFIDApi().getUploadUrl(rawFile.name); |
| | | state.RFIDForm.rfidImage = res.data.rfidImage; |
| | |
| | | }; |
| | | |
| | | const upload = async (params: any) => { |
| | | debugger; |
| | | // const formData = new FormData(); |
| | | // formData.append('file', state.fileList[0].raw); |
| | | let reader = new FileReader(); |
| | |
| | | .put(state.uploadUrl, reader.result, { |
| | | header: { 'Content-Type': 'multipart/form-data' } |
| | | }) |
| | | .then(() => {}); |
| | | .then(() => { |
| | | if (state.fileList.length === 2) { |
| | | state.fileList.splice(0, 1); |
| | | } |
| | | }); |
| | | // let res = await RFIDApi().uploadFile(state.uploadUrl, reader.result); |
| | | // if (res.data.code === '200') { |
| | | // } else { |
| | |
| | | }; |
| | | }; |
| | | |
| | | const beforeRemove: UploadProps['beforeRemove'] = (uploadFile, uploadFiles) => { |
| | | return ElMessageBox.confirm(`Cancel the transfert of ${uploadFile.name} ?`).then( |
| | | () => true, |
| | | () => false |
| | | ); |
| | | const beforeRemove = (file: {}, fileList: []) => { |
| | | const result = new Promise((resolve, reject) => { |
| | | ElMessageBox.confirm('此操作将删除该图片, 是否继续?', '提示', { |
| | | confirmButtonText: '确定', |
| | | cancelButtonText: '取消', |
| | | type: 'warning' |
| | | }) |
| | | .then(() => { |
| | | state.RFIDForm.rfidImage = null; |
| | | state.fileList = []; |
| | | // 请求删除接口 |
| | | }) |
| | | .catch(() => { |
| | | reject(false); |
| | | }); |
| | | }); |
| | | return result; |
| | | }; |
| | | |
| | | //新增修改提交 |
| | |
| | | }); |
| | | }; |
| | | |
| | | const handlePictureCardPreview = (uploadFile: { url: string }) => { |
| | | state.dialogImageUrl = uploadFile.url!; |
| | | state.dialogVisible = true; |
| | | }; |
| | | |
| | | return { |
| | | ...toRefs(state), |
| | | RFIDFormRef, |
| | | // fileList, |
| | | upload, |
| | | getUploadUrl, |
| | | handleRemove, |
| | | handlePreview, |
| | | handleExceed, |
| | | beforeRemove, |
| | | submitRFID, |
| | | openRFIDDialog |
| | | openRFIDDialog, |
| | | handlePictureCardPreview |
| | | }; |
| | | } |
| | | }; |