代码生成功能优化

This commit is contained in:
izory 2021-09-23 07:16:09 +08:00
parent e14b5c7a1e
commit 945d8db170
9 changed files with 329 additions and 326 deletions

View File

@ -7,7 +7,7 @@ namespace Infrastructure
public class OptionsSetting public class OptionsSetting
{ {
public static string ConnAdmin = "conn_zrAdmin"; public static string ConnAdmin = "conn_zrAdmin";
public static string ConnDbType = "dbType"; public static string ConnDbType = "conn_zrAdmin_Type";
public static string DbKey = "DbKey"; public static string DbKey = "DbKey";
public string Redis { get; set; } public string Redis { get; set; }

View File

@ -24,6 +24,7 @@
<!--${basedir}表示当前应用程序域所在的根目录--> <!--${basedir}表示当前应用程序域所在的根目录-->
<target name="allfile" xsi:type="File" <target name="allfile" xsi:type="File"
fileName="${basedir}/adminlogs/nlog-all-${shortdate}.log" fileName="${basedir}/adminlogs/nlog-all-${shortdate}.log"
archiveFileName="${basedir}/adminlogs/all/all.{###}.txt"
archiveAboveSize="20000000" archiveAboveSize="20000000"
maxArchiveFiles="30" maxArchiveFiles="30"
keepFileOpen="false" keepFileOpen="false"

View File

@ -9,6 +9,7 @@
"ConnectionStrings": { "ConnectionStrings": {
"conn_zrAdmin": "server=127.0.0.1;user=zr;pwd=abc;database=admin" "conn_zrAdmin": "server=127.0.0.1;user=zr;pwd=abc;database=admin"
}, },
"conn_zrAdmin_Type": 0, //MySql = 0, SqlServer = 1
"urls": "http://localhost:8888", //url "urls": "http://localhost:8888", //url
"sysConfig": { "sysConfig": {
"DBCommandTimeout": 10, "DBCommandTimeout": 10,
@ -16,7 +17,6 @@
}, },
"DemoMode": false, // "DemoMode": false, //
"DbKey": "", //key "DbKey": "", //key
"DbType": 0, //MySql = 0, SqlServer = 1
"Upload": { "Upload": {
"UploadDirectory": "/", "UploadDirectory": "/",
"UploadUrl": "http://localhost:8888" "UploadUrl": "http://localhost:8888"

View File

@ -30,14 +30,14 @@
{VueViewListContent} {VueViewListContent}
<el-table-column label="操作" align="center" width="200"> <el-table-column label="操作" align="center" width="200">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button size="mini" v-hasPermi="['{Permission}:update']" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)">编辑</el-button> <el-button v-hasPermi="['{Permission}:update']" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)">编辑</el-button>
<el-popconfirm title="确定删除吗?" @confirm="handleDelete(scope.row)" style="margin-left:10px"> <el-popconfirm title="确定删除吗?" @confirm="handleDelete(scope.row)" style="margin-left:10px">
<el-button slot="reference" v-hasPermi="['{Permission}:delete']" size="mini" type="text" icon="el-icon-delete">删除</el-button> <el-button slot="reference" v-hasPermi="['{Permission}:delete']" type="text" icon="el-icon-delete">删除</el-button>
</el-popconfirm> </el-popconfirm>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<el-pagination class="mt10" background :total="total" :current-page.sync="queryParams.pageNum" :page-size="queryParams.pageSize" :page-sizes="[20, 30, 50, 100]" layout="total, sizes, prev, pager, next, jumper" @size-change="handleSizeChange" @current-change="getList" /> <pagination class="mt10" background :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" @pagination="getList" />
<!-- 添加或修改菜单对话框 --> <!-- 添加或修改菜单对话框 -->
<el-dialog :title="title" :lock-scroll="false" :visible.sync="open" > <el-dialog :title="title" :lock-scroll="false" :visible.sync="open" >
@ -67,7 +67,7 @@ export default {
return { return {
labelWidth: "100px", labelWidth: "100px",
formLabelWidth:"100px", formLabelWidth:"100px",
// 选中数组 // 选中{primaryKey}数组
ids: [], ids: [],
// 非单个禁用 // 非单个禁用
single: true, single: true,
@ -129,7 +129,7 @@ export default {
reset() { reset() {
this.form = { this.form = {
{VueViewEditFormContent} {VueViewEditFormContent}
//需个性化处理内容 //TODO 根据实际内容调整
}; };
this.resetForm("form"); this.resetForm("form");
}, },
@ -142,6 +142,7 @@ export default {
pageSize: 20, pageSize: 20,
//TODO 重置字段 //TODO 重置字段
}; };
this.handleQuery();
}, },
// 多选框选中数据 // 多选框选中数据
handleSelectionChange(selection) { handleSelectionChange(selection) {

View File

@ -1,7 +1,7 @@
import request from '@/utils/request' import request from '@/utils/request'
/** /**
* 测试分页查询 * 代码生成测试分页查询
* @param {查询条件} data * @param {查询条件} data
*/ */
export function listGendemo(query) { export function listGendemo(query) {
@ -13,7 +13,7 @@ export function listGendemo(query) {
} }
/** /**
* 新增测试 * 新增代码生成测试
* @param data * @param data
*/ */
export function addGendemo(data) { export function addGendemo(data) {
@ -25,7 +25,7 @@ export function addGendemo(data) {
} }
/** /**
* 修改测试 * 修改代码生成测试
* @param data * @param data
*/ */
export function updateGendemo(data) { export function updateGendemo(data) {
@ -37,8 +37,8 @@ export function updateGendemo(data) {
} }
/** /**
* 获取测试详情 * 获取代码生成测试详情
* @param {Id} 测试Id * @param {Id} 代码生成测试Id
*/ */
export function getGendemo(id) { export function getGendemo(id) {
return request({ return request({

View File

@ -44,7 +44,7 @@ export const constantRoutes = [
}, },
{ {
path: '/demo', path: '/demo',
component: (resolve) => require(['@/views/userInfo/index'], resolve), component: (resolve) => require(['@/views/gendemo/index'], resolve),
hidden: true hidden: true
}, },
{ {

View File

@ -2,10 +2,6 @@
<div class="app-container"> <div class="app-container">
<!-- :model属性用于表单验证使用 比如下面的el-form-item prop属性用于对表单值进行验证操作 --> <!-- :model属性用于表单验证使用 比如下面的el-form-item prop属性用于对表单值进行验证操作 -->
<el-form :model="queryParams" label-position="left" inline ref="queryForm" :label-width="labelWidth" v-show="showSearch" @submit.native.prevent> <el-form :model="queryParams" label-position="left" inline ref="queryForm" :label-width="labelWidth" v-show="showSearch" @submit.native.prevent>
<el-form-item label="名称" :label-width="labelWidth">
<el-input v-model="queryParams.name"/>
</el-form-item>
<el-row class="mb8" style="text-align:center"> <el-row class="mb8" style="text-align:center">
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button> <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
@ -30,47 +26,51 @@
<!-- 数据区域 --> <!-- 数据区域 -->
<el-table :data="dataList" ref="table" border @selection-change="handleSelectionChange"> <el-table :data="dataList" ref="table" border @selection-change="handleSelectionChange">
<el-table-column type="selection" width="50" /> <el-table-column type="selection" width="50" />
<el-table-column prop="id" label="自增id" align="center" width="100" /> <el-table-column prop="id" label="自增id" align="center" />
<el-table-column prop="name" label="名称" align="center" width="100" :show-overflow-tooltip="true" /> <el-table-column prop="name" label="名称" align="center" :show-overflow-tooltip="true" />
<el-table-column prop="icon" label="图片"> <el-table-column prop="icon" label="图片">
<template slot-scope="scope"> <template slot-scope="scope">
<el-image class="table-td-thumb" :src="scope.row.icon" :preview-src-list="[scope.row.icon]"></el-image> <el-image class="table-td-thumb" :src="scope.row.icon" :preview-src-list="[scope.row.icon]"></el-image>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="showStatus" label="显示状态" align="center" width="100" /> <el-table-column prop="showStatus" label="显示状态" align="center" />
<el-table-column prop="addTime" label="添加时间" align="center" width="100" /> <el-table-column prop="addTime" label="添加时间" align="center" />
<el-table-column prop="sex" label="用户性别" align="center" width="100" /> <el-table-column prop="sex" label="用户性别" align="center" :formatter="sexFormat" />
<el-table-column prop="sort" label="排序" align="center" width="100" /> <el-table-column prop="sort" label="排序" align="center" />
<el-table-column label="操作" align="center" width="200"> <el-table-column label="操作" align="center" width="200">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button size="mini" v-hasPermi="['gendemo:update']" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)">编辑</el-button> <el-button v-hasPermi="['gendemo:update']" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)">编辑</el-button>
<el-popconfirm title="确定删除吗?" @confirm="handleDelete(scope.row)" style="margin-left:10px"> <el-popconfirm title="确定删除吗?" @confirm="handleDelete(scope.row)" style="margin-left:10px">
<el-button slot="reference" v-hasPermi="['gendemo:delete']" size="mini" type="text" icon="el-icon-delete">删除</el-button> <el-button slot="reference" v-hasPermi="['gendemo:delete']" type="text" icon="el-icon-delete">删除</el-button>
</el-popconfirm> </el-popconfirm>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<el-pagination class="mt10" background :total="total" :current-page.sync="queryParams.pageNum" :page-size="queryParams.pageSize" :page-sizes="[20, 30, 50, 100]" layout="total, sizes, prev, pager, next, jumper" @size-change="handleSizeChange" @current-change="getList" /> <pagination class="mt10" background :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" @pagination="getList" />
<!-- 添加或修改菜单对话框 --> <!-- 添加或修改菜单对话框 -->
<el-dialog :title="title" :lock-scroll="false" :visible.sync="open" > <el-dialog :title="title" :lock-scroll="false" :visible.sync="open">
<el-form ref="form" :model="form" :rules="rules" :label-width="formLabelWidth"> <el-form ref="form" :model="form" :rules="rules" :label-width="formLabelWidth">
<el-form-item label="名称" :label-width="labelWidth" prop="name"> <el-form-item label="名称" :label-width="labelWidth" prop="name">
<el-input v-model="form.name" placeholder="请输入名称" /> <el-input v-model="form.name" placeholder="请输入名称" />
</el-form-item> </el-form-item>
<el-form-item label="图片" :label-width="labelWidth" prop="icon"> <el-form-item label="图片" :label-width="labelWidth" prop="icon">
<el-upload class="avatar-uploader" name="file" action="/api/upload/saveFile/" :show-file-list="false" :on-success="handleUploadiconSuccess" :before-upload="beforeFileUpload"> <el-upload class="avatar-uploader" name="file" action="/api/upload/saveFile/" :show-file-list="false" :on-success="handleUploadIconSuccess" :before-upload="beforeFileUpload">
<img v-if="form.icon" :src="form.icon" class="icon"> <img v-if="form.icon" :src="form.icon" class="icon">
<i v-else class="el-icon-plus uploader-icon"></i> <i v-else class="el-icon-plus uploader-icon"></i>
</el-upload> </el-upload>
<el-input v-model="form.icon" placeholder="请上传文件或手动输入文件地址"></el-input> <el-input v-model="form.icon" placeholder="请上传文件或手动输入文件地址"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="显示状态" :label-width="labelWidth" prop="showStatus"> <el-form-item label="显示状态" :label-width="labelWidth" prop="showStatus">
<el-input v-model.number="form.showStatus" placeholder="请输入显示状态" /> <el-radio-group v-model="form.showStatus">
<el-radio :key="1" :label="1"></el-radio>
<el-radio :key="0" :label="0"></el-radio>
</el-radio-group>
</el-form-item> </el-form-item>
<el-form-item label="用户性别" :label-width="labelWidth" prop="sex"> <el-form-item label="用户性别" :label-width="labelWidth" prop="sex">
<el-select v-model="form.sex" > <el-option v-for="item in sexOptions" :key="item.dictValue" :label="item.dictLabel" :value="item.dictValue"></el-option> <el-select v-model="form.sex">
<el-option v-for="item in sexOptions" :key="item.dictValue" :label="item.dictLabel" :value="parseInt(item.dictValue)"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="排序" :label-width="labelWidth" prop="sort"> <el-form-item label="排序" :label-width="labelWidth" prop="sort">
@ -92,16 +92,16 @@ import {
addGendemo, addGendemo,
delGendemo, delGendemo,
updateGendemo, updateGendemo,
getGendemo getGendemo,
} from '@/api/gendemo.js' } from "@/api/gendemo.js";
export default { export default {
name: 'Gendemo', name: "Gendemo",
data() { data() {
return { return {
labelWidth: "100px", labelWidth: "100px",
formLabelWidth:"100px", formLabelWidth: "100px",
// // id
ids: [], ids: [],
// //
single: true, single: true,
@ -122,7 +122,7 @@ export default {
// //
timeRange: [], timeRange: [],
// //
sexOptions: [], sexOptions: [],
// //
dataList: [], dataList: [],
// //
@ -131,16 +131,11 @@ sexOptions: [],
btnSubmitVisible: true, btnSubmitVisible: true,
// //
rules: { rules: {
id: [ id: [{ type: "number", message: "id必须为数字值", trigger: "blur" }],
{ type: 'number', message: 'id必须为数字值', trigger: "blur"}, name: [{ required: true, message: "请输入名称", trigger: "blur" }],
],
name: [
{ required: true, message: '请输入名称', trigger: "blur"},
],
showStatus: [ showStatus: [
{ required: true, message: '请输入显示状态', trigger: "blur"}, { required: true, message: "请输入显示状态", trigger: "blur" },
], ],
}, },
}; };
}, },
@ -151,17 +146,22 @@ sexOptions: [],
// this.getDicts("sys_normal_disable").then((response) => { // this.getDicts("sys_normal_disable").then((response) => {
// this.statusOptions = response.data; // this.statusOptions = response.data;
// }); // });
this.getDicts("sys_user_sex").then((response) => {
this.sexOptions = response.data;
});
}, },
methods: { methods: {
// //
getList() { getList() {
console.log(JSON.stringify(this.queryParams)); console.log(JSON.stringify(this.queryParams));
listGendemo(this.addDateRange(this.queryParams, this.timeRange)).then(res => { listGendemo(this.addDateRange(this.queryParams, this.timeRange)).then(
(res) => {
if (res.code == 200) { if (res.code == 200) {
this.dataList = res.data.result; this.dataList = res.data.result;
this.total = res.data.totalCount; this.total = res.data.totalCount;
} }
}) }
);
}, },
// //
cancel() { cancel() {
@ -172,13 +172,13 @@ sexOptions: [],
reset() { reset() {
this.form = { this.form = {
name: undefined, name: undefined,
icon: undefined, icon: undefined,
showStatus: undefined, showStatus: undefined,
addTime: undefined, addTime: undefined,
sex: undefined, sex: undefined,
sort: undefined, sort: undefined,
// //TODO
}; };
this.resetForm("form"); this.resetForm("form");
}, },
@ -191,11 +191,12 @@ sort: undefined,
pageSize: 20, pageSize: 20,
//TODO //TODO
}; };
this.handleQuery();
}, },
// //
handleSelectionChange(selection) { handleSelectionChange(selection) {
this.ids = selection.map((item) => item.id); this.ids = selection.map((item) => item.id);
this.single = selection.length!=1 this.single = selection.length != 1;
this.multiple = !selection.length; this.multiple = !selection.length;
}, },
/** 选择每页显示数量*/ /** 选择每页显示数量*/
@ -216,7 +217,8 @@ sort: undefined,
}, },
/** 删除按钮操作 */ /** 删除按钮操作 */
handleDelete(row) { handleDelete(row) {
delGendemo(row.id).then((res) => { const ids = row.id || this.ids;
delGendemo(ids.toString()).then((res) => {
this.msgSuccess("删除成功"); this.msgSuccess("删除成功");
this.handleQuery(); this.handleQuery();
}); });
@ -226,26 +228,31 @@ sort: undefined,
this.reset(); this.reset();
const id = row.id || this.ids; const id = row.id || this.ids;
getGendemo(id).then((res) => { getGendemo(id).then((res) => {
if(res.code == 200){ if (res.code == 200) {
this.form = res.data; this.form = res.data;
this.open = true; this.open = true;
this.title = "修改数据"; this.title = "修改数据";
} }
}); });
}, },
beforeFileUpload(file) { }, beforeFileUpload(file) {},
// //
handleUploadiconSuccess(res, file) { handleUploadIconSuccess(res, file) {
this.form.icon = URL.createObjectURL(file.raw); this.form.icon = URL.createObjectURL(file.raw);
// this.$refs.upload.clearFiles(); // this.$refs.upload.clearFiles();
}, },
//
sexFormat(row, column) {
return this.selectDictLabel(this.sexOptions, row.sex);
},
/** 提交按钮 */ /** 提交按钮 */
submitForm: function () { submitForm: function () {
this.$refs["form"].validate((valid) => { this.$refs["form"].validate((valid) => {
if (valid) { if (valid) {
console.log(JSON.stringify(this.form)); console.log(JSON.stringify(this.form));
if (this.form.id != undefined || this.title === '修改数据') { if (this.form.id != undefined || this.title === "修改数据") {
updateGendemo(this.form).then((res) => { updateGendemo(this.form).then((res) => {
this.msgSuccess("修改成功"); this.msgSuccess("修改成功");
this.open = false; this.open = false;

View File

@ -35,11 +35,7 @@
<template slot-scope="scope"> <template slot-scope="scope">
<el-button type="text" icon="el-icon-view" @click="handlePreview()">预览</el-button> <el-button type="text" icon="el-icon-view" @click="handlePreview()">预览</el-button>
<el-button type="text" icon="el-icon-edit" @click="handleEditTable(scope.row)">编辑</el-button> <el-button type="text" icon="el-icon-edit" @click="handleEditTable(scope.row)">编辑</el-button>
<el-button type="text" icon="el-icon-delete" @click="handleDelete(scope.row)" v-hasPermi="['tool:gen:delete']">删除</el-button>
<el-popconfirm title="确定删除吗?" @confirm="handleDelete(scope.row)" style="margin-left:10px">
<el-button slot="reference" v-hasPermi="['tool:gen:delete']" size="mini" type="text" icon="el-icon-delete">删除</el-button>
</el-popconfirm>
<el-button type="text" icon="el-icon-download" @click="handleShowDialog(scope.row)" v-hasPermi="['tool:gen:code']">生成代码</el-button> <el-button type="text" icon="el-icon-download" @click="handleShowDialog(scope.row)" v-hasPermi="['tool:gen:code']">生成代码</el-button>
</template> </template>
</el-table-column> </el-table-column>
@ -120,7 +116,7 @@ export default {
// //
tableIds: [], tableIds: [],
// //
multiple: true multiple: true,
}; };
}, },
created() { created() {
@ -206,21 +202,6 @@ export default {
} }
}); });
}, },
/**
* 选择每页显示数量
*/
// handleSizeChange(val) {
// this.pagination.pagesize = val;
// this.pagination.pageNum = 1;
// this.loadTableData();
// },
/**
* 选择当页面
*/
// handleCurrentChange(val) {
// this.pagination.pageNum = val;
// this.loadTableData();
// },
cancel() { cancel() {
this.showGenerate = false; this.showGenerate = false;
this.currentSelected = {}; this.currentSelected = {};
@ -231,18 +212,31 @@ export default {
}, },
handleDelete(row) { handleDelete(row) {
const tableIds = row.tableId || this.tableIds; const tableIds = row.tableId || this.tableIds;
delTable(tableIds.toString()).then(res => { this.$confirm("此操作将永久删除该文件, 是否继续?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(() => {
delTable(tableIds.toString()).then((res) => {
if (res.code == 200) { if (res.code == 200) {
this.msgSuccess('删除成功') this.msgSuccess("删除成功");
this.handleSearch(); this.handleSearch();
} }
});
}) })
.catch(() => {
this.$message({
type: "info",
message: "已取消删除",
});
});
}, },
handleSelectionChange(section) { handleSelectionChange(section) {
this.tableIds = section.map((item) => item.tableId); this.tableIds = section.map((item) => item.tableId);
this.multiple = !section.length; this.multiple = !section.length;
console.log(this.tableIds) console.log(this.tableIds);
}, },
}, },
}; };

View File

@ -27,44 +27,44 @@
<param name="data"></param> <param name="data"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="T:ZR.Admin.WebApi.Controllers.UserInfoController"> <member name="T:ZR.Admin.WebApi.Controllers.GendemoController">
<summary> <summary>
代码自动生成 代码自动生成
</summary> </summary>
</member> </member>
<member name="F:ZR.Admin.WebApi.Controllers.UserInfoController._UserInfoService"> <member name="F:ZR.Admin.WebApi.Controllers.GendemoController._GendemoService">
<summary> <summary>
用户信息接口 代码生成测试表接口
</summary> </summary>
</member> </member>
<member name="M:ZR.Admin.WebApi.Controllers.UserInfoController.QueryUserInfo(ZR.Model.Dto.UserInfoQueryDto)"> <member name="M:ZR.Admin.WebApi.Controllers.GendemoController.QueryGendemo(ZR.Model.Dto.GendemoQueryDto)">
<summary> <summary>
查询用户信息列表 查询代码生成测试表列表
</summary> </summary>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:ZR.Admin.WebApi.Controllers.UserInfoController.GetUserInfo(System.Int32)"> <member name="M:ZR.Admin.WebApi.Controllers.GendemoController.GetGendemo(System.Int32)">
<summary> <summary>
查询用户信息详情 查询代码生成测试表详情
</summary> </summary>
<param name="Luid"></param> <param name="Id"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:ZR.Admin.WebApi.Controllers.UserInfoController.AddUserInfo(ZR.Model.Dto.UserInfoDto)"> <member name="M:ZR.Admin.WebApi.Controllers.GendemoController.AddGendemo(ZR.Model.Dto.GendemoDto)">
<summary> <summary>
添加用户信息 添加代码生成测试表
</summary> </summary>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:ZR.Admin.WebApi.Controllers.UserInfoController.UpdateUserInfo(ZR.Model.Dto.UserInfoDto)"> <member name="M:ZR.Admin.WebApi.Controllers.GendemoController.UpdateGendemo(ZR.Model.Dto.GendemoDto)">
<summary> <summary>
更新用户信息 更新代码生成测试表
</summary> </summary>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:ZR.Admin.WebApi.Controllers.UserInfoController.DeleteUserInfo(System.String)"> <member name="M:ZR.Admin.WebApi.Controllers.GendemoController.DeleteGendemo(System.String)">
<summary> <summary>
删除用户信息 删除代码生成测试表
</summary> </summary>
<returns></returns> <returns></returns>
</member> </member>