Commit c982f61b authored by longchaozhong's avatar longchaozhong

feat: 替换为学文内容

parent df500019
@echo off
echo.
echo [信息] 打包Web工程,生成dist文件。
echo [��Ϣ] ���Web���̣�����dist�ļ���
echo.
%~d0
......
const { run } = require('runjs')
const chalk = require('chalk')
const config = require('../vue.config.js')
const rawArgv = process.argv.slice(2)
const args = rawArgv.join(' ')
if (process.env.npm_config_preview || rawArgv.includes('--preview')) {
const report = rawArgv.includes('--report')
run(`vue-cli-service build ${args}`)
const port = 9526
const publicPath = config.publicPath
var connect = require('connect')
var serveStatic = require('serve-static')
const app = connect()
app.use(
publicPath,
serveStatic('./dist', {
index: ['index.html', '/']
})
)
app.listen(port, function () {
console.log(chalk.green(`> Preview at http://localhost:${port}${publicPath}`))
if (report) {
console.log(chalk.green(`> Report at http://localhost:${port}${publicPath}report.html`))
}
})
} else {
run(`vue-cli-service build ${args}`)
}
This diff is collapsed.
{
"name": "ruoyi",
"version": "3.8.6",
"description": "若依管理系统",
"version": "3.8.5",
"description": "高等学校实验室信息统计系统",
"author": "若依",
"license": "MIT",
"scripts": {
......@@ -41,7 +41,7 @@
"clipboard": "2.0.8",
"core-js": "3.25.3",
"echarts": "5.4.0",
"element-ui": "2.15.13",
"element-ui": "2.15.12",
"file-saver": "2.0.5",
"fuse.js": "6.4.3",
"highlight.js": "9.18.5",
......
......@@ -5,7 +5,7 @@
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="renderer" content="webkit">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
<link rel="icon" href="<%= BASE_URL %>favicon.ico">
<link rel="icon" type="image/png" href="<%= BASE_URL %>favicon.png">
<title><%= webpackConfig.name %></title>
<!--[if lt IE 11]><script>window.location.href='/html/ie.html';</script><![endif]-->
<style>
......
import request from '@/utils/request'
// 查询在线用户列表
export function list(query) {
return request({
url: '/monitor/online/list',
method: 'get',
params: query
})
}
// 强退用户
export function forceLogout(tokenId) {
return request({
url: '/monitor/online/' + tokenId,
method: 'delete'
})
}
......@@ -3,7 +3,7 @@ import request from '@/utils/request'
// 查询字典类型列表
export function listType(query) {
return request({
url: '/system/dict/type/list',
url: '/system/dict/group/list',
method: 'get',
params: query
})
......@@ -12,7 +12,7 @@ export function listType(query) {
// 查询字典类型详细
export function getType(dictId) {
return request({
url: '/system/dict/type/' + dictId,
url: '/system/dict/group/' + dictId,
method: 'get'
})
}
......@@ -20,7 +20,7 @@ export function getType(dictId) {
// 新增字典类型
export function addType(data) {
return request({
url: '/system/dict/type',
url: '/system/dict/group',
method: 'post',
data: data
})
......@@ -29,7 +29,7 @@ export function addType(data) {
// 修改字典类型
export function updateType(data) {
return request({
url: '/system/dict/type',
url: '/system/dict/group',
method: 'put',
data: data
})
......@@ -38,7 +38,7 @@ export function updateType(data) {
// 删除字典类型
export function delType(dictId) {
return request({
url: '/system/dict/type/' + dictId,
url: '/system/dict/group/' + dictId,
method: 'delete'
})
}
......@@ -46,7 +46,7 @@ export function delType(dictId) {
// 刷新字典缓存
export function refreshCache() {
return request({
url: '/system/dict/type/refreshCache',
url: '/system/dict/group/refreshCache',
method: 'delete'
})
}
......@@ -54,7 +54,7 @@ export function refreshCache() {
// 获取字典选择框列表
export function optionselect() {
return request({
url: '/system/dict/type/optionselect',
url: '/system/dict/group/optionselect',
method: 'get'
})
}
......@@ -3,14 +3,17 @@ import request from '@/utils/request'
// 查询生成表数据
export function listTable(query) {
return request({
headers: { 'datasource': localStorage.getItem("dataName") },
url: '/tool/gen/list',
method: 'get',
params: query
})
}
// 查询db数据库列表
export function listDbTable(query) {
return request({
headers: { 'datasource': localStorage.getItem("dataName") },
url: '/tool/gen/db/list',
method: 'get',
params: query
......@@ -20,6 +23,7 @@ export function listDbTable(query) {
// 查询表详细信息
export function getGenTable(tableId) {
return request({
headers: { 'datasource': localStorage.getItem("dataName") },
url: '/tool/gen/' + tableId,
method: 'get'
})
......@@ -28,6 +32,7 @@ export function getGenTable(tableId) {
// 修改代码生成信息
export function updateGenTable(data) {
return request({
headers: { 'datasource': localStorage.getItem("dataName") },
url: '/tool/gen',
method: 'put',
data: data
......@@ -37,6 +42,7 @@ export function updateGenTable(data) {
// 导入表
export function importTable(data) {
return request({
headers: { 'datasource': localStorage.getItem("dataName") },
url: '/tool/gen/importTable',
method: 'post',
params: data
......@@ -46,6 +52,7 @@ export function importTable(data) {
// 预览生成代码
export function previewTable(tableId) {
return request({
headers: { 'datasource': localStorage.getItem("dataName") },
url: '/tool/gen/preview/' + tableId,
method: 'get'
})
......@@ -54,6 +61,7 @@ export function previewTable(tableId) {
// 删除表数据
export function delTable(tableId) {
return request({
headers: { 'datasource': localStorage.getItem("dataName") },
url: '/tool/gen/' + tableId,
method: 'delete'
})
......@@ -62,6 +70,7 @@ export function delTable(tableId) {
// 生成代码(自定义路径)
export function genCode(tableName) {
return request({
headers: { 'datasource': localStorage.getItem("dataName") },
url: '/tool/gen/genCode/' + tableName,
method: 'get'
})
......@@ -70,6 +79,7 @@ export function genCode(tableName) {
// 同步数据库
export function synchDb(tableName) {
return request({
headers: { 'datasource': localStorage.getItem("dataName") },
url: '/tool/gen/synchDb/' + tableName,
method: 'get'
})
......
......@@ -180,3 +180,12 @@ aside {
margin-bottom: 10px;
}
}
//refine vue-multiselect plugin
.multiselect {
line-height: 16px;
}
.multiselect--active {
z-index: 1000 !important;
}
#app {
.main-container {
height: 100%;
min-height: 100%;
transition: margin-left .28s;
margin-left: $base-sidebar-width;
position: relative;
......
......@@ -7,7 +7,7 @@
:key="item.value"
:index="index"
:class="item.raw.cssClass"
>{{ item.label + " " }}</span
>{{ item.label }}</span
>
<el-tag
v-else
......@@ -17,13 +17,10 @@
:type="item.raw.listClass == 'primary' ? '' : item.raw.listClass"
:class="item.raw.cssClass"
>
{{ item.label + " " }}
{{ item.label }}
</el-tag>
</template>
</template>
<template v-if="unmatch && showValue">
{{ unmatchArray | handleArray }}
</template>
</div>
</template>
......@@ -36,53 +33,16 @@ export default {
default: null,
},
value: [Number, String, Array],
// 当未找到匹配的数据时,显示value
showValue: {
type: Boolean,
default: true,
}
},
data() {
return {
unmatchArray: [], // 记录未匹配的项
}
},
computed: {
values() {
if (this.value !== null && typeof this.value !== "undefined") {
if (this.value !== null && typeof this.value !== 'undefined') {
return Array.isArray(this.value) ? this.value : [String(this.value)];
} else {
return [];
}
},
unmatch() {
this.unmatchArray = [];
if (this.value !== null && typeof this.value !== "undefined") {
// 传入值为非数组
if (!Array.isArray(this.value)) {
if (this.options.some((v) => v.value == this.value)) return false;
this.unmatchArray.push(this.value);
return true;
}
// 传入值为Array
this.value.forEach((item) => {
if (!this.options.some((v) => v.value == item))
this.unmatchArray.push(item);
});
return true;
}
// 没有value不显示
return false;
},
},
filters: {
handleArray(array) {
if (array.length === 0) return "";
return array.reduce((pre, cur) => {
return pre + " " + cur;
})
}
}
};
</script>
<style scoped>
......
<!-- @author zhengjie -->
<template>
<div class="icon-body">
<el-input v-model="name" class="icon-search" clearable placeholder="请输入图标名称" @clear="filterIcons" @input="filterIcons">
<el-input v-model="name" style="position: relative;" clearable placeholder="请输入图标名称" @clear="filterIcons" @input.native="filterIcons">
<i slot="suffix" class="el-icon-search el-input__icon" />
</el-input>
<div class="icon-list">
<div class="list-container">
<div v-for="(item, index) in iconList" class="icon-item-wrapper" :key="index" @click="selectedIcon(item)">
<div :class="['icon-item', { active: activeIcon === item }]">
<svg-icon :icon-class="item" class-name="icon" style="height: 25px;width: 16px;"/>
<div v-for="(item, index) in iconList" :key="index" @click="selectedIcon(item)">
<svg-icon :icon-class="item" style="height: 30px;width: 16px;" />
<span>{{ item }}</span>
</div>
</div>
</div>
</div>
</div>
</template>
<script>
import icons from './requireIcons'
export default {
name: 'IconSelect',
props: {
activeIcon: {
type: String
}
},
data() {
return {
name: '',
......@@ -55,49 +46,22 @@ export default {
.icon-body {
width: 100%;
padding: 10px;
.icon-search {
position: relative;
margin-bottom: 5px;
}
.icon-list {
height: 200px;
overflow: auto;
.list-container {
display: flex;
flex-wrap: wrap;
.icon-item-wrapper {
width: calc(100% / 3);
height: 25px;
line-height: 25px;
overflow-y: scroll;
div {
height: 30px;
line-height: 30px;
margin-bottom: -5px;
cursor: pointer;
display: flex;
.icon-item {
display: flex;
max-width: 100%;
height: 100%;
padding: 0 5px;
&:hover {
background: #ececec;
border-radius: 5px;
}
.icon {
flex-shrink: 0;
width: 33%;
float: left;
}
span {
display: inline-block;
vertical-align: -0.15em;
fill: currentColor;
padding-left: 2px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
}
.icon-item.active {
background: #ececec;
border-radius: 5px;
}
}
}
}
}
......
<template>
<div>
<svg-icon icon-class="question" @click="goto" />
</div>
</template>
<script>
export default {
name: 'RuoYiDoc',
data() {
return {
url: 'http://doc.ruoyi.vip/ruoyi-vue'
}
},
methods: {
goto() {
window.open(this.url)
}
}
}
</script>
\ No newline at end of file
<template>
<div>
<svg-icon icon-class="github" @click="goto" />
</div>
</template>
<script>
export default {
name: 'RuoYiGit',
data() {
return {
url: 'https://gitee.com/y_project/RuoYi-Vue'
}
},
methods: {
goto() {
window.open(this.url)
}
}
}
</script>
\ No newline at end of file
......@@ -127,13 +127,7 @@ export default {
window.open(key, "_blank");
} else if (!route || !route.children) {
// 没有子路由路径内部打开
const routeMenu = this.childrenMenus.find(item => item.path === key);
if (routeMenu && routeMenu.query) {
let query = JSON.parse(routeMenu.query);
this.$router.push({ path: key, query: query });
} else {
this.$router.push({ path: key });
}
this.$store.dispatch('app/toggleSideBarHide', true);
} else {
// 显示左侧联动菜单
......
......@@ -50,26 +50,3 @@ export default {
}
}
</style>
<style lang="scss">
// fix css style bug in open el-dialog
.el-popup-parent--hidden {
.fixed-header {
padding-right: 6px;
}
}
::-webkit-scrollbar {
width: 6px;
height: 6px;
}
::-webkit-scrollbar-track {
background-color: #f1f1f1;
}
::-webkit-scrollbar-thumb {
background-color: #c0c0c0;
border-radius: 3px;
}
</style>
......@@ -9,14 +9,6 @@
<template v-if="device!=='mobile'">
<search id="header-search" class="right-menu-item" />
<el-tooltip content="源码地址" effect="dark" placement="bottom">
<ruo-yi-git id="ruoyi-git" class="right-menu-item hover-effect" />
</el-tooltip>
<el-tooltip content="文档地址" effect="dark" placement="bottom">
<ruo-yi-doc id="ruoyi-doc" class="right-menu-item hover-effect" />
</el-tooltip>
<screenfull id="screenfull" class="right-menu-item hover-effect" />
<el-tooltip content="布局大小" effect="dark" placement="bottom">
......@@ -54,8 +46,6 @@ import Hamburger from '@/components/Hamburger'
import Screenfull from '@/components/Screenfull'
import SizeSelect from '@/components/SizeSelect'
import Search from '@/components/HeaderSearch'
import RuoYiGit from '@/components/RuoYi/Git'
import RuoYiDoc from '@/components/RuoYi/Doc'
export default {
components: {
......@@ -64,9 +54,7 @@ export default {
Hamburger,
Screenfull,
SizeSelect,
Search,
RuoYiGit,
RuoYiDoc
Search
},
computed: {
...mapGetters([
......
......@@ -35,7 +35,7 @@ export default {
},
data() {
return {
title: process.env.VUE_APP_TITLE,
title: '高等学校实验室信息统计系统',
logo: logoImg
}
}
......
......@@ -182,7 +182,7 @@ export default {
})
},
closeOthersTags() {
this.$router.push(this.selectedTag.fullPath).catch(()=>{});
this.$router.push(this.selectedTag).catch(()=>{});
this.$tab.closeOtherPage(this.selectedTag).then(() => {
this.moveToCurrentTag()
})
......
<template>
<div :class="classObj" class="app-wrapper" :style="{'--current-color': theme}">
<el-scrollbar>
<div v-if="device==='mobile'&&sidebar.opened" class="drawer-bg" @click="handleClickOutside"/>
<sidebar v-if="!sidebar.hide" class="sidebar-container"/>
<div :class="{hasTagsView:needTagsView,sidebarHide:sidebar.hide}" class="main-container">
......@@ -12,6 +13,7 @@
<settings/>
</right-panel>
</div>
</el-scrollbar>
</div>
</template>
......@@ -72,6 +74,14 @@ export default {
height: 100%;
width: 100%;
.el-scrollbar{
height: 100%;
}
::v-deep .el-scrollbar__wrap {
overflow-x: hidden;
}
&.mobile.openSidebar {
position: fixed;
top: 0;
......
......@@ -15,7 +15,7 @@ import plugins from './plugins' // plugins
import { download } from '@/utils/request'
import './assets/icons' // icon
// import './permission' // permission control
import './permission' // permission control
import { getDicts } from "@/api/system/dict/data";
import { getConfigKey } from "@/api/system/config";
import { parseTime, resetForm, addDateRange, selectDictLabel, selectDictLabels, handleTree } from "@/utils/ruoyi";
......
......@@ -46,11 +46,6 @@ export const constantRoutes = [
component: () => import('@/views/login'),
hidden: true
},
{
path: '/home',
component: () => import('@/views/home'),
hidden: true
},
{
path: '/register',
component: () => import('@/views/register'),
......@@ -132,7 +127,7 @@ export const dynamicRoutes = [
permissions: ['system:dict:list'],
children: [
{
path: 'index/:dictId(\\d+)',
path: 'index/:dictId(\\w+)',
component: () => import('@/views/system/dict/data'),
name: 'Data',
meta: { title: '字典数据', activeMenu: '/system/dict' }
......@@ -171,15 +166,9 @@ export const dynamicRoutes = [
// 防止连续点击多次路由报错
let routerPush = Router.prototype.push;
let routerReplace = Router.prototype.replace;
// push
Router.prototype.push = function push(location) {
return routerPush.call(this, location).catch(err => err)
}
// replace
Router.prototype.replace = function push(location) {
return routerReplace.call(this, location).catch(err => err)
}
export default new Router({
mode: 'history', // 去掉url中的#
......
import { isArray } from 'util'
import { exportDefault, titleCase } from '@/utils/index'
import { trigger } from './config'
......@@ -132,12 +133,12 @@ function buildRules(conf, ruleList) {
const rules = []
if (trigger[conf.tag]) {
if (conf.required) {
const type = Array.isArray(conf.defaultValue) ? 'type: \'array\',' : ''
let message = Array.isArray(conf.defaultValue) ? `请至少选择一个${conf.vModel}` : conf.placeholder
const type = isArray(conf.defaultValue) ? 'type: \'array\',' : ''
let message = isArray(conf.defaultValue) ? `请至少选择一个${conf.vModel}` : conf.placeholder
if (message === undefined) message = `${conf.label}不能为空`
rules.push(`{ required: true, ${type} message: '${message}', trigger: '${trigger[conf.tag]}' }`)
}
if (conf.regList && Array.isArray(conf.regList)) {
if (conf.regList && isArray(conf.regList)) {
conf.regList.forEach(item => {
if (item.pattern) {
rules.push(`{ pattern: ${eval(item.pattern)}, message: '${item.message}', trigger: '${trigger[conf.tag]}' }`)
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
......@@ -187,7 +187,7 @@ export default {
/** 清理指定名称缓存 */
handleClearCacheName(row) {
clearCacheName(row.cacheName).then(response => {
this.$modal.msgSuccess("清理缓存名称[" + row.cacheName + "]成功");
this.$modal.msgSuccess("清理缓存名称[" + this.nowCacheName + "]成功");
this.getCacheKeys();
});
},
......
......@@ -12,7 +12,7 @@
<el-form-item label="任务组名" prop="jobGroup">
<el-select v-model="queryParams.jobGroup" placeholder="请选择任务组名" clearable>
<el-option
v-for="dict in dict.type.sys_job_group"
v-for="dict in dict.type.SYS_JOB_GROUP"
:key="dict.value"
:label="dict.label"
:value="dict.value"
......@@ -22,7 +22,7 @@
<el-form-item label="任务状态" prop="status">
<el-select v-model="queryParams.status" placeholder="请选择任务状态" clearable>
<el-option
v-for="dict in dict.type.sys_job_status"
v-for="dict in dict.type.SYS_JOB_STATUS"
:key="dict.value"
:label="dict.label"
:value="dict.value"
......@@ -97,7 +97,7 @@
<el-table-column label="任务名称" align="center" prop="jobName" :show-overflow-tooltip="true" />
<el-table-column label="任务组名" align="center" prop="jobGroup">
<template slot-scope="scope">
<dict-tag :options="dict.type.sys_job_group" :value="scope.row.jobGroup"/>
<dict-tag :options="dict.type.SYS_JOB_GROUP" :value="scope.row.jobGroup"/>
</template>
</el-table-column>
<el-table-column label="调用目标字符串" align="center" prop="invokeTarget" :show-overflow-tooltip="true" />
......@@ -164,7 +164,7 @@
<el-form-item label="任务分组" prop="jobGroup">
<el-select v-model="form.jobGroup" placeholder="请选择任务分组">
<el-option
v-for="dict in dict.type.sys_job_group"
v-for="dict in dict.type.SYS_JOB_GROUP"
:key="dict.value"
:label="dict.label"
:value="dict.value"
......@@ -221,7 +221,7 @@
<el-form-item label="状态">
<el-radio-group v-model="form.status">
<el-radio
v-for="dict in dict.type.sys_job_status"
v-for="dict in dict.type.SYS_JOB_STATUS"
:key="dict.value"
:label="dict.value"
>{{dict.label}}</el-radio>
......@@ -297,7 +297,7 @@ import Crontab from '@/components/Crontab'
export default {
components: { Crontab },
name: "Job",
dicts: ['sys_job_group', 'sys_job_status'],
dicts: ['SYS_JOB_GROUP', 'SYS_JOB_STATUS'],
data() {
return {
// 遮罩层
......@@ -363,7 +363,7 @@ export default {
},
// 任务组名字典翻译
jobGroupFormat(row, column) {
return this.selectDictLabel(this.dict.type.sys_job_group, row.jobGroup);
return this.selectDictLabel(this.dict.type.SYS_JOB_GROUP, row.jobGroup);
},
// 取消按钮
cancel() {
......
......@@ -18,7 +18,7 @@
style="width: 240px"
>
<el-option
v-for="dict in dict.type.sys_job_group"
v-for="dict in dict.type.SYS_JOB_GROUP"
:key="dict.value"
:label="dict.label"
:value="dict.value"
......@@ -33,7 +33,7 @@
style="width: 240px"
>
<el-option
v-for="dict in dict.type.sys_common_status"
v-for="dict in dict.type.SYS_COMMON_STATUS"
:key="dict.value"
:label="dict.label"
:value="dict.value"
......@@ -107,14 +107,14 @@
<el-table-column label="任务名称" align="center" prop="jobName" :show-overflow-tooltip="true" />
<el-table-column label="任务组名" align="center" prop="jobGroup" :show-overflow-tooltip="true">
<template slot-scope="scope">
<dict-tag :options="dict.type.sys_job_group" :value="scope.row.jobGroup"/>
<dict-tag :options="dict.type.SYS_JOB_GROUP" :value="scope.row.jobGroup"/>
</template>
</el-table-column>
<el-table-column label="调用目标字符串" align="center" prop="invokeTarget" :show-overflow-tooltip="true" />
<el-table-column label="日志信息" align="center" prop="jobMessage" :show-overflow-tooltip="true" />
<el-table-column label="执行状态" align="center" prop="status">
<template slot-scope="scope">
<dict-tag :options="dict.type.sys_common_status" :value="scope.row.status"/>
<dict-tag :options="dict.type.SYS_COMMON_STATUS" :value="scope.row.status"/>
</template>
</el-table-column>
<el-table-column label="执行时间" align="center" prop="createTime" width="180">
......@@ -185,7 +185,7 @@ import { listJobLog, delJobLog, cleanJobLog } from "@/api/monitor/jobLog";
export default {
name: "JobLog",
dicts: ['sys_common_status', 'sys_job_group'],
dicts: ['SYS_COMMON_STATUS', 'SYS_JOB_GROUP'],
data() {
return {
// 遮罩层
......
......@@ -27,7 +27,7 @@
style="width: 240px"
>
<el-option
v-for="dict in dict.type.sys_common_status"
v-for="dict in dict.type.SYS_COMMON_STATUS"
:key="dict.value"
:label="dict.label"
:value="dict.value"
......@@ -108,7 +108,7 @@
<el-table-column label="操作系统" align="center" prop="os" />
<el-table-column label="登录状态" align="center" prop="status">
<template slot-scope="scope">
<dict-tag :options="dict.type.sys_common_status" :value="scope.row.status"/>
<dict-tag :options="dict.type.SYS_COMMON_STATUS" :value="scope.row.status"/>
</template>
</el-table-column>
<el-table-column label="操作信息" align="center" prop="msg" :show-overflow-tooltip="true" />
......@@ -134,7 +134,7 @@ import { list, delLogininfor, cleanLogininfor, unlockLogininfor } from "@/api/mo
export default {
name: "Logininfor",
dicts: ['sys_common_status'],
dicts: ['SYS_COMMON_STATUS'],
data() {
return {
// 遮罩层
......
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="68px">
<el-form-item label="登录地址" prop="ipaddr">
<el-input
v-model="queryParams.ipaddr"
placeholder="请输入登录地址"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="用户名称" prop="userName">
<el-input
v-model="queryParams.userName"
placeholder="请输入用户名称"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<el-table
v-loading="loading"
:data="list.slice((pageNum-1)*pageSize,pageNum*pageSize)"
style="width: 100%;"
>
<el-table-column label="序号" type="index" align="center">
<template slot-scope="scope">
<span>{{(pageNum - 1) * pageSize + scope.$index + 1}}</span>
</template>
</el-table-column>
<el-table-column label="会话编号" align="center" prop="tokenId" :show-overflow-tooltip="true" />
<el-table-column label="登录名称" align="center" prop="userName" :show-overflow-tooltip="true" />
<el-table-column label="部门名称" align="center" prop="deptName" />
<el-table-column label="主机" align="center" prop="ipaddr" :show-overflow-tooltip="true" />
<el-table-column label="登录地点" align="center" prop="loginLocation" :show-overflow-tooltip="true" />
<el-table-column label="浏览器" align="center" prop="browser" />
<el-table-column label="操作系统" align="center" prop="os" />
<el-table-column label="登录时间" align="center" prop="loginTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.loginTime) }}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleForceLogout(scope.row)"
v-hasPermi="['monitor:online:forceLogout']"
>强退</el-button>
</template>
</el-table-column>
</el-table>
<pagination v-show="total>0" :total="total" :page.sync="pageNum" :limit.sync="pageSize" />
</div>
</template>
<script>
import { list, forceLogout } from "@/api/monitor/online";
export default {
name: "Online",
data() {
return {
// 遮罩层
loading: true,
// 总条数
total: 0,
// 表格数据
list: [],
pageNum: 1,
pageSize: 10,
// 查询参数
queryParams: {
ipaddr: undefined,
userName: undefined
}
};
},
created() {
this.getList();
},
methods: {
/** 查询登录日志列表 */
getList() {
this.loading = true;
list(this.queryParams).then(response => {
this.list = response.rows;
this.total = response.total;
this.loading = false;
});
},
/** 搜索按钮操作 */
handleQuery() {
this.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
/** 强退按钮操作 */
handleForceLogout(row) {
this.$modal.confirm('是否确认强退名称为"' + row.userName + '"的用户?').then(function() {
return forceLogout(row.tokenId);
}).then(() => {
this.getList();
this.$modal.msgSuccess("强退成功");
}).catch(() => {});
}
}
};
</script>
......@@ -27,7 +27,7 @@
style="width: 240px"
>
<el-option
v-for="dict in dict.type.sys_oper_type"
v-for="dict in dict.type.SYS_OPER_TYPE"
:key="dict.value"
:label="dict.label"
:value="dict.value"
......@@ -42,7 +42,7 @@
style="width: 240px"
>
<el-option
v-for="dict in dict.type.sys_common_status"
v-for="dict in dict.type.SYS_COMMON_STATUS"
:key="dict.value"
:label="dict.label"
:value="dict.value"
......@@ -108,7 +108,7 @@
<el-table-column label="系统模块" align="center" prop="title" :show-overflow-tooltip="true" />
<el-table-column label="操作类型" align="center" prop="businessType">
<template slot-scope="scope">
<dict-tag :options="dict.type.sys_oper_type" :value="scope.row.businessType"/>
<dict-tag :options="dict.type.SYS_OPER_TYPE" :value="scope.row.businessType"/>
</template>
</el-table-column>
<el-table-column label="操作人员" align="center" prop="operName" width="110" :show-overflow-tooltip="true" sortable="custom" :sort-orders="['descending', 'ascending']" />
......@@ -116,7 +116,7 @@
<el-table-column label="操作地点" align="center" prop="operLocation" :show-overflow-tooltip="true" />
<el-table-column label="操作状态" align="center" prop="status">
<template slot-scope="scope">
<dict-tag :options="dict.type.sys_common_status" :value="scope.row.status"/>
<dict-tag :options="dict.type.SYS_COMMON_STATUS" :value="scope.row.status"/>
</template>
</el-table-column>
<el-table-column label="操作日期" align="center" prop="operTime" width="160" sortable="custom" :sort-orders="['descending', 'ascending']">
......@@ -202,7 +202,7 @@ import { list, delOperlog, cleanOperlog } from "@/api/monitor/operlog";
export default {
name: "Operlog",
dicts: ['sys_oper_type', 'sys_common_status'],
dicts: ['SYS_OPER_TYPE', 'SYS_COMMON_STATUS'],
data() {
return {
// 遮罩层
......@@ -252,7 +252,7 @@ export default {
},
// 操作日志类型字典翻译
typeFormat(row, column) {
return this.selectDictLabel(this.dict.type.sys_oper_type, row.businessType);
return this.selectDictLabel(this.dict.type.SYS_OPER_TYPE, row.businessType);
},
/** 搜索按钮操作 */
handleQuery() {
......
<template>
<div class="register">
<el-form ref="registerForm" :model="registerForm" :rules="registerRules" class="register-form">
<h3 class="title">若依后台管理系统</h3>
<h3 class="title">高等学校实验室信息统计系统</h3>
<el-form-item prop="username">
<el-input v-model="registerForm.username" type="text" auto-complete="off" placeholder="账号">
<svg-icon slot="prefix" icon-class="user" class="el-input__icon input-icon" />
......@@ -113,10 +113,10 @@ export default {
methods: {
getCode() {
getCodeImg().then(res => {
this.captchaEnabled = res.captchaEnabled === undefined ? true : res.captchaEnabled;
this.captchaEnabled = res.data.captchaEnabled === undefined ? true : res.data.captchaEnabled;
if (this.captchaEnabled) {
this.codeUrl = "data:image/gif;base64," + res.img;
this.registerForm.uuid = res.uuid;
this.codeUrl = "data:image/gif;base64," + res.data.img;
this.registerForm.uuid = res.data.uuid;
}
});
},
......
......@@ -22,7 +22,7 @@
<el-form-item label="系统内置" prop="configType">
<el-select v-model="queryParams.configType" placeholder="系统内置" clearable>
<el-option
v-for="dict in dict.type.sys_yes_no"
v-for="dict in dict.type.SYS_YES_NO"
:key="dict.value"
:label="dict.label"
:value="dict.value"
......@@ -110,7 +110,7 @@
<el-table-column label="参数键值" align="center" prop="configValue" :show-overflow-tooltip="true" />
<el-table-column label="系统内置" align="center" prop="configType">
<template slot-scope="scope">
<dict-tag :options="dict.type.sys_yes_no" :value="scope.row.configType"/>
<dict-tag :options="dict.type.SYS_YES_NO" :value="scope.row.configType"/>
</template>
</el-table-column>
<el-table-column label="备注" align="center" prop="remark" :show-overflow-tooltip="true" />
......@@ -162,7 +162,7 @@
<el-form-item label="系统内置" prop="configType">
<el-radio-group v-model="form.configType">
<el-radio
v-for="dict in dict.type.sys_yes_no"
v-for="dict in dict.type.SYS_YES_NO"
:key="dict.value"
:label="dict.value"
>{{dict.label}}</el-radio>
......@@ -185,7 +185,7 @@ import { listConfig, getConfig, delConfig, addConfig, updateConfig, refreshCache
export default {
name: "Config",
dicts: ['sys_yes_no'],
dicts: ['SYS_YES_NO'],
data() {
return {
// 遮罩层
......
......@@ -12,10 +12,10 @@
<el-form-item label="状态" prop="status">
<el-select v-model="queryParams.status" placeholder="部门状态" clearable>
<el-option
v-for="dict in dict.type.sys_normal_disable"
:key="dict.value"
v-for="dict in dict.type.SYS_NORMAL_DISABLE"
:key="parseInt(dict.value)"
:label="dict.label"
:value="dict.value"
:value="parseInt(dict.value)"
/>
</el-select>
</el-form-item>
......@@ -60,7 +60,7 @@
<el-table-column prop="orderNum" label="排序" width="200"></el-table-column>
<el-table-column prop="status" label="状态" width="100">
<template slot-scope="scope">
<dict-tag :options="dict.type.sys_normal_disable" :value="scope.row.status"/>
<dict-tag :options="dict.type.SYS_NORMAL_DISABLE" :value="scope.row.status"/>
</template>
</el-table-column>
<el-table-column label="创建时间" align="center" prop="createTime" width="200">
......@@ -140,9 +140,9 @@
<el-form-item label="部门状态">
<el-radio-group v-model="form.status">
<el-radio
v-for="dict in dict.type.sys_normal_disable"
:key="dict.value"
:label="dict.value"
v-for="dict in dict.type.SYS_NORMAL_DISABLE"
:key="parseInt(dict.value)"
:label="parseInt(dict.value)"
>{{dict.label}}</el-radio>
</el-radio-group>
</el-form-item>
......@@ -164,7 +164,7 @@ import "@riophae/vue-treeselect/dist/vue-treeselect.css";
export default {
name: "Dept",
dicts: ['sys_normal_disable'],
dicts: ['SYS_NORMAL_DISABLE'],
components: { Treeselect },
data() {
return {
......@@ -257,7 +257,7 @@ export default {
leader: undefined,
phone: undefined,
email: undefined,
status: "0"
status: 1
};
this.resetForm("form");
},
......
This diff is collapsed.
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="字典名称" prop="dictName">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="75px">
<el-form-item label="字典名称" prop="name">
<el-input
v-model="queryParams.dictName"
v-model="queryParams.name"
placeholder="请输入字典名称"
clearable
style="width: 240px"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="字典类型" prop="dictType">
<el-form-item label="字典编号" prop="code">
<el-input
v-model="queryParams.dictType"
placeholder="请输入字典类型"
v-model="queryParams.code"
placeholder="请输入字典编号"
clearable
style="width: 240px"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="状态" prop="status">
<el-select
v-model="queryParams.status"
placeholder="字典状态"
clearable
style="width: 240px"
>
<el-option
v-for="dict in dict.type.sys_normal_disable"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item label="创建时间">
<el-date-picker
v-model="dateRange"
......@@ -109,20 +94,15 @@
<el-table v-loading="loading" :data="typeList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="字典编号" align="center" prop="dictId" />
<el-table-column label="字典名称" align="center" prop="dictName" :show-overflow-tooltip="true" />
<!-- <el-table-column label="字典编号" align="center" prop="id" />-->
<el-table-column label="字典名称" align="center" prop="name" :show-overflow-tooltip="true" />
<el-table-column label="字典类型" align="center" :show-overflow-tooltip="true">
<template slot-scope="scope">
<router-link :to="'/system/dict-data/index/' + scope.row.dictId" class="link-type">
<span>{{ scope.row.dictType }}</span>
<router-link :to="'/system/dict-data/index/' + scope.row.id" class="link-type">
<span>{{ scope.row.code }}</span>
</router-link>
</template>
</el-table-column>
<el-table-column label="状态" align="center" prop="status">
<template slot-scope="scope">
<dict-tag :options="dict.type.sys_normal_disable" :value="scope.row.status"/>
</template>
</el-table-column>
<el-table-column label="备注" align="center" prop="remark" :show-overflow-tooltip="true" />
<el-table-column label="创建时间" align="center" prop="createTime" width="180">
<template slot-scope="scope">
......@@ -158,22 +138,13 @@
/>
<!-- 添加或修改参数配置对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-dialog :title="title" :visible.sync="open" width="500px" :close-on-click-modal="false" :close-on-press-escape="false" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="字典名称" prop="dictName">
<el-input v-model="form.dictName" placeholder="请输入字典名称" />
</el-form-item>
<el-form-item label="字典类型" prop="dictType">
<el-input v-model="form.dictType" placeholder="请输入字典类型" />
<el-form-item label="字典名称" prop="name">
<el-input v-model="form.name" placeholder="请输入字典名称" />
</el-form-item>
<el-form-item label="状态" prop="status">
<el-radio-group v-model="form.status">
<el-radio
v-for="dict in dict.type.sys_normal_disable"
:key="dict.value"
:label="dict.value"
>{{dict.label}}</el-radio>
</el-radio-group>
<el-form-item label="字典类型" prop="code">
<el-input v-model="form.code" placeholder="请输入字典类型" />
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容"></el-input>
......@@ -188,11 +159,11 @@
</template>
<script>
import { listType, getType, delType, addType, updateType, refreshCache } from "@/api/system/dict/type";
import { listType, getType, delType, addType, updateType, refreshCache } from "@/api/system/dict/group";
export default {
name: "Dict",
dicts: ['sys_normal_disable'],
dicts: ['SYS_NORMAL_DISABLE'],
data() {
return {
// 遮罩层
......@@ -258,10 +229,9 @@ export default {
// 表单重置
reset() {
this.form = {
dictId: undefined,
id: undefined,
dictName: undefined,
dictType: undefined,
status: "0",
remark: undefined
};
this.resetForm("form");
......@@ -292,7 +262,7 @@ export default {
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const dictId = row.dictId || this.ids
const dictId = row.id || this.ids
getType(dictId).then(response => {
this.form = response.data;
this.open = true;
......@@ -303,7 +273,7 @@ export default {
submitForm: function() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.dictId != undefined) {
if (this.form.id != undefined) {
updateType(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
......@@ -331,7 +301,7 @@ export default {
},
/** 导出按钮操作 */
handleExport() {
this.download('system/dict/type/export', {
this.download('system/dict/group/export', {
...this.queryParams
}, `type_${new Date().getTime()}.xlsx`)
},
......
......@@ -12,10 +12,10 @@
<el-form-item label="状态" prop="status">
<el-select v-model="queryParams.status" placeholder="菜单状态" clearable>
<el-option
v-for="dict in dict.type.sys_normal_disable"
:key="dict.value"
v-for="dict in dict.type.SYS_NORMAL_DISABLE"
:key="parseInt(dict.value)"
:label="dict.label"
:value="dict.value"
:value="parseInt(dict.value)"
/>
</el-select>
</el-form-item>
......@@ -67,7 +67,7 @@
<el-table-column prop="component" label="组件路径" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="status" label="状态" width="80">
<template slot-scope="scope">
<dict-tag :options="dict.type.sys_normal_disable" :value="scope.row.status"/>
<dict-tag :options="dict.type.SYS_NORMAL_DISABLE" :value="scope.row.status"/>
</template>
</el-table-column>
<el-table-column label="创建时间" align="center" prop="createTime">
......@@ -134,13 +134,14 @@
trigger="click"
@show="$refs['iconSelect'].reset()"
>
<IconSelect ref="iconSelect" @selected="selected" :active-icon="form.icon" />
<IconSelect ref="iconSelect" @selected="selected" />
<el-input slot="reference" v-model="form.icon" placeholder="点击选择图标" readonly>
<svg-icon
v-if="form.icon"
slot="prefix"
:icon-class="form.icon"
style="width: 25px;"
class="el-input__icon"
style="height: 32px;width: 16px;"
/>
<i v-else slot="prefix" class="el-icon-search el-input__icon" />
</el-input>
......@@ -239,7 +240,7 @@
</span>
<el-radio-group v-model="form.visible">
<el-radio
v-for="dict in dict.type.sys_show_hide"
v-for="dict in dict.type.SYS_SHOW_HIDE"
:key="dict.value"
:label="dict.value"
>{{dict.label}}</el-radio>
......@@ -256,9 +257,9 @@
</span>
<el-radio-group v-model="form.status">
<el-radio
v-for="dict in dict.type.sys_normal_disable"
:key="dict.value"
:label="dict.value"
v-for="dict in dict.type.SYS_NORMAL_DISABLE"
:key="parseInt(dict.value)"
:label="parseInt(dict.value)"
>{{dict.label}}</el-radio>
</el-radio-group>
</el-form-item>
......@@ -281,7 +282,7 @@ import IconSelect from "@/components/IconSelect";
export default {
name: "Menu",
dicts: ['sys_show_hide', 'sys_normal_disable'],
dicts: ['SYS_SHOW_HIDE', 'SYS_NORMAL_DISABLE'],
components: { Treeselect, IconSelect },
data() {
return {
......@@ -375,7 +376,7 @@ export default {
isFrame: "1",
isCache: "0",
visible: "0",
status: "0"
status: 1
};
this.resetForm("form");
},
......
......@@ -20,7 +20,7 @@
<el-form-item label="类型" prop="noticeType">
<el-select v-model="queryParams.noticeType" placeholder="公告类型" clearable>
<el-option
v-for="dict in dict.type.sys_notice_type"
v-for="dict in dict.type.SYS_NOTICE_TYPE"
:key="dict.value"
:label="dict.label"
:value="dict.value"
......@@ -80,12 +80,12 @@
/>
<el-table-column label="公告类型" align="center" prop="noticeType" width="100">
<template slot-scope="scope">
<dict-tag :options="dict.type.sys_notice_type" :value="scope.row.noticeType"/>
<dict-tag :options="dict.type.SYS_NOTICE_TYPE" :value="scope.row.noticeType"/>
</template>
</el-table-column>
<el-table-column label="状态" align="center" prop="status" width="100">
<template slot-scope="scope">
<dict-tag :options="dict.type.sys_notice_status" :value="scope.row.status"/>
<dict-tag :options="dict.type.SYS_NOTICE_STATUS" :value="scope.row.status"/>
</template>
</el-table-column>
<el-table-column label="创建者" align="center" prop="createBy" width="100" />
......@@ -135,7 +135,7 @@
<el-form-item label="公告类型" prop="noticeType">
<el-select v-model="form.noticeType" placeholder="请选择公告类型">
<el-option
v-for="dict in dict.type.sys_notice_type"
v-for="dict in dict.type.SYS_NOTICE_TYPE"
:key="dict.value"
:label="dict.label"
:value="dict.value"
......@@ -147,7 +147,7 @@
<el-form-item label="状态">
<el-radio-group v-model="form.status">
<el-radio
v-for="dict in dict.type.sys_notice_status"
v-for="dict in dict.type.SYS_NOTICE_STATUS"
:key="dict.value"
:label="dict.value"
>{{dict.label}}</el-radio>
......@@ -174,7 +174,7 @@ import { listNotice, getNotice, delNotice, addNotice, updateNotice } from "@/api
export default {
name: "Notice",
dicts: ['sys_notice_status', 'sys_notice_type'],
dicts: ['SYS_NOTICE_STATUS', 'SYS_NOTICE_TYPE'],
data() {
return {
// 遮罩层
......
......@@ -20,10 +20,10 @@
<el-form-item label="状态" prop="status">
<el-select v-model="queryParams.status" placeholder="岗位状态" clearable>
<el-option
v-for="dict in dict.type.sys_normal_disable"
:key="dict.value"
v-for="dict in dict.type.SYS_NORMAL_DISABLE"
:key="parseInt(dict.value)"
:label="dict.label"
:value="dict.value"
:value="parseInt(dict.value)"
/>
</el-select>
</el-form-item>
......@@ -87,7 +87,7 @@
<el-table-column label="岗位排序" align="center" prop="postSort" />
<el-table-column label="状态" align="center" prop="status">
<template slot-scope="scope">
<dict-tag :options="dict.type.sys_normal_disable" :value="scope.row.status"/>
<dict-tag :options="dict.type.SYS_NORMAL_DISABLE" :value="scope.row.status"/>
</template>
</el-table-column>
<el-table-column label="创建时间" align="center" prop="createTime" width="180">
......@@ -138,9 +138,9 @@
<el-form-item label="岗位状态" prop="status">
<el-radio-group v-model="form.status">
<el-radio
v-for="dict in dict.type.sys_normal_disable"
:key="dict.value"
:label="dict.value"
v-for="dict in dict.type.SYS_NORMAL_DISABLE"
:key="parseInt(dict.value)"
:label="parseInt(dict.value)"
>{{dict.label}}</el-radio>
</el-radio-group>
</el-form-item>
......@@ -161,7 +161,7 @@ import { listPost, getPost, delPost, addPost, updatePost } from "@/api/system/po
export default {
name: "Post",
dicts: ['sys_normal_disable'],
dicts: ['SYS_NORMAL_DISABLE'],
data() {
return {
// 遮罩层
......@@ -231,7 +231,7 @@ export default {
postCode: undefined,
postName: undefined,
postSort: 0,
status: "0",
status: 1,
remark: undefined
};
this.resetForm("form");
......
......@@ -67,7 +67,7 @@
<el-table-column label="手机" prop="phonenumber" :show-overflow-tooltip="true" />
<el-table-column label="状态" align="center" prop="status">
<template slot-scope="scope">
<dict-tag :options="dict.type.sys_normal_disable" :value="scope.row.status"/>
<dict-tag :options="dict.type.SYS_NORMAL_DISABLE" :value="scope.row.status"/>
</template>
</el-table-column>
<el-table-column label="创建时间" align="center" prop="createTime" width="180">
......@@ -105,7 +105,7 @@ import selectUser from "./selectUser";
export default {
name: "AuthUser",
dicts: ['sys_normal_disable'],
dicts: ['SYS_NORMAL_DISABLE'],
components: { selectUser },
data() {
return {
......
......@@ -27,10 +27,10 @@
style="width: 240px"
>
<el-option
v-for="dict in dict.type.sys_normal_disable"
:key="dict.value"
v-for="dict in dict.type.SYS_NORMAL_DISABLE"
:key="parseInt(dict.value)"
:label="dict.label"
:value="dict.value"
:value="parseInt(dict.value)"
/>
</el-select>
</el-form-item>
......@@ -99,7 +99,6 @@
<el-table v-loading="loading" :data="roleList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="角色编号" prop="roleId" width="120" />
<el-table-column label="角色名称" prop="roleName" :show-overflow-tooltip="true" width="150" />
<el-table-column label="权限字符" prop="roleKey" :show-overflow-tooltip="true" width="150" />
<el-table-column label="显示顺序" prop="roleSort" width="100" />
......@@ -107,8 +106,8 @@
<template slot-scope="scope">
<el-switch
v-model="scope.row.status"
active-value="0"
inactive-value="1"
active-value="1"
inactive-value="0"
@change="handleStatusChange(scope.row)"
></el-switch>
</template>
......@@ -176,9 +175,9 @@
<el-form-item label="状态">
<el-radio-group v-model="form.status">
<el-radio
v-for="dict in dict.type.sys_normal_disable"
:key="dict.value"
:label="dict.value"
v-for="dict in dict.type.SYS_NORMAL_DISABLE"
:key="parseInt(dict.value)"
:label="parseInt(dict.value)"
>{{dict.label}}</el-radio>
</el-radio-group>
</el-form-item>
......@@ -257,7 +256,7 @@ import { treeselect as menuTreeselect, roleMenuTreeselect } from "@/api/system/m
export default {
name: "Role",
dicts: ['sys_normal_disable'],
dicts: ['SYS_NORMAL_DISABLE'],
data() {
return {
// 遮罩层
......@@ -382,20 +381,20 @@ export default {
/** 根据角色ID查询菜单树结构 */
getRoleMenuTreeselect(roleId) {
return roleMenuTreeselect(roleId).then(response => {
this.menuOptions = response.menus;
this.menuOptions = response.data.menus;
return response;
});
},
/** 根据角色ID查询部门树结构 */
getDeptTree(roleId) {
return deptTreeSelect(roleId).then(response => {
this.deptOptions = response.depts;
this.deptOptions = response.data.depts;
return response;
});
},
// 角色状态修改
handleStatusChange(row) {
let text = row.status === "0" ? "启用" : "停用";
let text = row.status === "1" ? "启用" : "停用";
this.$modal.confirm('确认要"' + text + '""' + row.roleName + '"角色吗?').then(function() {
return changeRoleStatus(row.roleId, row.status);
}).then(() => {
......@@ -428,7 +427,7 @@ export default {
roleName: undefined,
roleKey: undefined,
roleSort: 0,
status: "0",
status: 1,
menuIds: [],
deptIds: [],
menuCheckStrictly: true,
......@@ -514,7 +513,7 @@ export default {
this.open = true;
this.$nextTick(() => {
roleMenu.then(res => {
let checkedKeys = res.checkedKeys
let checkedKeys = res.data.checkedKeys
checkedKeys.forEach((v) => {
this.$nextTick(()=>{
this.$refs.menu.setChecked(v, true ,false);
......@@ -540,7 +539,7 @@ export default {
this.openDataScope = true;
this.$nextTick(() => {
deptTreeSelect.then(res => {
this.$refs.dept.setCheckedKeys(res.checkedKeys);
this.$refs.dept.setCheckedKeys(res.data.checkedKeys);
});
});
this.title = "分配数据权限";
......
......@@ -32,7 +32,7 @@
<el-table-column label="手机" prop="phonenumber" :show-overflow-tooltip="true" />
<el-table-column label="状态" align="center" prop="status">
<template slot-scope="scope">
<dict-tag :options="dict.type.sys_normal_disable" :value="scope.row.status"/>
<dict-tag :options="dict.type.SYS_NORMAL_DISABLE" :value="scope.row.status"/>
</template>
</el-table-column>
<el-table-column label="创建时间" align="center" prop="createTime" width="180">
......@@ -59,7 +59,7 @@
<script>
import { unallocatedUserList, authUserSelectAll } from "@/api/system/role";
export default {
dicts: ['sys_normal_disable'],
dicts: ['SYS_NORMAL_DISABLE'],
props: {
// 角色编号
roleId: {
......
......@@ -56,10 +56,10 @@
style="width: 240px"
>
<el-option
v-for="dict in dict.type.sys_normal_disable"
:key="dict.value"
v-for="dict in dict.type.SYS_NORMAL_DISABLE"
:key="parseInt(dict.value)"
:label="dict.label"
:value="dict.value"
:value="parseInt(dict.value)"
/>
</el-select>
</el-form-item>
......@@ -147,8 +147,8 @@
<template slot-scope="scope">
<el-switch
v-model="scope.row.status"
active-value="0"
inactive-value="1"
active-value="1"
inactive-value="0"
@change="handleStatusChange(scope.row)"
></el-switch>
</template>
......@@ -246,7 +246,7 @@
<el-form-item label="用户性别">
<el-select v-model="form.sex" placeholder="请选择性别">
<el-option
v-for="dict in dict.type.sys_user_sex"
v-for="dict in dict.type.SYS_USER_SEX"
:key="dict.value"
:label="dict.label"
:value="dict.value"
......@@ -258,9 +258,9 @@
<el-form-item label="状态">
<el-radio-group v-model="form.status">
<el-radio
v-for="dict in dict.type.sys_normal_disable"
:key="dict.value"
:label="dict.value"
v-for="dict in dict.type.SYS_NORMAL_DISABLE"
:key="parseInt(dict.value)"
:label="parseInt(dict.value)"
>{{dict.label}}</el-radio>
</el-radio-group>
</el-form-item>
......@@ -348,7 +348,7 @@ import "@riophae/vue-treeselect/dist/vue-treeselect.css";
export default {
name: "User",
dicts: ['sys_normal_disable', 'sys_user_sex'],
dicts: ['SYS_NORMAL_DISABLE', 'SYS_USER_SEX'],
components: { Treeselect },
data() {
return {
......@@ -519,7 +519,7 @@ export default {
phonenumber: undefined,
email: undefined,
sex: undefined,
status: "0",
status: 1,
remark: undefined,
postIds: [],
roleIds: []
......
......@@ -84,6 +84,7 @@ export default {
this.user = response.data;
this.roleGroup = response.roleGroup;
this.postGroup = response.postGroup;
console.log(this.user)
});
}
}
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment