diff --git a/psdc-ui/src/views/system/device/index.vue b/psdc-ui/src/views/system/device/index.vue index 346fc51..e05dc1a 100644 --- a/psdc-ui/src/views/system/device/index.vue +++ b/psdc-ui/src/views/system/device/index.vue @@ -18,6 +18,15 @@ 新增 + + 导入 +
@@ -53,8 +62,39 @@
- - + //导入 + + + +
将文件拖到此处,或点击上传
+ +
+ +
@@ -162,6 +202,7 @@ import {ElMessage,ElMessageBox} from 'element-plus' import {Delete} from '@element-plus/icons-vue' import {ref,reactive,watch,onMounted} from "vue"; import {getXl, getSbTab, postNew1, getSb, postXg1, postDel1, getYh, getMx,} from '../../../api/emonitor/api' +import {getToken} from "@/utils/auth"; onMounted(()=>{ // getSb().then((res)=>{ // var arr = [] @@ -205,6 +246,21 @@ onMounted(()=>{ }) /** 筛选处理 */ const data = reactive({ + form:{}, + upload:{ + // 是否显示弹出层(用户导入) + open: false, + // 弹出层标题(用户导入) + title: "", + // 是否禁用上传 + isUploading: false, + // 是否更新已经存在的用户数据 + updateSupport: 0, + // 设置上传的请求头部 + headers: { Authorization: "Bearer " + getToken() }, + // 上传的地址 + url: import.meta.env.VITE_APP_BASE_API + "/system/user/importData" + }, MxList:[], sblb:[], total:'', @@ -322,7 +378,52 @@ const handleCurrentChange = (val) => { }) } - +function handleImport() { + data.upload.title = "设备导入"; + data.upload.open = true; +}; +/** 下载模板操作 */ +function importTemplate() { + proxy.download("system/user/importTemplate", { + }, `user_template_${new Date().getTime()}.xlsx`); +}; +/**文件上传中处理 */ +const handleFileUploadProgress = (event, file, fileList) => { + data.upload.isUploading = true; +}; +/** 文件上传成功处理 */ +const handleFileSuccess = (response, file, fileList) => { + data.upload.open = false; + data.upload.isUploading = false; + proxy.$refs["uploadRef"].handleRemove(file); + proxy.$alert("
" + response.msg + "
", "导入结果", { dangerouslyUseHTMLString: true }); + getList(); +}; +/** 提交上传文件 */ +function submitFileForm() { + proxy.$refs["uploadRef"].submit(); +}; +/** 重置操作表单 */ +function reset() { + data.form = { + userId: undefined, + userName: undefined, + nickName: undefined, + password: undefined, + phonenumber: undefined, + email: undefined, + sex: undefined, + status: "0", + remark: undefined, + roleIds: [] + }; + proxy.resetForm("userRef"); +}; +/** 取消按钮 */ +function cancel() { + open.value = false; + reset(); +}; /** 新增策略处理 */ const open = ref(false); const title = ref(); @@ -388,7 +489,6 @@ function submitForm() { timingForm.deviceAddress='', timingForm.deviceModel='' }) - }; function cancel() { open.value = false;