Commit 2bfd0d5b authored by yanzhongrong's avatar yanzhongrong

用户管理及登录逻辑完成

parent 189ec294
...@@ -8,12 +8,8 @@ export function login(data) { ...@@ -8,12 +8,8 @@ export function login(data) {
}) })
} }
export function getInfo(token) { export function getInfo() {
return request({ return request.post('/user/selectUserBaseInfo', ...arguments)
url: '/user/info',
method: 'get',
params: { token }
})
} }
export function logout() { export function logout() {
......
...@@ -10,7 +10,6 @@ import router from './router' ...@@ -10,7 +10,6 @@ import router from './router'
import '@/icons' // icon import '@/icons' // icon
import '@/permission' // permission control import '@/permission' // permission control
import performLoader from '@/utils/global_main_loader.js' import performLoader from '@/utils/global_main_loader.js'
import { Loading } from 'element-ui'
Vue.use(ElementUI, { locale }) Vue.use(ElementUI, { locale })
performLoader(Vue) // 所有的第三方插件性质的东西都放到这里面了 performLoader(Vue) // 所有的第三方插件性质的东西都放到这里面了
...@@ -23,8 +22,8 @@ function dispatchWithPromise(path) { ...@@ -23,8 +22,8 @@ function dispatchWithPromise(path) {
} }
const beforeEnterApp = () => { const beforeEnterApp = () => {
// const loading = Loading.service({ fullscreen: true, text: '拼命加载中' })
dispatchWithPromise('depart/getDepart') dispatchWithPromise('depart/getDepart')
dispatchWithPromise('user/getInfo')
} }
beforeEnterApp() beforeEnterApp()
......
...@@ -2,7 +2,5 @@ const getters = { ...@@ -2,7 +2,5 @@ const getters = {
sidebar: state => state.app.sidebar, sidebar: state => state.app.sidebar,
device: state => state.app.device, device: state => state.app.device,
token: state => state.user.token, token: state => state.user.token,
avatar: state => state.user.avatar,
name: state => state.user.name
} }
export default getters export default getters
...@@ -32,6 +32,9 @@ const getters = { ...@@ -32,6 +32,9 @@ const getters = {
departMap(state) { departMap(state) {
return state.departMap return state.departMap
}, },
departList(state) {
return state.departList
},
} }
function handleDepart(list) { function handleDepart(list) {
......
...@@ -5,9 +5,7 @@ import { resetRouter } from '@/router' ...@@ -5,9 +5,7 @@ import { resetRouter } from '@/router'
const getDefaultState = () => { const getDefaultState = () => {
return { return {
token: getToken(), token: getToken(),
name: getUserName(), userBaseInfo: {}
avatar: '',
userId: getUserId()
} }
} }
...@@ -20,15 +18,9 @@ const mutations = { ...@@ -20,15 +18,9 @@ const mutations = {
SET_TOKEN: (state, token) => { SET_TOKEN: (state, token) => {
state.token = token state.token = token
}, },
SET_NAME: (state, name) => { SET_BASEINFO: (state, data) => {
state.name = name state.userBaseInfo = data
}, },
SET_AVATAR: (state, avatar) => {
state.avatar = avatar
},
SET_USERID: (state, userId) => {
state.userId = userId
}
} }
const actions = { const actions = {
...@@ -49,23 +41,10 @@ const actions = { ...@@ -49,23 +41,10 @@ const actions = {
}, },
// get user info // get user info
getInfo({ commit, state }) { getInfo({ commit }) {
return new Promise((resolve, reject) => { getInfo({type: 0}).then(res => {
getInfo(state.token).then(response => { if (!res) return
const { data } = response commit('SET_BASEINFO', res)
if (!data) {
return reject('Verification failed, please Login again.')
}
const { name, avatar } = data
// commit('SET_NAME', name)
commit('SET_AVATAR', avatar)
resolve(data)
}).catch(error => {
reject(error)
})
}) })
}, },
...@@ -77,8 +56,7 @@ const actions = { ...@@ -77,8 +56,7 @@ const actions = {
removeUserId() // must remove token first removeUserId() // must remove token first
resetRouter() resetRouter()
commit("SET_TOKEN", "") commit("SET_TOKEN", "")
commit("SET_NAME", "") commit("SET_BASEINFO", {})
commit("SET_USERID", "")
commit('RESET_STATE') commit('RESET_STATE')
resolve() resolve()
}) })
...@@ -96,10 +74,20 @@ const actions = { ...@@ -96,10 +74,20 @@ const actions = {
} }
} }
const getters = {
token(state) {
return state.token
},
userBaseInfo(state) {
return state.userBaseInfo
},
}
export default { export default {
namespaced: true, namespaced: true,
state, state,
mutations, mutations,
actions actions,
getters
} }
import Cookies from 'js-cookie' import Cookies from 'js-cookie'
const TokenKey = 'token' const TokenKey = 'token'
const userName = 'name'
const userId = 'id'
export function getToken() { export function getToken() {
return Cookies.get(TokenKey) return Cookies.get(TokenKey)
...@@ -15,27 +13,3 @@ export function setToken(token) { ...@@ -15,27 +13,3 @@ export function setToken(token) {
export function removeToken() { export function removeToken() {
return Cookies.remove(TokenKey) return Cookies.remove(TokenKey)
} }
export function getUserName() {
return Cookies.get(userName)
}
export function setUserName(name) {
return Cookies.set(userName, name)
}
export function removeUserName() {
return Cookies.remove(userName)
}
export function getUserId() {
return Cookies.get(userId)
}
export function setUserId(id) {
return Cookies.set(userId, id)
}
export function removeUserId() {
return Cookies.remove(userId)
}
\ No newline at end of file
...@@ -71,7 +71,7 @@ ...@@ -71,7 +71,7 @@
<script> <script>
import { login } from "@/api/user" import { login } from "@/api/user"
import { setToken, setUserName, setUserId } from "@/utils/auth" import { setToken } from "@/utils/auth"
export default { export default {
name: "Login", name: "Login",
...@@ -125,7 +125,7 @@ export default { ...@@ -125,7 +125,7 @@ export default {
username, username,
password password
} = this.loginForm } = this.loginForm
let { userName, token, userId } = await login({ let { token } = await login({
userName: username, userName: username,
password: password, password: password,
}, { }, {
...@@ -133,11 +133,7 @@ export default { ...@@ -133,11 +133,7 @@ export default {
}) })
if (!token) return if (!token) return
this.$store.commit("user/SET_TOKEN", token) this.$store.commit("user/SET_TOKEN", token)
this.$store.commit("user/SET_NAME", userName)
this.$store.commit("user/SET_USERID", userId)
setToken(token) setToken(token)
setUserName(userName)
setUserId(userId)
this.$router.push({ path: "/" }) this.$router.push({ path: "/" })
// setTimeout(() => { // setTimeout(() => {
// location.reload() // location.reload()
......
...@@ -5,6 +5,8 @@ const path = { ...@@ -5,6 +5,8 @@ const path = {
create: 'user/saveUser', create: 'user/saveUser',
updatePwd: 'user/updatePwd', updatePwd: 'user/updatePwd',
updateInfo: 'user/updateUserBaseInfo', updateInfo: 'user/updateUserBaseInfo',
exportLog: 'sysLog/exportLog',
logList: 'sysLog/selectLogPage',
} }
export function list() { export function list() {
...@@ -23,3 +25,11 @@ export function updateInfo() { ...@@ -23,3 +25,11 @@ export function updateInfo() {
return request.post(path.updateInfo, ...arguments) return request.post(path.updateInfo, ...arguments)
} }
export function exportLog() {
return request.post(path.exportLog, ...arguments)
}
export function logList() {
return request.post(path.logList, ...arguments)
}
export function formInit(data = {}) {
return {
originName: '',
realName: '',
userName: '',
deptId: '',
password: '123456',
phone: '',
email: '',
userId: '',
...data
}
}
export function formInitPwd(data = {}) {
return {
userName: '',
originPwd: '',
password: '',
sureNewPwd: '',
userId: '',
...data
}
}
export const rules = {
userName: { required: true, message: '请输入用户名', trigger: 'blur' },
deptId: { required: true, message: '请选择所在部门', trigger: 'blur' }
}
...@@ -2,14 +2,21 @@ ...@@ -2,14 +2,21 @@
<div> <div>
<div class="title">修改基本信息</div> <div class="title">修改基本信息</div>
<el-form ref="form" :model="form" label-width="100px" :rules="rules"> <el-form ref="form" :model="form" label-width="100px" :rules="rules">
<el-form-item label="用户名:" prop="name"> <el-form-item label="用户名:" prop="userName">
<el-input v-model="form.name" /> <el-input v-model="form.userName" />
</el-form-item> </el-form-item>
<el-form-item label="所在部门:" prop="depart"> <el-form-item label="所在部门:" prop="deptId">
<el-input v-model="form.depart" /> <el-select v-model="form.deptId" style="width:100%" placeholder="请选择">
<el-option
v-for="item in departList"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item> </el-form-item>
<el-form-item label="电话号码:"> <el-form-item label="电话号码:">
<el-input v-model="form.tel" /> <el-input v-model="form.phone" />
</el-form-item> </el-form-item>
<el-form-item label="邮箱:"> <el-form-item label="邮箱:">
<el-input v-model="form.email" /> <el-input v-model="form.email" />
...@@ -22,26 +29,33 @@ ...@@ -22,26 +29,33 @@
</template> </template>
<script> <script>
import { mapGetters } from 'vuex'
import { rules } from '../../const'
import { updateInfo } from '../../api'
export default { export default {
data() { data() {
let { deptId, email, phone, userId, userName } = this.$store.state.user.userBaseInfo
return { return {
form: { form: {
name: 'admin', deptId: deptId,
depart: '', email: email,
tel: '', phone: phone,
email: '' userId: userId,
userName: userName
}, },
rules: { rules
name: { required: true, message: '请输入用户名', trigger: 'blur' },
depart: { required: true, message: '请输入所在部门', trigger: 'blur' }
}
} }
}, },
computed: {
...mapGetters('depart', ['departList']),
},
methods: { methods: {
confirm() { confirm() {
this.$refs.form.validate((valid) => { this.$refs.form.validate((valid) => {
if (valid) { if (valid) {
// alert('submit!'); updateInfo(this.form).then(res => {
this.$message.success('操作成功')
})
} else { } else {
console.log('error submit!!') console.log('error submit!!')
return false return false
......
...@@ -2,17 +2,17 @@ ...@@ -2,17 +2,17 @@
<div> <div>
<div class="title">修改密码</div> <div class="title">修改密码</div>
<el-form ref="form" :model="form" label-width="100px" :rules="rules"> <el-form ref="form" :model="form" label-width="100px" :rules="rules">
<el-form-item label="用户名:" prop="name"> <el-form-item label="用户名:" prop="userName">
<el-input v-model="form.name" /> <el-input v-model="form.userName" />
</el-form-item> </el-form-item>
<el-form-item label="原密码:" prop="originPwd"> <el-form-item label="原密码:" prop="originPwd">
<el-input v-model="form.originPwd" /> <el-input type="password" v-model="form.originPwd" />
</el-form-item> </el-form-item>
<el-form-item label="新密码:" prop="password"> <el-form-item label="新密码:" prop="password">
<el-input v-model="form.password" /> <el-input type="password" v-model="form.password" />
</el-form-item> </el-form-item>
<el-form-item label="确认新密码:" prop="sureNewPwd"> <el-form-item label="确认新密码:" prop="sureNewPwd">
<el-input v-model="form.sureNewPwd" /> <el-input type="password" v-model="form.sureNewPwd" />
</el-form-item> </el-form-item>
</el-form> </el-form>
<div class="btn"> <div class="btn">
...@@ -28,25 +28,26 @@ export default { ...@@ -28,25 +28,26 @@ export default {
var validatePass2 = (rule, value, callback) => { var validatePass2 = (rule, value, callback) => {
if (value === '') { if (value === '') {
callback(new Error('请再次输入新密码')) callback(new Error('请再次输入新密码'))
} else if (value !== this.form.newPass) { } else if (value !== this.form.password) {
callback(new Error('两次输入密码不一致!')) callback(new Error('两次输入密码不一致!'))
} else { } else {
callback() callback()
} }
} }
let { userId, userName } = this.$store.state.user.userBaseInfo
return { return {
form: { form: {
name: this.$store.getters.name, userName: userName,
originPwd: '', originPwd: '',
password: '', password: '',
sureNewPwd: '', sureNewPwd: '',
userId: this.$store.getters userId: userId
}, },
rules: { rules: {
name: { required: true, message: '请输入用户名', trigger: 'blur' }, userName: { required: true, message: '请输入用户名', trigger: 'blur' },
oldPass: { required: true, message: '请输入原密码', trigger: 'blur' }, originPwd: { required: true, message: '请输入原密码', trigger: 'blur' },
newPass: { required: true, message: '请输入新密码', trigger: 'blur' }, password: { required: true, message: '请输入新密码', trigger: 'blur' },
confirmPwd: [{ required: true, validator: validatePass2, trigger: 'blur' }] sureNewPwd: [{ required: true, validator: validatePass2, trigger: 'blur' }]
} }
} }
}, },
...@@ -55,7 +56,7 @@ export default { ...@@ -55,7 +56,7 @@ export default {
this.$refs.form.validate((valid) => { this.$refs.form.validate((valid) => {
if (valid) { if (valid) {
updatePwd(this.form).then(res => { updatePwd(this.form).then(res => {
console.log(res, 111); this.$message.success('操作成功')
}) })
} else { } else {
console.log('error submit!!') console.log('error submit!!')
......
<template>
<el-dialog
:title="editText"
:visible.sync="visible"
@close="cancel"
width="700px"
:close-on-click-modal="false"
>
<el-form ref="form" :model="form" label-width="100px" :rules="rules">
<el-form-item label="用户名:" prop="userName">
<el-input v-model="form.userName" />
</el-form-item>
<el-form-item label="真实姓名:" prop="realName">
<el-input v-model="form.realName" />
</el-form-item>
<el-form-item label="所在部门:" prop="deptId">
<el-select v-model="form.deptId" style="width:100%" placeholder="请选择">
<el-option
v-for="item in departList"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="电话号码:">
<el-input v-model="form.phone" />
</el-form-item>
<el-form-item label="邮箱:">
<el-input v-model="form.email" />
</el-form-item>
</el-form>
<span slot="footer">
<el-button @click="cancel">取消</el-button>
<el-button type="primary" @click="confrim">确定</el-button>
</span>
</el-dialog>
</template>
<script>
import { formInit, rules } from '../../const'
import { updateInfo, create } from '../../api'
import { mapGetters } from 'vuex'
export default {
name: 'edit',
data() {
return {
rules,
form: formInit(),
visible: false
}
},
props: {
flag: {
type: Number,
default: 1
},
curInfo: {
type: Object,
default: () => { }
}
},
watch: {
flag: {
immediate: true,
handler(newV) {
this.visible = !!newV
this.form = formInit(this.curInfo)
},
},
},
computed: {
...mapGetters('depart', ['departList']),
editText() {
return `${this.flag === 1 ? '新增' : '编辑'}基本信息`
}
},
methods: {
cancel() {
this.form = formInit()
this.$emit('reset')
},
confrim() {
let apiMap = {
1: create,
2: updateInfo,
}
let api = apiMap[this.flag]
this.$refs['form'].validate(valid => {
let params = {
...this.form
}
if (valid) {
api(params).then(() => {
this.$message.success('操作成功')
this.$emit('reset', true)
})
}
})
}
}
}
</script>
<template>
<el-dialog
title="修改密码"
:visible.sync="visible"
@close="cancel"
width="700px"
:close-on-click-modal="false"
>
<el-form ref="form" :model="form" label-width="100px" :rules="rules">
<el-form-item label="用户名:" prop="userName">
<el-input v-model="form.userName" />
</el-form-item>
<el-form-item label="原密码:" prop="originPwd">
<el-input type="password" v-model="form.originPwd" />
</el-form-item>
<el-form-item label="新密码:" prop="password">
<el-input type="password" v-model="form.password" />
</el-form-item>
<el-form-item label="确认新密码:" prop="sureNewPwd">
<el-input type="password" v-model="form.sureNewPwd" />
</el-form-item>
</el-form>
<span slot="footer">
<el-button @click="cancel">取消</el-button>
<el-button type="primary" @click="confrim">确定</el-button>
</span>
</el-dialog>
</template>
<script>
import { formInitPwd } from '../../const'
import { updatePwd } from '../../api'
export default {
name: 'editPwd',
data() {
var validatePass2 = (rule, value, callback) => {
if (value === '') {
callback(new Error('请再次输入新密码'))
} else if (value !== this.form.password) {
callback(new Error('两次输入密码不一致!'))
} else {
callback()
}
}
return {
rules: {
userName: { required: true, message: '请输入用户名', trigger: 'blur' },
originPwd: { required: true, message: '请输入原密码', trigger: 'blur' },
password: { required: true, message: '请输入新密码', trigger: 'blur' },
sureNewPwd: [{ required: true, validator: validatePass2, trigger: 'blur' }]
},
form: formInitPwd(),
visible: false
}
},
props: {
flag1: {
type: Number,
default: 0
},
curInfo: {
type: Object,
default: () => { }
}
},
watch: {
flag1: {
immediate: true,
handler(newV) {
this.visible = !!newV
this.form = formInitPwd(this.curInfo)
},
},
},
computed: {
},
methods: {
cancel() {
this.form = formInitPwd()
this.$emit('reset')
},
confrim() {
this.$refs['form'].validate(valid => {
let params = {
...this.form
}
if (valid) {
updatePwd(params).then(() => {
this.$message.success('操作成功')
this.$emit('reset', true)
})
}
})
}
}
}
</script>
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<div class="leakage-top"> <div class="leakage-top">
<div style="color: #666666"></div> <div style="color: #666666"></div>
<div class="operate-btn"> <div class="operate-btn">
<el-button type="primary">添加新用户</el-button> <el-button type="primary" @click="addUser">添加新用户</el-button>
</div> </div>
</div> </div>
<el-table <el-table
...@@ -27,7 +27,7 @@ ...@@ -27,7 +27,7 @@
/> />
<el-table-column prop="userName" label="用户名" align="center" /> <el-table-column prop="userName" label="用户名" align="center" />
<el-table-column prop="realName" label="真实姓名" align="center" /> <el-table-column prop="realName" label="真实姓名" align="center" />
<el-table-column prop="deptId" label="用户部门" align="center" /> <el-table-column prop="deptName" label="用户部门" align="center" />
<el-table-column prop="phone" label="电话号码" align="center" /> <el-table-column prop="phone" label="电话号码" align="center" />
<el-table-column prop="email" label="邮箱" align="center" /> <el-table-column prop="email" label="邮箱" align="center" />
<el-table-column label="操作" align="center"> <el-table-column label="操作" align="center">
...@@ -44,11 +44,17 @@ ...@@ -44,11 +44,17 @@
class="pagination" class="pagination"
@pagination="handlePageChange" @pagination="handlePageChange"
/> />
<edit @reset="reset" :cur-info="curInfo" :flag="flag"></edit>
<ediPwd @reset="reset" :cur-info="curInfo" :flag1="flag1"></ediPwd>
</div> </div>
</template> </template>
<script> <script>
import { list, create, updatePwd, updateInfo } from '../api' import { list } from '../api'
import edit from './components/editInfo.vue'
import ediPwd from './components/editPwd.vue'
export default { export default {
data() { data() {
return { return {
...@@ -58,9 +64,16 @@ export default { ...@@ -58,9 +64,16 @@ export default {
}, },
tableData: [], tableData: [],
total: 5, total: 5,
loading: false loading: false,
curInfo: {},
flag: 0,
flag1: 0
} }
}, },
components: {
edit,
ediPwd
},
methods: { methods: {
tableRowClassName({ row, rowIndex }) { tableRowClassName({ row, rowIndex }) {
return rowIndex % 2 === 0 ? '' : 'single-row' return rowIndex % 2 === 0 ? '' : 'single-row'
...@@ -81,6 +94,25 @@ export default { ...@@ -81,6 +94,25 @@ export default {
this.total = res.total this.total = res.total
}) })
}, },
addUser() {
this.curInfo = {}
this.flag = 1
},
toEditInfo(row) {
this.curInfo = row
this.flag = 2
},
toEditPwd(row) {
this.curInfo = row
this.flag1 = 3
},
reset(needRefresh) {
this.flag = 0
this.flag1 = 0
if(needRefresh) {
this.getTableData()
}
}
}, },
mounted() { mounted() {
this.getTableData() this.getTableData()
......
...@@ -4,142 +4,85 @@ ...@@ -4,142 +4,85 @@
<div class="leakage-top"> <div class="leakage-top">
<div style="color: #666666"></div> <div style="color: #666666"></div>
<div class="operate-btn"> <div class="operate-btn">
<!-- <el-button <el-button type="primary" @click="getTableData">刷新</el-button>
:type="multipleSelection.length ? 'primary' : 'info'"
:disabled="!multipleSelection.length"
>删除</el-button
> -->
<el-button type="primary">刷新</el-button>
<el-button type="primary">查询</el-button> <el-button type="primary">查询</el-button>
<el-button type="primary">导出</el-button> <el-button type="primary" @click="exportLog">导出</el-button>
</div> </div>
</div> </div>
<el-table <el-table
:data="tableData2" :data="tableData"
style="width: 100%" style="width: 100%"
class="statistics-table" class="statistics-table"
:row-class-name="tableRowClassName" :row-class-name="tableRowClassName"
:row-style="{ height: '50px' }" :row-style="{ height: '50px' }"
:header-cell-style="{ background: '#EAF1FE', color: '#666666' }" :header-cell-style="{ background: '#EAF1FE', color: '#666666' }"
@selection-change="handleSelectionChange"
> >
<el-table-column prop="name" label="用户名" align="center" /> <el-table-column prop="userName" label="用户名" align="center" />
<el-table-column prop="operatingClass" label="操作类别" align="center" /> <el-table-column prop="operateTypeValue" label="操作类别" align="center" />
<el-table-column prop="operatingObject" label="操作对象" align="center" /> <el-table-column prop="operateObj" label="操作对象" align="center" />
<el-table-column prop="objectName" label="对象名称" align="center" /> <el-table-column prop="objectName" label="对象名称" align="center" />
<el-table-column <el-table-column
prop="operatingContent" prop="operateContent"
label="操作内容" label="操作内容"
align="center" align="center"
/> />
<el-table-column prop="operatingeRsult" label="操作结果" align="center" /> <el-table-column prop="operateResultValue" label="操作结果" align="center" />
<el-table-column prop="operatingDate" label="操作时间" align="center" /> <el-table-column prop="creationTime" label="操作时间" align="center" />
</el-table> </el-table>
<pagination <Pagination
:limit="searchForm.pageSize" :limit="params.pageSize"
:page="searchForm.pageNum" :page="params.pageNum"
:total="total" :total="total"
class="pagination" class="pagination"
@pagination="handlePageChange" @pagination="handlePageChange"
/> />
</div> </div>
</template> </template>
<script> <script>
import Pagination from "@/components/Pagination"; import { exportLog, logList } from '../api'
export default { export default {
props: [],
components: {
Pagination,
},
data() { data() {
return { return {
multipleSelection: [], params: {
searchForm: {
pageNum: 1, pageNum: 1,
pageSize: 10, pageSize: 10,
}, },
total: 10, total: 10,
tableData2:[], tableData: [],
tableData: [
{
name: "admin",
operatingClass: "修改",
operatingObject: "FSU",
objectName: "FSU_193.168.1.20",
operatingContent: "修改FSU现场管理单位",
operatingeRsult: "成功",
operatingDate: "2022/12/18 11:59:42",
},
{
name: "admin",
operatingClass: "告警确认",
operatingObject: "故障定位设备",
objectName: "故障定位单位_12",
operatingContent: "确认连接告警",
operatingeRsult: "失败",
operatingDate: "2022/12/18 12:24:15",
},
{
name: "admin",
operatingClass: "修改",
operatingObject: "FSU",
objectName: "FSU_193.168.1.20",
operatingContent: "修改FSU现场管理单位",
operatingeRsult: "成功",
operatingDate: "2022/12/18 11:59:42",
},
{
name: "admin",
operatingClass: "告警确认",
operatingObject: "故障定位设备",
objectName: "故障定位单位_12",
operatingContent: "确认连接告警",
operatingeRsult: "失败",
operatingDate: "2022/12/18 12:24:15",
},
{
name: "admin",
operatingClass: "修改",
operatingObject: "FSU",
objectName: "FSU_193.168.1.20",
operatingContent: "修改FSU现场管理单位",
operatingeRsult: "成功",
operatingDate: "2022/12/18 11:59:42",
},
{
name: "admin",
operatingClass: "告警确认",
operatingObject: "故障定位设备",
objectName: "故障定位单位_12",
operatingContent: "确认连接告警",
operatingeRsult: "失败",
operatingDate: "2022/12/18 12:24:15",
},
],
}; };
}, },
computed: {}, computed: {},
methods: { methods: {
handleSelectionChange(val) {
this.multipleSelection = val;
},
handlePageChange(pageData) { handlePageChange(pageData) {
this.searchForm.pageSize = pageData.size; this.params.pageSize = pageData.size;
this.searchForm.pageNum = pageData.page; this.params.pageNum = pageData.page;
this.getTableData() this.getTableData()
}, },
getTableData() { getTableData() {
this.tableData2 = this.tableData.slice(( this.searchForm.pageNum - 1) * this.searchForm.pageSize, let params = {
this.searchForm.pageNum * this.searchForm.pageSize current: this.params.pageNum,
); size: this.params.pageSize
this.total = this.tableData.length }
logList(params).then(res => {
let list = res.records || []
this.tableData = list
this.total = res.total
})
}, },
tableRowClassName({ row, rowIndex }) { tableRowClassName({ row, rowIndex }) {
return rowIndex % 2 === 0 ? '' : 'single-row' return rowIndex % 2 === 0 ? '' : 'single-row'
}, },
exportLog() {
let params = {
current: this.params.pageNum,
size: this.params.pageSize
}
exportLog(params).then(res => {})
}
}, },
mounted() { this.getTableData()}, mounted() { this.getTableData() },
}; };
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment