1、升级优化

master
wangbing 5 years ago
parent 4dd9c20bce
commit 3fd6701831

@ -7,10 +7,12 @@ import xyz.wbsite.dbtool.javafx.manger.ProjectManager;
import xyz.wbsite.dbtool.javafx.manger.XmlManager; import xyz.wbsite.dbtool.javafx.manger.XmlManager;
import xyz.wbsite.dbtool.javafx.po.*; import xyz.wbsite.dbtool.javafx.po.*;
import xyz.wbsite.dbtool.javafx.tool.Tool; import xyz.wbsite.dbtool.javafx.tool.Tool;
import xyz.wbsite.dbtool.web.framework.IDgenerator;
import java.io.File; import java.io.File;
import java.util.Date; import java.util.Date;
import java.util.HashMap; import java.util.HashMap;
import java.util.UUID;
import java.util.concurrent.Callable; import java.util.concurrent.Callable;
public class SpringBootCallable implements Callable { public class SpringBootCallable implements Callable {
@ -723,13 +725,23 @@ public class SpringBootCallable implements Callable {
Tool.outputResource(option + "/resources/templates/layout/index.ftl", new File(layout.getAbsolutePath(), "index.ftl")); Tool.outputResource(option + "/resources/templates/layout/index.ftl", new File(layout.getAbsolutePath(), "index.ftl"));
Tool.outputResource(option + "/resources/templates/layout/app.ftl", new File(layout.getAbsolutePath(), "app.ftl")); Tool.outputResource(option + "/resources/templates/layout/app.ftl", new File(layout.getAbsolutePath(), "app.ftl"));
Tool.outputResource(option + "/resources/templates/screen/demo.ftl", new File(screen.getAbsolutePath(), "demo.ftl")); Tool.outputResource(option + "/resources/templates/screen/demo.ftl", new File(screen.getAbsolutePath(), "demo.ftl"));
Tool.outputResource(option + "/resources/templates/screen/index.ftl", new File(screen.getAbsolutePath(), "index.ftl"));
Tool.outputResource(option + "/resources/templates/screen/home.ftl", new File(screen.getAbsolutePath(), "home.ftl")); Tool.outputResource(option + "/resources/templates/screen/home.ftl", new File(screen.getAbsolutePath(), "home.ftl"));
Tool.outputResource(option + "/resources/templates/screen/login.ftl", new File(screen.getAbsolutePath(), "login.ftl")); Tool.outputResource(option + "/resources/templates/screen/login.ftl", new File(screen.getAbsolutePath(), "login.ftl"));
Tool.outputResource(option + "/resources/templates/403.ftl", new File(templates.getAbsolutePath(), "403.ftl")); Tool.outputResource(option + "/resources/templates/403.ftl", new File(templates.getAbsolutePath(), "403.ftl"));
Tool.outputResource(option + "/resources/templates/404.ftl", new File(templates.getAbsolutePath(), "404.ftl")); Tool.outputResource(option + "/resources/templates/404.ftl", new File(templates.getAbsolutePath(), "404.ftl"));
Tool.outputResource(option + "/resources/templates/500.ftl", new File(templates.getAbsolutePath(), "500.ftl")); Tool.outputResource(option + "/resources/templates/500.ftl", new File(templates.getAbsolutePath(), "500.ftl"));
{
HashMap<String, Object> ctx = new HashMap<String, Object>();
ctx.put("basePackage", project.getProjectBasePackage());
ctx.put("tool", new Tool());
ctx.put("author", project.getProjectAuthor());
ctx.put("date", new Date());
ctx.put("modules", project.getModules());
freeMarkerManager.outputTemp(new File(screen.getAbsolutePath(), "index.ftl"), option + "/resources/templates/screen/index.ftl", ctx);
}
for (Module mo : project.getModules()) { for (Module mo : project.getModules()) {
if (mo.isHasSysFields()) {//标准模型才好生成简单的htm if (mo.isHasSysFields()) {//标准模型才好生成简单的htm

@ -3,6 +3,7 @@ package xyz.wbsite.dbtool.javafx.tool;
import java.io.*; import java.io.*;
import java.net.URL; import java.net.URL;
import java.util.List; import java.util.List;
import java.util.UUID;
import java.util.regex.Matcher; import java.util.regex.Matcher;
import java.util.regex.Pattern; import java.util.regex.Pattern;
@ -60,7 +61,9 @@ public class Tool {
return sb.toString().toLowerCase(); return sb.toString().toLowerCase();
} }
public static String uuid() {
return UUID.randomUUID().toString();
}
/** /**
* FileCreateRequest -> file * FileCreateRequest -> file
* *

@ -12,22 +12,24 @@
background-color="#252a2f" background-color="#252a2f"
text-color="#d6d6d6" text-color="#d6d6d6"
active-text-color="#ffd04b"> active-text-color="#ffd04b">
<el-submenu index="1"> <el-submenu index="${tool.uuid()}" >
<template slot="title"> <template slot="title">
<i class="el-icon-setting"></i> <i class="el-icon-setting"></i>
<span>系统设置</span> <span slot="title">系统设置</span>
</template> </template>
<el-menu-item index="1-1">用户管理</el-menu-item> <el-menu-item index="${tool.uuid()}" @click="addTab({title: '用户管理', name: 'usersManager', url: 'about:blank'})">用户管理</el-menu-item>
<el-menu-item index="1-2">机构管理</el-menu-item>
<el-menu-item index="1-3">角色管理</el-menu-item>
</el-submenu> </el-submenu>
<el-submenu index="2"> <#list modules as item>
<el-submenu index="${tool.uuid()}">
<template slot="title"> <template slot="title">
<i class="el-icon-time"></i> <i class="el-icon-time"></i>
<span slot="title">日志管理</span> <span slot="title">${item.moduleComment}</span>
</template> </template>
<el-menu-item index="2-1">登录日志</el-menu-item> <#list item.tables as table>
<el-menu-item index="${tool.uuid()}" @click="addTab({title: '${table.tableComment}', name: '${table.tableName}', url: '${r"${context}"}/${item.moduleName}/${table.getFName()}.htm'})">${table.tableComment}</el-menu-item>
</#list>
</el-submenu> </el-submenu>
</#list>
</el-menu> </el-menu>
</div> </div>
@ -41,23 +43,32 @@
<div class="menu"> <div class="menu">
<ul> <ul>
<li>
<el-input
size="mini"
placeholder="请输入搜索内容">
<i slot="prefix" class="el-input__icon el-icon-search"></i>
</el-input>
</li>
<li> <li>
<el-link :underline="false" @click="onHome" icon="el-icon-message-solid"><span <el-link :underline="false" @click="onHome" icon="el-icon-message-solid"><span
style="line-height: 20px;"><el-badge is-dot class="item">消息</el-badge></span></el-link> style="line-height: 20px;"><el-badge is-dot class="item">消息</el-badge></span></el-link>
</li> </li>
<li> <li>
<el-dropdown> <el-dropdown>
<el-link :underline="false" @click="onHome" icon="el-icon-user-solid">我的</el-link> <el-link :underline="false" @click="onHome" icon="el-icon-user-solid">账户信息</el-link>
<el-dropdown-menu slot="dropdown"> <el-dropdown-menu slot="dropdown">
<el-dropdown-item>修改信息</el-dropdown-item> <el-dropdown-item>个人信息</el-dropdown-item>
<el-dropdown-item>修改密码</el-dropdown-item> <el-dropdown-item>修改密码</el-dropdown-item>
<el-dropdown-item>退出登录</el-dropdown-item>
</el-dropdown-menu> </el-dropdown-menu>
</el-dropdown> </el-dropdown>
</li> </li>
<li> <li>
<el-link :underline="false" @click="onHome" icon="el-icon-warning">关于</el-link> <el-link :underline="false" @click="onHome" icon="el-icon-warning-outline">系统版本</el-link>
</li>
<li>
<el-link :underline="false" icon="el-icon-switch-button"></el-link>
</li> </li>
</ul> </ul>
</div> </div>
@ -275,7 +286,7 @@
this.addTab({ this.addTab({
title: '首页', title: '首页',
name: 'home', name: 'home',
url: '${contextPath}/home.htm' url: '${r"${contextPath}"}/home.htm'
}) })
}, },
collapseSwitch: function () { collapseSwitch: function () {
@ -288,18 +299,7 @@
}, },
handleSelect: function (index) { handleSelect: function (index) {
switch (index) {
case "1-1":
this.addTab({title: "用户管理", name: "usersManager", url: "about:blank"});
break;
case "1-2":
this.addTab({title: "机构管理", name: "departmentsManager", url: "about:blank"});
break;
case "1-3":
this.addTab({title: "角色管理", name: "rolesManager", url: "about:blank"});
break;
}
return false;
}, },
addTab: function (tab) { addTab: function (tab) {
//查找是否存在该tab //查找是否存在该tab

@ -3,8 +3,8 @@
<el-form :inline="true" :model="vm" ref="vm" label-width="90px"> <el-form :inline="true" :model="vm" ref="vm" label-width="90px">
<#list fields as item> <#list fields as item>
<#if item.isQuery> <#if item.isQuery>
<el-form-item label="${item.fieldComment}" prop="${item.getFName()}"> <el-form-item label="${item.fieldComment?default("")}" prop="${item.getFName()}">
<el-input v-model="vm.${item.getFName()}" clearable size="small" placeholder=""></el-input> <el-input v-model="vm.${item.getFName()}" clearable size="small" placeholder="请输入${item.fieldComment?default("")}"></el-input>
</el-form-item> </el-form-item>
</#if> </#if>
</#list> </#list>
@ -22,14 +22,13 @@
</el-button> </el-button>
<el-button type="warning" size="small" icon="el-icon-download">导出</el-button> <el-button type="warning" size="small" icon="el-icon-download">导出</el-button>
<el-dialog :title="form.title" :visible.sync="form.dialog"> <el-dialog class="form" :title="form.title" :visible.sync="form.dialog">
<el-form :model="form" :rules="formRules" ref="form" label-width="90px" <el-form :model="form" :inline="true" :rules="formRules" ref="form" label-width="90px">
style="width: 290px;">
<#list fields as item> <#list fields as item>
<#if item.isQuery && !item.isSystem> <#if item.isQuery && !item.isSystem>
<el-form-item label="${item.fieldComment}" prop="${item.getFName()}"> <el-form-item label="${item.fieldComment?default("")}" prop="${item.getFName()}">
<el-input v-model="form.${item.getFName()}" clearable size="small" placeholder=""></el-input> <el-input v-model="form.${item.getFName()}" clearable size="small" placeholder="请输入${item.fieldComment?default("")}"></el-input>
</el-form-item> </el-form-item>
</#if> </#if>
</#list> </#list>
</el-form> </el-form>
@ -42,16 +41,18 @@
<el-col :span="12"> <el-col :span="12">
<el-button-group style="float: right;"> <el-button-group style="float: right;">
<el-button size="small" icon="el-icon-delete" @click="onBitchDelete"></el-button>
<el-button size="small" icon="el-icon-refresh" @click="onFind"></el-button> <el-button size="small" icon="el-icon-refresh" @click="onFind"></el-button>
</el-button-group> </el-button-group>
</el-col> </el-col>
</el-row> </el-row>
<el-table <el-table
style="margin-top: 10px"
@selection-change="onSelectionChange" @selection-change="onSelectionChange"
empty-text="无数据" empty-text="无数据"
:data="result" :data="result"
size="small" size="mini"
style="width: 100%"> style="width: 100%">
<el-table-column <el-table-column
align="center" align="center"
@ -63,13 +64,14 @@
<el-table-column <el-table-column
align="center" align="center"
prop="${item.getFName()}" prop="${item.getFName()}"
label="${item.fieldComment}"> label="${item.fieldComment?default("")}">
</el-table-column> </el-table-column>
</#if> </#if>
</#list> </#list>
<el-table-column <el-table-column
align="center" align="center"
prop="createTime" prop="createTime"
width="140"
label="创建时间"> label="创建时间">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@ -91,6 +93,7 @@
</el-table> </el-table>
<el-pagination <el-pagination
style="margin-top: 10px"
v-if="vm.totalCount > vm.pageSize" v-if="vm.totalCount > vm.pageSize"
@current-change="onPage" @current-change="onPage"
:current-page="vm.pageNumber" :current-page="vm.pageNumber"
@ -108,6 +111,9 @@
.box-card { .box-card {
margin: 10px; margin: 10px;
} }
.form .el-dialog{
width: 700px;
}
</style> </style>
<script> <script>
var app = new Vue({ var app = new Vue({
@ -135,11 +141,18 @@
rowVersion: "" rowVersion: ""
}, },
formRules: { formRules: {
code: [ <#list fields as field>
{required: true, message: '部门代码不能为空', trigger: 'blur'}, <#if !field.isSystem>
{min: 1, max: 100, message: '长度在 1 到 50 个字符', trigger: 'blur'} ${field.getFName()}: [
<#if field.isMust>
{required: true, message: '${field.fieldComment?default("")}不能为空', trigger: 'blur'},
</#if>
<#if field.fieldType?contains("String_") && field.fieldType != 'String_super'>
{min: 1, max: ${field.fieldLength}, message: '${field.fieldComment?default("")}长度在 1 到 ${field.fieldLength} 个字符', trigger: 'blur'}
</#if>
], ],
</#if>
</#list>
}, },
select: [], select: [],
result: [], result: [],
@ -159,7 +172,7 @@
nav.e(response.errors[0].message); nav.e(response.errors[0].message);
} else { } else {
this.result = response.result; this.result = response.result;
this.totalCount = Number(response.totalCount); this.vm.totalCount = Number(response.totalCount);
} }
}.bind(this)) }.bind(this))
}, },
@ -167,6 +180,25 @@
this.vm.pageNumber = pageNumber; this.vm.pageNumber = pageNumber;
this.onFind(); this.onFind();
}, },
onBitchDelete: function () {
if (this.select.length === 0) {
nav.e("尚未选择数据列");
return;
}
this.select.forEach(function (item) {
ajax.user1Delete({id: item.id}).then(function (response) {
if (response.errors.length > 0) {
nav.e(response.errors[0].message);
} else {
this.select.remove(item);
if (this.select.length===0){
nav.s("删除成功");
this.onFind();
}
}
}.bind(this))
}.bind(this))
},
onSelectionChange: function (select) { onSelectionChange: function (select) {
this.select = select; this.select = select;
}, },
@ -175,7 +207,7 @@
const item = arg[1]; const item = arg[1];
switch (action) { switch (action) {
case "create": case "create":
this.form.title = "${table.tableComment}新增"; this.form.title = "${table.tableComment?default("")}新增";
this.form.dialog = true; this.form.dialog = true;
this.form.id = ""; this.form.id = "";
<#list fields as item> <#list fields as item>
@ -206,7 +238,7 @@
} }
break; break;
case "edit": case "edit":
this.form.title = "${table.tableComment}编辑"; this.form.title = "${table.tableComment?default("")}编辑";
this.form.dialog = true; this.form.dialog = true;
this.form.id = item.id; this.form.id = item.id;
<#list fields as item> <#list fields as item>

Loading…
Cancel
Save

Powered by TurnKey Linux.