添加注释

ui1
yujialong 4 years ago
parent b3af5d1dbc
commit 8c46c6e254
  1. 6
      src/layouts/header/index.vue
  2. 8
      src/layouts/home/index.vue
  3. 1
      src/layouts/navbar/index.vue
  4. 2
      src/libs/auth/generateBtnPermission.js
  5. 4
      src/libs/route/addRoutes.js
  6. 64
      src/pages/data/list/index.vue
  7. 11
      src/pages/index/list/index.vue
  8. 6
      src/pages/role/list/index.vue
  9. 3
      src/pages/setting/person/download.vue
  10. 2
      src/pages/setting/person/index.vue
  11. 1
      src/pages/setting/person/info.vue
  12. 4
      src/pages/stat/list/index.vue
  13. 8
      src/pages/user/list/index.vue
  14. 2
      src/plugins/auth/index.js
  15. 1
      src/plugins/requests/index.js
  16. 8
      src/setting.js
  17. 1
      src/store/modules/user.js

@ -113,10 +113,13 @@ export default {
}
},
mounted(){
// ,store,,
if(this.customer){
let customer = atob(decodeURI(this.customer)) == 'false' ? false : true
this.setCustomer(customer)
}
// ,
this.token && this.getUserInfo()
},
methods: {
@ -130,6 +133,7 @@ export default {
let isManager = userAccount.roleId != '0'
this.isUser = isManager
let mg = this.$route.query.mg
//
if(mg && atob(decodeURI(mg)) === 'true'){
this.showSetting = false
}
@ -161,6 +165,7 @@ export default {
title: '登录'
})
},
//
toManager(){
let routes = this.routes
if(routes.length){
@ -174,6 +179,7 @@ export default {
})
window.open(route.href)
}else{
// ,,
util.warningMsg('该角色未开放模块,请联系管理员')
}
},

@ -18,13 +18,11 @@
<script>
import vHead from '../header'
import vFooter from '../footer'
import bus from '@/libs/bus'
import Setting from '@/setting'
export default {
data() {
return {
tagsList: [],
hideNavList: Setting.layout.hideNavList
};
},
components: {
@ -32,11 +30,7 @@ export default {
vFooter
},
computed: {
hideNavbar() {
let route = this.$route.name
if(this.hideNavList.includes(route)) return false
return true
}
},
created() {

@ -86,6 +86,7 @@ export default {
this.menus = this.defaultMenus
}
}else{
// ,
this.menus = [...this.defaultMenus,...this.dataMenu]
}
},

@ -8,7 +8,7 @@ export default function(data){
data.map(e => {
if(e.select){
e.children.map(n => {
if(n.select){
if(n.select){ // select为true,则表示拥有该权限
if(n.children.length){
result.push(`${e.name}:${n.name}`)
n.children.map(j => {

@ -11,7 +11,7 @@ function createMeta(item){
function createRoute(data){
data.map(e => {
if(e.select && e.path){
if(e.select && e.path){ // select为true,则表示拥有该权限,同时path不为空,才生成路由集合
let meta = createMeta(e)
newRoutes.push({
name: e.path,
@ -20,6 +20,7 @@ function createRoute(data){
meta
})
}
// 递归生成路由集合
e.children && e.children.length && createRoute(e.children)
})
}
@ -28,5 +29,4 @@ export default function(data,path){
generateBtnPermission(data)
createRoute(data)
store.dispatch('auth/addRoutes',newRoutes)
// router.addRoutes(routes)
}

@ -241,6 +241,7 @@ export default {
// })
this.getType()
// ,
if(this.$route.query.download){
this.download({
id: this.$route.query.id,
@ -330,6 +331,7 @@ export default {
this.$post(`${this.api.getIdQueryTable}?categoryId=${this.defaultType}&showName=${this.keyword}&pageNum=${this.page}&pageSize=${this.pageSize}&updateTime=`).then(res => {
this.listData = res.pageList.records
this.total = res.pageList.total
//
this.listData.length && this.preview(this.listData[0],1)
}).catch(res => {})
},
@ -423,6 +425,7 @@ export default {
},
preview(row,isDefault){
this.$get(`${this.api.previewData}?tableName=${row.name}&tableId=${row.id}`).then(res => {
// +1
this.$post(this.api.saveRecord,{
tableId: row.id,
type: 2,
@ -431,6 +434,7 @@ export default {
let comment = res.comment
let previewHead = []
comment.map(n => {
// id
n.field != 'id' && n.field != 'operation_time' && previewHead.push(n)
})
this.previewHead = previewHead
@ -438,10 +442,12 @@ export default {
let data = res.data
data.map(n => {
for(let i in n){
// +0000,,
if(typeof n[i] == 'string' && n[i].endsWith('+0000')) n[i] = util.formatDate('yyyy-MM-dd hh:mm:ss',new Date(n[i]))
}
})
this.previewData = data
// ,
isDefault || this.$nextTick(() => {
document.querySelector('#previewTable').scrollIntoView()
})
@ -452,6 +458,7 @@ export default {
this.fields = val ? this.fieldsList.map(n => n.comment) : []
},
download(row){
// ,
this.$get(`${this.api.isDownload}`,{
tableId: row.id,
schoolId: this.schoolId,
@ -459,6 +466,7 @@ export default {
this.curRow = row
this.downloadVisible = true
// ,,
this.$get(`${this.api.getTableTime}`,{
tableId: row.id
}).then(res => {
@ -466,12 +474,14 @@ export default {
if(list.startTime){
startTimeLimit = new Date(list.startTime).getTime()
}else{
// ,
this.startTimeDisabled = true
}
if(list.endTime){
endTimeLimit = new Date(list.endTime).getTime()
this.timeDefault = list.endTime
}else{
// ,
this.endTimeDisabled = true
}
}).catch(res => {})
@ -501,32 +511,35 @@ export default {
if(!this.endTime) return util.warningMsg('请选择结束时间')
if(!this.frequency) return util.warningMsg('请选择数据频率')
let invalid = false
if(this.startTime && this.endTime){
let startTime = new Date(this.startTime)
let endTime = new Date(this.endTime)
let frequency = this.frequency
if(frequency == 2){
let week = []
while(startTime <= endTime){
let weekNum = startTime.getDay()
if(weekNum == 0) weekNum = 7
week.push(weekNum)
startTime.setTime(startTime.getTime() + 86400000)
}
for(let i = 1;i <= 5;i++){
if(!week.includes(i)){
invalid = true
break
}
let startTime = new Date(this.startTime)
let endTime = new Date(this.endTime)
let frequency = this.frequency
// ,
// ,,1~5,
// ,,30;
if(frequency == 2){
let week = []
while(startTime <= endTime){
let weekNum = startTime.getDay()
if(weekNum == 0) weekNum = 7
week.push(weekNum)
startTime.setTime(startTime.getTime() + 86400000)
}
// 1~5,,
for(let i = 1;i <= 5;i++){
if(!week.includes(i)){
invalid = true
break
}
}else if(frequency == 3){
if((endTime.getTime() - startTime.getTime()) / 86400000 < 30) invalid = true
}else if(frequency == 4){
if((endTime.getTime() - startTime.getTime()) / 86400000 < 90) invalid = true
}else if(frequency == 5){
if((endTime.getTime() - startTime.getTime()) / 86400000 < 365) invalid = true
}
}else if(frequency == 3){
if((endTime.getTime() - startTime.getTime()) / 86400000 < 30) invalid = true
}else if(frequency == 4){
if((endTime.getTime() - startTime.getTime()) / 86400000 < 90) invalid = true
}else if(frequency == 5){
if((endTime.getTime() - startTime.getTime()) / 86400000 < 365) invalid = true
}
if(invalid) return util.warningMsg('请选择完整区间')
@ -550,10 +563,13 @@ export default {
}).then((res) => {
msgObj.close()
if(res.data.type != 'multipart/form-data') return util.warningMsg('数据总数为零!')
// excel
util.downloadFileDirect(`${this.curRow.showName}.xls`,new Blob([res.data]))
//
this.$get(`${this.api.downloadRecord}?tableId=${this.curRow.id}&fields=${newFields.join()}` + (startTime ? `&startTime=${startTime}` : '') + (endTime ? `&endTime=${endTime}` : '') + `&frequency=${frequency}`).then(res => {}).catch(res => {})
// +1
this.$post(this.api.saveRecord,{
tableId: this.curRow.id,
type: 1,

@ -89,15 +89,16 @@ export default {
this.total = res.totalCount
}).catch(res => {})
},
//
getHot(){
this.$get(this.api.queryDatabaseInfo).then(res => {
let list = JSON.parse(res.databaseInfo)
list.map(n => {
n.download
})
list.map(n => n.download)
//
list.sort((a,b) => {
return b.download - a.download
})
//
this.hotData = list.slice(0,3)
}).catch(res => {})
},
@ -111,11 +112,14 @@ export default {
this.getData()
},
download(row){
// ,
if(this.token){
//
this.$get(`${this.api.isDownload}`,{
tableId: row.id,
schoolId: this.schoolId,
}).then(res => {
//
this.$router.push(`/data?download=true&id=${row.id}&name=${row.name}&showName=${row.showName}`)
}).catch(res => {})
}else{
@ -126,6 +130,7 @@ export default {
}
},
toData(row){
// ,
if(this.token){
this.$router.push(`/data?typeId=${row.categoryTwoId}`)
}else{

@ -144,6 +144,7 @@ export default {
this.$refs.table.clearSelection()
this.getData()
},
//
getPer(){
if(!this.permissions.length){
this.$get(this.api.queryPermissionMenu).then(res => {
@ -158,11 +159,13 @@ export default {
this.permissions.length && this.$refs.per.setCheckedNodes([])
this.roleVisible = true
},
//
handleRolePer(data,permissions){
let result = data
if(permissions.length){
permissions.map(e => {
if(result.includes(e.id) && e.children.length){
// ,idid,,,
e.children.every(n => result.includes(n)) || result.splice(result.indexOf(e.id),1)
}
e.children.length && this.handleRolePer(data,e.children)
@ -206,6 +209,7 @@ export default {
isPort: 2
}
this.$post(this.api.saveOrUpdate,data).then(res => {
// ,(),
let permissionId = [...this.$refs.per.getHalfCheckedKeys(),...this.$refs.per.getCheckedKeys()]
let perData = {
roleId: res.roleId,
@ -220,6 +224,7 @@ export default {
}).catch(res => {})
},
handleDelete(row) {
// ,,
this.$post(this.api.getUserList,{
createTime: '',
isEnable: '',
@ -231,6 +236,7 @@ export default {
roleId: row.id
}).then(res => {
let msg = ''
//
if(res.pageList.total){
msg = '该角色已被引用,删除后拥有该角色的账号将失去相应权限,是否删除?'
}else{

@ -86,6 +86,7 @@ export default {
this.getData()
},
download(row){
//
this.$get(`${this.api.isDownload}`,{
tableId: row.tableId,
schoolId: this.schoolId,
@ -101,8 +102,10 @@ export default {
}).then(res => {
msgObj.close()
if(res.data.type != 'multipart/form-data') return util.warningMsg('数据总数为零!')
// excel
util.downloadFileDirect(`${row.databaseName}.xls`,new Blob([res.data]))
// +1
this.$post(this.api.saveRecord,{
tableId: row.tableId,
type: 1,

@ -52,6 +52,7 @@ export default {
'avatar'
]),
},
// ,
beforeRouteLeave(to, from, next) {
if(this.edited){
this.$confirm(`您所更改的内容未更新,是否更新?`, '提示', {
@ -77,6 +78,7 @@ export default {
this.setAvatar(res.message)
},
selectType(key){
// ,
if(key == 2 && this.edited){
this.$confirm(`您所更改的内容未更新,是否更新?`, '提示', {
type: 'warning'

@ -350,6 +350,7 @@ export default {
};
},
watch: {
// ,
form: {
handler(val, oldVal){
this.updateTime++

@ -180,6 +180,7 @@ export default {
}
},
mounted() {
// ,schoolId,,urlschoolId
if(!this.schoolId){
let schoolId = this.$route.query.schoolId
if(schoolId) schoolId = atob(decodeURI(schoolId))
@ -241,10 +242,12 @@ export default {
getDatabase(){
this.$get(`${this.api.queryDatabaseInfo}?schoolId=${this.schoolId}&startTime=${this.startTime}&endTime=${this.endTime}`).then(res => {
let list = JSON.parse(res.databaseInfo)
//
this.listData = list.slice(0,10)
this.listDataAll = list
}).catch(res => {})
},
// redis,,
searchData(){
let list = this.listDataAll
let result = []
@ -305,6 +308,7 @@ export default {
},
exportDatabaseByMonth(){
let data = []
// ,,,
if(this.multipleSelection1.length){
data = this.multipleSelection1.map(n => `yearList=${n.year}`)
}else{

@ -371,7 +371,6 @@ export default {
userName: data.userName,
roleId: data.roleId,
phone: data.phone ? data.phone : '暂未绑定',
// uniqueIdentification: data.uniqueIdentification,
workNumber: data.workNumber,
email: data.email,
schoolId: data.schoolId,
@ -393,17 +392,22 @@ export default {
console.log(11,val)
},
confirm(){
// return console.log(11,this.form.roleId)
this.$refs.form.validate((valid) => {
if (valid) {
if(this.accountRepeat) return util.errorMsg('该账号已存在!')
if(this.workNumberRepeat) return util.errorMsg('该学号/工号已存在!')
let data = this.form
// ,schoolId
data.schoolId = data.schoolId ? data.schoolId : this.schoolId
// ,
if(!data.userId) data.uniqueIdentification = new Date().getTime()
// ,"",,""roleId0,
// ,"",roleId0
if(data.roleId.length == 1){
data.roleId = '0'
}else{
// ,1id
data.roleId = data.roleId[1]
}
if(this.form.userId){

@ -8,6 +8,7 @@ import store from '@/store'
export default {
inserted (el, binding, vnode) {
let btnText = ''
// 如果有传值,就取传的值,否则,就取页面路由和按钮名字拼接起来
if(binding.value){
btnText = binding.value
}else{
@ -17,6 +18,7 @@ export default {
if (btnText && btnPermissions && btnPermissions.length) {
const isPermission = btnPermissions.includes(btnText)
// 如果按钮集合里没有该权限,就把该按钮给去除
if (!isPermission) {
el.parentNode && el.parentNode.removeChild(el)
}

@ -18,6 +18,7 @@ service.interceptors.request.use(config => {
let storeSchoolId = store.state.user.schoolId
let routeSchoolId = router.app._route.query.schoolId
if(routeSchoolId) routeSchoolId = atob(decodeURI(routeSchoolId))
// 如果store里没有schoolId,则取url里的schoolId,从用户跳转到后台的时候因为加载顺序的问题会出现这个情况,所以要做这个处理
if(storeSchoolId || routeSchoolId) config.headers.schoolId = storeSchoolId ? storeSchoolId : routeSchoolId
return config
},err => {

@ -25,17 +25,13 @@ const Setting = {
// Cookies 默认保存时间,单位:天
cookiesExpires: 1,
/**
* token的key
* localStorage里保存的token的key
*/
tokenKey: 'data_token',
/**
* sessionStorage里state的key
* localStorage里保存的vuex的key
*/
storeKey: 'data_store',
/**
* sessionStorage里username的key
*/
usernameKey: 'data_username',
/**
* 默认密码
*/

@ -47,6 +47,7 @@ export default {
util.local.set(Setting.tokenKey,res.data.token,43200000)
util.successMsg('登录成功')
setTimeout(() => {
// 登录次数+1
post(api.saveRecord,{
type: 3,
}).then(res => {}).catch(res => {})

Loading…
Cancel
Save