优化代码生成模板

This commit is contained in:
不做码农
2021-12-02 17:44:46 +08:00
parent d08ecdd563
commit 84aeb9b27b
14 changed files with 329 additions and 235 deletions

View File

@@ -1,6 +1,6 @@
-- 菜单
INSERT INTO sys_menu(menuName, parentId, orderNum, path, component, isFrame, isCache, menuType, visible, status, perms, icon, create_by, create_time, remark)
VALUES ('${genTable.functionName}', ${parentId}, 1, '${genTable.ModuleName}/${replaceDto.ModelTypeName}', '${genTable.ModuleName}/${replaceDto.ViewsFileName}/index', 0, 0, 'C', '0', '0', '${replaceDto.PermissionPrefix}:list', 'icon1', '', sysdate(), '${genTable.functionName}菜单');
VALUES ('${genTable.functionName}', ${parentId}, 1, '${genTable.ModuleName}/${replaceDto.ModelTypeName}', '${genTable.ModuleName}/${genTable.BusinessName}/index', 0, 0, 'C', '0', '0', '${replaceDto.PermissionPrefix}:list', 'icon1', '', sysdate(), '${genTable.functionName}菜单');
-- 按钮父菜单id
SELECT @menuId := LAST_INSERT_ID();

View File

@@ -1,6 +1,6 @@
-- ${genTable.functionName}菜单
INSERT INTO sys_menu(menuName, parentId, orderNum, path, component, isFrame, isCache, menuType, visible, status, perms, icon, create_time, remark)
VALUES ('${genTable.functionName}', ${parentId}, 1, '${genTable.ModuleName}/${replaceDto.ModelTypeName}', '${genTable.ModuleName}/${replaceDto.ViewsFileName}/index', 0, 0, 'C', '0', '0', '${replaceDto.PermissionPrefix}:list', 'icon1', GETDATE(), '${genTable.functionName}');
VALUES ('${genTable.functionName}', ${parentId}, 1, '${genTable.ModuleName}/${genTable.BusinessName}', '${genTable.ModuleName}/${genTable.BusinessName}', 0, 0, 'C', '0', '0', '${replaceDto.PermissionPrefix}:list', 'icon1', GETDATE(), '${genTable.functionName}');
-- 按钮父菜单id
declare @menuId int = @@identity

View File

@@ -93,7 +93,11 @@ $end
return SUCCESS(_${replaceDto.ModelTypeName}Service.Insert(model, it => new
{
${InsertColumn}
$foreach(item in genTable.Columns)
$if((item.IsInsert))
it.$item.CsharpField,
$end
${end}
}));
}
@@ -116,7 +120,11 @@ ${InsertColumn}
var response = _${replaceDto.ModelTypeName}Service.Update(w => w.${replaceDto.PKName} == model.${replaceDto.PKName}, it => new ${replaceDto.ModelTypeName}()
{
//Update 字段映射
${UpdateColumn}
$foreach(item in genTable.Columns)
$if((item.IsEdit))
$item.CsharpField = model.$item.CsharpField,
$end
${end}
});
return SUCCESS(response);

View File

@@ -10,7 +10,7 @@ namespace ${options.ModelsNamespace}.Models
/// @author ${replaceDto.Author}
/// @date ${replaceDto.AddTime}
/// </summary>
[SugarTable("${replaceDto.TableName}")]
[SugarTable("${genTable.TableName}")]
public class ${replaceDto.ModelTypeName}
{
$foreach(item in genTable.Columns)

View File

@@ -0,0 +1,265 @@
<template>
<div class="app-container">
<!-- :model属性用于表单验证使用 比如下面的el-form-item 的 prop属性用于对表单值进行验证操作 -->
<el-form :model="queryParams" label-position="left" inline ref="queryForm" :label-width="labelWidth" v-show="showSearch" @submit.native.prevent>
${vueQueryFormHtml}
<el-row class="mb8" style="text-align:center">
<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-row>
</el-form>
<!-- 工具区域 -->
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button type="primary" v-hasPermi="['${replaceDto.PermissionPrefix}:add']" plain icon="el-icon-plus" size="mini" @click="handleAdd">新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="success" :disabled="single" v-hasPermi="['${replaceDto.PermissionPrefix}:update']" plain icon="el-icon-edit" size="mini" @click="handleUpdate">修改</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="danger" :disabled="multiple" v-hasPermi="['${replaceDto.PermissionPrefix}:delete']" plain icon="el-icon-delete" size="mini" @click="handleDelete">删除</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<!-- 数据区域 -->
<el-table :data="dataList" ref="table" border @selection-change="handleSelectionChange">
<el-table-column type="selection" width="50" />
${VueViewListContent}
<el-table-column label="操作" align="center" width="200">
<template slot-scope="scope">
<el-button v-hasPermi="['${replaceDto.PermissionPrefix}: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-button slot="reference" v-hasPermi="['${replaceDto.PermissionPrefix}:delete']" type="text" icon="el-icon-delete">删除</el-button>
</el-popconfirm>
</template>
</el-table-column>
</el-table>
<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-form ref="form" :model="form" :rules="rules" :label-width="formLabelWidth">
<el-row>
${VueViewFormContent}
</el-row>
</el-form>
<div slot="footer" class="dialog-footer" v-if="btnSubmitVisible">
<el-button @click="cancel">取 消</el-button>
<el-button type="primary" @click="submitForm">确 定</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import {
list${genTable.BusinessName},
add${genTable.BusinessName},
del${genTable.BusinessName},
update${genTable.BusinessName},
get${genTable.BusinessName}
} from '@/api/${genTable.ModuleName}/${lowerBusinessName}.js';
export default {
name: "${genTable.BusinessName}",
data() {
return {
labelWidth: "100px",
formLabelWidth:"100px",
// 选中${replaceDto.PKName}数组
ids: [],
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 遮罩层
loading: true,
// 显示搜索条件
showSearch: true,
// 查询参数
queryParams: {},
// 弹出层标题
title: "",
// 是否显示弹出层
open: false,
// 表单参数
form: {},
// 时间范围数组
timeRange: [],
$foreach(item in genTable.Columns)
$if((item.HtmlType == "radio" || item.HtmlType == "select"))
// ${item.ColumnComment}选项列表
${item.CsharpField2}Options: [],
$end
$end
$if(replaceDto.UploadFile == 1)
//文件上传地址
uploadUrl: process.env.VUE_APP_BASE_API + "upload/SaveFile",
$end
// 数据列表
dataList: [],
// 总记录数
total: 0,
// 提交按钮是否显示
btnSubmitVisible: true,
// 表单校验
rules: {
${VueViewEditFormRuleContent}
},
};
},
mounted() {
// 列表数据查询
this.getList();
$foreach(item in genTable.Columns)
$if((item.HtmlType == "radio" || item.HtmlType == "select") && item.DictType != "")
this.getDicts("${item.DictType}").then((response) => {
this.${item.CsharpField2}Options = response.data;
})
$end
$end
},
methods: {
// 查询数据
getList() {
console.log(JSON.stringify(this.queryParams));
list${genTable.BusinessName}(this.addDateRange(this.queryParams, this.timeRange)).then(res => {
if (res.code == 200) {
this.dataList = res.data.result;
this.total = res.data.totalNum;
}
})
},
// 取消按钮
cancel() {
this.open = false;
this.reset();
},
// 重置数据表单
reset() {
this.form = {
$foreach(item in genTable.Columns)
$if((item.IsEdit || item.IsInsert))
$item.ColumnName: undefined,
$end
$end
};
this.resetForm("form");
},
/** 重置查询操作 */
resetQuery() {
this.timeRange = [];
this.resetForm("queryForm");
this.queryParams = {
pageNum: 1,
pageSize: 20,
//TODO 重置字段
};
this.handleQuery();
},
// 多选框选中数据
handleSelectionChange(selection) {
this.ids = selection.map((item) => item.${replaceDto.PKName});
this.single = selection.length != 1
this.multiple = !selection.length;
},
/** 搜索按钮操作 */
handleQuery() {
this.getList();
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加";
},
/** 删除按钮操作 */
handleDelete(row) {
const Ids = row.${replaceDto.PKName} || this.ids;
del${genTable.BusinessName}(Ids).then((res) => {
this.msgSuccess("删除成功");
this.handleQuery();
});
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const ${replaceDto.PKName} = row.${replaceDto.PKName} || this.ids;
get${genTable.BusinessName}(${replaceDto.PKName}).then((res) => {
if (res.code == 200) {
this.form = res.data;
this.open = true;
this.title = "修改数据";
}
});
},
$if(replaceDto.UploadFile == 1)
//文件上传前判断方法
beforeFileUpload(file) {
const isJPG = file.type === "image/jpeg";
const isLt2M = file.size / 1024 / 1024 < 2;
if (!isJPG) {
this.msgError("上传图片只能是 JPG 格式!");
}
if (!isLt2M) {
this.msgError("上传图片大小不能超过 2MB!");
}
return isJPG && isLt2M;
},
$end
$foreach(item in genTable.Columns)
$if((item.HtmlType == "imageUpload" || item.HtmlType == "fileUpload"))
//${item.ColumnComment}上传成功方法
handleUpload${item.CsharpField}Success(res, file) {
this.form.$item.ColumnName = res.data;
// this.form.$item.ColumnName = URL.createObjectURL(file.raw);
// this.${refs}refs.upload.clearFiles();
},
$elseif((item.HtmlType == "radio" || item.HtmlType == "select") && item.DictType != "")
// ${item.ColumnComment}字典翻译
${item.ColumnName}Format(row, column) {
return this.selectDictLabel(this.${item.ColumnName}Options, row.${item.ColumnName});
},
$end
$end
/** 提交按钮 */
submitForm: function () {
this.${refs}refs["form"].validate((valid) => {
if (valid) {
console.log(JSON.stringify(this.form));
if (this.form.${replaceDto.PKName} != undefined || this.title === "修改数据") {
update${genTable.BusinessName}(this.form).then((res) => {
if (!res.data) {
this.msgError("修改失败");
return;
}
this.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
add${genTable.BusinessName}(this.form).then((res) => {
if (!res.data) {
this.msgError("新增失败");
return;
}
this.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
},
};
</script>
<style scoped>
.table-td-thumb {
width: 80px;
}
</style>

View File

@@ -4,7 +4,7 @@
* ${genTable.functionName}分页查询
* @param {查询条件} data
*/
export function list${replaceDto.ModelTypeName}(query) {
export function list${genTable.BusinessName}(query) {
return request({
url: '${genTable.ModuleName}/${replaceDto.ModelTypeName}/list',
method: 'get',
@@ -16,7 +16,7 @@ export function list${replaceDto.ModelTypeName}(query) {
* 新增${genTable.functionName}
* @param data
*/
export function add${replaceDto.ModelTypeName}(data) {
export function add${genTable.BusinessName}(data) {
return request({
url: '${genTable.ModuleName}/${replaceDto.ModelTypeName}',
method: 'post',
@@ -28,7 +28,7 @@ export function add${replaceDto.ModelTypeName}(data) {
* 修改${genTable.functionName}
* @param data
*/
export function update${replaceDto.ModelTypeName}(data) {
export function update${genTable.BusinessName}(data) {
return request({
url: '${genTable.ModuleName}/${replaceDto.ModelTypeName}',
method: 'PUT',
@@ -40,7 +40,7 @@ export function update${replaceDto.ModelTypeName}(data) {
* 获取${genTable.functionName}详情
* @param {Id}
*/
export function get${replaceDto.ModelTypeName}(id) {
export function get${genTable.BusinessName}(id) {
return request({
url: '${genTable.ModuleName}/${replaceDto.ModelTypeName}/' + id,
method: 'get'
@@ -51,7 +51,7 @@ export function get${replaceDto.ModelTypeName}(id) {
* 删除${genTable.functionName}
* @param {主键} pid
*/
export function del${replaceDto.ModelTypeName}(pid) {
export function del${genTable.BusinessName}(pid) {
return request({
url: '${genTable.ModuleName}/${replaceDto.ModelTypeName}/' + pid,
method: 'delete'