| | |
| | | <el-input class="input-add" v-model.trim="RFIDForm.rfid" placeholder="请输入RFID编码" clearable></el-input> |
| | | </el-form-item> |
| | | </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-icon><Plus /></el-icon> |
| | | <template #tip> |
| | | <div class="el-upload__tip">上传 jpg/png 图片尺寸小于500KB</div> |
| | | </template> |
| | | </el-upload> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | </el-form> |
| | | <template #footer> |
| | |
| | | RFIDForm: { |
| | | rfid: string; |
| | | rfidName: string; |
| | | rfidImage: string; |
| | | }; |
| | | title: string; |
| | | RFIDFormRules: {}; |
| | | uploadUrl: string; |
| | | fileList: []; |
| | | } |
| | | interface levelListState {} |
| | | import { reactive, toRefs, ref } from 'vue'; |
| | | import { RFIDApi } from '/@/api/intellectInspectSystem/RFID'; |
| | | import { ElMessage } from 'element-plus'; |
| | | import { ElMessage, ElMessageBox } from 'element-plus'; |
| | | import type { UploadProps, UploadUserFile } from 'element-plus'; |
| | | import axios from 'axios'; |
| | | export default { |
| | | name: 'RFIDDialog', |
| | | setup(props: any, context: any) { |
| | |
| | | isShowRFIDDialog: false, |
| | | RFIDForm: { |
| | | rfid: '', |
| | | rfidName: '' |
| | | rfidName: '', |
| | | 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) => { |
| | | state.isShowRFIDDialog = true; |
| | |
| | | state.title = '新增RFID'; |
| | | state.RFIDForm = { |
| | | rfid: '', |
| | | rfidName: '' |
| | | rfidName: '', |
| | | rfidImage: '' |
| | | }; |
| | | } else { |
| | | state.title = '修改RFID'; |
| | |
| | | } |
| | | }; |
| | | |
| | | // // 图片上传 |
| | | // const fileList = ref<UploadUserFile[]>([]); |
| | | |
| | | const handleRemove: UploadProps['onRemove'] = (file, uploadFiles) => { |
| | | console.log(file, uploadFiles); |
| | | }; |
| | | |
| | | 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; |
| | | 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( |
| | | () => true, |
| | | () => false |
| | | ); |
| | | }; |
| | | |
| | | //新增修改提交 |
| | | const submitRFID = async () => { |
| | | RFIDFormRef.value.validate(async (valid: Boolean) => { |
| | | if (valid) { |
| | | if (state.title === '新增巡检指标') { |
| | | if (state.title === '新增RFID') { |
| | | let res = await RFIDApi().addRFID(state.RFIDForm); |
| | | if (res.data.code === '200') { |
| | | ElMessage({ |
| | | type: 'success', |
| | | message: '巡检指标新增成功', |
| | | message: 'RFID新增成功', |
| | | duration: 2000 |
| | | }); |
| | | state.isShowRFIDDialog = false; |
| | |
| | | if (res.data.code === '200') { |
| | | ElMessage({ |
| | | type: 'success', |
| | | message: '巡检指标修改成功', |
| | | message: 'RFID修改成功', |
| | | duration: 2000 |
| | | }); |
| | | state.isShowRFIDDialog = false; |
| | |
| | | return { |
| | | ...toRefs(state), |
| | | RFIDFormRef, |
| | | // fileList, |
| | | upload, |
| | | getUploadUrl, |
| | | handleRemove, |
| | | handlePreview, |
| | | handleExceed, |
| | | beforeRemove, |
| | | submitRFID, |
| | | openRFIDDialog |
| | | }; |