commit:同步2.2版本

This commit is contained in:
Jerry
2022-01-23 21:00:54 +08:00
parent ff7e52eedb
commit 35ac62e4d2
1201 changed files with 16301 additions and 161770 deletions

View File

@@ -253,4 +253,8 @@ export default class SystemController {
static deleteSysLoginUser (sender, params, axiosOption, httpOption) {
return sender.doUrl('admin/upms/loginUser/delete', 'post', params, axiosOption, httpOption);
}
// 上传用户头像URL
static changeHeadImageUrl () {
return 'admin/upms/login/changeHeadImage';
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

View File

@@ -130,6 +130,10 @@ body .layer-advance-dialog .layui-layer-content {
}
}
.el-button + .btn-import {
margin-left: 10px!important;
}
/**
* 过滤组件样式
**/
@@ -230,6 +234,22 @@ body .layer-advance-dialog .layui-layer-content {
}
}
.el-form-item.el-form-item--mini {
min-height: 29px;
}
.el-form-item.el-form-item--small {
min-height: 32px;
}
.el-form-item.el-form-item--medium {
min-height: 36px;
}
.el-form-item.el-form-item--default {
min-height: 40px;
}
.el-aside {
overflow: visible;
}
@@ -472,6 +492,12 @@ body .layer-advance-dialog .layui-layer-content {
.user-dropdown-item {
font-size: 12px;
color: $--color-text-primary;
.el-badge {
margin-top: -8px;
margin-left: 10px;
height: 20px;
}
}
.hamburger-container {

View File

@@ -212,6 +212,7 @@ export default {
watch: {
value: {
handler: function (val, oldVal) {
this.userInput = val;
if (!this.valueEquals(val, oldVal) && this.validateEvent) {
this.dispatch('ElFormItem', 'el.form.change', val);
}

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,268 @@
<template>
<div
style="position: relative"
>
<div class="verify-img-out">
<div
class="verify-img-panel"
:style="{'width': setSize.imgWidth,
'height': setSize.imgHeight,
'background-size' : setSize.imgWidth + ' '+ setSize.imgHeight,
'margin-bottom': vSpace + 'px'}"
>
<div v-show="showRefresh" class="verify-refresh" style="z-index:3" @click="refresh">
<i class="iconfont icon-refresh" />
</div>
<img
ref="canvas"
:src="pointBackImgBase?('data:image/png;base64,'+pointBackImgBase):defaultImg"
alt=""
style="width:100%;height:100%;display:block"
@click="bindingClick?canvasClick($event):undefined"
>
<div
v-for="(tempPoint, index) in tempPoints"
:key="index"
class="point-area"
:style="{
'background-color':'#1abd6c',
color:'#fff',
'z-index':9999,
width:'20px',
height:'20px',
'text-align':'center',
'line-height':'20px',
'border-radius': '50%',
position:'absolute',
top:parseInt(tempPoint.y-10) + 'px',
left:parseInt(tempPoint.x-10) + 'px'
}"
>
{{ index + 1 }}
</div>
</div>
</div>
<!-- 'height': this.barSize.height, -->
<div
class="verify-bar-area"
:style="{'width': setSize.imgWidth,
'color': this.barAreaColor,
'border-color': this.barAreaBorderColor,
'line-height':this.barSize.height}"
>
<span class="verify-msg">{{ text }}</span>
</div>
</div>
</template>
<script type="text/babel">
/**
* VerifyPoints
* @description 点选
* */
import { resetSize, _code_chars, _code_color1, _code_color2 } from './../utils/util'
import { aesEncrypt } from './../utils/ase'
import { reqGet, reqCheck } from './../api/index'
export default {
name: 'VerifyPoints',
props: {
// 弹出式pop固定fixed
mode: {
type: String,
default: 'fixed'
},
captchaType: {
type: String,
},
// 间隔
vSpace: {
type: Number,
default: 5
},
imgSize: {
type: Object,
default() {
return {
width: '310px',
height: '155px'
}
}
},
barSize: {
type: Object,
default() {
return {
width: '310px',
height: '40px'
}
}
},
defaultImg: {
type: String,
default: ''
}
},
data() {
return {
secretKey: '', // 后端返回的ase加密秘钥
checkNum: 3, // 默认需要点击的字数
fontPos: [], // 选中的坐标信息
checkPosArr: [], // 用户点击的坐标
num: 1, // 点击的记数
pointBackImgBase: '', // 后端获取到的背景图片
poinTextList: [], // 后端返回的点击字体顺序
backToken: '', // 后端返回的token值
setSize: {
imgHeight: 0,
imgWidth: 0,
barHeight: 0,
barWidth: 0
},
tempPoints: [],
text: '',
barAreaColor: undefined,
barAreaBorderColor: undefined,
showRefresh: true,
bindingClick: true
}
},
computed: {
resetSize() {
return resetSize
}
},
watch: {
// type变化则全面刷新
type: {
immediate: true,
handler() {
this.init()
}
}
},
mounted() {
// 禁止拖拽
this.$el.onselectstart = function() {
return false
}
},
methods: {
init() {
// 加载页面
this.fontPos.splice(0, this.fontPos.length)
this.checkPosArr.splice(0, this.checkPosArr.length)
this.num = 1
this.getPictrue()
this.$nextTick(() => {
this.setSize = this.resetSize(this) // 重新设置宽度高度
this.$parent.$emit('ready', this)
})
},
canvasClick(e) {
this.checkPosArr.push(this.getMousePos(this.$refs.canvas, e))
if (this.num == this.checkNum) {
this.num = this.createPoint(this.getMousePos(this.$refs.canvas, e))
// 按比例转换坐标值
this.checkPosArr = this.pointTransfrom(this.checkPosArr, this.setSize)
// 等创建坐标执行完
setTimeout(() => {
// var flag = this.comparePos(this.fontPos, this.checkPosArr);
// 发送后端请求
var captchaVerification = this.secretKey ? aesEncrypt(this.backToken + '---' + JSON.stringify(this.checkPosArr), this.secretKey) : this.backToken + '---' + JSON.stringify(this.checkPosArr)
const data = {
captchaType: this.captchaType,
'pointJson': this.secretKey ? aesEncrypt(JSON.stringify(this.checkPosArr), this.secretKey) : JSON.stringify(this.checkPosArr),
'token': this.backToken
}
reqCheck(data).then(res => {
if (res.repCode == '0000') {
this.barAreaColor = '#4cae4c'
this.barAreaBorderColor = '#5cb85c'
this.text = '验证成功'
this.bindingClick = false
if (this.mode == 'pop') {
setTimeout(() => {
this.$parent.clickShow = false
this.refresh()
}, 1500)
}
this.$parent.$emit('success', { captchaVerification })
} else {
this.$parent.$emit('error', this)
this.barAreaColor = '#d9534f'
this.barAreaBorderColor = '#d9534f'
this.text = '验证失败'
setTimeout(() => {
this.refresh()
}, 700)
}
})
}, 400)
}
if (this.num < this.checkNum) {
this.num = this.createPoint(this.getMousePos(this.$refs.canvas, e))
}
},
// 获取坐标
getMousePos: function(obj, e) {
var x = e.offsetX
var y = e.offsetY
return { x, y }
},
// 创建坐标点
createPoint: function(pos) {
this.tempPoints.push(Object.assign({}, pos))
return ++this.num
},
refresh: function() {
this.tempPoints.splice(0, this.tempPoints.length)
this.barAreaColor = '#000'
this.barAreaBorderColor = '#ddd'
this.bindingClick = true
this.fontPos.splice(0, this.fontPos.length)
this.checkPosArr.splice(0, this.checkPosArr.length)
this.num = 1
this.getPictrue()
this.text = '验证失败'
this.showRefresh = true
},
// 请求背景图片和验证图片
getPictrue() {
const data = {
captchaType: this.captchaType,
clientUid: localStorage.getItem('point'),
ts: Date.now(), // 现在的时间戳
}
reqGet(data).then(res => {
if (res.repCode == '0000') {
this.pointBackImgBase = res.repData.originalImageBase64
this.backToken = res.repData.token
this.secretKey = res.repData.secretKey
this.poinTextList = res.repData.wordList
this.text = '请依次点击【' + this.poinTextList.join(',') + '】'
} else {
this.text = res.repMsg
}
// 判断接口请求次数是否失效
if (res.repCode == '6201') {
this.pointBackImgBase = null
}
})
},
// 坐标转换函数
pointTransfrom(pointArr, imgSize) {
var newPointArr = pointArr.map(p => {
const x = Math.round(310 * p.x / parseInt(imgSize.imgWidth))
const y = Math.round(155 * p.y / parseInt(imgSize.imgHeight))
return { x, y }
})
// console.log(newPointArr,"newPointArr");
return newPointArr
}
},
}
</script>

View File

@@ -0,0 +1,381 @@
<template>
<div style="position: relative;">
<div
v-if="type === '2'"
class="verify-img-out"
:style="{height: (parseInt(setSize.imgHeight) + vSpace) + 'px'}"
>
<div
class="verify-img-panel"
:style="{
width: setSize.imgWidth,
height: setSize.imgHeight
}"
>
<img :src="backImgBase?('data:image/png;base64,'+backImgBase):defaultImg" alt="" style="width:100%;height:100%;display:block">
<div v-show="showRefresh" class="verify-refresh" @click="refresh"><i class="iconfont icon-refresh" />
</div>
<transition name="tips">
<span v-if="tipWords" class="verify-tips" :class="passFlag ?'suc-bg':'err-bg'">{{ tipWords }}</span>
</transition>
</div>
</div>
<!-- 公共部分 -->
<div
class="verify-bar-area"
:style="{
width: setSize.imgWidth,
height: barSize.height,
'line-height':barSize.height
}"
>
<span class="verify-msg" v-text="text" />
<div
class="verify-left-bar"
:style="{width: (leftBarWidth!==undefined)?leftBarWidth: barSize.height, height: barSize.height, 'border-color': leftBarBorderColor, transaction: transitionWidth}"
>
<span class="verify-msg" v-text="finishText" />
<div
class="verify-move-block"
:style="{width: barSize.height, height: barSize.height, 'background-color': moveBlockBackgroundColor, left: moveBlockLeft, transition: transitionLeft}"
@touchstart="start"
@mousedown="start"
>
<i
:class="['verify-icon iconfont', iconClass]"
:style="{color: iconColor}"
/>
<div
v-if="type === '2'"
class="verify-sub-block"
:style="{'width':Math.floor(parseInt(setSize.imgWidth)*47/310)+ 'px',
'height': setSize.imgHeight,
'top':'-' + (parseInt(setSize.imgHeight) + vSpace) + 'px',
'background-size': setSize.imgWidth + ' ' + setSize.imgHeight,
}"
>
<img :src="'data:image/png;base64,'+blockBackImgBase" alt="" style="width:100%;height:100%;display:block">
</div>
</div>
</div>
</div>
</div>
</template>
<script type="text/babel">
/**
* VerifySlide
* @description 滑块
*/
import { aesEncrypt } from './../utils/ase'
import { resetSize } from './../utils/util'
import { reqGet, reqCheck } from './../api/index'
// "captchaType":"blockPuzzle",
export default {
name: 'VerifySlide',
props: {
captchaType: {
type: String,
},
type: {
type: String,
default: '1'
},
// 弹出式pop固定fixed
mode: {
type: String,
default: 'fixed'
},
vSpace: {
type: Number,
default: 5
},
explain: {
type: String,
default: '向右滑动完成验证'
},
imgSize: {
type: Object,
default() {
return {
width: '310px',
height: '155px'
}
}
},
blockSize: {
type: Object,
default() {
return {
width: '50px',
height: '50px'
}
}
},
barSize: {
type: Object,
default() {
return {
width: '310px',
height: '40px'
}
}
},
defaultImg: {
type: String,
default: ''
}
},
data() {
return {
secretKey: '', // 后端返回的加密秘钥 字段
passFlag: '', // 是否通过的标识
backImgBase: '', // 验证码背景图片
blockBackImgBase: '', // 验证滑块的背景图片
backToken: '', // 后端返回的唯一token值
startMoveTime: '', // 移动开始的时间
endMovetime: '', // 移动结束的时间
tipsBackColor: '', // 提示词的背景颜色
tipWords: '',
text: '',
finishText: '',
setSize: {
imgHeight: 0,
imgWidth: 0,
barHeight: 0,
barWidth: 0
},
top: 0,
left: 0,
moveBlockLeft: undefined,
leftBarWidth: undefined,
// 移动中样式
moveBlockBackgroundColor: undefined,
leftBarBorderColor: '#ddd',
iconColor: undefined,
iconClass: 'icon-right',
status: false, // 鼠标状态
isEnd: false, // 是够验证完成
showRefresh: true,
transitionLeft: '',
transitionWidth: ''
}
},
computed: {
barArea() {
return this.$el.querySelector('.verify-bar-area')
},
resetSize() {
return resetSize
}
},
watch: {
// type变化则全面刷新
type: {
immediate: true,
handler() {
this.init()
}
}
},
mounted() {
// 禁止拖拽
this.$el.onselectstart = function() {
return false
}
console.log(this.defaultImg)
},
methods: {
init() {
this.text = this.explain
this.getPictrue()
this.$nextTick(() => {
const setSize = this.resetSize(this) // 重新设置宽度高度
for (const key in setSize) {
this.$set(this.setSize, key, setSize[key])
}
this.$parent.$emit('ready', this)
})
var _this = this
window.removeEventListener('touchmove', function(e) {
_this.move(e)
})
window.removeEventListener('mousemove', function(e) {
_this.move(e)
})
// 鼠标松开
window.removeEventListener('touchend', function() {
_this.end()
})
window.removeEventListener('mouseup', function() {
_this.end()
})
window.addEventListener('touchmove', function(e) {
_this.move(e)
})
window.addEventListener('mousemove', function(e) {
_this.move(e)
})
// 鼠标松开
window.addEventListener('touchend', function() {
_this.end()
})
window.addEventListener('mouseup', function() {
_this.end()
})
},
// 鼠标按下
start: function(e) {
e = e || window.event
if (!e.touches) { // 兼容PC端
var x = e.clientX
} else { // 兼容移动端
var x = e.touches[0].pageX
}
this.startLeft = Math.floor(x - this.barArea.getBoundingClientRect().left)
this.startMoveTime = +new Date() // 开始滑动的时间
if (this.isEnd == false) {
this.text = ''
this.moveBlockBackgroundColor = '#337ab7'
this.leftBarBorderColor = '#337AB7'
this.iconColor = '#fff'
e.stopPropagation()
this.status = true
}
},
// 鼠标移动
move: function(e) {
e = e || window.event
if (this.status && this.isEnd == false) {
if (!e.touches) { // 兼容PC端
var x = e.clientX
} else { // 兼容移动端
var x = e.touches[0].pageX
}
var bar_area_left = this.barArea.getBoundingClientRect().left
var move_block_left = x - bar_area_left // 小方块相对于父元素的left值
if (move_block_left >= this.barArea.offsetWidth - parseInt(parseInt(this.blockSize.width) / 2) - 2) {
move_block_left = this.barArea.offsetWidth - parseInt(parseInt(this.blockSize.width) / 2) - 2
}
if (move_block_left <= 0) {
move_block_left = parseInt(parseInt(this.blockSize.width) / 2)
}
// 拖动后小方块的left值
this.moveBlockLeft = (move_block_left - this.startLeft) + 'px'
this.leftBarWidth = (move_block_left - this.startLeft) + 'px'
}
},
// 鼠标松开
end: function() {
this.endMovetime = +new Date()
var _this = this
// 判断是否重合
if (this.status && this.isEnd == false) {
var moveLeftDistance = parseInt((this.moveBlockLeft || '').replace('px', ''))
moveLeftDistance = moveLeftDistance * 310 / parseInt(this.setSize.imgWidth)
const data = {
captchaType: this.captchaType,
'pointJson': this.secretKey ? aesEncrypt(JSON.stringify({ x: moveLeftDistance, y: 5.0 }), this.secretKey) : JSON.stringify({ x: moveLeftDistance, y: 5.0 }),
'token': this.backToken
}
reqCheck(data).then(res => {
if (res.repCode == '0000') {
this.moveBlockBackgroundColor = '#5cb85c'
this.leftBarBorderColor = '#5cb85c'
this.iconColor = '#fff'
this.iconClass = 'icon-check'
this.showRefresh = false
this.isEnd = true
if (this.mode == 'pop') {
setTimeout(() => {
this.$parent.clickShow = false
this.refresh()
}, 1500)
}
this.passFlag = true
this.tipWords = `${((this.endMovetime - this.startMoveTime) / 1000).toFixed(2)}s验证成功`
var captchaVerification = this.secretKey ? aesEncrypt(this.backToken + '---' + JSON.stringify({ x: moveLeftDistance, y: 5.0 }), this.secretKey) : this.backToken + '---' + JSON.stringify({ x: moveLeftDistance, y: 5.0 })
setTimeout(() => {
this.tipWords = ''
this.$parent.closeBox()
this.$parent.$emit('success', { captchaVerification })
}, 1000)
} else {
this.moveBlockBackgroundColor = '#d9534f'
this.leftBarBorderColor = '#d9534f'
this.iconColor = '#fff'
this.iconClass = 'icon-close'
this.passFlag = false
setTimeout(function() {
_this.refresh()
}, 1000)
this.$parent.$emit('error', this)
this.tipWords = '验证失败'
setTimeout(() => {
this.tipWords = ''
}, 1000)
}
})
this.status = false
}
},
refresh: function() {
this.showRefresh = true
this.finishText = ''
this.transitionLeft = 'left .3s'
this.moveBlockLeft = 0
this.leftBarWidth = undefined
this.transitionWidth = 'width .3s'
this.leftBarBorderColor = '#ddd'
this.moveBlockBackgroundColor = '#fff'
this.iconColor = '#000'
this.iconClass = 'icon-right'
this.isEnd = false
this.getPictrue()
setTimeout(() => {
this.transitionWidth = ''
this.transitionLeft = ''
this.text = this.explain
}, 300)
},
// 请求背景图片和验证图片
getPictrue() {
const data = {
captchaType: this.captchaType,
clientUid: localStorage.getItem('slider'),
ts: Date.now(), // 现在的时间戳
}
reqGet(data).then(res => {
if (res.repCode == '0000') {
this.backImgBase = res.repData.originalImageBase64
this.blockBackImgBase = res.repData.jigsawImageBase64
this.backToken = res.repData.token
this.secretKey = res.repData.secretKey
} else {
this.tipWords = res.repMsg
}
// 判断接口请求次数是否失效
if (res.repCode == '6201') {
this.backImgBase = null
this.blockBackImgBase = null
}
})
},
},
}
</script>

View File

@@ -0,0 +1,25 @@
/**
* 此处可直接引用自己项目封装好的 axios 配合后端联调
*/
import request from './../utils/axios' // 组件内部封装的axios
// import request from "@/api/axios.js" //调用项目封装的axios
// 获取验证图片 以及token
export function reqGet(data) {
return request({
url: '/captcha/get',
method: 'post',
data
})
}
// 滑动或者点选验证
export function reqCheck(data) {
return request({
url: '/captcha/check',
method: 'post',
data
})
}

View File

@@ -0,0 +1,11 @@
import CryptoJS from 'crypto-js'
/**
* @word 要加密的内容
* @keyWord String 服务器随机返回的关键字
* */
export function aesEncrypt(word, keyWord = 'XwKsGlMcdPMEhR1B') {
var key = CryptoJS.enc.Utf8.parse(keyWord)
var srcs = CryptoJS.enc.Utf8.parse(word)
var encrypted = CryptoJS.AES.encrypt(srcs, key, { mode: CryptoJS.mode.ECB, padding: CryptoJS.pad.Pkcs7 })
return encrypted.toString()
}

View File

@@ -0,0 +1,31 @@
import axios from 'axios'
import projectConfig from '@/core/config';
axios.defaults.baseURL = projectConfig.baseUrl
const service = axios.create({
timeout: 40000,
headers: {
'X-Requested-With': 'XMLHttpRequest',
'Content-Type': 'application/json; charset=UTF-8'
},
})
service.interceptors.request.use(
config => {
return config
},
error => {
Promise.reject(error)
}
)
// response interceptor
service.interceptors.response.use(
response => {
const res = response.data
return res
},
error => {
}
)
export default service

View File

@@ -0,0 +1,36 @@
export function resetSize(vm) {
var img_width, img_height, bar_width, bar_height // 图片的宽度、高度,移动条的宽度、高度
var parentWidth = vm.$el.parentNode.offsetWidth || window.offsetWidth
var parentHeight = vm.$el.parentNode.offsetHeight || window.offsetHeight
if (vm.imgSize.width.indexOf('%') != -1) {
img_width = parseInt(this.imgSize.width) / 100 * parentWidth + 'px'
} else {
img_width = this.imgSize.width
}
if (vm.imgSize.height.indexOf('%') != -1) {
img_height = parseInt(this.imgSize.height) / 100 * parentHeight + 'px'
} else {
img_height = this.imgSize.height
}
if (vm.barSize.width.indexOf('%') != -1) {
bar_width = parseInt(this.barSize.width) / 100 * parentWidth + 'px'
} else {
bar_width = this.barSize.width
}
if (vm.barSize.height.indexOf('%') != -1) {
bar_height = parseInt(this.barSize.height) / 100 * parentHeight + 'px'
} else {
bar_height = this.barSize.height
}
return { imgWidth: img_width, imgHeight: img_height, barWidth: bar_width, barHeight: bar_height }
}
export const _code_chars = [1, 2, 3, 4, 5, 6, 7, 8, 9, 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z']
export const _code_color1 = ['#fffff0', '#f0ffff', '#f0fff0', '#fff0f0']
export const _code_color2 = ['#FF0033', '#006699', '#993366', '#FF9900', '#66CC66', '#FF33CC']

View File

@@ -119,7 +119,47 @@ const fetchDownload = function (url, params, fileName) {
});
});
}
/**
* 上传文件
* @param {*} url 请求的url
* @param {*} params 请求参数
*/
const fetchUpload = function (url, params) {
return new Promise((resolve, reject) => {
request({
url: requestUrl(url),
method: 'post',
data: params,
headers: {
'Content-Type': 'multipart/form-data'
},
transformRequest: [
function (data) {
let formData = new FormData();
Object.keys(data).map(key => {
formData.append(key, data[key]);
});
return formData;
}
]
}).then(res => {
if (res.data && res.data.success) {
resolve(res.data);
} else {
Message.error({
showClose: true,
message: res.data.errorMessage ? res.data.errorMessage : '数据请求失败'
});
}
}).catch(e => {
Message.error({
showClose: true,
message: e.errorMessage ? e.errorMessage : '网络请求错误'
});
reject(e);
});
});
}
// url调用节流Set
const ajaxThrottleSet = new Set();
/**
@@ -191,6 +231,7 @@ const doUrl = function (url, type, params, axiosOption, options) {
}
};
Vue.prototype.upload = fetchUpload;
Vue.prototype.download = fetchDownload;
Vue.prototype.doUrl = doUrl;
Vue.prototype.loadingManager = loadingManager;

View File

@@ -100,6 +100,9 @@ const globalMixin = {
...mapMutations(['setLoadingStatus'])
},
computed: {
defaultFormItemSize () {
return 'mini';
},
...mapGetters(['getUserInfo'])
},
watch: {

View File

@@ -191,6 +191,7 @@ const statsDateRangeMixin = {
*/
formatDateByStatsType (date, statsType = 'day', format = 'yyyy-MM-dd') {
if (date == null) return undefined;
if (statsType == null) return date;
statsType = allowStatsType.indexOf(statsType) === -1 ? 'day' : statsType;
if (statsType === 'datetime') format = 'yyyy-MM-dd HH:mm:ss';

View File

@@ -83,7 +83,7 @@ export default {
getCurrentColumnId: (state) => {
return state.currentColumnId;
},
getMessageList: (state) => {
return state.messageList;
getMessageCount: (state) => {
return state.messageCount;
}
}

View File

@@ -158,10 +158,14 @@ export default {
if (setObjectToSessionStorage('currentColumnId', columnId)) state.currentColumnId = columnId;
if (setObjectToSessionStorage('currentMenuId', null)) state.currentMenuId = null;
},
setHeadImage: (state, imageHeaderUrl) => {
if (state.userInfo) state.userInfo.headImageUrl = imageHeaderUrl;
},
setMessageTimer: (state, timerHandler) => {
state.messageTimer = timerHandler;
},
setMessageList: (state, messageList) => {
state.messageList = messageList;
setMessageCount: (state, messageCount) => {
if (messageCount) messageCount.totalCount = messageCount.copyMessageCount + messageCount.remindingMessageCount;
state.messageCount = messageCount;
}
}

View File

@@ -28,5 +28,5 @@ export default {
currentColumnId: getObjectFromSessionStorage('currentColumnId', undefined),
// 消息列表
messageTimeer: null,
messageList: []
messageCount: []
}

View File

@@ -27,6 +27,22 @@ function initUserInfo (userInfo) {
userInfo.permCodeSet = new Set(userInfo.permCodeList);
}
if (userInfo != null && userInfo.headImageUrl != null && userInfo.headImageUrl !== '') {
try {
userInfo.headImageUrl = JSON.parse(userInfo.headImageUrl);
if (Array.isArray(userInfo.headImageUrl)) {
userInfo.headImageUrl = userInfo.headImageUrl[0];
} else {
userInfo.headImageUrl = null;
}
} catch (e) {
console.error('解析头像数据失败!', e);
userInfo.headImageUrl = null;
}
} else {
if (userInfo) userInfo.headImageUrl = null;
}
return userInfo;
}

View File

@@ -83,7 +83,7 @@ export function nameTranslate (name, type) {
* @param {String} childKey 子节点字段名
*/
function findNode (node, id, list, idKey = 'id', childKey = 'children') {
if (Array.isArray(list)) list.push(node[idKey]);
if (Array.isArray(list)) list.push(node);
if (node[idKey] === id) {
return node;
}
@@ -104,7 +104,7 @@ function findNode (node, id, list, idKey = 'id', childKey = 'children') {
* @param {*} idKey 主键字段名
* @param {*} childKey 子节点字段名
*/
export function findTreeNodePath (treeRoot, id, idKey = 'id', childKey = 'children') {
export function findTreeNodeObjectPath (treeRoot, id, idKey = 'id', childKey = 'children') {
let tempList = [];
for (let i = 0; i < treeRoot.length; i++) {
if (findNode(treeRoot[i], id, tempList, idKey, childKey)) {
@@ -114,6 +114,11 @@ export function findTreeNodePath (treeRoot, id, idKey = 'id', childKey = 'childr
return [];
}
export function findTreeNodePath (treeRoot, id, idKey = 'id', childKey = 'children') {
return (this.findTreeNodeObjectPath(treeRoot, id, idKey, childKey) || []).map(item => item[idKey]);
}
/**
* 通过id从树中查找节点
* @param {Array} treeRoot 根节点数组

View File

@@ -1,8 +1,10 @@
<template>
<div class="form-single-fragment" style="position: relative;">
<el-form label-width="100px" size="mini" label-position="right" @submit.native.prevent>
<el-form ref="formClassFilter" :model="formClass" :size="defaultFormItemSize"
label-width="100px" label-position="right" @submit.native.prevent
>
<filter-box :item-width="350">
<el-form-item label="所属校区">
<el-form-item label="所属校区" prop="formFilter.schoolId">
<el-select class="filter-item" v-model="formClass.formFilter.schoolId" :clearable="true" filterable
placeholder="所属校区" :loading="formClass.schoolId.impl.loading"
@visible-change="formClass.schoolId.impl.onVisibleChange"
@@ -10,23 +12,24 @@
<el-option v-for="item in formClass.schoolId.impl.dropdownList" :key="item.id" :value="item.id" :label="item.name" />
</el-select>
</el-form-item>
<el-form-item label="班级名称">
<el-form-item label="班级名称" prop="formFilter.className">
<el-input class="filter-item" v-model="formClass.formFilter.className"
:clearable="true" placeholder="班级名称"
/>
</el-form-item>
<el-button slot="operator" type="primary" :plain="true" size="mini" @click="refreshFormClass(true)">查询</el-button>
<el-button slot="operator" type="default" :plain="true" :size="defaultFormItemSize" @click="onResetFormClass">重置</el-button>
<el-button slot="operator" type="primary" :plain="true" :size="defaultFormItemSize" @click="refreshFormClass(true)">查询</el-button>
</filter-box>
</el-form>
<el-form ref="formClass" :model="formData" class="full-width-input" style="width: 100%;"
label-width="100px" size="mini" label-position="right" @submit.native.prevent>
label-width="100px" :size="defaultFormItemSize" label-position="right" @submit.native.prevent>
<el-row :gutter="20">
<el-col :span="12">
<el-card class="base-card" shadow="never">
<div slot="header" class="base-card-header">
<span>班级列表</span>
<div class="base-card-operation">
<el-button @click="onFormCreateClassClick()" type="text" size="mini"
<el-button @click="onFormCreateClassClick()" type="text" :size="defaultFormItemSize"
:disabled="!checkPermCodeExist('formClass:formClass:formCreateClass')">
新建
</el-button>
@@ -35,9 +38,10 @@
<el-scrollbar class="custom-scroll" style="height: calc(620px - 50px);">
<el-row :gutter="20">
<el-col class="table-box gutter-bottom" :span="24">
<el-table ref="studentClass" :data="formClass.StudentClass.impl.dataList" size="mini" @sort-change="formClass.StudentClass.impl.onSortChange"
<el-table ref="studentClass" :data="formClass.StudentClass.impl.dataList" :size="defaultFormItemSize" @sort-change="formClass.StudentClass.impl.onSortChange"
header-cell-class-name="table-header-gray"
highlight-current-row @current-change="formClass.StudentClass.impl.currentRowChange">
highlight-current-row @current-change="formClass.StudentClass.impl.currentRowChange"
>
<el-table-column label="序号" header-align="center" align="center" type="index" width="55px" :index="formClass.StudentClass.impl.getTableIndex" />
<el-table-column label="班级名称" prop="className">
</el-table-column>
@@ -50,11 +54,11 @@
</el-table-column>
<el-table-column label="操作" fixed="right">
<template slot-scope="scope">
<el-button @click.stop="onFormEditClassClick(scope.row)" type="text" size="mini"
<el-button @click.stop="onFormEditClassClick(scope.row)" type="text" :size="defaultFormItemSize"
:disabled="!checkPermCodeExist('formClass:formClass:formEditClass')">
编辑
</el-button>
<el-button @click.stop="onDeleteClick(scope.row)" type="text" size="mini"
<el-button @click.stop="onDeleteClick(scope.row)" type="text" :size="defaultFormItemSize"
:disabled="!checkPermCodeExist('formClass:formClass:delete')">
删除
</el-button>
@@ -84,7 +88,7 @@
<div slot="header" class="base-card-header">
<span>班级课程</span>
<div class="base-card-operation">
<el-button @click="onFormSetClassCourseClick()" type="text" size="mini"
<el-button @click="onFormSetClassCourseClick()" type="text" :size="defaultFormItemSize"
:disabled="!checkPermCodeExist('formClass:formClass:formSetClassCourse') || !formSetClassCourseEnabled">
设置班级课程
</el-button>
@@ -93,8 +97,9 @@
<el-scrollbar class="custom-scroll" style="height: calc(300px - 50px);">
<el-row :gutter="20">
<el-col class="table-box gutter-bottom" :span="24">
<el-table ref="course" :data="formClass.Course.impl.dataList" size="mini" @sort-change="formClass.Course.impl.onSortChange"
header-cell-class-name="table-header-gray">
<el-table ref="course" :data="formClass.Course.impl.dataList" :size="defaultFormItemSize" @sort-change="formClass.Course.impl.onSortChange"
header-cell-class-name="table-header-gray"
>
<el-table-column label="序号" header-align="center" align="center" type="index" width="55px" :index="formClass.Course.impl.getTableIndex" />
<el-table-column label="课程名称" prop="courseName">
</el-table-column>
@@ -104,7 +109,7 @@
</el-table-column>
<el-table-column label="操作" fixed="right">
<template slot-scope="scope">
<el-button @click.stop="onDeleteClassCourseClick(scope.row)" type="text" size="mini"
<el-button @click.stop="onDeleteClassCourseClick(scope.row)" type="text" :size="defaultFormItemSize"
:disabled="!checkPermCodeExist('formClass:formClass:deleteClassCourse') || !deleteClassCourseEnabled">
移除
</el-button>
@@ -132,7 +137,7 @@
<div slot="header" class="base-card-header">
<span>班级学生</span>
<div class="base-card-operation">
<el-button @click="onFormSetClassStudentClick()" type="text" size="mini"
<el-button @click="onFormSetClassStudentClick()" type="text" :size="defaultFormItemSize"
:disabled="!checkPermCodeExist('formClass:formClass:formSetClassStudent') || !formSetClassStudentEnabled">
设置班级学生
</el-button>
@@ -141,8 +146,9 @@
<el-scrollbar class="custom-scroll" style="height: calc(300px - 50px);">
<el-row :gutter="20">
<el-col class="table-box gutter-bottom" :span="24">
<el-table ref="student" :data="formClass.Student.impl.dataList" size="mini" @sort-change="formClass.Student.impl.onSortChange"
header-cell-class-name="table-header-gray">
<el-table ref="student" :data="formClass.Student.impl.dataList" :size="defaultFormItemSize" @sort-change="formClass.Student.impl.onSortChange"
header-cell-class-name="table-header-gray"
>
<el-table-column label="序号" header-align="center" align="center" type="index" width="55px" :index="formClass.Student.impl.getTableIndex" />
<el-table-column label="学生姓名" prop="studentName">
</el-table-column>
@@ -152,7 +158,7 @@
</el-table-column>
<el-table-column label="操作" fixed="right">
<template slot-scope="scope">
<el-button @click.stop="onDeleteClassStudentClick(scope.row)" type="text" size="mini"
<el-button @click.stop="onDeleteClassStudentClick(scope.row)" type="text" :size="defaultFormItemSize"
:disabled="!checkPermCodeExist('formClass:formClass:deleteClassStudent') || !deleteClassStudentEnabled">
移除
</el-button>
@@ -264,6 +270,10 @@ export default {
}
},
methods: {
onResetFormClass () {
this.$refs.formClassFilter.resetFields();
this.refreshFormClass(true);
},
/**
* 班级数据数据获取函数返回Promise
*/
@@ -306,12 +316,6 @@ export default {
* 班级课程数据获取函数返回Promise
*/
loadCourseWidgetData (params) {
if (
(this.formClass.StudentClass.impl.currentRow || {}).classId == null
) {
this.formClass.Course.impl.clearTable();
return Promise.reject();
}
if (params == null) params = {};
params = {
...params,
@@ -338,12 +342,6 @@ export default {
* 班级学生数据获取函数返回Promise
*/
loadStudentWidgetData (params) {
if (
(this.formClass.StudentClass.impl.currentRow || {}).classId == null
) {
this.formClass.Student.impl.clearTable();
return Promise.reject();
}
if (params == null) params = {};
params = {
...params,
@@ -455,54 +453,36 @@ export default {
this.$dialog.show('编辑', formEditClass, {
area: '800px'
}, params).then(res => {
this.formClass.StudentClass.impl.refreshTable();
}).catch(e => {});
},
/**
* 删除
*/
onDeleteClick (row) {
let params = {
classId: row.classId
};
this.$confirm('是否删除此班级?').then(res => {
StudentClassController.delete(this, params).then(res => {
this.$message.success('删除成功');
this.formClass.StudentClass.impl.refreshTable();
}).catch(e => {});
this.formClass.StudentClass.impl.dataList = this.formClass.StudentClass.impl.dataList.filter(item => {
return item.__cascade_add_temp_id__ !== row.__cascade_add_temp_id__;
});
}).catch(e => {});
},
/**
* 移除
*/
onDeleteClassCourseClick (row) {
let params = {
classId: (this.formClass.StudentClass.impl.currentRow || {}).classId,
courseId: row.courseId
};
this.$confirm('是否从班级中移除此课程?').then(res => {
StudentClassController.deleteClassCourse(this, params).then(res => {
this.$message.success('移除成功');
this.formClass.Course.impl.refreshTable();
}).catch(e => {});
this.formClass.Course.impl.dataList = this.formClass.Course.impl.dataList.filter(item => {
return item.__cascade_add_temp_id__ !== row.__cascade_add_temp_id__;
});
}).catch(e => {});
},
/**
* 移除
*/
onDeleteClassStudentClick (row) {
let params = {
classId: (this.formClass.StudentClass.impl.currentRow || {}).classId,
studentId: row.studentId
};
this.$confirm('是否从班级中移除此学生?').then(res => {
StudentClassController.deleteClassStudent(this, params).then(res => {
this.$message.success('移除成功');
this.formClass.Student.impl.refreshTable();
}).catch(e => {});
this.formClass.Student.impl.dataList = this.formClass.Student.impl.dataList.filter(item => {
return item.__cascade_add_temp_id__ !== row.__cascade_add_temp_id__;
});
}).catch(e => {});
},
/**
@@ -536,7 +516,6 @@ export default {
this.$dialog.show('新建', formCreateClass, {
area: '800px'
}, params).then(res => {
this.refreshClassCardWidget();
}).catch(e => {});
},
onResume () {

View File

@@ -1,8 +1,10 @@
<template>
<div style="position: relative;">
<el-form label-width="100px" size="mini" label-position="right" @submit.native.prevent>
<el-form ref="formCourseFilter" :model="formCourse" :size="defaultFormItemSize"
label-width="100px" label-position="right" @submit.native.prevent
>
<filter-box :item-width="350">
<el-form-item label="所属年级">
<el-form-item label="所属年级" prop="formFilter.gradeId">
<el-select class="filter-item" v-model="formCourse.formFilter.gradeId" :clearable="true" filterable
placeholder="所属年级" :loading="formCourse.gradeId.impl.loading"
@visible-change="formCourse.gradeId.impl.onVisibleChange"
@@ -10,7 +12,7 @@
<el-option v-for="item in formCourse.gradeId.impl.dropdownList" :key="item.id" :value="item.id" :label="item.name" />
</el-select>
</el-form-item>
<el-form-item label="所属学科">
<el-form-item label="所属学科" prop="formFilter.subjectId">
<el-select class="filter-item" v-model="formCourse.formFilter.subjectId" :clearable="true" filterable
placeholder="所属学科" :loading="formCourse.subjectId.impl.loading"
@visible-change="formCourse.subjectId.impl.onVisibleChange"
@@ -18,7 +20,7 @@
<el-option v-for="item in formCourse.subjectId.impl.dropdownList" :key="item.id" :value="item.id" :label="item.name" />
</el-select>
</el-form-item>
<el-form-item label="课程难度">
<el-form-item label="课程难度" prop="formFilter.difficulty">
<el-select class="filter-item" v-model="formCourse.formFilter.difficulty" :clearable="true" filterable
placeholder="课程难度" :loading="formCourse.difficulty.impl.loading"
@visible-change="formCourse.difficulty.impl.onVisibleChange"
@@ -26,13 +28,14 @@
<el-option v-for="item in formCourse.difficulty.impl.dropdownList" :key="item.id" :value="item.id" :label="item.name" />
</el-select>
</el-form-item>
<el-form-item label="课程名称">
<el-form-item label="课程名称" prop="formFilter.courseName">
<el-input class="filter-item" v-model="formCourse.formFilter.courseName"
:clearable="true" placeholder="课程名称"
/>
</el-form-item>
<el-button slot="operator" type="primary" :plain="true" size="mini" @click="refreshFormCourse(true)">查询</el-button>
<el-button slot="operator" type="primary" size="mini" :disabled="!checkPermCodeExist('formCourse:formCourse:formCreateCourse')"
<el-button slot="operator" type="default" :plain="true" :size="defaultFormItemSize" @click="onResetFormCourse">重置</el-button>
<el-button slot="operator" type="primary" :plain="true" :size="defaultFormItemSize" @click="refreshFormCourse(true)">查询</el-button>
<el-button slot="operator" type="primary" :size="defaultFormItemSize" :disabled="!checkPermCodeExist('formCourse:formCourse:formCreateCourse')"
@click="onFormCreateCourseClick()">
新建
</el-button>
@@ -40,8 +43,9 @@
</el-form>
<el-row>
<el-col :span="24">
<el-table ref="course" :data="formCourse.Course.impl.dataList" size="mini" @sort-change="formCourse.Course.impl.onSortChange"
header-cell-class-name="table-header-gray">
<el-table ref="course" :data="formCourse.Course.impl.dataList" :size="defaultFormItemSize" @sort-change="formCourse.Course.impl.onSortChange"
header-cell-class-name="table-header-gray"
>
<el-table-column label="序号" header-align="center" align="center" type="index" width="55px" :index="formCourse.Course.impl.getTableIndex" />
<el-table-column label="课程名称" prop="courseName">
</el-table-column>
@@ -73,11 +77,11 @@
</el-table-column>
<el-table-column label="操作" fixed="right">
<template slot-scope="scope">
<el-button @click.stop="onFormEditCourseClick(scope.row)" type="text" size="mini"
<el-button @click.stop="onFormEditCourseClick(scope.row)" type="text" :size="defaultFormItemSize"
:disabled="!checkPermCodeExist('formCourse:formCourse:formEditCourse')">
编辑
</el-button>
<el-button @click.stop="onDeleteClick(scope.row)" type="text" size="mini"
<el-button @click.stop="onDeleteClick(scope.row)" type="text" :size="defaultFormItemSize"
:disabled="!checkPermCodeExist('formCourse:formCourse:delete')">
删除
</el-button>
@@ -151,6 +155,10 @@ export default {
}
},
methods: {
onResetFormCourse () {
this.$refs.formCourseFilter.resetFields();
this.refreshFormCourse(true);
},
/**
* 课程数据数据获取函数返回Promise
*/
@@ -277,22 +285,16 @@ export default {
this.$dialog.show('编辑', formEditCourse, {
area: '800px'
}, params).then(res => {
this.formCourse.Course.impl.refreshTable();
}).catch(e => {});
},
/**
* 删除
*/
onDeleteClick (row) {
let params = {
courseId: row.courseId
};
this.$confirm('是否删除此课程?').then(res => {
CourseController.delete(this, params).then(res => {
this.$message.success('删除成功');
this.formCourse.Course.impl.refreshTable();
}).catch(e => {});
this.formCourse.Course.impl.dataList = this.formCourse.Course.impl.dataList.filter(item => {
return item.__cascade_add_temp_id__ !== row.__cascade_add_temp_id__;
});
}).catch(e => {});
},
onResume () {

View File

@@ -1,17 +1,20 @@
<template>
<div class="form-single-fragment" style="position: relative;">
<el-form label-width="100px" size="mini" label-position="right" @submit.native.prevent>
<el-form ref="formCourseStatsFilter" :model="formCourseStats" :size="defaultFormItemSize"
label-width="100px" label-position="right" @submit.native.prevent
>
<filter-box :item-width="350">
<el-form-item label="统计日期">
<el-form-item label="统计日期" prop="formFilter.statsDate">
<date-range class="filter-item" v-model="formCourseStats.formFilter.statsDate" :clearable="true" :allowTypes="['day']" align="left"
range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期"
format="yyyy-MM-dd" value-format="yyyy-MM-dd HH:mm:ss" />
</el-form-item>
<el-button slot="operator" type="primary" :plain="true" size="mini" @click="refreshFormCourseStats(true)">查询</el-button>
<el-button slot="operator" type="default" :plain="true" :size="defaultFormItemSize" @click="onResetFormCourseStats">重置</el-button>
<el-button slot="operator" type="primary" :plain="true" :size="defaultFormItemSize" @click="refreshFormCourseStats(true)">查询</el-button>
</filter-box>
</el-form>
<el-form ref="formCourseStats" :model="formData" class="full-width-input" style="width: 100%;"
label-width="100px" size="mini" label-position="right" @submit.native.prevent>
label-width="100px" :size="defaultFormItemSize" label-position="right" @submit.native.prevent>
<el-row :gutter="20">
<el-col class="table-box gutter-bottom" :span="12">
<el-card class="base-card" style="height: 350px" shadow="never" :body-style="{padding: '0px'}">
@@ -160,6 +163,10 @@ export default {
}
},
methods: {
onResetFormCourseStats () {
this.$refs.formCourseStatsFilter.resetFields();
this.refreshFormCourseStats(true);
},
/**
* 课程统计年级数据获取函数返回Promise
*/

View File

@@ -1,7 +1,7 @@
<template>
<div class="form-single-fragment" style="position: relative;">
<el-form ref="formCreateClass" :model="formData" class="full-width-input" :rules="rules" style="width: 100%;"
label-width="100px" size="mini" label-position="right" @submit.native.prevent>
label-width="100px" :size="defaultFormItemSize" label-position="right" @submit.native.prevent>
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="班级名称" prop="StudentClass.className">
@@ -50,11 +50,11 @@
</el-col>
<el-col :span="24">
<el-row class="no-scroll flex-box" type="flex" justify="end">
<el-button type="primary" size="mini" :plain="true"
<el-button type="primary" :size="defaultFormItemSize" :plain="true"
@click="onCancel(false)">
取消
</el-button>
<el-button type="primary" size="mini" :disabled="!checkPermCodeExist('formCreateClass:formCreateClass:add')"
<el-button type="primary" :size="defaultFormItemSize" :disabled="!checkPermCodeExist('formCreateClass:formCreateClass:add')"
@click="onAddClick()">
保存
</el-button>

View File

@@ -1,7 +1,7 @@
<template>
<div class="form-single-fragment" style="position: relative;">
<el-form ref="formCreateCourse" :model="formData" class="full-width-input" :rules="rules" style="width: 100%;"
label-width="100px" size="mini" label-position="right" @submit.native.prevent>
label-width="100px" :size="defaultFormItemSize" label-position="right" @submit.native.prevent>
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="课程名称" prop="Course.courseName">
@@ -81,11 +81,11 @@
</el-col>
<el-col :span="24">
<el-row class="no-scroll flex-box" type="flex" justify="end">
<el-button type="primary" size="mini" :plain="true"
<el-button type="primary" :size="defaultFormItemSize" :plain="true"
@click="onCancel(false)">
取消
</el-button>
<el-button type="primary" size="mini" :disabled="!checkPermCodeExist('formCreateCourse:formCreateCourse:add')"
<el-button type="primary" :size="defaultFormItemSize" :disabled="!checkPermCodeExist('formCreateCourse:formCreateCourse:add')"
@click="onAddClick()">
保存
</el-button>

View File

@@ -1,7 +1,7 @@
<template>
<div class="form-single-fragment" style="position: relative;">
<el-form ref="formCreateStudent" :model="formData" class="full-width-input" :rules="rules" style="width: 100%;"
label-width="100px" size="mini" label-position="right" @submit.native.prevent>
label-width="100px" :size="defaultFormItemSize" label-position="right" @submit.native.prevent>
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="学生姓名" prop="Student.studentName">
@@ -99,11 +99,11 @@
</el-col>
<el-col :span="24">
<el-row class="no-scroll flex-box" type="flex" justify="end">
<el-button type="primary" size="mini" :plain="true"
<el-button type="primary" :size="defaultFormItemSize" :plain="true"
@click="onCancel(false)">
取消
</el-button>
<el-button type="primary" size="mini" :disabled="!checkPermCodeExist('formCreateStudent:formCreateStudent:add')"
<el-button type="primary" :size="defaultFormItemSize" :disabled="!checkPermCodeExist('formCreateStudent:formCreateStudent:add')"
@click="onAddClick()">
保存
</el-button>

View File

@@ -1,7 +1,7 @@
<template>
<div class="form-single-fragment" style="position: relative;">
<el-form ref="formEditClass" :model="formData" class="full-width-input" :rules="rules" style="width: 100%;"
label-width="100px" size="mini" label-position="right" @submit.native.prevent>
label-width="100px" :size="defaultFormItemSize" label-position="right" @submit.native.prevent>
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="班级名称" prop="StudentClass.className">
@@ -50,11 +50,11 @@
</el-col>
<el-col :span="24">
<el-row class="no-scroll flex-box" type="flex" justify="end">
<el-button type="primary" size="mini" :plain="true"
<el-button type="primary" :size="defaultFormItemSize" :plain="true"
@click="onCancel(false)">
取消
</el-button>
<el-button type="primary" size="mini" :disabled="!checkPermCodeExist('formEditClass:formEditClass:update')"
<el-button type="primary" :size="defaultFormItemSize" :disabled="!checkPermCodeExist('formEditClass:formEditClass:update')"
@click="onUpdateClick()">
保存
</el-button>

View File

@@ -1,7 +1,7 @@
<template>
<div class="form-single-fragment" style="position: relative;">
<el-form ref="formEditClassCourseOrder" :model="formData" class="full-width-input" :rules="rules" style="width: 100%;"
label-width="100px" size="mini" label-position="right" @submit.native.prevent>
label-width="100px" :size="defaultFormItemSize" label-position="right" @submit.native.prevent>
<el-row :gutter="20">
<el-col :span="24">
<el-form-item label="课程顺序" prop="StudentClass.course.classCourse.courseOrder">
@@ -13,11 +13,11 @@
</el-col>
<el-col :span="24">
<el-row class="no-scroll flex-box" type="flex" justify="end">
<el-button type="primary" size="mini" :plain="true"
<el-button type="primary" :size="defaultFormItemSize" :plain="true"
@click="onCancel(false)">
取消
</el-button>
<el-button type="primary" size="mini" :disabled="!checkPermCodeExist('formEditClassCourseOrder:formEditClassCourseOrder:updateClassCourse')"
<el-button type="primary" :size="defaultFormItemSize" :disabled="!checkPermCodeExist('formEditClassCourseOrder:formEditClassCourseOrder:updateClassCourse')"
@click="onUpdateClassCourseClick()">
保存
</el-button>

View File

@@ -1,7 +1,7 @@
<template>
<div class="form-single-fragment" style="position: relative;">
<el-form ref="formEditCourse" :model="formData" class="full-width-input" :rules="rules" style="width: 100%;"
label-width="100px" size="mini" label-position="right" @submit.native.prevent>
label-width="100px" :size="defaultFormItemSize" label-position="right" @submit.native.prevent>
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="课程名称" prop="Course.courseName">
@@ -81,11 +81,11 @@
</el-col>
<el-col :span="24">
<el-row class="no-scroll flex-box" type="flex" justify="end">
<el-button type="primary" size="mini" :plain="true"
<el-button type="primary" :size="defaultFormItemSize" :plain="true"
@click="onCancel(false)">
取消
</el-button>
<el-button type="primary" size="mini" :disabled="!checkPermCodeExist('formEditCourse:formEditCourse:update')"
<el-button type="primary" :size="defaultFormItemSize" :disabled="!checkPermCodeExist('formEditCourse:formEditCourse:update')"
@click="onUpdateClick()">
保存
</el-button>

View File

@@ -1,7 +1,7 @@
<template>
<div class="form-single-fragment" style="position: relative;">
<el-form ref="formEditStudent" :model="formData" class="full-width-input" :rules="rules" style="width: 100%;"
label-width="100px" size="mini" label-position="right" @submit.native.prevent>
label-width="100px" :size="defaultFormItemSize" label-position="right" @submit.native.prevent>
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="学生姓名" prop="Student.studentName">
@@ -125,11 +125,11 @@
</el-col>
<el-col :span="24">
<el-row class="no-scroll flex-box" type="flex" justify="end">
<el-button type="primary" size="mini" :plain="true"
<el-button type="primary" :size="defaultFormItemSize" :plain="true"
@click="onCancel(false)">
取消
</el-button>
<el-button type="primary" size="mini" :disabled="!checkPermCodeExist('formEditStudent:formEditStudent:update')"
<el-button type="primary" :size="defaultFormItemSize" :disabled="!checkPermCodeExist('formEditStudent:formEditStudent:update')"
@click="onUpdateClick()">
保存
</el-button>

View File

@@ -1,8 +1,10 @@
<template>
<div class="form-single-fragment" style="position: relative;">
<el-form label-width="100px" size="mini" label-position="right" @submit.native.prevent>
<el-form ref="formSetClassCourseFilter" :model="formSetClassCourse" :size="defaultFormItemSize"
label-width="100px" label-position="right" @submit.native.prevent
>
<filter-box :item-width="350">
<el-form-item label="所属年级">
<el-form-item label="所属年级" prop="formFilter.gradeId">
<el-select class="filter-item" v-model="formSetClassCourse.formFilter.gradeId" :clearable="true" filterable
placeholder="所属年级" :loading="formSetClassCourse.gradeId.impl.loading"
@visible-change="formSetClassCourse.gradeId.impl.onVisibleChange"
@@ -10,7 +12,7 @@
<el-option v-for="item in formSetClassCourse.gradeId.impl.dropdownList" :key="item.id" :value="item.id" :label="item.name" />
</el-select>
</el-form-item>
<el-form-item label="所属科目">
<el-form-item label="所属科目" prop="formFilter.subjectId">
<el-select class="filter-item" v-model="formSetClassCourse.formFilter.subjectId" :clearable="true" filterable
placeholder="所属科目" :loading="formSetClassCourse.subjectId.impl.loading"
@visible-change="formSetClassCourse.subjectId.impl.onVisibleChange"
@@ -18,7 +20,7 @@
<el-option v-for="item in formSetClassCourse.subjectId.impl.dropdownList" :key="item.id" :value="item.id" :label="item.name" />
</el-select>
</el-form-item>
<el-form-item label="课程难度">
<el-form-item label="课程难度" prop="formFilter.difficulty">
<el-select class="filter-item" v-model="formSetClassCourse.formFilter.difficulty" :clearable="true" filterable
placeholder="课程难度" :loading="formSetClassCourse.difficulty.impl.loading"
@visible-change="formSetClassCourse.difficulty.impl.onVisibleChange"
@@ -26,13 +28,14 @@
<el-option v-for="item in formSetClassCourse.difficulty.impl.dropdownList" :key="item.id" :value="item.id" :label="item.name" />
</el-select>
</el-form-item>
<el-form-item label="课程名称">
<el-form-item label="课程名称" prop="formFilter.courseName">
<el-input class="filter-item" v-model="formSetClassCourse.formFilter.courseName"
:clearable="true" placeholder="课程名称"
/>
</el-form-item>
<el-button slot="operator" type="primary" :plain="true" size="mini" @click="refreshFormSetClassCourse(true)">查询</el-button>
<el-button slot="operator" type="primary" size="mini" :disabled="tableSelectRowList.length <= 0 || !checkPermCodeExist('formSetClassCourse:formSetClassCourse:addClassCourse')"
<el-button slot="operator" type="default" :plain="true" :size="defaultFormItemSize" @click="onResetFormSetClassCourse">重置</el-button>
<el-button slot="operator" type="primary" :plain="true" :size="defaultFormItemSize" @click="refreshFormSetClassCourse(true)">查询</el-button>
<el-button slot="operator" type="primary" :size="defaultFormItemSize" :disabled="tableSelectRowList.length <= 0 || !checkPermCodeExist('formSetClassCourse:formSetClassCourse:addClassCourse')"
@click="onAddClassCourseClick()">
添加
</el-button>
@@ -40,7 +43,7 @@
</el-form>
<el-row>
<el-col :span="24">
<el-table :data="formSetClassCourse.Course.impl.dataList" size="mini"
<el-table :data="formSetClassCourse.Course.impl.dataList" :size="defaultFormItemSize"
@sort-change="formSetClassCourse.Course.impl.onSortChange"
@selection-change="onCourseSelectionChange"
header-cell-class-name="table-header-gray">
@@ -147,6 +150,10 @@ export default {
this.refreshParentCachedPage = isSuccess;
this.$router.go(-1);
},
onResetFormSetClassCourse () {
this.$refs.formSetClassCourseFilter.resetFields();
this.refreshFormSetClassCourse(true);
},
onCourseSelectionChange (values) {
this.tableSelectRowList = values;
},
@@ -154,12 +161,6 @@ export default {
* 班级课程数据获取函数返回Promise
*/
loadCourseWidgetData (params) {
if (
this.classId == null
) {
this.formSetClassCourse.Course.impl.clearTable();
return Promise.reject();
}
if (params == null) params = {};
params = {
...params,

View File

@@ -1,8 +1,10 @@
<template>
<div class="form-single-fragment" style="position: relative;">
<el-form label-width="100px" size="mini" label-position="right" @submit.native.prevent>
<el-form ref="formSetClassStudentFilter" :model="formSetClassStudent" :size="defaultFormItemSize"
label-width="100px" label-position="right" @submit.native.prevent
>
<filter-box :item-width="350">
<el-form-item label="所属校区">
<el-form-item label="所属校区" prop="formFilter.schoolId">
<el-select class="filter-item" v-model="formSetClassStudent.formFilter.schoolId" :clearable="true" filterable
placeholder="所属校区" :loading="formSetClassStudent.schoolId.impl.loading"
@visible-change="formSetClassStudent.schoolId.impl.onVisibleChange"
@@ -10,8 +12,9 @@
<el-option v-for="item in formSetClassStudent.schoolId.impl.dropdownList" :key="item.id" :value="item.id" :label="item.name" />
</el-select>
</el-form-item>
<el-button slot="operator" type="primary" :plain="true" size="mini" @click="refreshFormSetClassStudent(true)">查询</el-button>
<el-button slot="operator" type="primary" size="mini" :disabled="tableSelectRowList.length <= 0 || !checkPermCodeExist('formSetClassStudent:formSetClassStudent:addClassStudent')"
<el-button slot="operator" type="default" :plain="true" :size="defaultFormItemSize" @click="onResetFormSetClassStudent">重置</el-button>
<el-button slot="operator" type="primary" :plain="true" :size="defaultFormItemSize" @click="refreshFormSetClassStudent(true)">查询</el-button>
<el-button slot="operator" type="primary" :size="defaultFormItemSize" :disabled="tableSelectRowList.length <= 0 || !checkPermCodeExist('formSetClassStudent:formSetClassStudent:addClassStudent')"
@click="onAddClassStudentClick()">
添加
</el-button>
@@ -19,7 +22,7 @@
</el-form>
<el-row>
<el-col :span="24">
<el-table :data="formSetClassStudent.Student.impl.dataList" size="mini"
<el-table :data="formSetClassStudent.Student.impl.dataList" :size="defaultFormItemSize"
@sort-change="formSetClassStudent.Student.impl.onSortChange"
@selection-change="onStudentSelectionChange"
header-cell-class-name="table-header-gray">
@@ -114,6 +117,10 @@ export default {
this.refreshParentCachedPage = isSuccess;
this.$router.go(-1);
},
onResetFormSetClassStudent () {
this.$refs.formSetClassStudentFilter.resetFields();
this.refreshFormSetClassStudent(true);
},
onStudentSelectionChange (values) {
this.tableSelectRowList = values;
},
@@ -121,12 +128,6 @@ export default {
* 班级学生数据获取函数返回Promise
*/
loadStudentWidgetData (params) {
if (
this.classId == null
) {
this.formSetClassStudent.Student.impl.clearTable();
return Promise.reject();
}
if (params == null) params = {};
params = {
...params,

View File

@@ -15,9 +15,11 @@
</el-aside>
<el-main style="padding-left: 15px;">
<el-scrollbar :style="{height: (getMainContextHeight - 42) + 'px'}" class="custom-scroll">
<el-form label-width="100px" size="mini" label-position="right" @submit.native.prevent>
<el-form ref="formStudentFilter" :model="formStudent" :size="defaultFormItemSize"
label-width="100px" label-position="right" @submit.native.prevent
>
<filter-box :item-width="350">
<el-form-item label="所属年级">
<el-form-item label="所属年级" prop="formFilter.gradeId">
<el-select class="filter-item" v-model="formStudent.formFilter.gradeId" :clearable="true" filterable
placeholder="所属年级" :loading="formStudent.gradeId.impl.loading"
@visible-change="formStudent.gradeId.impl.onVisibleChange"
@@ -25,18 +27,19 @@
<el-option v-for="item in formStudent.gradeId.impl.dropdownList" :key="item.id" :value="item.id" :label="item.name" />
</el-select>
</el-form-item>
<el-form-item label="注册日期">
<el-form-item label="注册日期" prop="formFilter.registerDate">
<date-range class="filter-item" v-model="formStudent.formFilter.registerDate" :clearable="true" :allowTypes="['day']" align="left"
range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期"
format="yyyy-MM-dd" value-format="yyyy-MM-dd HH:mm:ss" />
</el-form-item>
<el-form-item label="学生姓名">
<el-form-item label="学生姓名" prop="formFilter.searchString">
<el-input class="filter-item" v-model="formStudent.formFilter.searchString"
:clearable="true" placeholder="输入学生姓名 / 手机号码 模糊查询"
/>
</el-form-item>
<el-button slot="operator" type="primary" :plain="true" size="mini" @click="refreshFormStudent(true)">查询</el-button>
<el-button slot="operator" type="primary" size="mini" :disabled="!checkPermCodeExist('formStudent:formStudent:formCreateStudent')"
<el-button slot="operator" type="default" :plain="true" :size="defaultFormItemSize" @click="onResetFormStudent">重置</el-button>
<el-button slot="operator" type="primary" :plain="true" :size="defaultFormItemSize" @click="refreshFormStudent(true)">查询</el-button>
<el-button slot="operator" type="primary" :size="defaultFormItemSize" :disabled="!checkPermCodeExist('formStudent:formStudent:formCreateStudent')"
@click="onFormCreateStudentClick()">
新建
</el-button>
@@ -44,8 +47,9 @@
</el-form>
<el-row>
<el-col :span="24">
<el-table ref="student" :data="formStudent.Student.impl.dataList" size="mini" @sort-change="formStudent.Student.impl.onSortChange"
header-cell-class-name="table-header-gray">
<el-table ref="student" :data="formStudent.Student.impl.dataList" :size="defaultFormItemSize" @sort-change="formStudent.Student.impl.onSortChange"
header-cell-class-name="table-header-gray"
>
<el-table-column label="序号" header-align="center" align="center" type="index" width="55px" :index="formStudent.Student.impl.getTableIndex" />
<el-table-column label="学生姓名" prop="studentName">
</el-table-column>
@@ -65,11 +69,11 @@
</el-table-column>
<el-table-column label="操作" fixed="right">
<template slot-scope="scope">
<el-button @click.stop="onFormEditStudentClick(scope.row)" type="text" size="mini"
<el-button @click.stop="onFormEditStudentClick(scope.row)" type="text" :size="defaultFormItemSize"
:disabled="!checkPermCodeExist('formStudent:formStudent:formEditStudent')">
编辑
</el-button>
<el-button @click.stop="onDeleteClick(scope.row)" type="text" size="mini"
<el-button @click.stop="onDeleteClick(scope.row)" type="text" :size="defaultFormItemSize"
:disabled="!checkPermCodeExist('formStudent:formStudent:delete')">
删除
</el-button>
@@ -143,6 +147,10 @@ export default {
}
},
methods: {
onResetFormStudent () {
this.$refs.formStudentFilter.resetFields();
this.refreshFormStudent(true);
},
/**
* 学生数据数据获取函数返回Promise
*/
@@ -262,22 +270,16 @@ export default {
this.$dialog.show('编辑', formEditStudent, {
area: '800px'
}, params).then(res => {
this.formStudent.Student.impl.refreshTable();
}).catch(e => {});
},
/**
* 删除
*/
onDeleteClick (row) {
let params = {
studentId: row.studentId
};
this.$confirm('是否删除此学生?').then(res => {
StudentController.delete(this, params).then(res => {
this.$message.success('删除成功');
this.formStudent.Student.impl.refreshTable();
}).catch(e => {});
this.formStudent.Student.impl.dataList = this.formStudent.Student.impl.dataList.filter(item => {
return item.__cascade_add_temp_id__ !== row.__cascade_add_temp_id__;
});
}).catch(e => {});
},
onResume () {

View File

@@ -1,13 +1,15 @@
<template>
<div style="position: relative;">
<el-form label-width="100px" size="mini" label-position="right" @submit.native.prevent>
<el-form ref="formStudentActionDetailFilter" :model="formStudentActionDetail" :size="defaultFormItemSize"
label-width="100px" label-position="right" @submit.native.prevent
>
<filter-box :item-width="350">
<el-form-item label="统计日期">
<el-form-item label="统计日期" prop="formFilter.statsDate">
<date-range class="filter-item" v-model="formStudentActionDetail.formFilter.statsDate" :clearable="true" :allowTypes="['day']" align="left"
range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期"
format="yyyy-MM-dd" value-format="yyyy-MM-dd HH:mm:ss" />
</el-form-item>
<el-form-item label="所属年级">
<el-form-item label="所属年级" prop="formFilter.gradeId">
<el-select class="filter-item" v-model="formStudentActionDetail.formFilter.gradeId" :clearable="true" filterable
placeholder="所属年级" :loading="formStudentActionDetail.gradeId.impl.loading"
@visible-change="formStudentActionDetail.gradeId.impl.onVisibleChange"
@@ -15,7 +17,7 @@
<el-option v-for="item in formStudentActionDetail.gradeId.impl.dropdownList" :key="item.id" :value="item.id" :label="item.name" />
</el-select>
</el-form-item>
<el-form-item label="行为类型">
<el-form-item label="行为类型" prop="formFilter.actionType">
<el-select class="filter-item" v-model="formStudentActionDetail.formFilter.actionType" :clearable="true" filterable
placeholder="行为类型" :loading="formStudentActionDetail.actionType.impl.loading"
@visible-change="formStudentActionDetail.actionType.impl.onVisibleChange"
@@ -23,13 +25,15 @@
<el-option v-for="item in formStudentActionDetail.actionType.impl.dropdownList" :key="item.id" :value="item.id" :label="item.name" />
</el-select>
</el-form-item>
<el-button slot="operator" type="primary" :plain="true" size="mini" @click="refreshFormStudentActionDetail(true)">查询</el-button>
<el-button slot="operator" type="default" :plain="true" :size="defaultFormItemSize" @click="onResetFormStudentActionDetail">重置</el-button>
<el-button slot="operator" type="primary" :plain="true" :size="defaultFormItemSize" @click="refreshFormStudentActionDetail(true)">查询</el-button>
</filter-box>
</el-form>
<el-row>
<el-col :span="24">
<el-table ref="studentActionTrans" :data="formStudentActionDetail.StudentActionTrans.impl.dataList" size="mini" @sort-change="formStudentActionDetail.StudentActionTrans.impl.onSortChange"
header-cell-class-name="table-header-gray">
<el-table ref="studentActionTrans" :data="formStudentActionDetail.StudentActionTrans.impl.dataList" :size="defaultFormItemSize" @sort-change="formStudentActionDetail.StudentActionTrans.impl.onSortChange"
header-cell-class-name="table-header-gray"
>
<el-table-column label="序号" header-align="center" align="center" type="index" width="55px" :index="formStudentActionDetail.StudentActionTrans.impl.getTableIndex" />
<el-table-column label="学生名称" prop="studentName">
</el-table-column>
@@ -140,6 +144,10 @@ export default {
this.refreshParentCachedPage = isSuccess;
this.$router.go(-1);
},
onResetFormStudentActionDetail () {
this.$refs.formStudentActionDetailFilter.resetFields();
this.refreshFormStudentActionDetail(true);
},
/**
* 学生行为流水数据获取函数返回Promise
*/

View File

@@ -1,13 +1,15 @@
<template>
<div style="position: relative;">
<el-form label-width="100px" size="mini" label-position="right" @submit.native.prevent>
<el-form ref="formStudentActionStatsFilter" :model="formStudentActionStats" :size="defaultFormItemSize"
label-width="100px" label-position="right" @submit.native.prevent
>
<filter-box :item-width="350">
<el-form-item label="统计日期">
<el-form-item label="统计日期" prop="formFilter.statsDate">
<date-range class="filter-item" v-model="formStudentActionStats.formFilter.statsDate" :clearable="true" :allowTypes="['day']" align="left"
range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期"
format="yyyy-MM-dd" value-format="yyyy-MM-dd HH:mm:ss" />
</el-form-item>
<el-form-item label="所属年级">
<el-form-item label="所属年级" prop="formFilter.gradeId">
<el-select class="filter-item" v-model="formStudentActionStats.formFilter.gradeId" :clearable="true" filterable
placeholder="所属年级" :loading="formStudentActionStats.gradeId.impl.loading"
@visible-change="formStudentActionStats.gradeId.impl.onVisibleChange"
@@ -15,13 +17,15 @@
<el-option v-for="item in formStudentActionStats.gradeId.impl.dropdownList" :key="item.id" :value="item.id" :label="item.name" />
</el-select>
</el-form-item>
<el-button slot="operator" type="primary" :plain="true" size="mini" @click="refreshFormStudentActionStats(true)">查询</el-button>
<el-button slot="operator" type="default" :plain="true" :size="defaultFormItemSize" @click="onResetFormStudentActionStats">重置</el-button>
<el-button slot="operator" type="primary" :plain="true" :size="defaultFormItemSize" @click="refreshFormStudentActionStats(true)">查询</el-button>
</filter-box>
</el-form>
<el-row>
<el-col :span="24">
<el-table ref="studentActionStats" :data="formStudentActionStats.StudentActionStats.impl.dataList" size="mini" @sort-change="formStudentActionStats.StudentActionStats.impl.onSortChange"
header-cell-class-name="table-header-gray">
<el-table ref="studentActionStats" :data="formStudentActionStats.StudentActionStats.impl.dataList" :size="defaultFormItemSize" @sort-change="formStudentActionStats.StudentActionStats.impl.onSortChange"
header-cell-class-name="table-header-gray"
>
<el-table-column label="序号" header-align="center" align="center" type="index" width="55px" :index="formStudentActionStats.StudentActionStats.impl.getTableIndex" />
<el-table-column label="统计日期">
<template slot-scope="scope">
@@ -125,6 +129,10 @@ export default {
}
},
methods: {
onResetFormStudentActionStats () {
this.$refs.formStudentActionStatsFilter.resetFields();
this.refreshFormStudentActionStats(true);
},
/**
* 学生行为统计数据获取函数返回Promise
*/

View File

@@ -0,0 +1,76 @@
<template>
<div class="form-single-fragment" style="position: relative;">
<el-form ref="formModifyPassword" class="full-width-input" style="width: 100%;"
label-width="80px" :size="defaultFormItemSize" label-position="right" @submit.native.prevent>
<el-row :gutter="20">
<el-col :span="24">
<el-form-item label="用户头像">
<el-upload
class="upload-image-item" name="uploadFile" :headers="getUploadHeaders"
:action="headImageUploadUrl"
:show-file-list="false" accept=".jpg,.png,.jpeg"
:on-success="onHeadImageUploadSuccess"
:on-error="onUploadError" :on-exceed="onUploadLimit"
>
<img v-if="getHeadImageUrl()" class="upload-image-show" :src="getHeadImageUrl()">
<i v-else class="el-icon-plus upload-image-item" />
</el-upload>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
</template>
<script>
import { mapGetters, mapMutations } from 'vuex';
import { SystemController } from '@/api';
/* eslint-disable-next-line */
import { uploadMixin, statsDateRangeMixin } from '@/core/mixins';
export default {
name: 'formModifyHeadImage',
mixins: [uploadMixin, statsDateRangeMixin],
data () {
return {
}
},
methods: {
/**
* 课程图片上传成功
*/
onHeadImageUploadSuccess (response, file, fileList) {
console.log(response, file);
if (response.success) {
this.setHeadImage(response.data);
} else {
this.$message.error(response.message);
}
},
onUploadError (e, file, fileList) {
this.$message.error('文件上传失败');
},
onUploadLimit (files, fileList) {
this.$message.error('已经超出最大上传个数限制');
},
getHeadImageUrl () {
if (this.getUserInfo && this.getUserInfo.headImageUrl != null && this.getUserInfo.headImageUrl !== '') {
let temp = this.getUploadFileUrl(this.getUserInfo.headImageUrl, { filename: this.getUserInfo.headImageUrl.filename });
return temp;
} else {
return null;
}
},
...mapMutations(['setHeadImage'])
},
computed: {
headImageUploadUrl () {
return this.getUploadActionUrl(SystemController.changeHeadImageUrl());
},
...mapGetters(['getUserInfo'])
}
}
</script>
<style>
</style>

View File

@@ -1,7 +1,7 @@
<template>
<div class="form-single-fragment" style="position: relative;">
<el-form ref="formModifyPassword" :model="formData" class="full-width-input" :rules="rules" style="width: 100%;"
label-width="120px" size="mini" label-position="right" @submit.native.prevent>
label-width="120px" :size="defaultFormItemSize" label-position="right" @submit.native.prevent>
<el-row :gutter="20">
<el-col :span="24">
<el-form-item label="旧密码" prop="oldPassword">
@@ -26,11 +26,11 @@
</el-col>
<el-col :span="24">
<el-row class="no-scroll flex-box" type="flex" justify="end">
<el-button type="primary" size="mini" :plain="true"
<el-button type="primary" :size="defaultFormItemSize" :plain="true"
@click="onCancel(false)">
取消
</el-button>
<el-button type="primary" size="mini" @click="onSave()">
<el-button type="primary" :size="defaultFormItemSize" @click="onSave()">
保存
</el-button>
</el-row>

View File

@@ -17,10 +17,11 @@
</span>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item class="user-dropdown-item" command="modifyPassword">修改密码</el-dropdown-item>
<el-dropdown-item class="user-dropdown-item" command="modifyHeadImage">修改头像</el-dropdown-item>
<el-dropdown-item class="user-dropdown-item" command="logout">退出登录</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
<img :src="header" class="header-img" />
<img :src="getHeadImageUrl ? getHeadImageUrl : header" class="header-img" />
</div>
</el-header>
<el-main :style="{'padding-bottom': '15px', 'padding-top': (getMultiTags ? '0px' : '15px')}">
@@ -40,9 +41,12 @@
<script>
import SideBar from './components/sidebar/sidebar.vue';
import { mapGetters, mapMutations } from 'vuex';
/* eslint-disable-next-line */
import { uploadMixin, statsDateRangeMixin } from '@/core/mixins';
import Breadcrumb from './components/breadcrumb';
import TagPanel from './components/tags/tagPanel.vue';
import formModifyPassword from './components/formModifyPassword/index.vue';
import formModifyHeadImage from './components/formModifyHeadImage/index.vue';
import { SystemController } from '@/api';
import { getToken, setToken } from '@/utils';
@@ -57,6 +61,7 @@ export default {
'breadcrumb': Breadcrumb,
'tag-panel': TagPanel
},
mixins: [uploadMixin, statsDateRangeMixin],
methods: {
toggleSideBar () {
this.setCollapse(!this.getCollapse);
@@ -104,6 +109,10 @@ export default {
this.$dialog.show('修改密码', formModifyPassword, {
area: ['500px']
}, {}).catch(e => {});
} else if (command === 'modifyHeadImage') {
this.$dialog.show('修改头像', formModifyHeadImage, {
area: ['500px']
}, {}).catch(e => {});
}
},
...mapMutations([
@@ -132,6 +141,14 @@ export default {
{'min-height': this.getMainContextHeight + 'px'}
]
},
getHeadImageUrl () {
if (this.getUserInfo && this.getUserInfo.headImageUrl != null && this.getUserInfo.headImageUrl !== '') {
let temp = this.getUploadFileUrl(this.getUserInfo.headImageUrl, { filename: this.getUserInfo.headImageUrl.filename });
return temp;
} else {
return null;
}
},
...mapGetters([
'getMultiTags',
'getClientHeight',

View File

@@ -24,6 +24,13 @@
</el-form>
</div>
</div>
<Verify
ref="verify"
@success="onVerifySuccess"
:mode="'pop'"
captchaType="blockPuzzle"
:imgSize="{ width: '330px', height: '155px' }"
/>
</div>
</template>
@@ -32,8 +39,12 @@ import { SystemController } from '@/api';
import { mapMutations } from 'vuex';
import projectConfig from '@/core/config';
import { encrypt, setToken } from '@/utils';
import Verify from '@/components/Verifition/Verify.vue';
export default {
components: {
Verify
},
data () {
return {
bkImg: require('@/assets/img/login.png'),
@@ -57,23 +68,30 @@ export default {
dataFormSubmit () {
this.$refs['dataForm'].validate(valid => {
if (valid) {
let params = {
loginName: this.dataForm.mobilePhone,
password: encrypt(this.dataForm.password)
};
SystemController.login(this, params, null, {showMask: false}).then(data => {
this.setMenuList(data.data.menuList);
delete data.data.menuList;
this.setUserInfo(data.data);
setToken(data.data.tokenData);
this.setCurrentMenuId(null);
this.$router.replace({ name: 'main' });
}).catch(e => {});
this.$refs.verify.show();
}
});
},
login (verifyParams) {
let params = {
loginName: this.dataForm.mobilePhone,
password: encrypt(this.dataForm.password),
captchaVerification: (verifyParams || {}).captchaVerification
};
SystemController.login(this, params, null, {showMask: false}).then(data => {
this.setMenuList(data.data.menuList);
delete data.data.menuList;
this.setUserInfo(data.data);
setToken(data.data.tokenData);
this.setCurrentMenuId(null);
this.$router.replace({ name: 'main' });
}).catch(e => {});
},
onVerifySuccess (verifyParams) {
this.login(verifyParams);
},
...mapMutations(['setUserInfo', 'setMenuList', 'setCurrentMenuId'])
},
mounted () {

View File

@@ -16,17 +16,17 @@
</el-card>
</el-aside>
<el-main style="margin-left: 15px; background-color: white; padding: 20px;">
<el-form label-width="120px" size="mini" label-position="left" @submit.native.prevent>
<el-form label-width="120px" :size="defaultFormItemSize" label-position="left" @submit.native.prevent>
<filter-box :item-width="350">
<el-form-item v-if="dirtyCount > 0" label="失效缓存数量:">
<span style="color: #F56C6C;">{{dirtyCount}}</span>
</el-form-item>
<el-button slot="operator" type="primary" size="mini" :plain="true"
<el-button slot="operator" type="primary" :size="defaultFormItemSize" :plain="true"
:disabled="!checkPermCodeExist('formSysDict:fragmentSysDict:reloadCache') || currentDict == null"
@click="onRefreshCacheData">
同步缓存
</el-button>
<el-button slot="operator" type="primary" size="mini"
<el-button slot="operator" type="primary" :size="defaultFormItemSize"
:disabled="!checkPermCodeExist('formSysDict:fragmentSysDict:add') || currentDict == null"
@click="onAddDictData">
添加数据
@@ -35,14 +35,14 @@
</el-form>
<el-row>
<el-col :span="24">
<el-table :data="getCurrentDictData" size="mini" header-cell-class-name="table-header-gray"
<el-table :data="getCurrentDictData" :size="defaultFormItemSize" header-cell-class-name="table-header-gray"
:row-style="tableRowStyle"
:height="(getMainContextHeight - 90) + 'px'" row-key="id">
<el-table-column label="ID" prop="id" />
<el-table-column label="字典名称" prop="name">
<template slot-scope="scope">
<span>{{scope.row.name}}</span>
<el-tag v-if="scope.row.dirty" size="mini" effect="dark" type="warning"
<el-tag v-if="scope.row.dirty" :size="defaultFormItemSize" effect="dark" type="warning"
style="margin-left: 15px;">
缓存失效
</el-tag>
@@ -50,8 +50,8 @@
</el-table-column>
<el-table-column label="操作" width="150px">
<template slot-scope="scope">
<el-button type="text" size="mini" :disabled="!checkPermCodeExist('formSysDict:fragmentSysDict:update')" @click="onUpdateDictDataClick(scope.row)">编辑</el-button>
<el-button type="text" size="mini" :disabled="!checkPermCodeExist('formSysDict:fragmentSysDict:delete')" @click="onDeleteDictDataClick(scope.row)">删除</el-button>
<el-button type="text" :size="defaultFormItemSize" :disabled="!checkPermCodeExist('formSysDict:fragmentSysDict:update')" @click="onUpdateDictDataClick(scope.row)">编辑</el-button>
<el-button type="text" :size="defaultFormItemSize" :disabled="!checkPermCodeExist('formSysDict:fragmentSysDict:delete')" @click="onDeleteDictDataClick(scope.row)">删除</el-button>
</template>
</el-table-column>
</el-table>

View File

@@ -1,5 +1,5 @@
<template>
<el-form ref="form" :model="formData" :rules="rules" label-width="80px" size="mini" label-position="right" @submit.native.prevent>
<el-form ref="form" :model="formData" :rules="rules" label-width="80px" :size="defaultFormItemSize" label-position="right" @submit.native.prevent>
<el-row :gutter="20">
<el-form-item v-if="dictInfo.treeFlag" label="父字典">
<el-cascader style="width: 100%;"
@@ -14,8 +14,8 @@
</el-form-item>
</el-row>
<el-row type="flex" justify="end" class="dialog-btn-layer">
<el-button size="mini" @click="onCancel(false)" >取消</el-button>
<el-button type="primary" size="mini" @click="onSubmit">确定</el-button>
<el-button :size="defaultFormItemSize" @click="onCancel(false)" >取消</el-button>
<el-button type="primary" :size="defaultFormItemSize" @click="onSubmit">确定</el-button>
</el-row>
</el-form>
</template>

View File

@@ -1,7 +1,7 @@
<template>
<div class="form-single-fragment" style="position: relative;">
<el-form ref="formEditSysDataPerm" :model="formData" class="full-width-input" :rules="rules" style="width: 100%;"
label-width="120px" size="mini" label-position="right" @submit.native.prevent>
label-width="120px" :size="defaultFormItemSize" label-position="right" @submit.native.prevent>
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="数据权限名称" prop="SysDataPerm.dataPermName">
@@ -23,7 +23,7 @@
<el-card shadow="never">
<div slot="header" class="card-header">
<span>部门列表</span>
<el-input size="mini" v-model="deptNameFilter" placeholder="输入部门名称过滤" style="width: 250px;" clearable suffix-icon="el-icon-search" />
<el-input :size="defaultFormItemSize" v-model="deptNameFilter" placeholder="输入部门名称过滤" style="width: 250px;" clearable suffix-icon="el-icon-search" />
</div>
<el-scrollbar style="height: 250px;" wrap-class="scrollbar_dropdown__wrap">
<el-tree ref="deptTree" :data="deptTree" show-checkbox node-key="id" default-expand-all
@@ -34,10 +34,10 @@
</el-row>
<el-col :span="24" style="margin-top: 20px;">
<el-row type="flex" justify="end">
<el-button type="primary" size="mini" :plain="true" @click="onCancel(false)">
<el-button type="primary" :size="defaultFormItemSize" :plain="true" @click="onCancel(false)">
取消
</el-button>
<el-button type="primary" size="mini" @click="onUpdateClick()"
<el-button type="primary" :size="defaultFormItemSize" @click="onUpdateClick()"
:disabled="!(checkPermCodeExist('formSysDataPerm:fragmentSysDataPerm:add') || checkPermCodeExist('formSysDataPerm:fragmentSysDataPerm:update'))">
保存
</el-button>

View File

@@ -1,7 +1,7 @@
<template>
<div class="form-single-fragment" style="position: relative;">
<el-form ref="formEditSysDept" :model="formData" :rules="rules" style="width: 100%;"
label-width="100px" size="mini" label-position="right" @submit.native.prevent>
label-width="100px" :size="defaultFormItemSize" label-position="right" @submit.native.prevent>
<el-row :gutter="20">
<el-col :span="24">
<el-form-item label="所属部门" prop="SysDept.parentId">
@@ -26,11 +26,11 @@
</el-col>
<el-col :span="24">
<el-row type="flex" justify="end">
<el-button type="primary" size="mini" :plain="true"
<el-button type="primary" :size="defaultFormItemSize" :plain="true"
@click="onCancel(false)">
取消
</el-button>
<el-button type="primary" size="mini" @click="onUpdateClick()"
<el-button type="primary" :size="defaultFormItemSize" @click="onUpdateClick()"
:disabled="!(checkPermCodeExist('formSysDept:fragmentSysDept:update') || checkPermCodeExist('formSysDept:fragmentSysDept:add'))">
保存
</el-button>

View File

@@ -1,5 +1,5 @@
<template>
<el-form ref="form" :model="formData" :rules="rules" label-width="110px" size="mini" label-position="right" @submit.native.prevent>
<el-form ref="form" :model="formData" :rules="rules" label-width="110px" :size="defaultFormItemSize" label-position="right" @submit.native.prevent>
<el-row :gutter="20" class="full-width-input">
<el-col :span="24" >
<el-form-item label="菜单名称" prop="menuName">
@@ -15,8 +15,8 @@
</el-row>
<!-- 弹窗按钮 -->
<el-row type="flex" justify="end" class="dialog-btn-layer mt20">
<el-button size="mini" @click="onCancel(false)" >取消</el-button>
<el-button type="primary" size="mini" @click="onSubmit">确定</el-button>
<el-button :size="defaultFormItemSize" @click="onCancel(false)" >取消</el-button>
<el-button type="primary" :size="defaultFormItemSize" @click="onSubmit">确定</el-button>
</el-row>
</el-form>
</template>

View File

@@ -1,10 +1,10 @@
<template>
<el-form ref="form" :model="formData" :rules="rules" label-width="110px" size="mini" label-position="right" @submit.native.prevent>
<el-form ref="form" :model="formData" :rules="rules" label-width="110px" :size="defaultFormItemSize" label-position="right" @submit.native.prevent>
<el-row :gutter="20" class="full-width-input">
<el-col :span="12">
<el-form-item label="上级菜单">
<el-cascader :options="menuTree" v-model="parentMenuPath" :props="menuProps" placeholder="选择父菜单"
:disabled="!canEditParent || isEdit" :clearable="true" :change-on-select="true" size="mini"
:disabled="!canEditParent || isEdit" :clearable="true" :change-on-select="true" :size="defaultFormItemSize"
@change="onParentMenuChange" />
</el-form-item>
</el-col>
@@ -41,7 +41,7 @@
<el-card shadow="never">
<div slot="header" class="card-header">
<span>权限字列表</span>
<el-input size="mini" v-model="permCodeNameFilter" placeholder="输入权限字名称过滤" style="width: 250px;" clearable suffix-icon="el-icon-search" />
<el-input :size="defaultFormItemSize" v-model="permCodeNameFilter" placeholder="输入权限字名称过滤" style="width: 250px;" clearable suffix-icon="el-icon-search" />
</div>
<el-scrollbar style="height: 210px;" wrap-class="scrollbar_dropdown__wrap">
<el-tree ref="permCodeTree" :check-strictly="true"
@@ -54,8 +54,8 @@
</el-row>
<!-- 弹窗按钮 -->
<el-row type="flex" justify="end" class="dialog-btn-layer mt20">
<el-button size="mini" @click="onCancel(false)" >取消</el-button>
<el-button type="primary" size="mini" @click="onSubmit"
<el-button :size="defaultFormItemSize" @click="onCancel(false)" >取消</el-button>
<el-button type="primary" :size="defaultFormItemSize" @click="onSubmit"
:disabled="!(checkPermCodeExist('formSysMenu:fragmentSysMenu:add') || checkPermCodeExist('formSysMenu:fragmentSysMenu:update'))">
确定
</el-button>

View File

@@ -1,7 +1,7 @@
<template>
<div class="form-single-fragment" style="position: relative;">
<el-form ref="formCreatePerm" :model="formData" class="full-width-input" :rules="rules" style="width: 100%;"
label-width="100px" size="mini" label-position="right" @submit.native.prevent>
label-width="100px" :size="defaultFormItemSize" label-position="right" @submit.native.prevent>
<el-row :gutter="20">
<el-col :span="24">
<el-form-item label="权限名称" prop="SysPerm.permName">
@@ -12,7 +12,7 @@
<el-col :span="24">
<el-form-item label="所属模块" prop="SysPerm.moduleId">
<el-cascader class="input-item" :options="permModuleList" v-model="formData.SysPerm.moduleId"
placeholder="选择所属模块" :clearable="true" size="mini" :props="{value: 'moduleId', label: 'moduleName'}" />
placeholder="选择所属模块" :clearable="true" :size="defaultFormItemSize" :props="{value: 'moduleId', label: 'moduleName'}" />
</el-form-item>
</el-col>
<el-col :span="24">
@@ -29,11 +29,11 @@
</el-col>
<el-col :span="24">
<el-row type="flex" justify="end">
<el-button type="primary" size="mini" :plain="true"
<el-button type="primary" :size="defaultFormItemSize" :plain="true"
@click="onCancel(false)">
取消
</el-button>
<el-button type="primary" size="mini" @click="onAddClick()"
<el-button type="primary" :size="defaultFormItemSize" @click="onAddClick()"
:disabled="!(checkPermCodeExist('formSysPerm:fragmentSysPerm:updatePerm') || checkPermCodeExist('formSysPerm:fragmentSysPerm:addPerm'))">
保存
</el-button>

View File

@@ -1,10 +1,10 @@
<template>
<el-form ref="form" :model="formData" :rules="rules" label-width="110px" size="mini" label-position="right" @submit.native.prevent>
<el-form ref="form" :model="formData" :rules="rules" label-width="110px" :size="defaultFormItemSize" label-position="right" @submit.native.prevent>
<el-row :gutter="20" class="full-width-input">
<el-col :span="24">
<el-form-item label="所属权限字">
<el-cascader :options="permCodeTree" v-model="parentPermCodePath" :props="permCodeProps" filterable
:disabled="formData.permCodeId != null || formData.parenId == null" placeholder="选择父权限字" :clearable="true" :change-on-select="true" size="mini" />
:disabled="formData.permCodeId != null || formData.parenId == null" placeholder="选择父权限字" :clearable="true" :change-on-select="true" :size="defaultFormItemSize" />
</el-form-item>
</el-col>
<el-col :span="12">
@@ -34,7 +34,7 @@
<el-card shadow="never">
<div slot="header" class="card-header">
<span>权限列表</span>
<el-input size="mini" v-model="permNameFilter" placeholder="输入权限名称过滤" style="width: 250px;" clearable suffix-icon="el-icon-search" />
<el-input :size="defaultFormItemSize" v-model="permNameFilter" placeholder="输入权限名称过滤" style="width: 250px;" clearable suffix-icon="el-icon-search" />
</div>
<el-scrollbar style="height: 215px;" wrap-class="scrollbar_dropdown__wrap">
<el-tree ref="permTree" :data="formData.permCodeType === SysPermCodeType.FORM ? [] : getPermTree" :props="treeProps" show-checkbox
@@ -51,8 +51,8 @@
</el-row>
<!-- 弹窗按钮 -->
<el-row type="flex" justify="end" class="dialog-btn-layer mt20">
<el-button size="mini" @click="onCancel(false)" >取消</el-button>
<el-button type="primary" size="mini" @click="onSubmit"
<el-button :size="defaultFormItemSize" @click="onCancel(false)" >取消</el-button>
<el-button type="primary" :size="defaultFormItemSize" @click="onSubmit"
:disabled="!(checkPermCodeExist('formSysPermCode:fragmentSysPermCode:add') || checkPermCodeExist('formSysPermCode:fragmentSysPermCode:update'))">
确定
</el-button>

View File

@@ -1,7 +1,7 @@
<template>
<div class="form-single-fragment" style="position: relative;">
<el-form ref="formCreatePermModule" :model="formData" class="full-width-input" :rules="rules" style="width: 100%;"
label-width="120px" size="mini" label-position="right" @submit.native.prevent>
label-width="120px" :size="defaultFormItemSize" label-position="right" @submit.native.prevent>
<el-row :gutter="20">
<el-col :span="24">
<el-form-item label="模块名称" prop="SysPermModule.moduleName">
@@ -12,7 +12,7 @@
<el-col :span="24">
<el-form-item label="模块类型">
<el-select class="input-item" v-model="formData.SysPermModule.moduleType"
placeholder="模块类型" :clearable="true" size="mini" :disabled="isEdit">
placeholder="模块类型" :clearable="true" :size="defaultFormItemSize" :disabled="isEdit">
<el-option v-for="item in SysPermModuleType.getList()" :key="item.id" :value="item.id" :label="item.name" />
</el-select>
</el-form-item>
@@ -20,7 +20,7 @@
<el-col :span="24">
<el-form-item label="所属模块">
<el-cascader class="input-item" :options="getPermGroupTree" v-model="formData.SysPermModule.parentId"
placeholder="选择所属模块" :clearable="true" size="mini"
placeholder="选择所属模块" :clearable="true" :size="defaultFormItemSize"
:props="{value: 'moduleId', label: 'moduleName', checkStrictly: true}" />
</el-form-item>
</el-col>
@@ -32,10 +32,10 @@
</el-col>
<el-col :span="24">
<el-row type="flex" justify="end">
<el-button type="primary" size="mini" :plain="true" @click="onCancel(false)">
<el-button type="primary" :size="defaultFormItemSize" :plain="true" @click="onCancel(false)">
取消
</el-button>
<el-button type="primary" size="mini" @click="onAddClick()"
<el-button type="primary" :size="defaultFormItemSize" @click="onAddClick()"
:disabled="!(checkPermCodeExist('formSysPerm:fragmentSysPerm:addPermModule') || checkPermCodeExist('formSysPerm:fragmentSysPerm:updatePermModule'))">
保存
</el-button>

View File

@@ -1,5 +1,5 @@
<template>
<el-form ref="form" :model="formData" :rules="rules" label-width="80px" size="mini" label-position="right" @submit.native.prevent>
<el-form ref="form" :model="formData" :rules="rules" label-width="80px" :size="defaultFormItemSize" label-position="right" @submit.native.prevent>
<el-row :gutter="20">
<el-col :span="24">
<el-form-item label="角色名称" prop="roleName">
@@ -14,7 +14,7 @@
<el-card shadow="never">
<div slot="header" class="card-header">
<span>菜单权限</span>
<el-input size="mini" v-model="menuNameFilter" placeholder="输入菜单名称过滤" style="width: 250px;" clearable suffix-icon="el-icon-search" />
<el-input :size="defaultFormItemSize" v-model="menuNameFilter" placeholder="输入菜单名称过滤" style="width: 250px;" clearable suffix-icon="el-icon-search" />
</div>
<el-scrollbar style="height: 230px;" wrap-class="scrollbar_dropdown__wrap">
<el-tree ref="authTree" :data="authData" :props="treeProps" :check-strictly="false"
@@ -26,8 +26,8 @@
</el-row>
<!-- 弹窗下发按钮栏必须设置class为dialog-btn-layer -->
<el-row type="flex" justify="end" class="dialog-btn-layer" style="margin-top: 20px;">
<el-button size="mini" @click="onCancel(false)" >取消</el-button>
<el-button type="primary" size="mini" @click="onSubmit"
<el-button :size="defaultFormItemSize" @click="onCancel(false)" >取消</el-button>
<el-button type="primary" :size="defaultFormItemSize" @click="onSubmit"
:disabled="!(checkPermCodeExist('formSysRole:fragmentSysRole:update') || checkPermCodeExist('formSysRole:fragmentSysRole:add'))">
确定
</el-button>

View File

@@ -1,5 +1,5 @@
<template>
<el-form ref="form" :model="formData" :rules="rules" label-width="110px" size="mini" label-position="right" @submit.native.prevent>
<el-form ref="form" :model="formData" :rules="rules" label-width="110px" :size="defaultFormItemSize" label-position="right" @submit.native.prevent>
<el-row :gutter="20" class="full-width-input">
<el-col :span="24">
<el-form-item label="登录名称" prop="loginName">
@@ -50,8 +50,8 @@
</el-row>
<!-- 弹窗下发按钮栏必须设置class为dialog-btn-layer -->
<el-row type="flex" justify="end" class="dialog-btn-layer">
<el-button size="mini" type="primary" :plain="true" @click="onCancel(false)" >取消</el-button>
<el-button type="primary" size="mini" @click="onSubmit"
<el-button :size="defaultFormItemSize" type="primary" :plain="true" @click="onCancel(false)" >取消</el-button>
<el-button type="primary" :size="defaultFormItemSize" @click="onSubmit"
:disabled="!(checkPermCodeExist('formSysUser:fragmentSysUser:update') || checkPermCodeExist('formSysUser:fragmentSysUser:add'))">
确定
</el-button>

View File

@@ -1,19 +1,19 @@
<template>
<div>
<el-form label-width="75px" size="mini" label-position="right" @submit.native.prevent>
<el-form label-width="75px" :size="defaultFormItemSize" label-position="right" @submit.native.prevent>
<filter-box :item-width="350">
<el-form-item label="关联URL">
<el-input class="filter-item" v-model="formMenuPerm.formFilter.url"
:clearable="true" placeholder="权限字名称" />
</el-form-item>
<el-button slot="operator" type="primary" size="mini" :plain="true" @click="refreshFormMenuPerm(true)">
<el-button slot="operator" type="primary" :size="defaultFormItemSize" :plain="true" @click="refreshFormMenuPerm(true)">
查询
</el-button>
</filter-box>
</el-form>
<el-row>
<el-col :span="24">
<el-table :data="getPermList" size="mini" height="459px"
<el-table :data="getPermList" :size="defaultFormItemSize" height="459px"
@sort-change="formMenuPerm.SysPerm.impl.onSortChange"
header-cell-class-name="table-header-gray">
<el-table-column label="序号" header-align="center" align="center" type="index" width="50px" :index="formMenuPerm.SysPerm.impl.getTableIndex" />
@@ -21,7 +21,7 @@
</el-table-column>
<el-table-column label="权限字类型" width="100px">
<template slot-scope="scope">
<el-tag size="mini" :type="getPermCodeType(scope.row.permCodeType)">
<el-tag :size="defaultFormItemSize" :type="getPermCodeType(scope.row.permCodeType)">
{{SysPermCodeType.getValue(scope.row.permCodeType)}}
</el-tag>
</template>

View File

@@ -1,26 +1,27 @@
<template>
<div>
<el-form label-width="75px" size="mini" label-position="right" @submit.native.prevent>
<el-form ref="formSetRoleUsers" :model="formSysUser" label-width="75px" :size="defaultFormItemSize" label-position="right" @submit.native.prevent>
<filter-box :item-width="325">
<el-form-item label="用户状态">
<el-form-item label="用户状态" prop="formFilter.sysUserStatus">
<el-select class="filter-item" v-model="formSysUser.formFilter.sysUserStatus" :clearable="true"
placeholder="用户状态" :loading="formSysUser.sysUserStatus.impl.loading"
@visible-change="onSysUserStatusVisibleChange">
<el-option v-for="item in formSysUser.sysUserStatus.impl.dropdownList" :key="item.id" :value="item.id" :label="item.name" />
</el-select>
</el-form-item>
<el-form-item label="用户名">
<el-form-item label="用户名" prop="formFilter.sysUserLoginName">
<el-input class="filter-item" v-model="formSysUser.formFilter.sysUserLoginName"
:clearable="true" placeholder="用户名" />
</el-form-item>
<el-button slot="operator" type="primary" :plain="true" size="mini" @click="refreshFormSysUser(true)">查询</el-button>
<el-button slot="operator" size="mini" type="primary" :plain="false" @click="onSetUser"
<el-button slot="operator" type="default" :plain="true" :size="defaultFormItemSize" @click="onReset">重置</el-button>
<el-button slot="operator" type="primary" :plain="true" :size="defaultFormItemSize" @click="refreshFormSysUser(true)">查询</el-button>
<el-button slot="operator" :size="defaultFormItemSize" type="primary" :plain="false" @click="onSetUser"
:disabled="selectUsers == null || selectUsers.length <= 0">授权人员</el-button>
</filter-box>
</el-form>
<el-row>
<el-col :span="24">
<el-table :data="formSysUser.SysUser.impl.dataList" size="mini" row-key="userId" ref="userTable"
<el-table :data="formSysUser.SysUser.impl.dataList" :size="defaultFormItemSize" row-key="userId" ref="userTable"
header-cell-class-name="table-header-gray" height="395px" @selection-change="onTableSelectionChange">
<el-table-column label="序号" header-align="center" align="center" type="index" width="50px" :index="formSysUser.SysUser.impl.getTableIndex" />
<el-table-column header-align="center" align="center" type="selection" width="50px" :reserve-selection="true" />
@@ -35,7 +36,7 @@
</el-table-column>
<el-table-column label="状态">
<template slot-scope="scope">
<el-tag :type="getUserStatusType(scope.row.userStatus)" size="mini">{{SysUserStatus.getValue(scope.row.userStatus)}}</el-tag>
<el-tag :type="getUserStatusType(scope.row.userStatus)" :size="defaultFormItemSize">{{SysUserStatus.getValue(scope.row.userStatus)}}</el-tag>
</template>
</el-table-column>
</el-table>
@@ -146,6 +147,10 @@ export default {
onCancel () {
this.$router.go(-1);
},
onReset () {
this.$refs.formSetRoleUsers.resetFields();
this.refreshFormSysUser(true);
},
loadSysUserData (params) {
params.roleId = this.roleId;
params.sysUserDtoFilter = {

View File

@@ -1,26 +1,27 @@
<template>
<div>
<el-form label-width="75px" size="mini" label-position="right" @submit.native.prevent>
<el-form ref="formSysUser" :model="formSysUser" label-width="75px" :size="defaultFormItemSize" label-position="right" @submit.native.prevent>
<filter-box :item-width="325">
<el-form-item label="用户状态">
<el-form-item label="用户状态" prop="formFilter.sysUserStatus">
<el-select class="filter-item" v-model="formSysUser.formFilter.sysUserStatus" :clearable="true"
placeholder="用户状态" :loading="formSysUser.sysUserStatus.impl.loading"
@visible-change="onSysUserStatusVisibleChange">
<el-option v-for="item in formSysUser.sysUserStatus.impl.dropdownList" :key="item.id" :value="item.id" :label="item.name" />
</el-select>
</el-form-item>
<el-form-item label="用户名">
<el-form-item label="用户名" prop="formFilter.sysUserLoginName">
<el-input class="filter-item" v-model="formSysUser.formFilter.sysUserLoginName"
:clearable="true" placeholder="用户名" />
</el-form-item>
<el-button slot="operator" type="primary" :plain="true" size="mini" @click="refreshFormSysUser(true)">查询</el-button>
<el-button slot="operator" size="mini" type="primary" :plain="false" @click="onSetUser"
<el-button slot="operator" type="default" :plain="true" :size="defaultFormItemSize" @click="onReset">重置</el-button>
<el-button slot="operator" type="primary" :plain="true" :size="defaultFormItemSize" @click="refreshFormSysUser(true)">查询</el-button>
<el-button slot="operator" :size="defaultFormItemSize" type="primary" :plain="false" @click="onSetUser"
:disabled="selectUsers == null || selectUsers.length <= 0">授权人员</el-button>
</filter-box>
</el-form>
<el-row>
<el-col :span="24">
<el-table :data="formSysUser.SysUser.impl.dataList" size="mini" row-key="userId" ref="userTable"
<el-table :data="formSysUser.SysUser.impl.dataList" :size="defaultFormItemSize" row-key="userId" ref="userTable"
header-cell-class-name="table-header-gray" height="395px" @selection-change="onTableSelectionChange">
<el-table-column label="序号" header-align="center" align="center" type="index" width="50px" :index="formSysUser.SysUser.impl.getTableIndex" />
<el-table-column header-align="center" align="center" type="selection" width="50px" :reserve-selection="true" />
@@ -35,7 +36,7 @@
</el-table-column>
<el-table-column label="状态">
<template slot-scope="scope">
<el-tag :type="getUserStatusType(scope.row.userStatus)" size="mini">{{SysUserStatus.getValue(scope.row.userStatus)}}</el-tag>
<el-tag :type="getUserStatusType(scope.row.userStatus)" :size="defaultFormItemSize">{{SysUserStatus.getValue(scope.row.userStatus)}}</el-tag>
</template>
</el-table-column>
</el-table>
@@ -97,6 +98,10 @@ export default {
}
},
methods: {
onReset () {
this.$refs.formSysUser.resetFields();
this.refreshFormSysUser(true);
},
/**
* 用户状态下拉数据获取函数
*/

View File

@@ -3,9 +3,9 @@
<el-tabs v-model="activeFragmentId" :before-leave="onFragmentChange">
<el-tab-pane label="数据权限管理" name="fragmentSysDataPerm" style="width: 100%;"
v-if="checkPermCodeExist('formSysDataPerm:fragmentSysDataPerm')">
<el-form label-width="100px" size="mini" label-position="right" @submit.native.prevent>
<el-form ref="fragmentSysDataPerm" :model="fragmentSysDataPerm" label-width="100px" :size="defaultFormItemSize" label-position="right" @submit.native.prevent>
<filter-box :item-width="350">
<el-form-item label="过滤规则">
<el-form-item label="过滤规则" prop="formFilter.sysDatapermType">
<el-select class="filter-item" v-model="fragmentSysDataPerm.formFilter.sysDatapermType" :clearable="true"
placeholder="过滤规则" :loading="fragmentSysDataPerm.sysDatapermType.impl.loading"
@visible-change="onSysDatapermTypeVisibleChange"
@@ -13,12 +13,13 @@
<el-option v-for="item in fragmentSysDataPerm.sysDatapermType.impl.dropdownList" :key="item.id" :value="item.id" :label="item.name" />
</el-select>
</el-form-item>
<el-form-item label="数据权限名称">
<el-form-item label="数据权限名称" prop="formFilter.sysDataPermName">
<el-input class="filter-item" v-model="fragmentSysDataPerm.formFilter.sysDataPermName"
:clearable="true" placeholder="数据权限名称" />
</el-form-item>
<el-button slot="operator" type="primary" :plain="true" size="mini" @click="refreshFragmentSysDataPerm(true)">查询</el-button>
<el-button slot="operator" type="primary" size="mini" :disabled="!checkPermCodeExist('formSysDataPerm:fragmentSysDataPerm:add')"
<el-button slot="operator" type="default" :plain="true" :size="defaultFormItemSize" @click="onResetDataPerm">重置</el-button>
<el-button slot="operator" type="primary" :plain="true" :size="defaultFormItemSize" @click="refreshFragmentSysDataPerm(true)">查询</el-button>
<el-button slot="operator" type="primary" :size="defaultFormItemSize" :disabled="!checkPermCodeExist('formSysDataPerm:fragmentSysDataPerm:add')"
@click="onAddDataPermClick()">
新建
</el-button>
@@ -26,7 +27,7 @@
</el-form>
<el-row>
<el-col :span="24">
<el-table :data="fragmentSysDataPerm.SysDataPerm.impl.dataList" size="mini" :height="getTableHeight + 'px'"
<el-table :data="fragmentSysDataPerm.SysDataPerm.impl.dataList" :size="defaultFormItemSize" :height="getTableHeight + 'px'"
@sort-change="fragmentSysDataPerm.SysDataPerm.impl.onSortChange"
header-cell-class-name="table-header-gray">
<el-table-column label="序号" header-align="center" align="center" type="index" width="55px"
@@ -42,11 +43,11 @@
</el-table-column>
<el-table-column label="操作" fixed="right">
<template slot-scope="scope">
<el-button @click="onEditDataPermClick(scope.row)" type="text" size="mini"
<el-button @click="onEditDataPermClick(scope.row)" type="text" :size="defaultFormItemSize"
:disabled="!checkPermCodeExist('formSysDataPerm:fragmentSysDataPerm:update')">
编辑
</el-button>
<el-button @click="onDeleteClick(scope.row)" type="text" size="mini"
<el-button @click="onDeleteClick(scope.row)" type="text" :size="defaultFormItemSize"
:disabled="!checkPermCodeExist('formSysDataPerm:fragmentSysDataPerm:delete')">
删除
</el-button>
@@ -71,9 +72,9 @@
</el-tab-pane>
<el-tab-pane label="用户授权" name="fragmentSysDataPermUser" style="width: 100%;"
v-if="checkPermCodeExist('formSysDataPerm:fragmentSysDataPermUser')">
<el-form label-width="75px" size="mini" label-position="right" @submit.native.prevent>
<el-form ref="fragmentSysDataPermUser" :model="fragmentSysDataPermUser" label-width="75px" :size="defaultFormItemSize" label-position="right" @submit.native.prevent>
<filter-box :item-width="350">
<el-form-item label="数据权限">
<el-form-item label="数据权限" prop="formFilter.dataPermId">
<el-select class="filter-item" v-model="fragmentSysDataPermUser.formFilter.dataPermId" clearable
placeholder="数据权限" :loading="fragmentSysDataPermUser.dataPermId.impl.loading"
@visible-change="fragmentSysDataPermUser.dataPermId.impl.onVisibleChange"
@@ -82,14 +83,15 @@
:value="item.dataPermId" :label="item.dataPermName" />
</el-select>
</el-form-item>
<el-form-item label="用户名">
<el-form-item label="用户名" prop="formFilter.searchString">
<el-input class="filter-item" v-model="fragmentSysDataPermUser.formFilter.searchString"
:clearable="true" placeholder="输入用户名 / 昵称查询" @change="refreshFragmentSysDataPermUser(true)" />
</el-form-item>
<el-button slot="operator" type="primary" :plain="true" size="mini" @click="refreshFragmentSysDataPermUser(true)">
<el-button slot="operator" type="default" :plain="true" :size="defaultFormItemSize" @click="onResetDataPermUser">重置</el-button>
<el-button slot="operator" type="primary" :plain="true" :size="defaultFormItemSize" @click="refreshFragmentSysDataPermUser(true)">
查询
</el-button>
<el-button slot="operator" type="primary" size="mini" @click="onAddDataPermUserClick()"
<el-button slot="operator" type="primary" :size="defaultFormItemSize" @click="onAddDataPermUserClick()"
:disabled="!checkPermCodeExist('formSysDataPerm:fragmentSysDataPermUser:addDataPermUser') ||
fragmentSysDataPermUser.formFilter.dataPermId == null || fragmentSysDataPermUser.formFilter.dataPermId === ''">
添加用户
@@ -98,7 +100,7 @@
</el-form>
<el-row>
<el-col :span="24">
<el-table :data="fragmentSysDataPermUser.SysDataPermUserList.impl.dataList" size="mini" :height="getTableHeight + 'px'"
<el-table :data="fragmentSysDataPermUser.SysDataPermUserList.impl.dataList" :size="defaultFormItemSize" :height="getTableHeight + 'px'"
@sort-change="fragmentSysDataPermUser.SysDataPermUserList.impl.onSortChange"
header-cell-class-name="table-header-gray">
<el-table-column label="序号" header-align="center" align="center" type="index" width="55px"
@@ -114,12 +116,12 @@
</el-table-column>
<el-table-column label="状态">
<template slot-scope="scope">
<el-tag :type="getUserStatusType(scope.row.userStatus)" size="mini">{{SysUserStatus.getValue(scope.row.userStatus)}}</el-tag>
<el-tag :type="getUserStatusType(scope.row.userStatus)" :size="defaultFormItemSize">{{SysUserStatus.getValue(scope.row.userStatus)}}</el-tag>
</template>
</el-table-column>
<el-table-column label="操作" fixed="right" width="80px">
<template slot-scope="scope">
<el-button class="btn-table-delete" type="text" size="mini"
<el-button class="btn-table-delete" type="text" :size="defaultFormItemSize"
:disabled="!checkPermCodeExist('formSysDataPerm:fragmentSysDataPermUser:deleteDataPermUser')"
@click="onDeleteRow(scope.row)">移除</el-button>
</template>
@@ -197,6 +199,14 @@ export default {
}
},
methods: {
onResetDataPerm () {
this.$refs.fragmentSysDataPerm.resetFields();
this.refreshFragmentSysDataPerm(true);
},
onResetDataPermUser () {
this.$refs.fragmentSysDataPermUser.resetFields();
this.refreshFragmentSysDataPermUser(true);
},
/**
* 数据权限数据获取函数返回Primise
*/

View File

@@ -1,13 +1,14 @@
<template>
<div>
<el-form label-width="75px" size="mini" label-position="right" @submit.native.prevent>
<el-form ref="formSysDept" :model="formSysDept" label-width="75px" :size="defaultFormItemSize" label-position="right" @submit.native.prevent>
<filter-box :item-width="350">
<el-form-item label="部门名称">
<el-form-item label="部门名称" prop="formFilter.deptName">
<el-input class="filter-item" v-model="formSysDept.formFilter.deptName"
:clearable="true" placeholder="部门名称" />
</el-form-item>
<el-button slot="operator" type="primary" :plain="true" size="mini" @click="refreshFormSysDept(true)">查询</el-button>
<el-button slot="operator" type="primary" size="mini" :disabled="!checkPermCodeExist('formSysDept:fragmentSysDept:add')"
<el-button slot="operator" type="default" :plain="true" :size="defaultFormItemSize" @click="onReset">重置</el-button>
<el-button slot="operator" type="primary" :plain="true" :size="defaultFormItemSize" @click="refreshFormSysDept(true)">查询</el-button>
<el-button slot="operator" type="primary" :size="defaultFormItemSize" :disabled="!checkPermCodeExist('formSysDept:fragmentSysDept:add')"
@click="onCreateSysDeptClick()">
新建
</el-button>
@@ -15,7 +16,7 @@
</el-form>
<el-row>
<el-col :span="24">
<el-table :data="formSysDept.SysDeptList.impl.dataList" size="mini" row-key="deptId"
<el-table :data="formSysDept.SysDeptList.impl.dataList" :size="defaultFormItemSize" row-key="deptId"
header-cell-class-name="table-header-gray">
<el-table-column label="序号" header-align="center" align="center" type="index" width="50px">
</el-table-column>
@@ -23,11 +24,11 @@
</el-table-column>
<el-table-column label="操作" fixed="right" width="150px">
<template slot-scope="scope">
<el-button @click="onEditSysDeptClick(scope.row)" type="text" size="mini"
<el-button @click="onEditSysDeptClick(scope.row)" type="text" :size="defaultFormItemSize"
:disabled="!checkPermCodeExist('formSysDept:fragmentSysDept:update')">
编辑
</el-button>
<el-button @click="onDeleteClick(scope.row)" type="text" size="mini"
<el-button @click="onDeleteClick(scope.row)" type="text" :size="defaultFormItemSize"
:disabled="!checkPermCodeExist('formSysDept:fragmentSysDept:delete')">
删除
</el-button>
@@ -71,6 +72,10 @@ export default {
}
},
methods: {
onReset () {
this.$refs.formSysDept.resetFields();
this.refreshFormSysDept(true);
},
/**
* 部门列表数据获取函数返回Primise
*/

View File

@@ -1,16 +1,17 @@
<template>
<div style="position: relative;">
<el-form label-width="100px" size="mini" label-position="right" @submit.native.prevent>
<el-form ref="formSysLoginUser" :model="formSysLoginUser" label-width="100px" :size="defaultFormItemSize" label-position="right" @submit.native.prevent>
<filter-box :item-width="350">
<el-form-item label="登录名称">
<el-form-item label="登录名称" prop="formFilter.loginName">
<el-input class="filter-item" v-model="formSysLoginUser.formFilter.loginName" :clearable="true" />
</el-form-item>
<el-button slot="operator" type="primary" :plain="true" size="mini" @click="refreshFormOperationType(true)">查询</el-button>
<el-button slot="operator" type="default" :plain="true" :size="defaultFormItemSize" @click="onReset">重置</el-button>
<el-button slot="operator" type="primary" :plain="true" :size="defaultFormItemSize" @click="refreshFormOperationType(true)">查询</el-button>
</filter-box>
</el-form>
<el-row>
<el-col :span="24">
<el-table ref="teacher" :data="formSysLoginUser.loginUser.impl.dataList" size="mini" @sort-change="formSysLoginUser.loginUser.impl.onSortChange"
<el-table ref="teacher" :data="formSysLoginUser.loginUser.impl.dataList" :size="defaultFormItemSize" @sort-change="formSysLoginUser.loginUser.impl.onSortChange"
header-cell-class-name="table-header-gray">
<el-table-column label="序号" header-align="center" align="center" type="index" width="55px" :index="formSysLoginUser.loginUser.impl.getTableIndex" />
<el-table-column label="登录名称" prop="loginName" />
@@ -19,7 +20,7 @@
<el-table-column label="登录时间" prop="loginTime" />
<el-table-column label="操作" fixed="right" width="150px" >
<template slot-scope="scope">
<el-button @click.stop="onDeleteLoginUserClick(scope.row)" type="text" size="mini">
<el-button @click.stop="onDeleteLoginUserClick(scope.row)" type="text" :size="defaultFormItemSize">
强退
</el-button>
</template>
@@ -69,6 +70,10 @@ export default {
}
},
methods: {
onReset () {
this.$refs.formSysLoginUser.resetFields();
this.refreshFormOperationType(true);
},
/**
* 登录用户数据数据获取函数返回Promise
*/

View File

@@ -2,13 +2,13 @@
<div class="tab-dialog-box" style="position: relative;">
<el-tabs v-model="activeFragment">
<el-tab-pane label="栏目管理" name="fragmentSysColumn" style="width: 100%;">
<el-form label-width="100px" size="mini" label-position="right" @submit.native.prevent>
<el-form label-width="100px" :size="defaultFormItemSize" label-position="right" @submit.native.prevent>
<el-row type="flex" justify="end" style="margin-bottom: 18px;">
<el-button type="primary" size="mini" :plain="true"
<el-button type="primary" :size="defaultFormItemSize" :plain="true"
@click="initFormData()">
刷新
</el-button>
<el-button type="primary" size="mini" :disabled="!checkPermCodeExist('formSysMenu:fragmentSysMenu:add')"
<el-button type="primary" :size="defaultFormItemSize" :disabled="!checkPermCodeExist('formSysMenu:fragmentSysMenu:add')"
@click="onCreateSysColumnClick()">
新建
</el-button>
@@ -16,18 +16,18 @@
</el-form>
<el-row>
<el-col :span="24">
<el-table :data="columnList" size="mini" :height="getTabPaneHeight + 'px'"
<el-table :data="columnList" :size="defaultFormItemSize" :height="getTabPaneHeight + 'px'"
header-cell-class-name="table-header-gray" row-key="menuId">
<el-table-column label="序号" header-align="center" align="center" type="index" width="55px" />
<el-table-column label="栏目名称" prop="columnName" />
<el-table-column label="显示顺序" prop="showOrder" />
<el-table-column label="操作" width="200px">
<template slot-scope="scope">
<el-button @click="onEditSysColumnClick(scope.row)" type="text" size="mini"
<el-button @click="onEditSysColumnClick(scope.row)" type="text" :size="defaultFormItemSize"
:disabled="!checkPermCodeExist('formSysMenu:fragmentSysMenu:update')">
编辑
</el-button>
<el-button @click="onDeleteClick(scope.row)" type="text" size="mini"
<el-button @click="onDeleteClick(scope.row)" type="text" :size="defaultFormItemSize"
:disabled="!checkPermCodeExist('formSysMenu:fragmentSysMenu:delete')">
删除
</el-button>
@@ -38,7 +38,7 @@
</el-row>
</el-tab-pane>
<el-tab-pane label="菜单管理" name="fragmentSysMenu" style="width: 100%;">
<el-form label-width="80px" size="mini" label-position="right" @submit.native.prevent>
<el-form label-width="80px" :size="defaultFormItemSize" label-position="right" @submit.native.prevent>
<el-row>
<el-col :span="12">
<el-form-item label="所属栏目" style="flex-grow: 1">
@@ -50,11 +50,11 @@
</el-col>
<el-col :span="12">
<el-row type="flex" justify="end">
<el-button type="primary" size="mini" :plain="true"
<el-button type="primary" :size="defaultFormItemSize" :plain="true"
@click="initFormData(true)">
刷新
</el-button>
<el-button type="primary" size="mini" :disabled="!checkPermCodeExist('formSysMenu:fragmentSysMenu:add')"
<el-button type="primary" :size="defaultFormItemSize" :disabled="!checkPermCodeExist('formSysMenu:fragmentSysMenu:add')"
@click="onCreateSysMenuClick()">
新建
</el-button>
@@ -64,7 +64,7 @@
</el-form>
<el-row>
<el-col :span="24">
<el-table :data="currentMenuTree" size="mini" :height="getTabPaneHeight + 'px'"
<el-table :data="currentMenuTree" :size="defaultFormItemSize" :height="getTabPaneHeight + 'px'"
header-cell-class-name="table-header-gray" row-key="menuId">
<el-table-column label="菜单名称" prop="menuName" width="300px">
</el-table-column>
@@ -77,26 +77,26 @@
</el-table-column>
<el-table-column label="菜单类型" prop="menuType" width="100px">
<template slot-scope="scope">
<el-tag size="mini" :type="getMenuType(scope.row)">{{SysMenuType.getValue(scope.row.menuType)}}</el-tag>
<el-tag :size="defaultFormItemSize" :type="getMenuType(scope.row)">{{SysMenuType.getValue(scope.row.menuType)}}</el-tag>
</template>
</el-table-column>
<el-table-column label="菜单路由" prop="formRouterName" min-width="250px">
</el-table-column>
<el-table-column label="操作" width="200px">
<template slot-scope="scope">
<el-button @click="onEditSysMenuClick(scope.row)" type="text" size="mini"
<el-button @click="onEditSysMenuClick(scope.row)" type="text" :size="defaultFormItemSize"
:disabled="!checkPermCodeExist('formSysMenu:fragmentSysMenu:update')">
编辑
</el-button>
<el-button @click="onAddChildSysMenuClick(scope.row)" type="text" size="mini"
<el-button @click="onAddChildSysMenuClick(scope.row)" type="text" :size="defaultFormItemSize"
:disabled="!checkPermCodeExist('formSysMenu:fragmentSysMenu:add') || scope.row.menuType === SysMenuType.BUTTON">
添加
</el-button>
<el-button @click="onDeleteClick(scope.row)" type="text" size="mini"
<el-button @click="onDeleteClick(scope.row)" type="text" :size="defaultFormItemSize"
:disabled="!checkPermCodeExist('formSysMenu:fragmentSysMenu:delete')">
删除
</el-button>
<el-button @click="onShowPermList(scope.row)" type="text" size="mini"
<el-button @click="onShowPermList(scope.row)" type="text" :size="defaultFormItemSize"
v-if="checkPermCodeExist('formSysMenu:fragmentSysMenu:listSysMenuPermDetail')"
:disabled="scope.row.menuType === SysMenuType.DIRECTORY">
权限详情

View File

@@ -2,18 +2,18 @@
<div class="tab-dialog-box" style="position: relative; margin-top: -15px;">
<el-tabs v-model="activeFragmentId">
<el-tab-pane label="权限资源" name="fragmentSysMenuPerm" style="width: 100%;">
<el-form label-width="100px" size="mini" label-position="left" @submit.native.prevent>
<el-form label-width="100px" :size="defaultFormItemSize" label-position="left" @submit.native.prevent>
<filter-box :item-width="350">
<el-form-item label="URL">
<el-input class="filter-item" v-model="fragmentSysMenuPerm.formFilter.url" clearable
placeholder="" />
</el-form-item>
<el-button slot="operator" type="primary" :plain="true" size="mini" @click="refreshfragmentSysMenuPerm(true)">查询</el-button>
<el-button slot="operator" type="primary" :plain="true" :size="defaultFormItemSize" @click="refreshfragmentSysMenuPerm(true)">查询</el-button>
</filter-box>
</el-form>
<el-row>
<el-col :span="24">
<el-table :data="fragmentSysMenuPerm.SysMenuPerm.impl.dataList" size="mini" :height="getTableHeight + 'px'"
<el-table :data="fragmentSysMenuPerm.SysMenuPerm.impl.dataList" :size="defaultFormItemSize" :height="getTableHeight + 'px'"
@sort-change="fragmentSysMenuPerm.SysMenuPerm.impl.onSortChange"
header-cell-class-name="table-header-gray">
<el-table-column label="序号" header-align="center" align="center" type="index" width="55px"
@@ -22,7 +22,7 @@
</el-table-column>
<el-table-column label="权限字类型" width="100px">
<template slot-scope="scope">
<el-tag size="mini" :type="getPermCodeType(scope.row.permCodeType)">
<el-tag :size="defaultFormItemSize" :type="getPermCodeType(scope.row.permCodeType)">
{{SysPermCodeType.getValue(scope.row.permCodeType)}}
</el-tag>
</template>
@@ -36,18 +36,18 @@
</el-row>
</el-tab-pane>
<el-tab-pane label="用户查询" name="fragmentSysMenuUser" style="width: 100%;">
<el-form label-width="100px" size="mini" label-position="left" @submit.native.prevent>
<el-form label-width="100px" :size="defaultFormItemSize" label-position="left" @submit.native.prevent>
<filter-box :item-width="350">
<el-form-item label="用户名">
<el-input class="filter-item" v-model="fragmentSysMenuUser.formFilter.loginName" clearable
placeholder="" />
</el-form-item>
<el-button slot="operator" type="primary" :plain="true" size="mini" @click="refreshFragmentSysMenuUser(true)">查询</el-button>
<el-button slot="operator" type="primary" :plain="true" :size="defaultFormItemSize" @click="refreshFragmentSysMenuUser(true)">查询</el-button>
</filter-box>
</el-form>
<el-row>
<el-col :span="24">
<el-table :data="fragmentSysMenuUser.SysMenuUser.impl.dataList" size="mini" :height="getTableHeight + 'px'"
<el-table :data="fragmentSysMenuUser.SysMenuUser.impl.dataList" :size="defaultFormItemSize" :height="getTableHeight + 'px'"
@sort-change="fragmentSysMenuUser.SysMenuUser.impl.onSortChange"
header-cell-class-name="table-header-gray">
<el-table-column label="序号" header-align="center" align="center" type="index" width="55px"

View File

@@ -1,12 +1,12 @@
<template>
<div>
<el-form label-width="100px" size="mini" label-position="right" @submit.native.prevent>
<el-form label-width="100px" :size="defaultFormItemSize" label-position="right" @submit.native.prevent>
<filter-box :item-width="350">
<el-button slot="operator" type="primary" size="mini" :plain="true"
<el-button slot="operator" type="primary" :size="defaultFormItemSize" :plain="true"
@click="refreshFormSysMenu(true)">
刷新
</el-button>
<el-button slot="operator" type="primary" size="mini" :disabled="!checkPermCodeExist('formSysMenu:fragmentSysMenu:add')"
<el-button slot="operator" type="primary" :size="defaultFormItemSize" :disabled="!checkPermCodeExist('formSysMenu:fragmentSysMenu:add')"
@click="onCreateSysMenuClick()">
新建
</el-button>
@@ -14,7 +14,7 @@
</el-form>
<el-row>
<el-col :span="24">
<el-table :data="formSysMenu.SysMenu.impl.dataList" size="mini"
<el-table :data="formSysMenu.SysMenu.impl.dataList" :size="defaultFormItemSize"
header-cell-class-name="table-header-gray" row-key="menuId">
<el-table-column label="菜单名称" prop="menuName" width="300px">
</el-table-column>
@@ -27,26 +27,26 @@
</el-table-column>
<el-table-column label="菜单类型" prop="menuType" width="100px">
<template slot-scope="scope">
<el-tag size="mini" :type="getMenuType(scope.row)">{{SysMenuType.getValue(scope.row.menuType)}}</el-tag>
<el-tag :size="defaultFormItemSize" :type="getMenuType(scope.row)">{{SysMenuType.getValue(scope.row.menuType)}}</el-tag>
</template>
</el-table-column>
<el-table-column label="菜单路由" prop="formRouterName" min-width="250px">
</el-table-column>
<el-table-column label="操作" fixed="right" width="200px">
<template slot-scope="scope">
<el-button @click="onEditSysMenuClick(scope.row)" type="text" size="mini"
<el-button @click="onEditSysMenuClick(scope.row)" type="text" :size="defaultFormItemSize"
:disabled="!checkPermCodeExist('formSysMenu:fragmentSysMenu:update')">
编辑
</el-button>
<el-button @click="onAddChildSysMenuClick(scope.row)" type="text" size="mini"
<el-button @click="onAddChildSysMenuClick(scope.row)" type="text" :size="defaultFormItemSize"
:disabled="!checkPermCodeExist('formSysMenu:fragmentSysMenu:add') || scope.row.menuType === SysMenuType.BUTTON">
添加
</el-button>
<el-button @click="onDeleteClick(scope.row)" type="text" size="mini"
<el-button @click="onDeleteClick(scope.row)" type="text" :size="defaultFormItemSize"
:disabled="!checkPermCodeExist('formSysMenu:fragmentSysMenu:delete')">
删除
</el-button>
<el-button @click="onShowPermList(scope.row)" type="text" size="mini"
<el-button @click="onShowPermList(scope.row)" type="text" :size="defaultFormItemSize"
v-if="checkPermCodeExist('formSysMenu:fragmentSysMenu:listSysMenuPermDetail')"
:disabled="scope.row.menuType === SysMenuType.DIRECTORY">
权限详情

View File

@@ -1,40 +1,41 @@
<template>
<div style="position: relative;">
<el-form label-width="100px" size="mini" label-position="right" @submit.native.prevent>
<el-form ref="formSysOperationLog" :model="formSysOperationLog" label-width="100px" :size="defaultFormItemSize" label-position="right" @submit.native.prevent>
<filter-box :item-width="350">
<el-form-item label="操作人员">
<el-form-item label="操作人员" prop="formFilter.operatorName">
<el-input class="filter-item" v-model="formSysOperationLog.formFilter.operatorName" :clearable="true" />
</el-form-item>
<el-form-item label="操作类型">
<el-form-item label="操作类型" prop="formFilter.operationType">
<el-select class="filter-item" v-model="formSysOperationLog.formFilter.operationType" :clearable="true" placeholder=""
filterable :loading="formSysOperationLog.operationType.impl.loading"
@visible-change="formSysOperationLog.operationType.impl.onVisibleChange">
<el-option v-for="item in formSysOperationLog.operationType.impl.dropdownList" :key="item.id" :value="item.id" :label="item.name" />
</el-select>
</el-form-item>
<el-form-item label="操作状态">
<el-form-item label="操作状态" prop="formFilter.success">
<el-select class="filter-item" v-model="formSysOperationLog.formFilter.success" :clearable="true" filterable placeholder="">
<el-option :value="1" label="成功" />
<el-option :value="0" label="失败" />
</el-select>
</el-form-item>
<el-form-item label="Trace Id">
<el-form-item label="Trace Id" prop="formFilter.traceId">
<el-input class="filter-item" v-model="formSysOperationLog.formFilter.traceId" :clearable="true" />
</el-form-item>
<el-form-item label="调用时长">
<el-form-item label="调用时长" prop="formFilter.elapse">
<input-number-range class="filter-item" v-model="formSysOperationLog.formFilter.elapse" :clearable="true" />
</el-form-item>
<el-form-item label="操作日期">
<el-form-item label="操作日期" prop="formFilter.operationTime">
<date-range class="filter-item" v-model="formSysOperationLog.formFilter.operationTime" :clearable="true" :allowTypes="['day']" align="left"
range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期"
format="yyyy-MM-dd" value-format="yyyy-MM-dd hh:mm:ss" />
</el-form-item>
<el-button slot="operator" type="primary" :plain="true" size="mini" @click="refreshFormOperationType(true)">查询</el-button>
<el-button slot="operator" type="default" :plain="true" :size="defaultFormItemSize" @click="onReset">重置</el-button>
<el-button slot="operator" type="primary" :plain="true" :size="defaultFormItemSize" @click="refreshFormOperationType(true)">查询</el-button>
</filter-box>
</el-form>
<el-row>
<el-col :span="24">
<el-table ref="teacher" :data="formSysOperationLog.operationLog.impl.dataList" size="mini" @sort-change="formSysOperationLog.operationLog.impl.onSortChange"
<el-table ref="teacher" :data="formSysOperationLog.operationLog.impl.dataList" :size="defaultFormItemSize" @sort-change="formSysOperationLog.operationLog.impl.onSortChange"
header-cell-class-name="table-header-gray">
<el-table-column label="序号" header-align="center" align="center" type="index" width="55px" :index="formSysOperationLog.operationLog.impl.getTableIndex" />
<el-table-column label="系统模块" prop="serviceName" width="200px" />
@@ -49,7 +50,7 @@
<el-table-column label="调用时长" prop="elapse" width="100px" />
<el-table-column label="操作状态" prop="success" width="100px" >
<template slot-scope="scope">
<el-tag size="mini" v-if="scope.row.success != null"
<el-tag :size="defaultFormItemSize" v-if="scope.row.success != null"
:type="scope.row.success ? 'success' : 'danger'">
{{scope.row.success ? '成功' : '失败'}}
</el-tag>
@@ -58,7 +59,7 @@
<el-table-column label="操作时间" prop="operationTime" width="150px" />
<el-table-column label="操作" fixed="right" width="150px" >
<template slot-scope="scope">
<el-button @click.stop="onFormViewSysOperationLogClick(scope.row)" type="text" size="mini">
<el-button @click.stop="onFormViewSysOperationLogClick(scope.row)" type="text" :size="defaultFormItemSize">
详情
</el-button>
</template>
@@ -122,6 +123,10 @@ export default {
}
},
methods: {
onReset () {
this.$refs.formSysOperationLog.resetFields();
this.refreshFormOperationType(true);
},
/**
* 操作日志数据数据获取函数返回Promise
*/

View File

@@ -2,18 +2,18 @@
<div class="tab-dialog-box" style="position: relative; margin-top: -15px;">
<el-tabs v-model="activeFragmentId">
<el-tab-pane label="用户查询" name="fragmentSysPermUser" style="width: 100%;">
<el-form label-width="100px" size="mini" label-position="left" @submit.native.prevent>
<el-form label-width="100px" :size="defaultFormItemSize" label-position="left" @submit.native.prevent>
<filter-box :item-width="350">
<el-form-item label="用户名">
<el-input class="filter-item" v-model="fragmentSysPermUser.formFilter.loginName" clearable
placeholder="" />
</el-form-item>
<el-button slot="operator" type="primary" :plain="true" size="mini" @click="refreshFragmentSysPermUser(true)">查询</el-button>
<el-button slot="operator" type="primary" :plain="true" :size="defaultFormItemSize" @click="refreshFragmentSysPermUser(true)">查询</el-button>
</filter-box>
</el-form>
<el-row>
<el-col :span="24">
<el-table :data="fragmentSysPermUser.SysUser.impl.dataList" size="mini" :height="getTableHeight + 'px'"
<el-table :data="fragmentSysPermUser.SysUser.impl.dataList" :size="defaultFormItemSize" :height="getTableHeight + 'px'"
@sort-change="fragmentSysPermUser.SysUser.impl.onSortChange"
header-cell-class-name="table-header-gray">
<el-table-column label="序号" header-align="center" align="center" type="index" width="55px"
@@ -27,18 +27,18 @@
</el-row>
</el-tab-pane>
<el-tab-pane label="角色查询" name="fragmentSysPermRole" style="width: 100%;">
<el-form label-width="100px" size="mini" label-position="left" @submit.native.prevent>
<el-form label-width="100px" :size="defaultFormItemSize" label-position="left" @submit.native.prevent>
<filter-box :item-width="350">
<el-form-item label="角色名称">
<el-input class="filter-item" v-model="fragmentSysPermRole.formFilter.roleName" clearable
placeholder="" />
</el-form-item>
<el-button slot="operator" type="primary" :plain="true" size="mini" @click="refreshFragmentSysPermRole(true)">查询</el-button>
<el-button slot="operator" type="primary" :plain="true" :size="defaultFormItemSize" @click="refreshFragmentSysPermRole(true)">查询</el-button>
</filter-box>
</el-form>
<el-row>
<el-col :span="24">
<el-table :data="fragmentSysPermRole.SysRole.impl.dataList" size="mini" :height="getTableHeight + 'px'"
<el-table :data="fragmentSysPermRole.SysRole.impl.dataList" :size="defaultFormItemSize" :height="getTableHeight + 'px'"
@sort-change="fragmentSysPermRole.SysRole.impl.onSortChange"
header-cell-class-name="table-header-gray">
<el-table-column label="序号" header-align="center" align="center" type="index" width="55px"
@@ -50,7 +50,7 @@
</el-table-column>
<el-table-column label="菜单类型" prop="permCodeType">
<template slot-scope="scope">
<el-tag size="mini" :type="getMenuType(scope.row)">{{SysMenuType.getValue(scope.row.menuType)}}</el-tag>
<el-tag :size="defaultFormItemSize" :type="getMenuType(scope.row)">{{SysMenuType.getValue(scope.row.menuType)}}</el-tag>
</template>
</el-table-column>
<el-table-column label="角色名称" prop="roleName" />
@@ -60,18 +60,18 @@
</el-row>
</el-tab-pane>
<el-tab-pane label="菜单查询" name="fragmentSysPermMenu" style="width: 100%;">
<el-form label-width="100px" size="mini" label-position="left" @submit.native.prevent>
<el-form label-width="100px" :size="defaultFormItemSize" label-position="left" @submit.native.prevent>
<filter-box :item-width="350">
<el-form-item label="菜单名称">
<el-input class="filter-item" v-model="fragmentSysPermMenu.formFilter.menuName" clearable
placeholder="" />
</el-form-item>
<el-button slot="operator" type="primary" :plain="true" size="mini" @click="refreshFragmentSysPermMenu(true)">查询</el-button>
<el-button slot="operator" type="primary" :plain="true" :size="defaultFormItemSize" @click="refreshFragmentSysPermMenu(true)">查询</el-button>
</filter-box>
</el-form>
<el-row>
<el-col :span="24">
<el-table :data="fragmentSysPermMenu.SysMenu.impl.dataList" size="mini" :height="getTableHeight + 'px'"
<el-table :data="fragmentSysPermMenu.SysMenu.impl.dataList" :size="defaultFormItemSize" :height="getTableHeight + 'px'"
@sort-change="fragmentSysPermMenu.SysMenu.impl.onSortChange"
header-cell-class-name="table-header-gray">
<el-table-column label="序号" header-align="center" align="center" type="index" width="55px"
@@ -83,7 +83,7 @@
</el-table-column>
<el-table-column label="菜单类型" prop="menuType">
<template slot-scope="scope">
<el-tag size="mini" :type="getMenuType(scope.row)">{{SysMenuType.getValue(scope.row.menuType)}}</el-tag>
<el-tag :size="defaultFormItemSize" :type="getMenuType(scope.row)">{{SysMenuType.getValue(scope.row.menuType)}}</el-tag>
</template>
</el-table-column>
<el-table-column label="权限字" prop="permCode" />

View File

@@ -16,12 +16,12 @@
:highlight-current="true" @node-expand="onModuleNodeExpand" @node-collapse="onModuleNodeCollapse">
<div class="module-node-item" slot-scope="{ data }">
<div class="module-node-menu" :class="{group: data.moduleType === SysPermModuleType.GROUP}" v-if="!data.isAll">
<el-button type="text" size="mini" @click.stop="onEditpermModuleClick(data)" icon="el-icon-edit-outline"
<el-button type="text" :size="defaultFormItemSize" @click.stop="onEditpermModuleClick(data)" icon="el-icon-edit-outline"
:disabled="!checkPermCodeExist('formSysPerm:fragmentSysPerm:updatePermModule')"></el-button>
<el-button type="text" size="mini" v-show="data.moduleType === SysPermModuleType.GROUP"
<el-button type="text" :size="defaultFormItemSize" v-show="data.moduleType === SysPermModuleType.GROUP"
:disabled="!checkPermCodeExist('formSysPerm:fragmentSysPerm:addPermModule')" icon="el-icon-circle-plus-outline"
@click.stop="onAddChildPermModuleClick(data)"></el-button>
<el-button type="text" size="mini" @click.stop="onDeleteModuleClick(data)" icon="el-icon-delete"
<el-button type="text" :size="defaultFormItemSize" @click.stop="onDeleteModuleClick(data)" icon="el-icon-delete"
:disabled="!checkPermCodeExist('formSysPerm:fragmentSysPerm:deletePermModule')"></el-button>
</div>
<div class="module-node-text" :class="{group: data.moduleType === SysPermModuleType.GROUP}">
@@ -33,14 +33,15 @@
</el-card>
</el-aside>
<el-main style="margin-left: 15px; background-color: white; padding: 20px;">
<el-form label-width="75px" size="mini" label-position="right" @submit.native.prevent>
<el-form ref="formPerm" :model="formPerm" label-width="75px" :size="defaultFormItemSize" label-position="right" @submit.native.prevent>
<filter-box :item-width="350">
<el-form-item label="关联URL">
<el-form-item label="关联URL" prop="formFilter.url">
<el-input class="filter-item" placeholder="URL模糊搜索" v-model="formPerm.formFilter.url"
size="mini" clearable />
:size="defaultFormItemSize" clearable />
</el-form-item>
<el-button slot="operator" type="primary" :plain="true" size="mini" @click="refreshFormPerm(true)">查询</el-button>
<el-button slot="operator" type="primary" size="mini" :disabled="!checkPermCodeExist('formSysPerm:fragmentSysPerm:addPerm')"
<el-button slot="operator" type="default" :plain="true" :size="defaultFormItemSize" @click="onReset">重置</el-button>
<el-button slot="operator" type="primary" :plain="true" :size="defaultFormItemSize" @click="refreshFormPerm(true)">查询</el-button>
<el-button slot="operator" type="primary" :size="defaultFormItemSize" :disabled="!checkPermCodeExist('formSysPerm:fragmentSysPerm:addPerm')"
@click="onCreatePermClick()">
新建
</el-button>
@@ -48,7 +49,7 @@
</el-form>
<el-row>
<el-col :span="24">
<el-table :data="formPerm.SysPerm.impl.dataList" size="mini" @sort-change="formPerm.SysPerm.impl.onSortChange"
<el-table :data="formPerm.SysPerm.impl.dataList" :size="defaultFormItemSize" @sort-change="formPerm.SysPerm.impl.onSortChange"
header-cell-class-name="table-header-gray" :height="(getMainContextHeight - 132) + 'px'">
<el-table-column label="序号" header-align="center" align="center" type="index" width="50px" :index="formPerm.SysPerm.impl.getTableIndex" />
<el-table-column label="权限名称" prop="permName" width="150px">
@@ -59,15 +60,15 @@
</el-table-column>
<el-table-column label="操作" fixed="right" width="150px">
<template slot-scope="scope">
<el-button @click="onEditPermModuleClick(scope.row)" type="text" size="mini"
<el-button @click="onEditPermModuleClick(scope.row)" type="text" :size="defaultFormItemSize"
:disabled="!checkPermCodeExist('formSysPerm:fragmentSysPerm:updatePerm')">
编辑
</el-button>
<el-button @click="onDeleteClick(scope.row)" type="text" size="mini"
<el-button @click="onDeleteClick(scope.row)" type="text" :size="defaultFormItemSize"
:disabled="!checkPermCodeExist('formSysPerm:fragmentSysPerm:deletePerm')">
删除
</el-button>
<el-button class="btn-table-primary" type="text" size="mini"
<el-button class="btn-table-primary" type="text" :size="defaultFormItemSize"
v-if="checkPermCodeExist('formSysPerm:fragmentSysPerm:listSysPermPermDetail')"
@click="onSysPermDetailClick(scope.row)">
权限详情
@@ -135,6 +136,10 @@ export default {
}
},
methods: {
onReset () {
this.$refs.formPerm.resetFields();
this.refreshFormPerm(true);
},
/**
* 权限数据获取函数返回Primise
*/

View File

@@ -2,18 +2,18 @@
<div class="tab-dialog-box" style="position: relative; margin-top: -15px;">
<el-tabs v-model="activeFragmentId">
<el-tab-pane label="用户查询" name="fragmentSysPermCodeUser" style="width: 100%;">
<el-form label-width="100px" size="mini" label-position="left" @submit.native.prevent>
<el-form label-width="100px" :size="defaultFormItemSize" label-position="left" @submit.native.prevent>
<filter-box :item-width="350">
<el-form-item label="用户名">
<el-input class="filter-item" v-model="fragmentSysPermCodeUser.formFilter.loginName" clearable
placeholder="" />
</el-form-item>
<el-button slot="operator" type="primary" :plain="true" size="mini" @click="refreshFragmentSysPermCodeUser(true)">查询</el-button>
<el-button slot="operator" type="primary" :plain="true" :size="defaultFormItemSize" @click="refreshFragmentSysPermCodeUser(true)">查询</el-button>
</filter-box>
</el-form>
<el-row>
<el-col :span="24">
<el-table :data="fragmentSysPermCodeUser.SysUser.impl.dataList" size="mini" :height="getTableHeight + 'px'"
<el-table :data="fragmentSysPermCodeUser.SysUser.impl.dataList" :size="defaultFormItemSize" :height="getTableHeight + 'px'"
@sort-change="fragmentSysPermCodeUser.SysUser.impl.onSortChange"
header-cell-class-name="table-header-gray">
<el-table-column label="序号" header-align="center" align="center" type="index" width="55px"
@@ -28,7 +28,7 @@
</el-table-column>
<el-table-column label="菜单类型" prop="permCodeType">
<template slot-scope="scope">
<el-tag size="mini" :type="getMenuType(scope.row)">{{SysMenuType.getValue(scope.row.menuType)}}</el-tag>
<el-tag :size="defaultFormItemSize" :type="getMenuType(scope.row)">{{SysMenuType.getValue(scope.row.menuType)}}</el-tag>
</template>
</el-table-column>
</el-table>
@@ -36,18 +36,18 @@
</el-row>
</el-tab-pane>
<el-tab-pane label="角色查询" name="fragmentSysPermCodeRole" style="width: 100%;">
<el-form label-width="100px" size="mini" label-position="left" @submit.native.prevent>
<el-form label-width="100px" :size="defaultFormItemSize" label-position="left" @submit.native.prevent>
<filter-box :item-width="350">
<el-form-item label="角色名称">
<el-input class="filter-item" v-model="fragmentSysPermCodeRole.formFilter.roleName" clearable
placeholder="" />
</el-form-item>
<el-button slot="operator" type="primary" :plain="true" size="mini" @click="refreshFragmentSysPermCodeRole(true)">查询</el-button>
<el-button slot="operator" type="primary" :plain="true" :size="defaultFormItemSize" @click="refreshFragmentSysPermCodeRole(true)">查询</el-button>
</filter-box>
</el-form>
<el-row>
<el-col :span="24">
<el-table :data="fragmentSysPermCodeRole.SysRole.impl.dataList" size="mini" :height="getTableHeight + 'px'"
<el-table :data="fragmentSysPermCodeRole.SysRole.impl.dataList" :size="defaultFormItemSize" :height="getTableHeight + 'px'"
@sort-change="fragmentSysPermCodeRole.SysRole.impl.onSortChange"
header-cell-class-name="table-header-gray">
<el-table-column label="序号" header-align="center" align="center" type="index" width="55px"
@@ -59,7 +59,7 @@
</el-table-column>
<el-table-column label="菜单类型" prop="permCodeType">
<template slot-scope="scope">
<el-tag size="mini" :type="getMenuType(scope.row)">{{SysMenuType.getValue(scope.row.menuType)}}</el-tag>
<el-tag :size="defaultFormItemSize" :type="getMenuType(scope.row)">{{SysMenuType.getValue(scope.row.menuType)}}</el-tag>
</template>
</el-table-column>
<el-table-column label="角色名称" prop="roleName" />

View File

@@ -1,15 +1,16 @@
<template>
<div>
<el-form label-width="100px" size="mini" label-position="right" @submit.native.prevent>
<el-form ref="formPermCode" :model="formPermCode" label-width="100px" :size="defaultFormItemSize" label-position="right" @submit.native.prevent>
<filter-box :item-width="350">
<el-form-item label="权限字名称">
<el-form-item label="权限字名称" prop="formFilter.showName">
<el-input class="filter-item" v-model="formPermCode.formFilter.showName"
:clearable="true" placeholder="权限字名称" />
</el-form-item>
<el-button slot="operator" type="primary" size="mini" :plain="true" @click="refreshFormPermCode(true)">
<el-button slot="operator" type="default" :plain="true" :size="defaultFormItemSize" @click="onReset">重置</el-button>
<el-button slot="operator" type="primary" :size="defaultFormItemSize" :plain="true" @click="refreshFormPermCode(true)">
查询
</el-button>
<el-button slot="operator" type="primary" size="mini" :disabled="!checkPermCodeExist('formSysPermCode:fragmentSysPermCode:add')"
<el-button slot="operator" type="primary" :size="defaultFormItemSize" :disabled="!checkPermCodeExist('formSysPermCode:fragmentSysPermCode:add')"
@click="onCreatePermCodeClick()">
新建
</el-button>
@@ -17,13 +18,13 @@
</el-form>
<el-row>
<el-col :span="24">
<el-table :data="getPermCodeList" size="mini" @sort-change="formPermCode.SysPermCode.impl.onSortChange"
<el-table :data="getPermCodeList" :size="defaultFormItemSize" @sort-change="formPermCode.SysPermCode.impl.onSortChange"
row-key="permCodeId" header-cell-class-name="table-header-gray">
<el-table-column label="权限字名称" prop="showName" width="250px">
</el-table-column>
<el-table-column label="权限字类型" prop="permCodeType" width="150px">
<template slot-scope="scope">
<el-tag size="mini" :type="getPermCodeType(scope.row.permCodeType)">{{SysPermCodeType.getValue(scope.row.permCodeType)}}</el-tag>
<el-tag :size="defaultFormItemSize" :type="getPermCodeType(scope.row.permCodeType)">{{SysPermCodeType.getValue(scope.row.permCodeType)}}</el-tag>
</template>
</el-table-column>
<el-table-column label="显示顺序" prop="showOrder" width="100px">
@@ -32,19 +33,19 @@
</el-table-column>
<el-table-column label="操作" fixed="right" width="200px">
<template slot-scope="scope">
<el-button @click="onEditPermCodeClick(scope.row)" type="text" size="mini"
<el-button @click="onEditPermCodeClick(scope.row)" type="text" :size="defaultFormItemSize"
:disabled="!checkPermCodeExist('formSysPermCode:fragmentSysPermCode:update')">
编辑
</el-button>
<el-button @click="onAddChildPermCodeClick(scope.row)" type="text" size="mini"
<el-button @click="onAddChildPermCodeClick(scope.row)" type="text" :size="defaultFormItemSize"
:disabled="scope.row.permCodeType === 2 || !checkPermCodeExist('formSysPermCode:fragmentSysPermCode:add')">
添加
</el-button>
<el-button @click="onDeleteClick(scope.row)" type="text" size="mini"
<el-button @click="onDeleteClick(scope.row)" type="text" :size="defaultFormItemSize"
:disabled="!checkPermCodeExist('formSysPermCode:fragmentSysPermCode:delete')">
删除
</el-button>
<el-button class="btn-table-primary" type="text" size="mini"
<el-button class="btn-table-primary" type="text" :size="defaultFormItemSize"
v-if="checkPermCodeExist('formSysPermCode:fragmentSysPermCode:listSysPermCodePermDetail')"
@click="onSysPermCodeDetailClick(scope.row)">
权限详情
@@ -96,6 +97,10 @@ export default {
}
},
methods: {
onReset () {
this.$refs.formPermCode.resetFields();
this.refreshFormPermCode(true);
},
getPermCodeType (permCodeType) {
switch (permCodeType) {
case this.SysPermCodeType.FORM: return 'primary';

View File

@@ -1,19 +1,20 @@
<template>
<div class="tab-dialog-box" style="position: relative; margin-top: -15px;">
<el-tabs v-model="activeFragmentId">
<el-tab-pane label="权限资源" name="fragmentSysRolePerm" style="width: 100%;">
<el-form label-width="100px" size="mini" label-position="left" @submit.native.prevent>
<el-tab-pane ref="fragmentSysRolePerm" :model="fragmentSysRolePerm" label="权限资源" name="fragmentSysRolePerm" style="width: 100%;">
<el-form label-width="100px" :size="defaultFormItemSize" label-position="left" @submit.native.prevent>
<filter-box :item-width="350">
<el-form-item label="URL">
<el-input class="filter-item" v-model="fragmentSysRolePerm.formFilter.url" clearable
placeholder="" />
</el-form-item>
<el-button slot="operator" type="primary" :plain="true" size="mini" @click="refreshfragmentSysRolePerm(true)">查询</el-button>
<el-button slot="operator" type="default" :plain="true" :size="defaultFormItemSize" @click="onResetPerm">重置</el-button>
<el-button slot="operator" type="primary" :plain="true" :size="defaultFormItemSize" @click="refreshfragmentSysRolePerm(true)">查询</el-button>
</filter-box>
</el-form>
<el-row>
<el-col :span="24">
<el-table :data="fragmentSysRolePerm.SysRolePerm.impl.dataList" size="mini" :height="getTableHeight + 'px'"
<el-table :data="fragmentSysRolePerm.SysRolePerm.impl.dataList" :size="defaultFormItemSize" :height="getTableHeight + 'px'"
@sort-change="fragmentSysRolePerm.SysRolePerm.impl.onSortChange"
header-cell-class-name="table-header-gray">
<el-table-column label="序号" header-align="center" align="center" type="index" width="55px"
@@ -30,18 +31,19 @@
</el-row>
</el-tab-pane>
<el-tab-pane label="权限字" name="fragmentSysRolePermCode" style="width: 100%;">
<el-form label-width="100px" size="mini" label-position="left" @submit.native.prevent>
<el-form ref="fragmentSysRolePermCode" :model="fragmentSysRolePermCode" label-width="100px" :size="defaultFormItemSize" label-position="left" @submit.native.prevent>
<filter-box :item-width="350">
<el-form-item label="权限字">
<el-form-item label="权限字" prop="formFilter.permCode">
<el-input class="filter-item" v-model="fragmentSysRolePermCode.formFilter.permCode" clearable
placeholder="" />
</el-form-item>
<el-button slot="operator" type="primary" :plain="true" size="mini" @click="refreshfragmentSysRolePermCode(true)">查询</el-button>
<el-button slot="operator" type="default" :plain="true" :size="defaultFormItemSize" @click="onResetPermCode">重置</el-button>
<el-button slot="operator" type="primary" :plain="true" :size="defaultFormItemSize" @click="refreshfragmentSysRolePermCode(true)">查询</el-button>
</filter-box>
</el-form>
<el-row>
<el-col :span="24">
<el-table :data="fragmentSysRolePermCode.SysRolePermCode.impl.dataList" size="mini" :height="getTableHeight + 'px'"
<el-table :data="fragmentSysRolePermCode.SysRolePermCode.impl.dataList" :size="defaultFormItemSize" :height="getTableHeight + 'px'"
@sort-change="fragmentSysRolePermCode.SysRolePermCode.impl.onSortChange"
header-cell-class-name="table-header-gray">
<el-table-column label="序号" header-align="center" align="center" type="index" width="55px"
@@ -54,7 +56,7 @@
<el-table-column label="权限字" prop="permCode" />
<el-table-column label="权限字类型" prop="permCodeType">
<template slot-scope="scope">
<el-tag size="mini" :type="getPermCodeType(scope.row.permCodeType)">{{SysPermCodeType.getValue(scope.row.permCodeType)}}</el-tag>
<el-tag :size="defaultFormItemSize" :type="getPermCodeType(scope.row.permCodeType)">{{SysPermCodeType.getValue(scope.row.permCodeType)}}</el-tag>
</template>
</el-table-column>
</el-table>
@@ -109,6 +111,14 @@ export default {
}
},
methods: {
onResetPerm () {
this.$refs.fragmentSysRolePerm.resetFields();
this.refreshfragmentSysRolePerm(true);
},
onResetPermCode () {
this.$refs.fragmentSysRolePermCode.resetFields();
this.refreshfragmentSysRolePermCode(true);
},
getMenuType (row) {
if (row.menuType === 0) {
return 'primary'

View File

@@ -3,14 +3,15 @@
<el-tabs v-model="activeFragmentId" :before-leave="onFragmentChange">
<el-tab-pane label="角色管理" name="fragmentSysRole" style="width: 100%;"
v-if="checkPermCodeExist('formSysRole:fragmentSysRole')">
<el-form label-width="75px" size="mini" label-position="right" @submit.native.prevent>
<el-form ref="fragmentSysRole" :model="fragmentSysRole" label-width="75px" :size="defaultFormItemSize" label-position="right" @submit.native.prevent>
<filter-box :item-width="350">
<el-form-item label="角色名称">
<el-form-item label="角色名称" prop="formFilter.sysRoleName">
<el-input class="filter-item" v-model="fragmentSysRole.formFilter.sysRoleName"
:clearable="true" placeholder="角色名称" />
</el-form-item>
<el-button slot="operator" type="primary" :plain="true" size="mini" @click="refreshFragmentSysRole(true)">查询</el-button>
<el-button slot="operator" type="primary" size="mini" :disabled="!checkPermCodeExist('formSysRole:fragmentSysRole:add')"
<el-button slot="operator" type="default" :plain="true" :size="defaultFormItemSize" @click="onResetRole">重置</el-button>
<el-button slot="operator" type="primary" :plain="true" :size="defaultFormItemSize" @click="refreshFragmentSysRole(true)">查询</el-button>
<el-button slot="operator" type="primary" :size="defaultFormItemSize" :disabled="!checkPermCodeExist('formSysRole:fragmentSysRole:add')"
@click="onAddSysRoleClick()">
新建
</el-button>
@@ -18,7 +19,7 @@
</el-form>
<el-row>
<el-col :span="24">
<el-table :data="fragmentSysRole.SysRole.impl.dataList" size="mini" :height="getTableHeight + 'px'"
<el-table :data="fragmentSysRole.SysRole.impl.dataList" :size="defaultFormItemSize" :height="getTableHeight + 'px'"
@sort-change="fragmentSysRole.SysRole.impl.onSortChange"
header-cell-class-name="table-header-gray">
<el-table-column label="序号" header-align="center" align="center" type="index" width="50px"
@@ -27,15 +28,15 @@
</el-table-column>
<el-table-column label="操作" fixed="right" width="150px">
<template slot-scope="scope">
<el-button @click="onEditSysRoleClick(scope.row)" type="text" size="mini"
<el-button @click="onEditSysRoleClick(scope.row)" type="text" :size="defaultFormItemSize"
:disabled="!checkPermCodeExist('formSysRole:fragmentSysRole:update')">
编辑
</el-button>
<el-button @click="onDeleteClick(scope.row)" type="text" size="mini"
<el-button @click="onDeleteClick(scope.row)" type="text" :size="defaultFormItemSize"
:disabled="!checkPermCodeExist('formSysRole:fragmentSysRole:delete')">
删除
</el-button>
<el-button class="btn-table-primary" type="text" size="mini"
<el-button class="btn-table-primary" type="text" :size="defaultFormItemSize"
v-if="checkPermCodeExist('formSysRole:fragmentSysRole:listSysRolePermDetail')"
@click="onSysRolePermClick(scope.row)">
权限详情
@@ -61,7 +62,7 @@
</el-tab-pane>
<el-tab-pane label="用户授权" name="fragmentSysRoleUser" style="width: 100%;"
v-if="checkPermCodeExist('formSysRole:fragmentSysRoleUser')">
<el-form label-width="75px" size="mini" label-position="right" @submit.native.prevent>
<el-form ref="fragmentSysRoleUser" :model="fragmentSysRoleUser" label-width="75px" :size="defaultFormItemSize" label-position="right" @submit.native.prevent>
<filter-box :item-width="350">
<el-form-item label="用户角色">
<el-select class="filter-item" v-model="fragmentSysRoleUser.formFilter.sysRoleId" clearable
@@ -71,14 +72,15 @@
<el-option v-for="item in fragmentSysRoleUser.sysRole.impl.dropdownList" :key="item.roleId" :value="item.roleId" :label="item.roleName" />
</el-select>
</el-form-item>
<el-form-item label="用户名">
<el-form-item label="用户名" prop="formFilter.sysUserLoginName">
<el-input class="filter-item" v-model="fragmentSysRoleUser.formFilter.sysUserLoginName"
:clearable="true" placeholder="输入用户名 / 昵称查询" @change="refreshFragmentSysRoleUser(true)" />
</el-form-item>
<el-button slot="operator" type="primary" :plain="true" size="mini" @click="refreshFragmentSysRoleUser(true)">
<el-button slot="operator" type="default" :plain="true" :size="defaultFormItemSize" @click="onResetRoleUser">重置</el-button>
<el-button slot="operator" type="primary" :plain="true" :size="defaultFormItemSize" @click="refreshFragmentSysRoleUser(true)">
查询
</el-button>
<el-button slot="operator" type="primary" size="mini" @click="onAddRow()"
<el-button slot="operator" type="primary" :size="defaultFormItemSize" @click="onAddRow()"
:disabled="!checkPermCodeExist('formSysRole:fragmentSysRoleUser:addUserRole') ||
fragmentSysRoleUser.formFilter.sysRoleId == null || fragmentSysRoleUser.formFilter.sysRoleId === ''">
添加用户
@@ -87,7 +89,7 @@
</el-form>
<el-row>
<el-col :span="24">
<el-table :data="fragmentSysRoleUser.SysUser.impl.dataList" size="mini" :height="getTableHeight + 'px'"
<el-table :data="fragmentSysRoleUser.SysUser.impl.dataList" :size="defaultFormItemSize" :height="getTableHeight + 'px'"
@sort-change="fragmentSysRoleUser.SysUser.impl.onSortChange"
header-cell-class-name="table-header-gray">
<el-table-column label="序号" header-align="center" align="center" type="index" width="50px" :index="fragmentSysRoleUser.SysUser.impl.getTableIndex" />
@@ -102,12 +104,12 @@
</el-table-column>
<el-table-column label="状态">
<template slot-scope="scope">
<el-tag :type="getUserStatusType(scope.row.userStatus)" size="mini">{{SysUserStatus.getValue(scope.row.userStatus)}}</el-tag>
<el-tag :type="getUserStatusType(scope.row.userStatus)" :size="defaultFormItemSize">{{SysUserStatus.getValue(scope.row.userStatus)}}</el-tag>
</template>
</el-table-column>
<el-table-column label="操作" fixed="right" width="80px">
<template slot-scope="scope">
<el-button class="btn-table-delete" type="text" size="mini"
<el-button class="btn-table-delete" type="text" :size="defaultFormItemSize"
:disabled="!checkPermCodeExist('formSysRole:fragmentSysRoleUser:deleteUserRole')"
@click="onDeleteRow(scope.row)">
移除
@@ -183,6 +185,14 @@ export default {
}
},
methods: {
onResetRole () {
this.$refs.fragmentSysRole.resetFields();
this.refreshFragmentSysRole(true);
},
onResetRoleUser () {
this.$refs.fragmentSysRoleUser.resetFields();
this.refreshFragmentSysRoleUser(true);
},
/**
* 用户角色数据获取函数返回Primise
*/

View File

@@ -2,18 +2,18 @@
<div class="tab-dialog-box" style="position: relative; margin-top: -15px;">
<el-tabs v-model="activeFragmentId">
<el-tab-pane label="权限资源" name="fragmentSysUserPerm" style="width: 100%;">
<el-form label-width="100px" size="mini" label-position="left" @submit.native.prevent>
<el-form label-width="100px" :size="defaultFormItemSize" label-position="left" @submit.native.prevent>
<filter-box :item-width="350">
<el-form-item label="URL">
<el-input class="filter-item" v-model="fragmentSysUserPerm.formFilter.url" clearable
placeholder="" />
</el-form-item>
<el-button slot="operator" type="primary" :plain="true" size="mini" @click="refreshFragmentSysUserPerm(true)">查询</el-button>
<el-button slot="operator" type="primary" :plain="true" :size="defaultFormItemSize" @click="refreshFragmentSysUserPerm(true)">查询</el-button>
</filter-box>
</el-form>
<el-row>
<el-col :span="24">
<el-table :data="fragmentSysUserPerm.SysUserPerm.impl.dataList" size="mini" :height="getTableHeight + 'px'"
<el-table :data="fragmentSysUserPerm.SysUserPerm.impl.dataList" :size="defaultFormItemSize" :height="getTableHeight + 'px'"
@sort-change="fragmentSysUserPerm.SysUserPerm.impl.onSortChange"
header-cell-class-name="table-header-gray">
<el-table-column label="序号" header-align="center" align="center" type="index" width="55px"
@@ -31,18 +31,18 @@
</el-row>
</el-tab-pane>
<el-tab-pane label="权限字" name="fragmentSysUserPermCode" style="width: 100%;">
<el-form label-width="100px" size="mini" label-position="left" @submit.native.prevent>
<el-form label-width="100px" :size="defaultFormItemSize" label-position="left" @submit.native.prevent>
<filter-box :item-width="350">
<el-form-item label="权限字">
<el-input class="filter-item" v-model="fragmentSysUserPermCode.formFilter.permCode" clearable
placeholder="" />
</el-form-item>
<el-button slot="operator" type="primary" :plain="true" size="mini" @click="refreshFragmentSysUserPermCode(true)">查询</el-button>
<el-button slot="operator" type="primary" :plain="true" :size="defaultFormItemSize" @click="refreshFragmentSysUserPermCode(true)">查询</el-button>
</filter-box>
</el-form>
<el-row>
<el-col :span="24">
<el-table :data="fragmentSysUserPermCode.SysUserPermCode.impl.dataList" size="mini" :height="getTableHeight + 'px'"
<el-table :data="fragmentSysUserPermCode.SysUserPermCode.impl.dataList" :size="defaultFormItemSize" :height="getTableHeight + 'px'"
@sort-change="fragmentSysUserPermCode.SysUserPermCode.impl.onSortChange"
header-cell-class-name="table-header-gray">
<el-table-column label="序号" header-align="center" align="center" type="index" width="55px"
@@ -56,7 +56,7 @@
<el-table-column label="权限字" prop="permCode" />
<el-table-column label="权限字类型" prop="permCodeType">
<template slot-scope="scope">
<el-tag size="mini" :type="getPermCodeType(scope.row.permCodeType)">{{SysPermCodeType.getValue(scope.row.permCodeType)}}</el-tag>
<el-tag :size="defaultFormItemSize" :type="getPermCodeType(scope.row.permCodeType)">{{SysPermCodeType.getValue(scope.row.permCodeType)}}</el-tag>
</template>
</el-table-column>
</el-table>
@@ -64,18 +64,18 @@
</el-row>
</el-tab-pane>
<el-tab-pane label="菜单权限" name="fragmentSysUserMenu" style="width: 100%;">
<el-form label-width="100px" size="mini" label-position="left" @submit.native.prevent>
<el-form label-width="100px" :size="defaultFormItemSize" label-position="left" @submit.native.prevent>
<filter-box :item-width="350">
<el-form-item label="菜单名称">
<el-input class="filter-item" v-model="fragmentSysUserMenu.formFilter.menuName" clearable
placeholder="" />
</el-form-item>
<el-button slot="operator" type="primary" :plain="true" size="mini" @click="refreshFragmentSysUserMenu(true)">查询</el-button>
<el-button slot="operator" type="primary" :plain="true" :size="defaultFormItemSize" @click="refreshFragmentSysUserMenu(true)">查询</el-button>
</filter-box>
</el-form>
<el-row>
<el-col :span="24">
<el-table :data="fragmentSysUserMenu.SysUserMenu.impl.dataList" size="mini" :height="getTableHeight + 'px'"
<el-table :data="fragmentSysUserMenu.SysUserMenu.impl.dataList" :size="defaultFormItemSize" :height="getTableHeight + 'px'"
@sort-change="fragmentSysUserMenu.SysUserMenu.impl.onSortChange"
header-cell-class-name="table-header-gray">
<el-table-column label="序号" header-align="center" align="center" type="index" width="55px"
@@ -88,7 +88,7 @@
</el-table-column>
<el-table-column label="菜单类型" prop="menuType">
<template slot-scope="scope">
<el-tag size="mini" :type="getMenuType(scope.row)">{{SysMenuType.getValue(scope.row.menuType)}}</el-tag>
<el-tag :size="defaultFormItemSize" :type="getMenuType(scope.row)">{{SysMenuType.getValue(scope.row.menuType)}}</el-tag>
</template>
</el-table-column>
</el-table>

View File

@@ -1,8 +1,8 @@
<template>
<div>
<el-form label-width="75px" size="mini" label-position="right" @submit.native.prevent>
<el-form ref="formSysUser" :model="formSysUser" label-width="75px" :size="defaultFormItemSize" label-position="right" @submit.native.prevent>
<filter-box :item-width="350">
<el-form-item label="用户状态">
<el-form-item label="用户状态" prop="formFilter.sysUserStatus">
<el-select class="filter-item" v-model="formSysUser.formFilter.sysUserStatus" :clearable="true"
placeholder="用户状态" :loading="formSysUser.sysUserStatus.impl.loading"
@visible-change="formSysUser.sysUserStatus.impl.onVisibleChange"
@@ -10,12 +10,13 @@
<el-option v-for="item in formSysUser.sysUserStatus.impl.dropdownList" :key="item.id" :value="item.id" :label="item.name" />
</el-select>
</el-form-item>
<el-form-item label="登录名称">
<el-form-item label="登录名称" prop="formFilter.sysUserLoginName">
<el-input class="filter-item" v-model="formSysUser.formFilter.sysUserLoginName"
:clearable="true" placeholder="登录名称" />
</el-form-item>
<el-button slot="operator" type="primary" :plain="true" size="mini" @click="refreshFormSysUser(true)">查询</el-button>
<el-button slot="operator" type="primary" size="mini" :disabled="!checkPermCodeExist('formSysUser:fragmentSysUser:add')"
<el-button slot="operator" type="default" :plain="true" :size="defaultFormItemSize" @click="onReset">重置</el-button>
<el-button slot="operator" type="primary" :plain="true" :size="defaultFormItemSize" @click="refreshFormSysUser(true)">查询</el-button>
<el-button slot="operator" type="primary" :size="defaultFormItemSize" :disabled="!checkPermCodeExist('formSysUser:fragmentSysUser:add')"
@click="onAddRow()">
新建
</el-button>
@@ -23,7 +24,7 @@
</el-form>
<el-row>
<el-col :span="24">
<el-table :data="formSysUser.SysUser.impl.dataList" size="mini" @sort-change="formSysUser.SysUser.impl.onSortChange"
<el-table :data="formSysUser.SysUser.impl.dataList" :size="defaultFormItemSize" @sort-change="formSysUser.SysUser.impl.onSortChange"
header-cell-class-name="table-header-gray">
<el-table-column label="序号" header-align="center" align="center" type="index" width="50px" :index="formSysUser.SysUser.impl.getTableIndex" />
<el-table-column label="用户名" prop="loginName" sortable="custom">
@@ -33,7 +34,7 @@
<el-table-column label="账号类型" prop="userTypeDictMap.name" />
<el-table-column label="状态">
<template slot-scope="scope">
<el-tag :type="getUserStatusType(scope.row.userStatus)" size="mini">{{SysUserStatus.getValue(scope.row.userStatus)}}</el-tag>
<el-tag :type="getUserStatusType(scope.row.userStatus)" :size="defaultFormItemSize">{{SysUserStatus.getValue(scope.row.userStatus)}}</el-tag>
</template>
</el-table-column>
<el-table-column label="创建时间">
@@ -43,22 +44,22 @@
</el-table-column>
<el-table-column label="操作" fixed="right" width="220px">
<template slot-scope="scope">
<el-button class="btn-table-edit" type="text" size="mini" @click="onEditRow(scope.row)"
<el-button class="btn-table-edit" type="text" :size="defaultFormItemSize" @click="onEditRow(scope.row)"
:disabled="isAdmin(scope.row) || !checkPermCodeExist('formSysUser:fragmentSysUser:update')"
>
编辑
</el-button>
<el-button class="btn-table-delete" type="text" size="mini" @click="onDeleteRow(scope.row)"
<el-button class="btn-table-delete" type="text" :size="defaultFormItemSize" @click="onDeleteRow(scope.row)"
:disabled="isAdmin(scope.row) || !checkPermCodeExist('formSysUser:fragmentSysUser:delete')"
>
删除
</el-button>
<el-button class="btn-table-delete" type="text" size="mini" @click="onResetPassword(scope.row)"
<el-button class="btn-table-delete" type="text" :size="defaultFormItemSize" @click="onResetPassword(scope.row)"
:disabled="!checkPermCodeExist('formSysUser:fragmentSysUser:resetPassword')"
>
重置密码
</el-button>
<el-button class="btn-table-primary" type="text" size="mini"
<el-button class="btn-table-primary" type="text" :size="defaultFormItemSize"
v-if="checkPermCodeExist('formSysUser:fragmentSysUser:listSysUserPermDetail')"
@click="onSysUserPermClick(scope.row)">
权限详情
@@ -121,6 +122,10 @@ export default {
}
},
methods: {
onReset () {
this.$refs.formSysUser.resetFields();
this.refreshFormSysUser(true);
},
isAdmin (row) {
return (row.userType === this.SysUserType.ADMIN);
},

View File

@@ -1,7 +1,7 @@
<template>
<div class="form-single-fragment" style="position: relative;">
<el-form ref="formViewOperationLog" :model="formData" class="full-width-input" style="width: 100%;"
label-width="100px" size="mini" label-position="right" @submit.native.prevent>
label-width="100px" :size="defaultFormItemSize" label-position="right" @submit.native.prevent>
<el-row :gutter="20">
<el-col :span="24">
<el-form-item label="操作模块:">
@@ -16,7 +16,7 @@
<el-col :span="24">
<el-form-item label="请求地址:">
<span class="input-item">{{formData.formViewSysOperationLog.requestUrl}}</span>
<el-tag size="mini" style="margin-left: 10px"
<el-tag :size="defaultFormItemSize" style="margin-left: 10px"
:type="formData.formViewSysOperationLog.requestMethod === 'GET' ? 'success' : 'primary'">
{{formData.formViewSysOperationLog.requestMethod}}
</el-tag>

View File

@@ -1,7 +1,7 @@
<template>
<div>
<div class="title">
<p>浏览完每个功能过后自然会发现些与众不同然而这一切都<span> 橙单 </span>生成</p>
<p>无论是专业版还是企业版的脚手架我们全部开源免费这一切都<span> 橙单 </span>为您生成</p>
</div>
<el-row type="flex">
<div style="width: 100%;">
@@ -10,37 +10,37 @@
<el-collapse-item title="选择我们的 5 个理由" name="1">
<ul class="item-list">
<li>是真正的生成器而非脚手架</li>
<li>技术选型包名作者署名都由您钦定</li>
<li>手把手教的操作指南和教学视频</li>
<li>可生成卓越的架构和高质量的代码</li>
<li>生成后工程代码完全可读包名和作者署名都由您钦定</li>
<li>授权极为宽松生成后代码版权完全归属于您</li>
<li>详尽完善免费护眼的开发文档</li>
<li>全网超合理超低价商业授权就是撸顿串的价格</li>
</ul>
</el-collapse-item>
<el-collapse-item title="我们的技术选型" name="2">
<ul class="item-list">
<li>Element (Vue) / Ant Design (React) / ECharts / AntV / Axios / Webpack</li>
<li>Spring Boot / Spring Cloud / Spring Cloud Alibaba + Mybatis + Jwt</li>
<li>Hutool + Guava + Caffeine + Lombok + MapStruct + 通用 Mapper</li>
<li>Redis + Zookeeper + Nacos + Consul + Apollo + XXL-Job + Kafka + Seata</li>
<li>Hutool + Guava + Caffeine + Lombok + MapStruct + Flowable + Activiti</li>
<li>Redis + Zookeeper + Nacos + Consul + XXL-Job + Quartz + Kafka + RocketMQ + Seata</li>
<li>ELK + PinPoint / SkyWalking + Grafana + Prometheus</li>
</ul>
</el-collapse-item>
<el-collapse-item title="可快速上手的高质量代码" name="3">
<ul class="item-list">
<li>无任何二次封装只生成您最懂的代码</li>
<li>遵循阿里巴巴标准的代码规范</li>
<li>主流技术栈恣意组合对面试大有裨益</li>
<li>产品级代码强度层次清晰滴水不漏</li>
<li>15年架构师优化的每一处细节</li>
<li>完整的工作流支持</li>
<li>完整的在线表单支持</li>
<li>完整的静态表单支持</li>
<li>完整的多关联数据组装支持</li>
<li>完整的中台化核心组件支持</li>
</ul>
</el-collapse-item>
<el-collapse-item title="设计理念和未来目标" name="4">
<ul class="item-list">
<li>全面实用的日志跟踪和服务监控体系</li>
<li>全面且实用的日志跟踪链路跟踪和服务监控体系</li>
<li>前沿的单表组合式设计使系统拆分SO EASY</li>
<li>先代码后SQL的原则让服务扩充更具弹性</li>
<li>统一的数据组装接口更高效的满足微服务的拆分与再合并</li>
<li>拥抱云原生架构更多可落地的实用功能正在开发之中</li>
<li>支持实时与离线的数据同步更好的拥抱云原生架构</li>
</ul>
</el-collapse-item>
</el-collapse>
@@ -62,6 +62,11 @@
<a href="https://www.bilibili.com/video/BV1Wg4y1i7vP" target="_blank">https://www.bilibili.com/video/BV1Wg4y1i7vP</a>
</div>
<el-divider></el-divider>
<div class="item">
<span style="width: 120px;">更多演示</span>
<a href="http://demo.orangeforms.com/" target="_blank">http://demo.orangeforms.com/</a>
</div>
<el-divider></el-divider>
<div class="item">
<span style="width: 120px;">操作指南</span>
<a href="http://www.orangeforms.com/orange-doc/" target="_blank">http://www.orangeforms.com/orange-doc/</a>
@@ -82,14 +87,14 @@
<span>
QQ群
<a target="_blank" style="margin-left: 5px;"
href="//shang.qq.com/wpa/qunwpa?idkey=590857a1b4c587e2be3d66b9a7e2015109772e777c6451c897dee393489b1661">
788581363
href="https://qm.qq.com/cgi-bin/qm/qr?k=cMMom9SdX1j57T_58WihLZ4TBrBpokrv&jump_from=webapi">
883176267
</a>
</span>
</div>
<el-divider></el-divider>
<div style="width: 100%; text-align: center; padding: 10px;">
<img src="../../assets/img/orange-group1.png" />
<img src="../../assets/img/orange-group2.png" />
</div>
</el-card>
</el-row>