Commit e27ca5d7 authored by trumansdo's avatar trumansdo
Browse files

去除原有管理系统页面,开始清理调整架构

parent 6833044a
<!--# layout("/common/layout.html",{"jsBase":"/js/core/codeGen/"}){ -->
<div class="layui-btn-group">
<button class="layui-btn ext-toolbar" data-type="js">预览JS</button>
<button class="layui-btn ext-toolbar" data-type="java">预览Java</button>
<button class="layui-btn ext-toolbar" data-type="sql">预览SQL</button>
<button class="layui-btn ext-toolbar" data-type="html">预览HTML</button>
<button class="layui-btn ext-toolbar" data-type="gen">立即生成</button>
<button class="layui-btn ext-toolbar" data-type="cancel">取消</button>
</div>
<form class="layui-form layui-form-pane" id="updateForm">
<fieldset class="layui-elem-field layui-field-title"
style="margin-top: 30px;">
<legend>主键字段</legend>
</fieldset>
<div class="layui-row">
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">主键</label>
<div class="layui-input-inline">
<input type="text" name="entity.idAttribute.name" disable
value="${entity.idAttribute.name}" class="layui-input">
</div>
</div>
</div>
</div>
<fieldset class="layui-elem-field layui-field-title"
style="margin-top: 30px;">
<legend>显示字段</legend>
</fieldset>
<div class="layui-row">
<div class="layui-form-item">
<div class="layui-inline">
<select name="nameAttr">
<!--#
for(attr in entity.list){
-->
<option value="${attr.name}" ${attrLP.index==1? "selected=''"}>${attr.name}</option>
<!--#} -->
</select>
</div>
</div>
</div>
<fieldset class="layui-elem-field layui-field-title"
style="margin-top: 30px;">
<legend>配置基本信息</legend>
</fieldset>
<div class="layui-row">
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">表名</label>
<div class="layui-input-inline">
<input type="text" name="entity.tableName" readonly
value="${entity.tableName}" class="layui-input">
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">类名</label>
<div class="layui-input-inline">
<input type="text" name="entity.name" value="${entity.name}"
class="layui-input">
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">系统包名</label>
<div class="layui-input-inline">
<input type="text" name="basePackage"
value="com.ibeetl.cms" class="layui-input">
</div>
</div>
</div>
</div>
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">业务名称</label>
<div class="layui-input-inline">
<input type="text" name="entity.displayName" value="${entity.name}"
class="layui-input">
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">变量名</label>
<div class="layui-input-inline">
<input type="text" name="entity.code" value="${entity.code}"
class="layui-input">
</div>
</div>
</div>
<div class="layui-row">
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">urlBase</label>
<div class="layui-input-inline">
<input type="text" name="urlBase" value="cms" class="layui-input">
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">system</label>
<div class="layui-input-inline">
<input type="text" name="entity.system" value="cms"
class="layui-input">
</div>
</div>
</div>
</div>
<fieldset class="layui-elem-field layui-field-title"
style="margin-top: 30px;">
<legend>可选配置</legend>
</fieldset>
<div class="layui-row">
<div class="layui-form-item">
<div class="layui-inline">
<div class="layui-input-inline">
<input type="checkbox"
name="entity.includeExcel"
lay-skin="primary" value="true" title="导入导出"/>
</div>
</div>
<div class="layui-inline">
<div class="layui-input-inline">
<input type="checkbox"
name="entity.attachment"
lay-skin="primary" value="true" title="关联附件"/>
</div>
</div>
<div class="layui-inline">
<div class="layui-input-inline">
<input type="checkbox"
name="entity.autoAddFunction"
lay-skin="primary" value="true" title=" 自动配置功能点"/>
</div>
<div class="layui-input-inline">
<input type="checkbox"
name="entity.autoAddMenu"
lay-skin="primary" value="true" title="添加到菜单"/>
</div>
</div>
</div>
</div>
<fieldset class="layui-elem-field layui-field-title"
style="margin-top: 30px;">
<legend>字段信息(重要)</legend>
</fieldset>
<table class="layui-table">
<colgroup>
<col width="200">
<col width="250">
<col width="250">
<col>
</colgroup>
<thead>
<tr>
<th>名称</th>
<th>显示名</th>
<th>查询</th>
<th>字典类型(可选)</th>
<th>字段校验(可选)</th>
</tr>
</thead>
<tbody>
<!--#
var attrs = entity.list;
for(attr in attrs){
-->
<tr>
<td><input type="text"
name="entity.list[${attrLP.index-1}].name" readonly
value="${attr.name}" class="layui-input" /></td>
<td><input type="text"
name="entity.list[${attrLP.index-1}].displayName"
value="${attr.displayName}" class="layui-input"></td>
<td><input type="checkbox"
name="entity.list[${attrLP.index-1}].showInQuery"
lay-skin="primary" value="true" title="作为搜索"></td>
<td><input type="text" name="entity.list[${attrLP.index-1}].dictType" value=""
class="layui-input"></td>
<td>
<div class="layui-btn-container verifyGroup" data-index="${attrLP.index-1}">
<div class="layui-btn layui-btn-xs addVerify"><i class="layui-icon">&#xe654;</i></div>
</div>
</td>
</tr>
<!--# } -->
</tbody>
</table>
</form>
<!--#} -->
<script>
layui.use(['edit'], function(){
var codeGenEdit = layui.edit
codeGenEdit.init();
});
</script>
<!--#layout("/common/layout.html",{"jsBase":"/js/core/codeGen/"}){ -->
<div class="layui-btn-group">
<layui:accessButton function="codeGen.edit" action="edit">编辑</layui:accessButton>
<layui:accessButton function="codeGen.edit" action="refresh">刷新</layui:accessButton>
</div>
<table id="codeTable" lay-filter="codeTable"></table>
<!--#} -->
<script>
layui.use(['index'], function(){
var index = layui.index
index.init();
});
</script>
<!--# layout("/common/layout.html",{"jsBase":"/js/core/codeGen/"}){ -->
<form class="layui-form layui-form-pane" id="projectForm">
<div class="layui-form-item">
<label class="layui-form-label">路径</label>
<div class="layui-input-block">
<input type="text" name="path" required lay-verify="required" value="${path}" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">包名</label>
<div class="layui-input-block">
<input type="text" name="basePackage" required lay-verify="required" value="${basePackage}" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">添加管理</label>
<div class="layui-input-inline">
<input type="checkbox" name="includeConsole" lay-skin="switch">
</div>
</div>
<layui:submitButtons id="genProject" text="立即生成工程" />
</form>
<!--#} -->
<script>
layui.use(['project'], function(){
var project = layui.project
project.init();
});
</script>
<!--#layout("/common/container.html"){-->
<script>
layui.use('layer', function () {
parent.layer.open({
content: '${errorMessage}'
,btn: '确定'
});
})
</script>
<!--#} -->
\ No newline at end of file
<blockquote class="layui-elem-quote">本系统演示了Spring Boot 搭建系统开发框架,能构建适合集团规模的系统,也能搭建小微系统</blockquote>
<blockquote class="layui-elem-quote">
配置:
</blockquote>
<blockquote class="layui-elem-quote">
搭建子系统
</blockquote>
<blockquote class="layui-elem-quote">
禁止缓存,为了开发方便,需要禁止JS缓存
</blockquote>
\ No newline at end of file
<!--#layout("/common/container.html"){ -->
<!-- 顶部 -->
<form class="layui-form layui-form-pane">
<div class="layui-header">
<a href="ibeetl.com" class="layui-hide-xs"><div class="layui-logo">${env("app.name")}</div></a>
<a href="javascript:;" class="layui-hide-xs"><div class="fsSwitchMenu"><i class="iconfont icon-category"></i></div></a>
<!-- 顶部菜单 -->
<ul class="layui-nav layui-layout-left fsTopMenu" id="fsTopMenu" lay-filter="fsTopMenu">
<!--#for(node in menus.children){ -->
<li class="layui-nav-item ${nodeLP.first?'layui-this'}" dataPid="${node.data.id}"><a href="javascript:;"><i class="layui-icon">${node.data.icon}</i>
<!--#if(nodeLP.first){ -->
<cite>${node.data.name}</cite>
<!--#}else{ -->
${node.data.name}
<!--#} -->
</a></li>
<!--#} -->
</ul>
<ul class="layui-nav layui-layout-right">
<li class="layui-nav-item layui-hide-xs">
<a href="javascript:;">
${session["core:user"].name}
</a>
<dl class="layui-nav-child">
<dd><a href="javascript:;">基本资料</a></dd>
<dd id="changeCompanyButton"><a href="javascript:;">${session["core:currentOrg"].name}</a>
</dd>
</dl>
</li>
<li class="layui-nav-item layui-hide-xs"><a href="/logout.do"><i class="iconfont icon-tuichu"></i> 退出</a></li>
</ul>
</div>
<div id="selectCompany"
style="padding: 50px;display:none;">
<div class="layui-row">
<div class="layui-form-item">
<select id="companyList">
<!--#
var allOrgs = session["core:orgs"];
for(org in allOrgs){
var checked = false;
if(session["core:currentOrg"].id==org.id){
checked=true;
}
-->
<option value="${org.id}" ${checked?"selected"}>${org.name}</option>
<!--#} -->
</select>
</div>
</div>
</div>
<!-- 左边菜单 -->
<div class="layui-side layui-bg-black">
<div class="layui-side-scroll">
<!-- 左侧导航区域(可配合layui已有的垂直导航) -->
<ul class="layui-nav layui-nav-tree" lay-filter="fsLeftMenu" id="fsLeftMenu">
<!--#
for(node in menus.children){
var hasSite = true;//系统的第一个菜单默认显示
-->
<!--#for(subSystem in node.children){ -->
<li class="layui-nav-item layui-nav-itemed" dataPid="${node.data.id}" style="display: none;">
<a href="javascript:;">${subSystem.data.name}</a>
<dl class="layui-nav-child">
<!--#for(menu in subSystem.children){ -->
<dd class="" ><a href="javascript:;" menuId="${menu.data.id}" dataUrl="${ctxPath}${menu.data.accessUrl}"><i class="layui-icon">&#xe68e;</i>
${menu.data.name}
</a></dd>
<!--#} -->
</dl>
</li>
<!--#} -->
<!--#} -->
</ul>
</div>
</div>
<!-- 右边内容区域 -->
<div class="layui-body layui-form">
<div class="layui-tab layui-tab-card fsTab" lay-filter="fsTab" lay-allowClose="true">
<!-- 菜单导航 -->
<ul class="layui-tab-title">
<li class="layui-this">系统说明</li>
</ul>
<!-- 内容 -->
<div class="layui-tab-content">
<div class="layui-tab-item layui-show">
<!--#include("/help.html"){} -->
</div>
</div>
</div>
</div>
</form>
<!--#} -->
\ No newline at end of file
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Spring Boot开发平台</title>
<link rel="stylesheet" href="${ctxPath}/plugins/layui/css/layui.css">
<script src="${ctxPath}/plugins/layui/layui.js"></script>
<!-- 让IE8/9支持媒体查询,从而兼容栅格 -->
<!--[if lt IE 9]>
<script src="https://cdn.staticfile.org/html5shiv/r29/html5.min.js"></script>
<script src="https://cdn.staticfile.org/respond.js/1.4.2/respond.min.js"></script>
<![endif]-->
<style rel="stylesheet" type="text/css">
.layui-tab-title li:first-child > i {
display: none;
}
</style>
</head>
<body class="layui-layout-body">
<fieldset class="layui-elem-field layui-field-title" style="margin-top: 20px;">
<legend>用户登录</legend>
</fieldset>
<form class="layui-form" action="${ctxPath}/login.do" method="post">
<div class="layui-form-item">
<label class="layui-form-label">用户名</label>
<div class="layui-input-block">
<input type="text" name="code" lay-verify="title" autocomplete="off"
placeholder="请输入用户名" class="layui-input" value="admin">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">密码</label>
<div class="layui-input-block">
<input type="password" name="password" lay-verify="required" name="" placeholder="请输入密码"
autocomplete="off"
class="layui-input" value="123456">
</div>
</div>
<div class="layui-form-item">
<div class="layui-input-block">
<button class="layui-btn" lay-submit="" lay-filter="demo1">立即登录</button>
</div>
</div>
</form>
</body>
</html>
\ No newline at end of file
/*
* @Author: 一日看尽长安花
* @since: 2019-09-04 20:55:14
* @LastEditTime: 2020-08-02 12:57:52
* @LastEditors: 一日看尽长安花
* @Description:
*/
import request from '@/utils/request';
export function getRoles(params) {
return request({
url: '/admin/roles/list',
method: 'get',
params
});
}
export function getRoleById(params) {
return request({
url: `/admin/roles/${params.id}`,
method: 'get'
});
}
export function saveRoleData(data) {
return request({
url: '/admin/roles/add',
method: 'post',
data
});
}
export function updateRoleData(data) {
return request({
url: '/admin/roles/update',
method: 'put',
data
});
}
export function deleteRoleData(data) {
return request({
url: '/admin/roles/delete',
method: 'delete',
data
});
}
<!--
* @Author: 一日看尽长安花
* @since: 2020-07-19 16:33:05
* @LastEditTime: 2020-08-02 13:17:58
* @LastEditors: 一日看尽长安花
* @Description:
-->
<template>
<!-- vue实例外创建 -->
<div class="sp-edit-form-popup">
<el-dialog
ref="editDialog"
:title="title"
:visible.sync="visible"
:destroy-on-close="true"
:close-on-click-modal="false"
:close-on-press-escape="false"
:show-close="false"
@open="initDialog"
>
<div class="sp-edit-form">
<el-form
ref="editPopupForm"
:model="data_"
:rules="rules"
label-width="120px"
>
<el-form-item label="角色名称" required prop="name">
<el-input
v-model="data_.name"
placeholder="请输入角色名称"
></el-input>
</el-form-item>
<el-form-item label="角色代码" required prop="code">
<el-input
v-model="data_.code"
placeholder="请输入角色代码"
></el-input>
</el-form-item>
<el-form-item label="角色类型" required prop="type">
<el-select v-model="data_.type" placeholder="请选择角色类型">
<el-option
v-for="item in roleOptions"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</el-select>
</el-form-item>
</el-form>
</div>
<template #footer>
<div class="sp-edit-form-btn">
<el-button @click="close">取 消</el-button>
<el-button type="primary" @click="submit">
确 定
</el-button>
</div>
</template>
</el-dialog>
</div>
</template>
<script>
import { saveRoleData, updateRoleData } from '@/api/roles';
export default {
name: 'DictEditPopup',
components: {},
props: {
visible: {
type: Boolean,
default: false
},
title: {
type: String,
default: '编辑'
},
data: {
type: Object,
default: function() {
return {};
}
}
},
data() {
return {
data_: {},
roleOptions: [
{
value: 'R0',
label: '操作角色'
},
{
value: 'R1',
label: '工作流角色'
}
],
rules: {
name: [{ required: true, message: '请输入角色名称' }],
code: [{ required: true, message: '请输入角色代码' }],
type: [{ required: true, message: '请选择角色类型' }]
}
};
},
methods: {
initDialog() {
this.data_ = this.data;
if (this.data_.id) {
this.title = '编辑';
} else {
this.title = '新增';
}
},
submit() {
this.$refs['editPopupForm'].validate(valid => {
if (valid) {
if (this.data_.id) {
this.updateData();
} else {
this.addData();
}
} else {
return false;
}
});
},
addData() {
const _that = this;
saveRoleData(this.data_).then(res => {
const { code, message, data } = { ...res };
// 通过中间路由刷新当前路由
_that.$nextTick(() => {
_that.$notify({
title: '成功',
message: '添加成功',
type: 'success',
duration: 2000,
onClose: function() {
_that.$router.replace('/refresh');
}
});
});
});
},
updateData() {
const _that = this;
updateRoleData(this.data_).then(res => {
const { code, message, data } = { ...res };
// 通过中间路由刷新当前路由
_that.$nextTick(() => {
_that.$notify({
title: '成功',
message: '修改成功',
type: 'success',
duration: 2000,
onClose: function() {
_that.$router.replace('/refresh');
}
});
});
});
},
close() {
this.$emit('update:visible', false);
}
}
};
</script>
<!--
* @Author: 一日看尽长安花
* @since: 2020-07-12 16:32:51
* @LastEditTime: 2020-08-02 13:26:52
* @LastEditors: 一日看尽长安花
* @Description:
-->
<template>
<div class="sp-view-page">
<div class="sp-search-inline-pane">
<el-form :inline="true" :model="searchData">
<el-form-item label="编码">
<el-input
v-model="searchData.code"
placeholder="请输入编码"
></el-input>
</el-form-item>
<el-form-item label="名称">
<el-input
v-model="searchData.name"
placeholder="请输入名称"
></el-input>
</el-form-item>
</el-form>
</div>
<div class="sp-opr-btn-group">
<div class="sp-func-btn">
<el-button class="el-icon-plus" type="primary" @click="addRecord">
增加
</el-button>
</div>
<div class="sp-func-btn">
<el-button
class="el-icon-delete-solid"
type="primary"
@click="delRecord"
>
删除
</el-button>
</div>
<div class="sp-func-btn">
<el-button
class="el-icon-delete-solid"
type="primary"
@click="delRecord"
>
查看用户
</el-button>
</div>
<div class="sp-search-btn">
<el-button class="el-icon-search" type="primary" @click="onSearch">
查询
</el-button>
</div>
</div>
<el-table
ref="dataTable"
:data="tableData"
border
fit
highlight-current-row
>
<el-table-column label="#" type="selection"> </el-table-column>
<el-table-column prop="id" label="id"> </el-table-column>
<el-table-column prop="code" label="角色代码"> </el-table-column>
<el-table-column prop="name" label="角色名称"> </el-table-column>
<el-table-column prop="type_text" label="角色类型"> </el-table-column>
<el-table-column prop="create_time" label="创建时间">
<template slot-scope="scope">
<span>
{{ scope.row.create_time | parseTime('{y}-{m}-{d} {h}:{i}') }}
</span>
</template></el-table-column
>
<el-table-column label="操作" width="150">
<template slot-scope="scope">
<el-button size="mini" @click="handleEdit(scope.$index, scope.row)">
编辑
</el-button>
<el-button
size="mini"
type="danger"
@click="handleDelete(scope.$index, scope.row)"
>
删除
</el-button>
</template>
</el-table-column>
</el-table>
<pagination
v-show="pageQuery.total > 0"
:total="pageQuery.total"
:page.sync="pageQuery.page"
:limit.sync="pageQuery.limit"
@pagination="getList"
/>
<edit-popup :visible.sync="editVisible" :data="rowData"></edit-popup>
</div>
</template>
<script>
import Pagination from '@/components/Pagination'; // secondary package based on el-pagination
import EditPopup from './edit_popup';
import { getRoles, getRoleById, deleteRoleData } from '@/api/roles';
import { download } from '@/api/file';
export default {
name: 'RoleManager',
components: { Pagination, EditPopup },
props: {},
data() {
return {
searchData: {},
tableData: [],
loading: true,
pageQuery: { page: 1, limit: 10, total: 0 },
editVisible: false,
rowData: {}
};
},
mounted() {
this.getList();
},
methods: {
getList() {
const queryParam = Object.assign({}, this.searchData, this.pageQuery);
getRoles(queryParam).then(res => {
const { code, message, data, count, total } = { ...res };
this.pageQuery.total = total;
this.tableData = data;
});
},
onSearch() {
this.getList();
},
addRecord() {
this.rowData = {};
this.editVisible = true;
},
handleEdit(index, row) {
this.rowData = row;
this.editVisible = true;
},
handleDelete(index, row) {
const Vue = this;
this.$confirm('确定删除该角色?', '删除', {
type: 'warning '
})
.then(() => {
deleteRoleData({ ids: [row.id] })
.then(result => {
this.$nextTick(() => {
this.$notify({
title: '成功',
message: '删除角色数据成功',
type: 'success',
duration: 2000,
onClose: function() {
Vue.$router.replace('/refresh');
}
});
});
})
.catch(err => {
this.$nextTick(() => {
this.$notify({
title: '失败',
message: '删除角色数据失败',
type: 'error',
duration: 2000
});
});
});
})
.catch(action => {});
},
delRecord() {
const _table = this.$refs.dataTable;
const isSelection = _table.selection.length > 0 ? true : false;
if (!isSelection) {
this.$message({
type: 'warning',
message: '请选择数据'
});
return;
}
this.$confirm('确定删除所选角色?', '删除', {
type: 'warning '
}).then(() => {
const _selList = _table.selection;
const ids = _selList.map(item => item.id);
deleteRoleData({ ids: ids }).then(response => {
const { code, message, data } = { ...response };
this.onSearch();
});
});
}
}
};
</script>
<style scoped>
.sp-view-page {
padding: 5px 10px;
}
.sp-opr-btn-group {
display: flex;
align-items: center;
justify-content: flex-start;
padding: 3px 0;
column-gap: 5px;
}
.sp-func-btn {
}
.sp-search-btn {
position: absolute;
right: 5px;
}
</style>
Supports Markdown
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