|
|
|
@ -18,6 +18,15 @@ |
|
|
|
|
<el-col :span="1.5"> |
|
|
|
|
<el-button type="primary" icon="Plus" @click="handleAdd">新增</el-button> |
|
|
|
|
</el-col> |
|
|
|
|
<el-col :span="1.5"> |
|
|
|
|
<el-button |
|
|
|
|
type="info" |
|
|
|
|
plain |
|
|
|
|
icon="Upload" |
|
|
|
|
@click="handleImport" |
|
|
|
|
v-hasPermi="['system:user:import']" |
|
|
|
|
>导入</el-button> |
|
|
|
|
</el-col> |
|
|
|
|
</el-row> |
|
|
|
|
<div class="dev_control_table"> |
|
|
|
|
<el-table :data="data.timingList" height="500px"> |
|
|
|
@ -53,8 +62,39 @@ |
|
|
|
|
</div> |
|
|
|
|
</el-col> |
|
|
|
|
</el-row> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//导入 |
|
|
|
|
<el-dialog :title="data.upload.title" v-model="data.upload.open" width="400px" append-to-body> |
|
|
|
|
<el-upload |
|
|
|
|
ref="uploadRef" |
|
|
|
|
:limit="1" |
|
|
|
|
accept=".xlsx, .xls" |
|
|
|
|
:headers="data.upload.headers" |
|
|
|
|
:action="data.upload.url + '?updateSupport=' + data.upload.updateSupport" |
|
|
|
|
:disabled="data.upload.isUploading" |
|
|
|
|
:on-progress="handleFileUploadProgress" |
|
|
|
|
:on-success="handleFileSuccess" |
|
|
|
|
:auto-upload="false" |
|
|
|
|
drag |
|
|
|
|
> |
|
|
|
|
<el-icon class="el-icon--upload"><upload-filled /></el-icon> |
|
|
|
|
<div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div> |
|
|
|
|
<template #tip> |
|
|
|
|
<div class="el-upload__tip text-center"> |
|
|
|
|
<div class="el-upload__tip"> |
|
|
|
|
<el-checkbox v-model="data.upload.updateSupport" />是否更新已经存在的设备数据 |
|
|
|
|
</div> |
|
|
|
|
<span>仅允许导入xls、xlsx格式文件。</span> |
|
|
|
|
<el-link type="primary" :underline="false" style="font-size:12px;vertical-align: baseline;" @click="importTemplate">下载模板</el-link> |
|
|
|
|
</div> |
|
|
|
|
</template> |
|
|
|
|
</el-upload> |
|
|
|
|
<template #footer> |
|
|
|
|
<div class="dialog-footer"> |
|
|
|
|
<el-button type="primary" @click="submitFileForm">确 定</el-button> |
|
|
|
|
<el-button @click="data.upload.open = false">取 消</el-button> |
|
|
|
|
</div> |
|
|
|
|
</template> |
|
|
|
|
</el-dialog> |
|
|
|
|
|
|
|
|
|
<!-- 新增对话框 --> |
|
|
|
|
<el-dialog :title="title" v-model="open" width="600px" append-to-body> |
|
|
|
@ -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("<div style='overflow: auto;overflow-x: hidden;max-height: 70vh;padding: 10px 20px 0;'>" + response.msg + "</div>", "导入结果", { 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; |
|
|
|
|