mirror of
https://gitee.com/dotnetchina/OpenAuth.Net.git
synced 2025-04-05 17:38:01 +08:00
实现主从表结构生成;
提取企业版共用组件AuthForm、AuthTable、AuthSelect; 修复大量已知Bug
This commit is contained in:
parent
4d7af5bedf
commit
3c20deb3df
@ -254,20 +254,20 @@ namespace OpenAuth.App
|
||||
public void CreateBusiness(CreateBusiReq req)
|
||||
{
|
||||
var sysTableInfo = Repository.FirstOrDefault(u => u.Id == req.Id);
|
||||
var tableColumns = _builderTableColumnApp.Find(req.Id);
|
||||
var mainColumns = _builderTableColumnApp.Find(req.Id);
|
||||
if (sysTableInfo == null
|
||||
|| tableColumns == null
|
||||
|| tableColumns.Count == 0)
|
||||
|| mainColumns == null
|
||||
|| mainColumns.Count == 0)
|
||||
throw new Exception("未能找到正确的模版信息");
|
||||
|
||||
//生成应用层
|
||||
GenerateApp(sysTableInfo,tableColumns);
|
||||
//生成应用层
|
||||
GenerateApp(sysTableInfo, mainColumns);
|
||||
|
||||
//生成应用层的请求参数
|
||||
GenerateAppReq(sysTableInfo, tableColumns);
|
||||
GenerateAppReq(sysTableInfo, mainColumns);
|
||||
|
||||
//生成WebApI接口
|
||||
GenerateWebApi(sysTableInfo, tableColumns);
|
||||
GenerateWebApi(sysTableInfo, mainColumns);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@ -286,14 +286,28 @@ namespace OpenAuth.App
|
||||
|
||||
CheckExistsModule(sysTableInfo.ModuleCode);
|
||||
|
||||
string domainContent = FileHelper.ReadFile(@"Template\\BuildApp.html");
|
||||
string domainContent = string.Empty;
|
||||
if (sysTableInfo.IsDynamicHeader) //使用动态头部的模版
|
||||
{
|
||||
domainContent = FileHelper.ReadFile(@"Template\\SingleTable\\BuildAppWithDynamicHeader.html");
|
||||
}
|
||||
else
|
||||
{
|
||||
domainContent = FileHelper.ReadFile(@"Template\\SingleTable\\BuildApp.html");
|
||||
}
|
||||
domainContent = domainContent
|
||||
.Replace("{TableName}", sysTableInfo.TableName)
|
||||
.Replace("{ModuleCode}", sysTableInfo.ModuleCode)
|
||||
.Replace("{ModuleName}", sysTableInfo.ModuleName)
|
||||
.Replace("{ClassName}", sysTableInfo.ClassName)
|
||||
.Replace("{StartName}", StratName);
|
||||
|
||||
|
||||
if (!string.IsNullOrEmpty(sysTableInfo.ForeignKey))
|
||||
{ //替换外键模版
|
||||
var foreignTemplate = $"objs = objs.Where(u => u.{sysTableInfo.ForeignKey} == request.{sysTableInfo.ForeignKey});";
|
||||
domainContent = domainContent
|
||||
.Replace("{ForeignKeyTemplate}", foreignTemplate);
|
||||
}
|
||||
|
||||
var primarykey = sysColumns.FirstOrDefault(u => u.IsKey);
|
||||
if (primarykey == null)
|
||||
@ -338,6 +352,14 @@ namespace OpenAuth.App
|
||||
.Replace("{ModuleName}", sysTableInfo.ModuleName)
|
||||
.Replace("{ClassName}", sysTableInfo.ClassName)
|
||||
.Replace("{StartName}", StratName);
|
||||
|
||||
if (!string.IsNullOrEmpty(sysTableInfo.ForeignKey))
|
||||
{ //替换外键模版
|
||||
var foreignTemplate = $" public string {sysTableInfo.ForeignKey} {{ get; set; }}";
|
||||
domainContent = domainContent
|
||||
.Replace("{ForeignKeyTemplate}", foreignTemplate);
|
||||
}
|
||||
|
||||
FileHelper.WriteFile(Path.Combine(appRootPath, $"{sysTableInfo.ModuleCode}\\Request"), $"Query{sysTableInfo.ClassName}ListReq.cs",
|
||||
domainContent);
|
||||
|
||||
@ -606,115 +628,93 @@ namespace OpenAuth.App
|
||||
throw new Exception("请提供vue项目的根目录,如:C:\\OpenAuth.Pro\\Client");
|
||||
}
|
||||
var sysTableInfo = Repository.FirstOrDefault(u => u.Id == req.Id);
|
||||
|
||||
if (!string.IsNullOrEmpty(sysTableInfo.ParentTableId))
|
||||
{
|
||||
throw new Exception("子表不能直接生成vue,请使用该表对应的父表生成vue或删除该表的父表");
|
||||
}
|
||||
|
||||
var tableColumns = _builderTableColumnApp.Find(req.Id);
|
||||
if (sysTableInfo == null
|
||||
|| tableColumns == null
|
||||
|| tableColumns.Count == 0)
|
||||
throw new Exception("未能找到正确的模版信息");
|
||||
|
||||
var domainContent = FileHelper.ReadFile(@"Template\\BuildVue.html");
|
||||
|
||||
StringBuilder dialogStrBuilder = new StringBuilder(); //编辑对话框
|
||||
StringBuilder tempBuilder = new StringBuilder(); //临时类的默认值属性
|
||||
var syscolums = tableColumns.OrderByDescending(c => c.Sort).ToList();
|
||||
|
||||
string[] eidtTye = new string[] { "select", "selectList", "checkbox" };
|
||||
if (syscolums.Exists(x => eidtTye.Contains(x.EditType) && string.IsNullOrEmpty(x.DataSource)))
|
||||
{
|
||||
throw new Exception($"编辑类型为[{string.Join(',', eidtTye)}]时必须选择数据源");
|
||||
}
|
||||
|
||||
foreach (BuilderTableColumn column in syscolums)
|
||||
{
|
||||
if (!column.IsEdit) continue;
|
||||
tempBuilder.Append($" {column.ColumnName.ToCamelCase()}: ");
|
||||
|
||||
dialogStrBuilder.Append($" <el-form-item size=\"small\" :label=\"'{column.Comment}'\" prop=\"{column.ColumnName.ToCamelCase()}\" v-if=\"Object.keys(temp).indexOf('{column.ColumnName.ToCamelCase()}')>=0\">\r\n");
|
||||
string domainContent = string.Empty;
|
||||
|
||||
if (column.EditType == "switch")
|
||||
//查找是否存在子表额情况
|
||||
var subTable = Repository.FirstOrDefault(u => u.ParentTableId == req.Id);
|
||||
|
||||
if (subTable == null) //如果子表不存在,则用单模版生成
|
||||
{
|
||||
if (sysTableInfo.IsDynamicHeader)
|
||||
{
|
||||
dialogStrBuilder.Append($" <el-switch v-model=\"temp.{column.ColumnName.ToCamelCase()}\" ></el-switch>\r\n");
|
||||
tempBuilder.Append($"false, //{column.Comment} \r\n");
|
||||
domainContent = FileHelper.ReadFile(@"Template\\SingleTable\\BuildVueWithDynamicHeader.html");
|
||||
}
|
||||
else if (column.EditType == "date")
|
||||
{
|
||||
dialogStrBuilder.Append($" <el-date-picker v-model=\"temp.{column.ColumnName.ToCamelCase()}\" type=\"date\" placeholder=\"选择日期\"> </el-date-picker>\r\n");
|
||||
tempBuilder.Append($"'', //{column.Comment} \r\n");
|
||||
}
|
||||
else if (column.EditType == "datetime")
|
||||
{
|
||||
dialogStrBuilder.Append($" <el-date-picker v-model=\"temp.{column.ColumnName.ToCamelCase()}\" type=\"datetime\" placeholder=\"选择日期时间\"> </el-date-picker>\r\n");
|
||||
tempBuilder.Append($"'', //{column.Comment} \r\n");
|
||||
}
|
||||
else if (column.EditType == "decimal") //小数
|
||||
{
|
||||
dialogStrBuilder.Append($" <el-input-number v-model=\"temp.{column.ColumnName.ToCamelCase()}\" :min=\"1\" :max=\"100\" ></el-input-number>\r\n");
|
||||
tempBuilder.Append($"0, //{column.Comment} \r\n");
|
||||
}
|
||||
else if (column.EditType =="number") //整数
|
||||
{
|
||||
dialogStrBuilder.Append($" <el-input-number v-model=\"temp.{column.ColumnName.ToCamelCase()}\" :min=\"1\" :max=\"100\" ></el-input-number>\r\n");
|
||||
tempBuilder.Append($"0, //{column.Comment} \r\n");
|
||||
}
|
||||
else if (column.EditType =="textarea")
|
||||
{
|
||||
dialogStrBuilder.Append($" <el-input type=\"textarea\" :rows=\"3\" v-model=\"temp.{column.ColumnName.ToCamelCase()}\"></el-input>\r\n");
|
||||
tempBuilder.Append($"'', //{column.Comment} \r\n");
|
||||
}
|
||||
else if (column.EditType =="select")
|
||||
{
|
||||
var categories = _categoryApp.LoadByTypeId(column.DataSource);
|
||||
if (categories.IsNullOrEmpty())
|
||||
{
|
||||
throw new Exception($"未能找到{column.DataSource}对应的值,请在分类管理里面添加");
|
||||
}
|
||||
|
||||
dialogStrBuilder.Append($" <el-select v-model=\"temp.{column.ColumnName.ToCamelCase()}\" placeholder=\"请选择\">\r\n");
|
||||
foreach (var category in categories)
|
||||
{
|
||||
dialogStrBuilder.Append($" <el-option label=\"{category.Name}\" value=\"{category.DtValue}\"> </el-option>\r\n");
|
||||
}
|
||||
dialogStrBuilder.Append(" </el-select>\r\n");
|
||||
tempBuilder.Append($"'', //{column.Comment} \r\n");
|
||||
}
|
||||
else if (column.EditType =="checkbox")
|
||||
{
|
||||
var categories = _categoryApp.LoadByTypeId(column.DataSource);
|
||||
if (categories.IsNullOrEmpty())
|
||||
{
|
||||
throw new Exception($"未能找到{column.DataSource}对应的值,请在分类管理里面添加");
|
||||
}
|
||||
|
||||
dialogStrBuilder.Append($" <el-checkbox-group v-model=\"temp.{column.ColumnName.ToCamelCase()}\">\r\n");
|
||||
foreach (var category in categories)
|
||||
{
|
||||
dialogStrBuilder.Append($" <el-checkbox label=\"{category.DtValue}\"></el-checkbox>\r\n");
|
||||
}
|
||||
dialogStrBuilder.Append(" </el-checkbox-group>\r\n");
|
||||
tempBuilder.Append($"[], //{column.Comment} \r\n");
|
||||
}
|
||||
else
|
||||
{
|
||||
dialogStrBuilder.Append($" <el-input v-model=\"temp.{column.ColumnName.ToCamelCase()}\"></el-input>\r\n");
|
||||
tempBuilder.Append($"'', //{column.Comment} \r\n");
|
||||
}
|
||||
|
||||
dialogStrBuilder.Append(" </el-form-item>\r\n");
|
||||
dialogStrBuilder.Append("\r\n");
|
||||
domainContent = FileHelper.ReadFile(@"Template\\SingleTable\\BuildVue.html");
|
||||
}
|
||||
|
||||
domainContent = domainContent.Replace("{ClassName}", sysTableInfo.ClassName)
|
||||
.Replace("{TableName}", sysTableInfo.ClassName.ToCamelCase())
|
||||
.Replace("{HeaderList}", BuilderHeader(tableColumns).ToString());
|
||||
}
|
||||
else //如果存在子表,则使用主从表生成
|
||||
{
|
||||
var subTableColumns = _builderTableColumnApp.Find(subTable.Id);
|
||||
if (subTableColumns.Count == 0)
|
||||
throw new Exception($"未找到子表{subTable.ClassName}的字段定义");
|
||||
|
||||
if (sysTableInfo.IsDynamicHeader)
|
||||
{
|
||||
domainContent = FileHelper.ReadFile(@"Template\\MultiTable\\BuildVueWithDynamicHeader.html");
|
||||
}
|
||||
else
|
||||
{
|
||||
domainContent = FileHelper.ReadFile(@"Template\\MultiTable\\BuildVue.html");
|
||||
}
|
||||
|
||||
domainContent = domainContent.Replace("{ParentTableId}", subTable.ForeignKey.ToCamelCase())
|
||||
.Replace("{FirstTableName}", sysTableInfo.ClassName.ToCamelCase())
|
||||
.Replace("{SecondTableName}", subTable.ClassName.ToCamelCase())
|
||||
.Replace("{FirstHeaderList}", BuilderHeader(tableColumns).ToString())
|
||||
.Replace("{SecondHeaderList}", BuilderHeader(subTableColumns).ToString());
|
||||
}
|
||||
|
||||
tempBuilder.Append(" nothing:'' //代码生成时的占位符,看不顺眼可以删除 \r\n");
|
||||
|
||||
domainContent = domainContent.Replace("{ClassName}", sysTableInfo.ClassName)
|
||||
.Replace("{TableName}", sysTableInfo.ClassName.ToCamelCase())
|
||||
.Replace("{Temp}", tempBuilder.ToString())
|
||||
.Replace("{DialogFormItem}", dialogStrBuilder.ToString());
|
||||
|
||||
|
||||
|
||||
FileHelper.WriteFile(Path.Combine(req.VueProjRootPath, $"src/views/{sysTableInfo.ClassName.ToLower()}s/"),
|
||||
$"index.vue",
|
||||
domainContent);
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 创建vue动态表头
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
private StringBuilder BuilderHeader(List<BuilderTableColumn> tableColumns)
|
||||
{
|
||||
StringBuilder headerListBuilder = new StringBuilder(); //临时类的默认值属性
|
||||
var syscolums = tableColumns.OrderByDescending(c => c.Sort).ToList();
|
||||
|
||||
//string[] eidtTye = new string[] { "select", "selectList", "checkbox" };
|
||||
//if (syscolums.Exists(x => eidtTye.Contains(x.EditType) && string.IsNullOrEmpty(x.DataSource)))
|
||||
//{
|
||||
// throw new Exception($"编辑类型为[{string.Join(',', eidtTye)}]时必须选择数据源");
|
||||
//}
|
||||
|
||||
foreach (BuilderTableColumn column in syscolums)
|
||||
{
|
||||
headerListBuilder.Append(
|
||||
$" new ColumnDefine('{column.ColumnName.ToCamelCase()}', '{column.Comment}', {column.IsEdit}, {column.IsList}, '{column.EditType}', '{column.DataSource}', '{column.EntityType}', '{column.ColumnType}', '{column.EntityName}'),");
|
||||
}
|
||||
|
||||
return headerListBuilder;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 创建vue接口
|
||||
/// </summary>
|
||||
@ -740,6 +740,24 @@ namespace OpenAuth.App
|
||||
FileHelper.WriteFile(Path.Combine(req.VueProjRootPath, $"src/api/"),$"{sysTableInfo.ClassName.ToCamelCase()}s.js",
|
||||
domainContent);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 加载所有的主表(parentId为空的)
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public async Task<TableData> AllMain()
|
||||
{
|
||||
var result = new TableData();
|
||||
var objs = UnitWork.Find<BuilderTable>(u =>string.IsNullOrEmpty(u.ParentTableId)).Select(u=>new
|
||||
{
|
||||
Id= u.Id,
|
||||
Name = u.TableName
|
||||
});
|
||||
|
||||
result.data = objs.OrderBy(u => u.Id).ToList();
|
||||
result.count = objs.Count();
|
||||
return result;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -33,9 +33,18 @@ namespace OpenAuth.App
|
||||
public void Update(AddOrUpdateResReq obj)
|
||||
{
|
||||
var user = _auth.GetCurrentUser().User;
|
||||
UnitWork.Update<Category>(u => u.Id == obj.Id, u => new Category
|
||||
UnitWork.Update<Resource>(u => u.Id == obj.Id, u => new Resource
|
||||
{
|
||||
Name = obj.Name,
|
||||
Disable = obj.Disable,
|
||||
CascadeId = obj.CascadeId,
|
||||
AppId = obj.AppId,
|
||||
AppName = obj.AppName,
|
||||
ParentId = obj.ParentId,
|
||||
ParentName = obj.ParentName,
|
||||
TypeId = obj.TypeId,
|
||||
TypeName = obj.TypeName,
|
||||
Description = obj.Description,
|
||||
UpdateTime = DateTime.Now,
|
||||
UpdateUserId = user.Id,
|
||||
UpdateUserName = user.Name
|
||||
@ -57,11 +66,10 @@ namespace OpenAuth.App
|
||||
throw new CommonException("登录已过期", Define.INVALID_TOKEN);
|
||||
}
|
||||
|
||||
var properties = loginContext.GetProperties("Resource");
|
||||
|
||||
if (properties == null || properties.Count == 0)
|
||||
var columnFields = loginContext.GetTableColumns("Resource");
|
||||
if (columnFields == null || columnFields.Count == 0)
|
||||
{
|
||||
throw new Exception("当前登录用户没有访问该模块字段的权限,请联系管理员配置");
|
||||
throw new Exception("请在代码生成界面配置Resource表的字段属性");
|
||||
}
|
||||
|
||||
|
||||
@ -77,8 +85,8 @@ namespace OpenAuth.App
|
||||
resources = resources.Where(u => u.AppId == request.appId);
|
||||
}
|
||||
|
||||
var propertyStr = string.Join(',', properties.Select(u => u.Key));
|
||||
result.columnHeaders = properties;
|
||||
var propertyStr = string.Join(',', columnFields.Select(u => u.ColumnName));
|
||||
result.columnFields = columnFields;
|
||||
result.data = resources.OrderBy(u => u.TypeId)
|
||||
.Skip((request.page - 1) * request.limit)
|
||||
.Take(request.limit).Select($"new ({propertyStr})");
|
||||
|
@ -28,11 +28,6 @@ namespace OpenAuth.App
|
||||
throw new CommonException("登录已过期", Define.INVALID_TOKEN);
|
||||
}
|
||||
|
||||
var properties = loginContext.GetProperties("WmsInboundOrderTbl");
|
||||
if (properties == null || properties.Count == 0)
|
||||
{
|
||||
throw new Exception("当前登录用户没有访问该模块字段的权限,请联系管理员配置");
|
||||
}
|
||||
|
||||
var columns = loginContext.GetTableColumns("WmsInboundOrderTbl");
|
||||
if (columns == null || columns.Count == 0)
|
||||
@ -42,7 +37,6 @@ namespace OpenAuth.App
|
||||
|
||||
var result = new TableData();
|
||||
|
||||
result.columnHeaders = properties;
|
||||
result.columnFields = columns;
|
||||
|
||||
var objs = GetDataPrivilege("u");
|
||||
@ -50,7 +44,7 @@ namespace OpenAuth.App
|
||||
{
|
||||
objs = objs.Where(u => u.Id.Contains(request.key));
|
||||
}
|
||||
var propertyStr = string.Join(',', properties.Select(u => u.Key));
|
||||
var propertyStr = string.Join(',', columns.Select(u => u.ColumnName));
|
||||
result.data = objs.OrderBy(u => u.Id)
|
||||
.Skip((request.page - 1) * request.limit)
|
||||
.Take(request.limit).Select($"new ({propertyStr})");
|
||||
|
@ -68,6 +68,6 @@
|
||||
</div>
|
||||
|
||||
<script type="text/javascript" src="/layui/layui.js"></script>
|
||||
<script type="text/javascript" src="/userJs/resources.js?v=1.5.1"></script>
|
||||
<script type="text/javascript" src="/userJs/resources.js?v=3.2.1"></script>
|
||||
|
||||
|
||||
|
@ -147,6 +147,6 @@
|
||||
</div>
|
||||
|
||||
<script type="text/javascript" src="/layui/layui.js"></script>
|
||||
<script type="text/javascript" src="/userJs/wmsinboundordertbls.js?v2.0.0"></script>
|
||||
<script type="text/javascript" src="/userJs/wmsinboundordertbls.js?v3.2.1"></script>
|
||||
|
||||
|
||||
|
@ -15,10 +15,10 @@
|
||||
$.getJSON('/Resources/Load',
|
||||
{ page: 1, limit: 1 },
|
||||
function (data) {
|
||||
var columns = data.columnHeaders.filter(u =>u.Browsable ===true).map(function (e) {
|
||||
var columns = data.columnFields.filter(u => u.IsList ===true).map(function (e) {
|
||||
return {
|
||||
field: e.Key,
|
||||
title: e.Description
|
||||
field: e.ColumnName,
|
||||
title: e.Comment
|
||||
};
|
||||
});
|
||||
columns.unshift({
|
||||
|
@ -15,12 +15,12 @@
|
||||
$.getJSON('/WmsInboundOrderTbls/Load',
|
||||
{ page: 1, limit: 1 },
|
||||
function (data) {
|
||||
var columns = data.columnHeaders.filter(u =>u.Browsable ===true).map(function (e) {
|
||||
return {
|
||||
field: e.Key,
|
||||
title: e.Description
|
||||
};
|
||||
});
|
||||
var columns = data.columnFields.filter(u => u.IsList === true).map(function (e) {
|
||||
return {
|
||||
field: e.ColumnName,
|
||||
title: e.Comment
|
||||
};
|
||||
});
|
||||
columns.unshift({
|
||||
type: 'checkbox',
|
||||
fixed: 'left'
|
||||
|
@ -73,6 +73,15 @@ namespace OpenAuth.WebApi.Controllers
|
||||
{
|
||||
return await _app.Load(request);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 加载所有的主表(parentId为空的)
|
||||
/// </summary>
|
||||
[HttpGet]
|
||||
public async Task<TableData> AllMain()
|
||||
{
|
||||
return await _app.AllMain();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 批量删除代码生成模版和对应的字段信息
|
||||
|
@ -14,6 +14,7 @@ namespace OpenAuth.WebApi.Controllers
|
||||
/// </summary>
|
||||
[Route("api/[controller]/[action]")]
|
||||
[ApiController]
|
||||
[ApiExplorerSettings(GroupName = "{ModuleName}接口_{ClassName}s")]
|
||||
public class {ClassName}sController : ControllerBase
|
||||
{
|
||||
private readonly {ModuleCode} _app;
|
||||
|
@ -2,6 +2,6 @@
|
||||
{
|
||||
public class Query{ClassName}ListReq : PageReq
|
||||
{
|
||||
|
||||
{ForeignKeyTemplate}
|
||||
}
|
||||
}
|
||||
|
@ -1,256 +0,0 @@
|
||||
<template>
|
||||
<div class="flex-column">
|
||||
<sticky :className="'sub-navbar'">
|
||||
<div class="filter-container">
|
||||
<el-input @keyup.enter.native="handleFilter" size="mini" style="width: 200px;" class="filter-item" :placeholder="'搜索关键字'" v-model="listQuery.key">
|
||||
</el-input>
|
||||
|
||||
<el-button class="filter-item" size="mini" v-waves icon="el-icon-search" @click="handleFilter">搜索</el-button>
|
||||
<permission-btn moduleName='{TableName}s' size="mini" v-on:btn-event="onBtnClicked"></permission-btn>
|
||||
</div>
|
||||
</sticky>
|
||||
<div class="app-container flex-item">
|
||||
|
||||
<div class="bg-white" style="height: 100%;">
|
||||
|
||||
<el-table ref="mainTable" height="calc(100% - 52px)" :key='tableKey' :data="list" v-loading="listLoading" border fit highlight-current-row
|
||||
style="width: 100%;" @row-click="rowClick" @selection-change="handleSelectionChange">
|
||||
|
||||
<el-table-column type="selection" align="center" width="55"></el-table-column>
|
||||
|
||||
<template v-for="(headerItem,index) in headerList">
|
||||
<el-table-column :label="headerItem.description" min-width="120px" :key="index">
|
||||
<template slot-scope="scope">
|
||||
<span>{{scope.row[headerItem.key]}}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</template>
|
||||
|
||||
<el-table-column align="center" :label="'操作'" width="230" class-name="small-padding fixed-width">
|
||||
<template slot-scope="scope">
|
||||
<el-button type="primary" size="mini" @click="handleUpdate(scope.row)">编辑</el-button>
|
||||
<el-button v-if="scope.row.disable!=true" size="mini" type="danger" @click="handleModifyStatus(scope.row,true)">停用</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<pagination v-show="total>0" :total="total" :page.sync="listQuery.page" :limit.sync="listQuery.limit" @pagination="handleCurrentChange" />
|
||||
</div>
|
||||
<el-dialog v-el-drag-dialog class="dialog-mini" width="500px" :title="textMap[dialogStatus]" :visible.sync="dialogFormVisible">
|
||||
<el-form :rules="rules" ref="dataForm" :model="temp" label-position="right" label-width="100px">
|
||||
{DialogFormItem}
|
||||
</el-form>
|
||||
<div slot="footer" >
|
||||
<el-button size="mini" @click="dialogFormVisible = false">取消</el-button>
|
||||
<el-button size="mini" v-if="dialogStatus=='create'" type="primary" @click="createData">确认</el-button>
|
||||
<el-button size="mini" v-else type="primary" @click="updateData">确认</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import * as {TableName}s from '@/api/{TableName}s'
|
||||
import waves from '@/directive/waves' // 水波纹指令
|
||||
import Sticky from '@/components/Sticky'
|
||||
import permissionBtn from '@/components/PermissionBtn'
|
||||
import Pagination from '@/components/Pagination'
|
||||
import elDragDialog from '@/directive/el-dragDialog'
|
||||
import extend from "@/extensions/delRows.js"
|
||||
export default {
|
||||
name: '{TableName}',
|
||||
components: { Sticky, permissionBtn, Pagination },
|
||||
mixins: [extend],
|
||||
directives: {
|
||||
waves,
|
||||
elDragDialog
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
multipleSelection: [], // 列表checkbox选中的值
|
||||
tableKey: 0,
|
||||
list: null,
|
||||
total: 0,
|
||||
listLoading: true,
|
||||
listQuery: { // 查询条件
|
||||
page: 1,
|
||||
limit: 20,
|
||||
key: undefined,
|
||||
appId: undefined
|
||||
},
|
||||
statusOptions: [
|
||||
{ key: true, display_name: '停用' },
|
||||
{ key: false, display_name: '正常' }
|
||||
],
|
||||
temp: {
|
||||
{Temp}
|
||||
},
|
||||
dialogFormVisible: false,
|
||||
dialogStatus: '',
|
||||
textMap: {
|
||||
update: '编辑',
|
||||
create: '添加'
|
||||
},
|
||||
dialogPvVisible: false,
|
||||
pvData: [],
|
||||
rules: {
|
||||
name: [{ required: true, message: '名称不能为空', trigger: 'blur' }]
|
||||
},
|
||||
downloadLoading: false,
|
||||
headerList: []
|
||||
}
|
||||
},
|
||||
filters: {
|
||||
statusFilter(disable) {
|
||||
const statusMap = {
|
||||
false: 'color-success',
|
||||
true: 'color-danger'
|
||||
}
|
||||
return statusMap[disable]
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getList()
|
||||
},
|
||||
methods: {
|
||||
rowClick(row) {
|
||||
this.$refs.mainTable.clearSelection()
|
||||
this.$refs.mainTable.toggleRowSelection(row)
|
||||
},
|
||||
handleSelectionChange(val) {
|
||||
this.multipleSelection = val
|
||||
},
|
||||
onBtnClicked: function(domId) {
|
||||
console.log('you click:' + domId)
|
||||
switch (domId) {
|
||||
case 'btnAdd':
|
||||
this.handleCreate()
|
||||
break
|
||||
case 'btnEdit':
|
||||
if (this.multipleSelection.length !== 1) {
|
||||
this.$message({
|
||||
message: '只能选中一个进行编辑',
|
||||
type: 'error'
|
||||
})
|
||||
return
|
||||
}
|
||||
this.handleUpdate(this.multipleSelection[0])
|
||||
break
|
||||
case 'btnDel':
|
||||
if (this.multipleSelection.length < 1) {
|
||||
this.$message({
|
||||
message: '至少删除一个',
|
||||
type: 'error'
|
||||
})
|
||||
return
|
||||
}
|
||||
this.handleDelete(this.multipleSelection)
|
||||
break
|
||||
default:
|
||||
break
|
||||
}
|
||||
},
|
||||
getList() {
|
||||
this.listLoading = true
|
||||
{TableName}s.getList(this.listQuery).then(response => {
|
||||
this.list = response.data
|
||||
response.columnHeaders.forEach((item) => {
|
||||
item.key = item.key.substring(0, 1).toLowerCase() + item.key.substring(1)
|
||||
})
|
||||
this.headerList = response.columnHeaders.filter(u => u.browsable)
|
||||
this.total = response.count
|
||||
this.listLoading = false
|
||||
})
|
||||
},
|
||||
handleFilter() {
|
||||
this.listQuery.page = 1
|
||||
this.getList()
|
||||
},
|
||||
handleSizeChange(val) {
|
||||
this.listQuery.limit = val
|
||||
this.getList()
|
||||
},
|
||||
handleCurrentChange(val) {
|
||||
this.listQuery.page = val.page
|
||||
this.listQuery.limit = val.limit
|
||||
this.getList()
|
||||
},
|
||||
handleModifyStatus(row, disable) { // 模拟修改状态
|
||||
this.$message({
|
||||
message: '操作成功',
|
||||
type: 'success'
|
||||
})
|
||||
row.disable = disable
|
||||
},
|
||||
resetTemp() {
|
||||
this.temp = {
|
||||
{Temp}
|
||||
}
|
||||
},
|
||||
handleCreate() { // 弹出添加框
|
||||
this.resetTemp()
|
||||
this.dialogStatus = 'create'
|
||||
this.dialogFormVisible = true
|
||||
this.$nextTick(() => {
|
||||
this.$refs['dataForm'].clearValidate()
|
||||
})
|
||||
},
|
||||
createData() { // 保存提交
|
||||
this.$refs['dataForm'].validate((valid) => {
|
||||
if (valid) {
|
||||
{TableName}s.add(this.temp).then(() => {
|
||||
this.list.unshift(this.temp)
|
||||
this.dialogFormVisible = false
|
||||
this.$notify({
|
||||
title: '成功',
|
||||
message: '创建成功',
|
||||
type: 'success',
|
||||
duration: 2000
|
||||
})
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
handleUpdate(row) { // 弹出编辑框
|
||||
this.temp = Object.assign({}, row) // copy obj
|
||||
this.dialogStatus = 'update'
|
||||
this.dialogFormVisible = true
|
||||
this.$nextTick(() => {
|
||||
this.$refs['dataForm'].clearValidate()
|
||||
})
|
||||
},
|
||||
updateData() { // 更新提交
|
||||
this.$refs['dataForm'].validate((valid) => {
|
||||
if (valid) {
|
||||
const tempData = Object.assign({}, this.temp)
|
||||
{TableName}s.update(tempData).then(() => {
|
||||
for (const v of this.list) {
|
||||
if (v.id === this.temp.id) {
|
||||
const index = this.list.indexOf(v)
|
||||
this.list.splice(index, 1, this.temp)
|
||||
break
|
||||
}
|
||||
}
|
||||
this.dialogFormVisible = false
|
||||
this.$notify({
|
||||
title: '成功',
|
||||
message: '更新成功',
|
||||
type: 'success',
|
||||
duration: 2000
|
||||
})
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
handleDelete(rows) { // 多行删除
|
||||
this.delrows({TableName}s, rows)
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style>
|
||||
.dialog-mini .el-select{
|
||||
width:100%;
|
||||
}
|
||||
</style>
|
414
OpenAuth.WebApi/Template/MultiTable/BuildVue.html
Normal file
414
OpenAuth.WebApi/Template/MultiTable/BuildVue.html
Normal file
@ -0,0 +1,414 @@
|
||||
<!--
|
||||
* @description: 入库订单界面
|
||||
* @author: liyubao | xufuxing
|
||||
* @version: 1.0
|
||||
* @updateDate: 代码生成器自动生成
|
||||
-->
|
||||
|
||||
<template>
|
||||
<div class="flex-column">
|
||||
<sticky :className="'sub-navbar'">
|
||||
<div class="filter-container">
|
||||
<el-input @keyup.enter.native="handleFilter" size="mini" style="width: 200px;" class="filter-item" :placeholder="'名称'" v-model="firstQuery.key"> </el-input>
|
||||
<el-button class="filter-item" size="mini" v-waves icon="el-icon-search" @click="handleFilter">搜索</el-button>
|
||||
<permission-btn size="mini" v-on:btn-event="onBtnClicked"></permission-btn>
|
||||
</div>
|
||||
</sticky>
|
||||
<div class="app-container flex-item flex-column">
|
||||
<div class="flex-item">
|
||||
<el-card shadow="nerver" class="demo-card fh">
|
||||
<auth-table style="height:calc(100% - 52px)" ref="mainTable" :select-type="'radio'" :table-fields="firstHeaderList" :data="mainList" :v-loading="listLoading" @row-click="rowClickFirstTable"></auth-table>
|
||||
<pagination v-show="firstTotal > 0" :total="firstTotal" :page.sync="firstQuery.page" :limit.sync="firstQuery.limit" @pagination="handleCurrentChange" />
|
||||
</el-card>
|
||||
</div>
|
||||
<el-row class="flex-item">
|
||||
<el-col :span="showTitleDialog ? 12 : 0" class="fh form-card">
|
||||
<el-card shadow="nerver" class="demo-card fh">
|
||||
<div slot="header">
|
||||
<span v-if="radio == ''">头信息</span>
|
||||
<span v-else>{{ radio }}头信息</span>
|
||||
</div>
|
||||
<auth-form ref="dataForm" :edit-model="editModel" :form-fields="firstHeaderList" :data="firstTemp" :col-num="3"></auth-form>
|
||||
</el-card>
|
||||
</el-col>
|
||||
|
||||
<!-- 第二部分多选 -->
|
||||
<el-col :span="!showTitleDialog ? 24 : 12" class="fh detail-card">
|
||||
<el-card shadow="nerver" class="demo-card fh" id="secondCard">
|
||||
<div slot="header">
|
||||
<i class="show-title-button" :class="showTitleDialog ? 'el-icon-d-arrow-left' : 'el-icon-d-arrow-right'" :title="showTitleDialog ? '展开' : '收缩'" @click="showTitleDialog = !showTitleDialog"></i>
|
||||
<span v-if="radio == ''">明细</span>
|
||||
<span v-else>{{ radio }}明细</span>
|
||||
<div class="edit-buttons">
|
||||
<el-button v-if="editModel" class="filter-item edit-button" size="mini" v-waves icon="el-icon-plus" @click="onBtnClicked('btnAddDetail')">添加</el-button>
|
||||
<el-button v-if="editModel" class="filter-item edit-button delete-button" size="mini" v-waves icon="el-icon-delete" @click="onBtnClicked('btnDelDetail')">删除</el-button>
|
||||
</div>
|
||||
</div>
|
||||
<auth-table style="height:calc(100% - 52px - 34px)" ref="secondTable" border :editModel="editModel" :table-fields="secondHeaderList" :data="secondList" @row-click="rowClickSecondTable" @selection-change="selChangeSecondTable"></auth-table>
|
||||
<pagination v-show="secondTotal > 0" :total="secondTotal" :page.sync="secondQuery.page" :limit.sync="secondQuery.limit" @pagination="handleSecondPage" />
|
||||
</el-card>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-card shadow="nerver" v-if="editModel" style="text-align: right;padding-bottom: 10px;">
|
||||
<el-row>
|
||||
<el-col :span="24"
|
||||
><el-button size="mini" @click="editModel = false">取消</el-button>
|
||||
<el-button size="mini" v-if="dialogStatus == 'create'" type="primary" @click="createData">确认</el-button>
|
||||
<el-button size="mini" v-else type="primary" @click="updateData">确认</el-button></el-col
|
||||
>
|
||||
</el-row>
|
||||
</el-card>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import * as {FirstTableName}s from '@/api/{FirstTableName}s'
|
||||
import * as {SecondTableName}s from '@/api/{SecondTableName}s'
|
||||
import waves from '@/directive/waves' // 水波纹指令
|
||||
import Sticky from '@/components/Sticky'
|
||||
import { mapGetters } from 'vuex'
|
||||
import permissionBtn from '@/components/PermissionBtn'
|
||||
import Pagination from '@/components/Pagination'
|
||||
import elDragDialog from '@/directive/el-dragDialog'
|
||||
import { parseTime, defaultVal } from '@/utils/index'
|
||||
import AuthForm from '@/components/Base/AuthForm'
|
||||
import AuthTable from '@/components/Base/AuthTable'
|
||||
export default {
|
||||
name: '{FirstTableName}',
|
||||
components: {
|
||||
Sticky,
|
||||
permissionBtn,
|
||||
Pagination,
|
||||
AuthForm,
|
||||
AuthTable
|
||||
},
|
||||
directives: {
|
||||
waves,
|
||||
elDragDialog
|
||||
},
|
||||
|
||||
data() {
|
||||
return {
|
||||
// ------------------------主列表数据(头)-----------------------------
|
||||
firstHeaderList: [], // 主列表列定义
|
||||
radio: '', // 主列表选中项
|
||||
firstQuery: {
|
||||
// 主列表查询条件
|
||||
page: 1,
|
||||
limit: 20,
|
||||
key: undefined,
|
||||
appId: undefined
|
||||
},
|
||||
mainList: null, // 主列表值
|
||||
firstTotal: 0, // 主列表总条数
|
||||
listLoading: true, // 主列表记录总数
|
||||
tableKey: 0,
|
||||
showTitleDialog: true,
|
||||
|
||||
editModel: false, // 是否为编辑模式
|
||||
editType: 'edit', // 编辑类型
|
||||
dialogStatus: '', // 主修改对话框状态create/update
|
||||
selectRow: {},
|
||||
firstTemp: {}, // 当前选中的头信息
|
||||
// ------------------------明细列表数据-------------------------------------
|
||||
secondHeaderList: [], // 明细列表列定义
|
||||
secondList: [], // 明细列表值
|
||||
secondQuery: {}, // 明细列表的过滤条件,如页码、每页条数,搜索关键字等
|
||||
secondTotal: 0, // 明细列表总条数
|
||||
multipleSelection: [], // 明细列表checkbox选中的值,
|
||||
|
||||
// ------------------------通用数据项-------------------------------------
|
||||
textMap: {
|
||||
update: '编辑',
|
||||
create: '添加'
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
computed: {
|
||||
...mapGetters(['defaultorgid'])
|
||||
},
|
||||
created() {
|
||||
this.firstHeaderList = [
|
||||
{FirstHeaderList}
|
||||
]
|
||||
this.secondHeaderList = [
|
||||
{SecondHeaderList}
|
||||
]
|
||||
|
||||
this.getList()
|
||||
},
|
||||
methods: {
|
||||
// ------------------------通用处理函数-------------------------------------
|
||||
onBtnClicked: function(domId, callback) {
|
||||
console.log('you click:' + domId)
|
||||
switch (domId) {
|
||||
case 'btnAdd': // 添加新记录
|
||||
this.resetFirstTemp()
|
||||
this.secondList = []
|
||||
this.dialogStatus = 'create'
|
||||
this.editModel = true
|
||||
this.editType = 'add'
|
||||
this.$nextTick(() => {
|
||||
this.$refs['dataForm'].clearValidate()
|
||||
})
|
||||
break
|
||||
case 'btnEdit': // 编辑头
|
||||
this.firstTemp = Object.assign({}, this.selectRow)
|
||||
if (this.firstTemp.id === '') {
|
||||
this.editModel = false
|
||||
this.$message({
|
||||
message: '请选择要修改的项',
|
||||
type: 'error'
|
||||
})
|
||||
return
|
||||
}
|
||||
this.dialogStatus = 'update'
|
||||
this.editModel = true
|
||||
this.editType = 'edit'
|
||||
this.$nextTick(() => {
|
||||
this.$refs['dataForm'].clearValidate()
|
||||
})
|
||||
break
|
||||
case 'btnDel': // 删除主表
|
||||
if (this.firstTemp.id === '') {
|
||||
this.$message({
|
||||
message: '请选择要删除的项',
|
||||
type: 'error'
|
||||
})
|
||||
return
|
||||
}
|
||||
this.handleFirstDel(this.firstTemp)
|
||||
break
|
||||
case 'btnAddDetail': // 添加明细行
|
||||
this.handleAddOrderDetail()
|
||||
break
|
||||
case 'btnDelDetail': // 删除明细行
|
||||
if (this.multipleSelection.length < 1) {
|
||||
this.$message({
|
||||
message: '至少删除一个',
|
||||
type: 'error'
|
||||
})
|
||||
return
|
||||
}
|
||||
this.handleSecondDel(this.multipleSelection)
|
||||
break
|
||||
case 'btnExport':
|
||||
this.$refs.mainTable.exportExcel(`订单${parseTime(new Date())}`, callback)
|
||||
break
|
||||
default:
|
||||
break
|
||||
}
|
||||
},
|
||||
// ------------------------主数据列表处理------------------------------------
|
||||
getList() {
|
||||
this.listLoading = true
|
||||
{FirstTableName}s.getList(this.firstQuery).then((response) => {
|
||||
this.mainList = response.data
|
||||
this.firstTotal = response.count
|
||||
|
||||
if (this.firstTotal > 0) {
|
||||
this.rowClickFirstTable(this.mainList[0])
|
||||
}
|
||||
|
||||
this.listLoading = false
|
||||
})
|
||||
},
|
||||
rowClickFirstTable(row) {
|
||||
// 点击行
|
||||
this.radio = row.id
|
||||
this.secondQuery.page = 1
|
||||
this.secondQuery.limit = 10
|
||||
this.querySecondList(this.radio)
|
||||
this.showTitleDetail(row)
|
||||
},
|
||||
handleFilter() {
|
||||
this.firstQuery.page = 1
|
||||
this.getList()
|
||||
},
|
||||
handleSizeChange(val) {
|
||||
this.firstQuery.limit = val
|
||||
this.getList()
|
||||
},
|
||||
handleCurrentChange(val) {
|
||||
this.firstQuery.page = val.page
|
||||
this.firstQuery.limit = val.limit
|
||||
this.getList()
|
||||
},
|
||||
resetFirstTemp() {
|
||||
this.firstHeaderList.forEach((item) => {
|
||||
this.firstTemp[item.columnName] = defaultVal(item.entityType)
|
||||
})
|
||||
},
|
||||
createData() {
|
||||
// 保存提交
|
||||
this.$refs['dataForm'].validate(() => {
|
||||
let tempData = Object.assign({}, this.firstTemp)
|
||||
tempData = this.setDetails(tempData)
|
||||
tempData.OrgId = this.defaultorgid
|
||||
{FirstTableName}s.add(tempData).then(() => {
|
||||
this.mainList.unshift(this.firstTemp)
|
||||
this.editModel = false
|
||||
this.$notify({
|
||||
title: '成功',
|
||||
message: '创建成功',
|
||||
type: 'success',
|
||||
duration: 2000
|
||||
})
|
||||
})
|
||||
})
|
||||
},
|
||||
showTitleDetail(row) {
|
||||
// 弹出编辑框
|
||||
this.selectRow = Object.assign({}, row) // 新增订单时保存当前选中行
|
||||
this.firstTemp = Object.assign({}, row) // copy obj
|
||||
this.$nextTick(() => {
|
||||
this.$refs['dataForm'].clearValidate()
|
||||
})
|
||||
},
|
||||
setDetails(tempData) {
|
||||
// 处理明细
|
||||
tempData.{SecondTableName}Reqs = []
|
||||
this.secondList.length > 0 &&
|
||||
this.secondList.forEach((item) => {
|
||||
const obj = {}
|
||||
|
||||
this.secondHeaderList.forEach((header) => {
|
||||
obj[header.columnName] = item[header.columnName] || defaultVal(header.entityType)
|
||||
})
|
||||
|
||||
tempData.{SecondTableName}Reqs.push(obj)
|
||||
})
|
||||
return tempData
|
||||
},
|
||||
updateData() {
|
||||
// 更新提交
|
||||
this.$refs['dataForm'].validate(() => {
|
||||
let tempData = Object.assign({}, this.firstTemp)
|
||||
tempData = this.setDetails(tempData)
|
||||
{FirstTableName}s.update(tempData).then(() => {
|
||||
for (const v of this.mainList) {
|
||||
if (v.id === this.firstTemp.id) {
|
||||
const index = this.mainList.indexOf(v)
|
||||
this.mainList.splice(index, 1, this.firstTemp)
|
||||
break
|
||||
}
|
||||
}
|
||||
|
||||
this.editModel = false
|
||||
this.$notify({
|
||||
title: '成功',
|
||||
message: '更新成功',
|
||||
type: 'success',
|
||||
duration: 2000
|
||||
})
|
||||
})
|
||||
})
|
||||
},
|
||||
handleFirstDel(row) {
|
||||
// 删除头
|
||||
{FirstTableName}s.del([row.id]).then(() => {
|
||||
this.$notify({
|
||||
title: '成功',
|
||||
message: '删除成功',
|
||||
type: 'success',
|
||||
duration: 2000
|
||||
})
|
||||
this.mainList = this.mainList.filter((item) => item.id !== row.id)
|
||||
this.resetFirstTemp()
|
||||
this.secondList = []
|
||||
})
|
||||
},
|
||||
|
||||
// ------------------------明细列表处理-------------------------------------
|
||||
handleSecondPage(e) {
|
||||
this.secondQuery = e
|
||||
this.querySecondList(this.radio)
|
||||
},
|
||||
querySecondList(id) {
|
||||
{SecondTableName}s
|
||||
.getList({
|
||||
{ParentTableId}: id,
|
||||
page: this.secondQuery.page,
|
||||
limit: this.secondQuery.limit,
|
||||
key: this.secondQuery.customerKey
|
||||
})
|
||||
.then((res) => {
|
||||
|
||||
this.secondTotal = res.count
|
||||
this.secondList = res.data
|
||||
})
|
||||
},
|
||||
rowClickSecondTable(row) {
|
||||
// 行点击事件
|
||||
this.$refs.secondTable.clearSelection()
|
||||
this.$refs.secondTable.toggleRowSelection(row)
|
||||
},
|
||||
handleSecondDel(rows) {
|
||||
// 删除明细时,只删除前端
|
||||
rows.forEach((row) => {
|
||||
this.secondList = this.secondList.filter((item) => item.id !== row.id)
|
||||
})
|
||||
},
|
||||
selChangeSecondTable(val) {
|
||||
// 明细选中事件
|
||||
this.multipleSelection = val
|
||||
},
|
||||
handleAddOrderDetail() {
|
||||
// 添加明细
|
||||
const obj = {}
|
||||
this.secondHeaderList.forEach((header) => {
|
||||
obj[header.columnName] = defaultVal(header.entityType)
|
||||
})
|
||||
obj.{ParentTableId} = this.firstTemp.id
|
||||
|
||||
this.secondList.push(Object.assign({}, obj))
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style lang="scss">
|
||||
.nomal-form label {
|
||||
font-weight: 500 !important;
|
||||
}
|
||||
|
||||
.demo-card .el-card__header {
|
||||
padding: 10px !important;
|
||||
line-height: 1;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.el-card__body {
|
||||
padding: 10px 10px 0 10px !important;
|
||||
height: 100%;
|
||||
}
|
||||
.form-card .el-card__body {
|
||||
padding-right: 0 !important;
|
||||
}
|
||||
.form-card .el-form {
|
||||
padding-right: 5px;
|
||||
}
|
||||
|
||||
.dialog-small .el-dialog__header {
|
||||
padding: 10px;
|
||||
border-bottom: 1px solid #efefef;
|
||||
}
|
||||
|
||||
.dialog-small .el-dialog__headerbtn {
|
||||
top: 15px;
|
||||
}
|
||||
|
||||
.dialog-small .el-dialog__body {
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
.el-form-item__error {
|
||||
padding-top: 0;
|
||||
}
|
||||
.edit-buttons {
|
||||
position: absolute !important;
|
||||
top: 2px;
|
||||
right: 10px;
|
||||
}
|
||||
</style>
|
@ -0,0 +1,416 @@
|
||||
<!--
|
||||
* @description: 入库订单界面
|
||||
* @author: liyubao | xufuxing
|
||||
* @version: 1.0
|
||||
* @updateDate: 代码生成器自动生成
|
||||
-->
|
||||
|
||||
<template>
|
||||
<div class="flex-column">
|
||||
<sticky :className="'sub-navbar'">
|
||||
<div class="filter-container">
|
||||
<el-input @keyup.enter.native="handleFilter" size="mini" style="width: 200px;" class="filter-item" :placeholder="'名称'" v-model="firstQuery.key"> </el-input>
|
||||
<el-button class="filter-item" size="mini" v-waves icon="el-icon-search" @click="handleFilter">搜索</el-button>
|
||||
<permission-btn size="mini" v-on:btn-event="onBtnClicked"></permission-btn>
|
||||
</div>
|
||||
</sticky>
|
||||
<div class="app-container flex-item flex-column">
|
||||
<div class="flex-item">
|
||||
<el-card shadow="nerver" class="demo-card fh">
|
||||
<auth-table style="height:calc(100% - 52px)" ref="mainTable" :select-type="'radio'" :table-fields="firstHeaderList" :data="mainList" :v-loading="listLoading" @row-click="rowClickFirstTable"></auth-table>
|
||||
<pagination v-show="firstTotal > 0" :total="firstTotal" :page.sync="firstQuery.page" :limit.sync="firstQuery.limit" @pagination="handleCurrentChange" />
|
||||
</el-card>
|
||||
</div>
|
||||
<el-row class="flex-item">
|
||||
<el-col :span="showTitleDialog ? 12 : 0" class="fh form-card">
|
||||
<el-card shadow="nerver" class="demo-card fh">
|
||||
<div slot="header">
|
||||
<span v-if="radio == ''">头信息</span>
|
||||
<span v-else>{{ radio }}头信息</span>
|
||||
</div>
|
||||
<auth-form ref="dataForm" :edit-model="editModel" :form-fields="firstHeaderList" :data="firstTemp" :col-num="3"></auth-form>
|
||||
</el-card>
|
||||
</el-col>
|
||||
|
||||
<!-- 第二部分多选 -->
|
||||
<el-col :span="!showTitleDialog ? 24 : 12" class="fh detail-card">
|
||||
<el-card shadow="nerver" class="demo-card fh" id="secondCard">
|
||||
<div slot="header">
|
||||
<i class="show-title-button" :class="showTitleDialog ? 'el-icon-d-arrow-left' : 'el-icon-d-arrow-right'" :title="showTitleDialog ? '展开' : '收缩'" @click="showTitleDialog = !showTitleDialog"></i>
|
||||
<span v-if="radio == ''">明细</span>
|
||||
<span v-else>{{ radio }}明细</span>
|
||||
<div class="edit-buttons">
|
||||
<el-button v-if="editModel" class="filter-item edit-button" size="mini" v-waves icon="el-icon-plus" @click="onBtnClicked('btnAddDetail')">添加</el-button>
|
||||
<el-button v-if="editModel" class="filter-item edit-button delete-button" size="mini" v-waves icon="el-icon-delete" @click="onBtnClicked('btnDelDetail')">删除</el-button>
|
||||
</div>
|
||||
</div>
|
||||
<auth-table style="height:calc(100% - 52px - 34px)" ref="secondTable" border :editModel="editModel" :table-fields="secondHeaderList" :data="secondList" @row-click="rowClickSecondTable" @selection-change="selChangeSecondTable"></auth-table>
|
||||
<pagination v-show="secondTotal > 0" :total="secondTotal" :page.sync="secondQuery.page" :limit.sync="secondQuery.limit" @pagination="handleSecondPage" />
|
||||
</el-card>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-card shadow="nerver" v-if="editModel" style="text-align: right;padding-bottom: 10px;">
|
||||
<el-row>
|
||||
<el-col :span="24"
|
||||
><el-button size="mini" @click="editModel = false">取消</el-button>
|
||||
<el-button size="mini" v-if="dialogStatus == 'create'" type="primary" @click="createData">确认</el-button>
|
||||
<el-button size="mini" v-else type="primary" @click="updateData">确认</el-button></el-col
|
||||
>
|
||||
</el-row>
|
||||
</el-card>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import * as {FirstTableName}s from '@/api/{FirstTableName}s'
|
||||
import * as {SecondTableName}s from '@/api/{SecondTableName}s'
|
||||
import waves from '@/directive/waves' // 水波纹指令
|
||||
import Sticky from '@/components/Sticky'
|
||||
import { mapGetters } from 'vuex'
|
||||
import permissionBtn from '@/components/PermissionBtn'
|
||||
import Pagination from '@/components/Pagination'
|
||||
import elDragDialog from '@/directive/el-dragDialog'
|
||||
import { parseTime, defaultVal } from '@/utils/index'
|
||||
import AuthForm from '@/components/Base/AuthForm'
|
||||
import AuthTable from '@/components/Base/AuthTable'
|
||||
export default {
|
||||
name: '{FirstTableName}',
|
||||
components: {
|
||||
Sticky,
|
||||
permissionBtn,
|
||||
Pagination,
|
||||
AuthForm,
|
||||
AuthTable
|
||||
},
|
||||
directives: {
|
||||
waves,
|
||||
elDragDialog
|
||||
},
|
||||
|
||||
data() {
|
||||
return {
|
||||
// ------------------------主列表数据(头)-----------------------------
|
||||
firstHeaderList: [], // 主列表列定义
|
||||
radio: '', // 主列表选中项
|
||||
firstQuery: {
|
||||
// 主列表查询条件
|
||||
page: 1,
|
||||
limit: 20,
|
||||
key: undefined,
|
||||
appId: undefined
|
||||
},
|
||||
mainList: null, // 主列表值
|
||||
firstTotal: 0, // 主列表总条数
|
||||
listLoading: true, // 主列表记录总数
|
||||
tableKey: 0,
|
||||
showTitleDialog: true,
|
||||
|
||||
editModel: false, // 是否为编辑模式
|
||||
editType: 'edit', // 编辑类型
|
||||
dialogStatus: '', // 主修改对话框状态create/update
|
||||
selectRow: {},
|
||||
firstTemp: {}, // 当前选中的头信息
|
||||
// ------------------------明细列表数据-------------------------------------
|
||||
secondHeaderList: [], // 明细列表列定义
|
||||
secondList: [], // 明细列表值
|
||||
secondQuery: {}, // 明细列表的过滤条件,如页码、每页条数,搜索关键字等
|
||||
secondTotal: 0, // 明细列表总条数
|
||||
multipleSelection: [], // 明细列表checkbox选中的值,
|
||||
|
||||
// ------------------------通用数据项-------------------------------------
|
||||
textMap: {
|
||||
update: '编辑',
|
||||
create: '添加'
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
computed: {
|
||||
...mapGetters(['defaultorgid'])
|
||||
},
|
||||
created() {
|
||||
this.getList()
|
||||
},
|
||||
methods: {
|
||||
// ------------------------通用处理函数-------------------------------------
|
||||
onBtnClicked: function(domId, callback) {
|
||||
console.log('you click:' + domId)
|
||||
switch (domId) {
|
||||
case 'btnAdd': // 添加新记录
|
||||
this.resetFirstTemp()
|
||||
this.secondList = []
|
||||
this.dialogStatus = 'create'
|
||||
this.editModel = true
|
||||
this.editType = 'add'
|
||||
this.$nextTick(() => {
|
||||
this.$refs['dataForm'].clearValidate()
|
||||
})
|
||||
break
|
||||
case 'btnEdit': // 编辑头
|
||||
this.firstTemp = Object.assign({}, this.selectRow)
|
||||
if (this.firstTemp.id === '') {
|
||||
this.editModel = false
|
||||
this.$message({
|
||||
message: '请选择要修改的项',
|
||||
type: 'error'
|
||||
})
|
||||
return
|
||||
}
|
||||
this.dialogStatus = 'update'
|
||||
this.editModel = true
|
||||
this.editType = 'edit'
|
||||
this.$nextTick(() => {
|
||||
this.$refs['dataForm'].clearValidate()
|
||||
})
|
||||
break
|
||||
case 'btnDel': // 删除主表
|
||||
if (this.firstTemp.id === '') {
|
||||
this.$message({
|
||||
message: '请选择要删除的项',
|
||||
type: 'error'
|
||||
})
|
||||
return
|
||||
}
|
||||
this.handleFirstDel(this.firstTemp)
|
||||
break
|
||||
case 'btnAddDetail': // 添加明细行
|
||||
this.handleAddOrderDetail()
|
||||
break
|
||||
case 'btnDelDetail': // 删除明细行
|
||||
if (this.multipleSelection.length < 1) {
|
||||
this.$message({
|
||||
message: '至少删除一个',
|
||||
type: 'error'
|
||||
})
|
||||
return
|
||||
}
|
||||
this.handleSecondDel(this.multipleSelection)
|
||||
break
|
||||
case 'btnExport':
|
||||
this.$refs.mainTable.exportExcel(`订单${parseTime(new Date())}`, callback)
|
||||
break
|
||||
default:
|
||||
break
|
||||
}
|
||||
},
|
||||
// ------------------------主数据列表处理------------------------------------
|
||||
getList() {
|
||||
this.listLoading = true
|
||||
{FirstTableName}s.getList(this.firstQuery).then((response) => {
|
||||
response.columnFields.forEach((item) => {
|
||||
// 首字母小写
|
||||
item.columnName = item.columnName.substring(0, 1).toLowerCase() + item.columnName.substring(1)
|
||||
})
|
||||
this.firstHeaderList = response.columnFields
|
||||
this.mainList = response.data
|
||||
this.firstTotal = response.count
|
||||
|
||||
if (this.firstTotal > 0) {
|
||||
this.rowClickFirstTable(this.mainList[0])
|
||||
}
|
||||
|
||||
this.listLoading = false
|
||||
})
|
||||
},
|
||||
rowClickFirstTable(row) {
|
||||
// 点击行
|
||||
this.radio = row.id
|
||||
this.secondQuery.page = 1
|
||||
this.secondQuery.limit = 10
|
||||
this.querySecondList(this.radio)
|
||||
this.showTitleDetail(row)
|
||||
},
|
||||
handleFilter() {
|
||||
this.firstQuery.page = 1
|
||||
this.getList()
|
||||
},
|
||||
handleSizeChange(val) {
|
||||
this.firstQuery.limit = val
|
||||
this.getList()
|
||||
},
|
||||
handleCurrentChange(val) {
|
||||
this.firstQuery.page = val.page
|
||||
this.firstQuery.limit = val.limit
|
||||
this.getList()
|
||||
},
|
||||
resetFirstTemp() {
|
||||
this.firstHeaderList.forEach((item) => {
|
||||
this.firstTemp[item.columnName] = defaultVal(item.entityType)
|
||||
})
|
||||
},
|
||||
createData() {
|
||||
// 保存提交
|
||||
this.$refs['dataForm'].validate(() => {
|
||||
let tempData = Object.assign({}, this.firstTemp)
|
||||
tempData = this.setDetails(tempData)
|
||||
tempData.OrgId = this.defaultorgid
|
||||
{FirstTableName}s.add(tempData).then(() => {
|
||||
this.mainList.unshift(this.firstTemp)
|
||||
this.editModel = false
|
||||
this.$notify({
|
||||
title: '成功',
|
||||
message: '创建成功',
|
||||
type: 'success',
|
||||
duration: 2000
|
||||
})
|
||||
})
|
||||
})
|
||||
},
|
||||
showTitleDetail(row) {
|
||||
// 弹出编辑框
|
||||
this.selectRow = Object.assign({}, row) // 新增订单时保存当前选中行
|
||||
this.firstTemp = Object.assign({}, row) // copy obj
|
||||
this.$nextTick(() => {
|
||||
this.$refs['dataForm'].clearValidate()
|
||||
})
|
||||
},
|
||||
setDetails(tempData) {
|
||||
// 处理明细
|
||||
tempData.{SecondTableName}Reqs = []
|
||||
this.secondList.length > 0 &&
|
||||
this.secondList.forEach((item) => {
|
||||
const obj = {}
|
||||
|
||||
this.secondHeaderList.forEach((header) => {
|
||||
obj[header.columnName] = item[header.columnName] || defaultVal(header.entityType)
|
||||
})
|
||||
|
||||
tempData.{SecondTableName}Reqs.push(obj)
|
||||
})
|
||||
return tempData
|
||||
},
|
||||
updateData() {
|
||||
// 更新提交
|
||||
this.$refs['dataForm'].validate(() => {
|
||||
let tempData = Object.assign({}, this.firstTemp)
|
||||
tempData = this.setDetails(tempData)
|
||||
{FirstTableName}s.update(tempData).then(() => {
|
||||
for (const v of this.mainList) {
|
||||
if (v.id === this.firstTemp.id) {
|
||||
const index = this.mainList.indexOf(v)
|
||||
this.mainList.splice(index, 1, this.firstTemp)
|
||||
break
|
||||
}
|
||||
}
|
||||
|
||||
this.editModel = false
|
||||
this.$notify({
|
||||
title: '成功',
|
||||
message: '更新成功',
|
||||
type: 'success',
|
||||
duration: 2000
|
||||
})
|
||||
})
|
||||
})
|
||||
},
|
||||
handleFirstDel(row) {
|
||||
// 删除头
|
||||
{FirstTableName}s.del([row.id]).then(() => {
|
||||
this.$notify({
|
||||
title: '成功',
|
||||
message: '删除成功',
|
||||
type: 'success',
|
||||
duration: 2000
|
||||
})
|
||||
this.mainList = this.mainList.filter((item) => item.id !== row.id)
|
||||
this.resetFirstTemp()
|
||||
this.secondList = []
|
||||
})
|
||||
},
|
||||
|
||||
// ------------------------明细列表处理-------------------------------------
|
||||
handleSecondPage(e) {
|
||||
this.secondQuery = e
|
||||
this.querySecondList(this.radio)
|
||||
},
|
||||
querySecondList(id) {
|
||||
{SecondTableName}s
|
||||
.getList({
|
||||
{ParentTableId}: id,
|
||||
page: this.secondQuery.page,
|
||||
limit: this.secondQuery.limit,
|
||||
key: this.secondQuery.customerKey
|
||||
})
|
||||
.then((res) => {
|
||||
res.columnFields.forEach((item) => {
|
||||
// 首字母小写
|
||||
item.columnName = item.columnName.substring(0, 1).toLowerCase() + item.columnName.substring(1)
|
||||
})
|
||||
this.secondHeaderList = res.columnFields
|
||||
this.secondTotal = res.count
|
||||
this.secondList = res.data
|
||||
})
|
||||
},
|
||||
rowClickSecondTable(row) {
|
||||
// 行点击事件
|
||||
this.$refs.secondTable.clearSelection()
|
||||
this.$refs.secondTable.toggleRowSelection(row)
|
||||
},
|
||||
handleSecondDel(rows) {
|
||||
// 删除明细时,只删除前端
|
||||
rows.forEach((row) => {
|
||||
this.secondList = this.secondList.filter((item) => item.id !== row.id)
|
||||
})
|
||||
},
|
||||
selChangeSecondTable(val) {
|
||||
// 明细选中事件
|
||||
this.multipleSelection = val
|
||||
},
|
||||
handleAddOrderDetail() {
|
||||
// 添加明细
|
||||
const obj = {}
|
||||
this.secondHeaderList.forEach((header) => {
|
||||
obj[header.columnName] = defaultVal(header.entityType)
|
||||
})
|
||||
obj.{ParentTableId} = this.firstTemp.id
|
||||
|
||||
this.secondList.push(Object.assign({}, obj))
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style lang="scss">
|
||||
.nomal-form label {
|
||||
font-weight: 500 !important;
|
||||
}
|
||||
|
||||
.demo-card .el-card__header {
|
||||
padding: 10px !important;
|
||||
line-height: 1;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.el-card__body {
|
||||
padding: 10px 10px 0 10px !important;
|
||||
height: 100%;
|
||||
}
|
||||
.form-card .el-card__body {
|
||||
padding-right: 0 !important;
|
||||
}
|
||||
.form-card .el-form {
|
||||
padding-right: 5px;
|
||||
}
|
||||
|
||||
.dialog-small .el-dialog__header {
|
||||
padding: 10px;
|
||||
border-bottom: 1px solid #efefef;
|
||||
}
|
||||
|
||||
.dialog-small .el-dialog__headerbtn {
|
||||
top: 15px;
|
||||
}
|
||||
|
||||
.dialog-small .el-dialog__body {
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
.el-form-item__error {
|
||||
padding-top: 0;
|
||||
}
|
||||
.edit-buttons {
|
||||
position: absolute !important;
|
||||
top: 2px;
|
||||
right: 10px;
|
||||
}
|
||||
</style>
|
68
OpenAuth.WebApi/Template/SingleTable/BuildApp.html
Normal file
68
OpenAuth.WebApi/Template/SingleTable/BuildApp.html
Normal file
@ -0,0 +1,68 @@
|
||||
using System;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using Infrastructure;
|
||||
using OpenAuth.App.Interface;
|
||||
using OpenAuth.App.Request;
|
||||
using OpenAuth.App.Response;
|
||||
using OpenAuth.Repository;
|
||||
using OpenAuth.Repository.Domain;
|
||||
using OpenAuth.Repository.Interface;
|
||||
|
||||
|
||||
namespace OpenAuth.App
|
||||
{
|
||||
public class {ModuleCode} : {BaseAppName}<{ClassName},OpenAuthDBContext>
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// 加载列表
|
||||
/// </summary>
|
||||
public async Task<TableData> Load(Query{ClassName}ListReq request)
|
||||
{
|
||||
var loginContext = _auth.GetCurrentUser();
|
||||
if (loginContext == null)
|
||||
{
|
||||
throw new CommonException("登录已过期", Define.INVALID_TOKEN);
|
||||
}
|
||||
|
||||
|
||||
var result = new TableData();
|
||||
var objs = GetDataPrivilege("u");
|
||||
if (!string.IsNullOrEmpty(request.key))
|
||||
{
|
||||
//增加筛选条件,如:
|
||||
//objs = objs.Where(u => u.Name.Contains(request.key));
|
||||
}
|
||||
|
||||
{ForeignKeyTemplate}
|
||||
|
||||
result.data = objs.OrderBy(u => u.Id)
|
||||
.Skip((request.page - 1) * request.limit)
|
||||
.Take(request.limit);
|
||||
result.count = objs.Count();
|
||||
return result;
|
||||
}
|
||||
|
||||
public void Add(AddOrUpdate{ClassName}Req obj)
|
||||
{
|
||||
//程序类型取入口应用的名称,可以根据自己需要调整
|
||||
var addObj = obj.MapTo<{ClassName}>();
|
||||
//addObj.Time = DateTime.Now;
|
||||
Repository.Add(addObj);
|
||||
}
|
||||
|
||||
public void Update(AddOrUpdate{ClassName}Req obj)
|
||||
{
|
||||
UnitWork.Update<{ClassName}>(u => u.Id == obj.Id, u => new {ClassName}
|
||||
{
|
||||
//todo:要修改的字段赋值
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
public {ModuleCode}(IUnitWork<OpenAuthDBContext> unitWork, IRepository<{ClassName},OpenAuthDBContext> repository, IAuth auth) : base(unitWork, repository, auth)
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
@ -23,26 +23,27 @@ namespace OpenAuth.App
|
||||
var loginContext = _auth.GetCurrentUser();
|
||||
if (loginContext == null)
|
||||
{
|
||||
throw new CommonException("登录已过期", Define.INVALID_TOKEN);
|
||||
throw new CommonException("登录已过期", Define.INVALID_TOKEN);
|
||||
}
|
||||
|
||||
var properties = loginContext.GetProperties("{ClassName}");
|
||||
|
||||
if (properties == null || properties.Count == 0)
|
||||
|
||||
var columnFields = loginContext.GetTableColumns("{ClassName}");
|
||||
if (columnFields == null || columnFields.Count == 0)
|
||||
{
|
||||
throw new Exception("当前登录用户没有访问该模块字段的权限,请联系管理员配置");
|
||||
throw new Exception("请在代码生成界面配置Resource表的字段属性");
|
||||
}
|
||||
|
||||
|
||||
var result = new TableData();
|
||||
var objs = GetDataPrivilege("u");
|
||||
if (!string.IsNullOrEmpty(request.key))
|
||||
{
|
||||
//增加筛选条件,如:
|
||||
//objs = objs.Where(u => u.Name.Contains(request.key));
|
||||
//增加筛选条件,如:
|
||||
//objs = objs.Where(u => u.Name.Contains(request.key));
|
||||
}
|
||||
|
||||
var propertyStr = string.Join(',', properties.Select(u => u.Key));
|
||||
result.columnHeaders = properties;
|
||||
|
||||
{ForeignKeyTemplate}
|
||||
|
||||
var propertyStr = string.Join(',', columnFields.Select(u => u.ColumnName));
|
||||
result.columnFields = columnFields;
|
||||
result.data = objs.OrderBy(u => u.Id)
|
||||
.Skip((request.page - 1) * request.limit)
|
||||
.Take(request.limit).Select($"new ({propertyStr})");
|
234
OpenAuth.WebApi/Template/SingleTable/BuildVue.html
Normal file
234
OpenAuth.WebApi/Template/SingleTable/BuildVue.html
Normal file
@ -0,0 +1,234 @@
|
||||
<!--
|
||||
* @description: 代码生成器自动生成
|
||||
* @author: liyubao | xufuxing
|
||||
* @version: 1.0
|
||||
-->
|
||||
<template>
|
||||
<div class="flex-column">
|
||||
<sticky :className="'sub-navbar'">
|
||||
<div class="filter-container">
|
||||
<el-input @keyup.enter.native="handleFilter" size="mini" style="width: 200px;" class="filter-item" :placeholder="'名称'" v-model="listQuery.key"> </el-input>
|
||||
<el-button class="filter-item" size="mini" v-waves icon="el-icon-search" @click="handleFilter">搜索</el-button>
|
||||
<permission-btn size="mini" v-on:btn-event="onBtnClicked"></permission-btn>
|
||||
</div>
|
||||
</sticky>
|
||||
<div class="app-container flex-item">
|
||||
<div class="bg-white" style="height: 100%;">
|
||||
<auth-table
|
||||
style="height:calc(100% - 60px)"
|
||||
ref="mainTable"
|
||||
:select-type="'checkbox'"
|
||||
:table-fields="headerList"
|
||||
:data="list"
|
||||
:v-loading="listLoading"
|
||||
@row-click="rowClick"
|
||||
@selection-change="handleSelectionChange"
|
||||
></auth-table>
|
||||
<pagination v-show="total > 0" :total="total" :page.sync="listQuery.page" :limit.sync="listQuery.limit" @pagination="handleCurrentChange" />
|
||||
</div>
|
||||
<el-dialog v-el-drag-dialog class="dialog-mini" width="500px" :title="textMap[dialogStatus]" :visible.sync="dialogFormVisible">
|
||||
<auth-form ref="dataForm" :rules="rules" :edit-model="true" :form-fields="headerList" :data="temp" :col-num="2"></auth-form>
|
||||
<div slot="footer">
|
||||
<el-button size="mini" @click="dialogFormVisible = false">取消</el-button>
|
||||
<el-button size="mini" v-if="dialogStatus == 'create'" type="primary" @click="createData">确认</el-button>
|
||||
<el-button size="mini" v-else type="primary" @click="updateData">确认</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import * as {TableName}s from '@/api/{TableName}s'
|
||||
import waves from '@/directive/waves' // 水波纹指令
|
||||
import Sticky from '@/components/Sticky'
|
||||
import permissionBtn from '@/components/PermissionBtn'
|
||||
import Pagination from '@/components/Pagination'
|
||||
import elDragDialog from '@/directive/el-dragDialog'
|
||||
import { defaultVal } from '@/utils/index'
|
||||
import extend from '@/extensions/delRows.js'
|
||||
import AuthForm from '../../components/Base/AuthForm.vue'
|
||||
import AuthTable from '../../components/Base/AuthTable.vue'
|
||||
import ColumnDefine from '@/interface/columnDefine'
|
||||
export default {
|
||||
name: '{TableName}',
|
||||
components: { Sticky, permissionBtn, Pagination, AuthTable, AuthForm, },
|
||||
directives: {
|
||||
waves,
|
||||
elDragDialog,
|
||||
},
|
||||
mixins: [extend],
|
||||
data() {
|
||||
return {
|
||||
headerList: [], // 主列表列定义
|
||||
multipleSelection: [], // 列表checkbox选中的值
|
||||
tableKey: 0,
|
||||
list: null,
|
||||
total: 0,
|
||||
listLoading: true,
|
||||
listQuery: {
|
||||
// 查询条件
|
||||
page: 1,
|
||||
limit: 20,
|
||||
key: undefined,
|
||||
},
|
||||
temp: { },
|
||||
dialogFormVisible: false,
|
||||
dialogStatus: '',
|
||||
textMap: {
|
||||
update: '编辑',
|
||||
create: '添加',
|
||||
},
|
||||
rules: {
|
||||
name: [{ required: true, message: '名称不能为空', trigger: 'blur' }],
|
||||
},
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.headerList = [
|
||||
{HeaderList}
|
||||
]
|
||||
this.getList()
|
||||
},
|
||||
methods: {
|
||||
|
||||
rowClick(row) {
|
||||
this.$refs.mainTable.clearSelection()
|
||||
this.$refs.mainTable.toggleRowSelection(row)
|
||||
},
|
||||
handleSelectionChange(val) {
|
||||
this.multipleSelection = val
|
||||
},
|
||||
onBtnClicked: function(domId,callback) {
|
||||
console.log('you click:' + domId)
|
||||
switch (domId) {
|
||||
case 'btnAdd':
|
||||
this.handleCreate()
|
||||
break
|
||||
case 'btnEdit':
|
||||
if (this.multipleSelection.length !== 1) {
|
||||
this.$message({
|
||||
message: '只能选中一个进行编辑',
|
||||
type: 'error',
|
||||
})
|
||||
return
|
||||
}
|
||||
this.handleUpdate(this.multipleSelection[0])
|
||||
break
|
||||
case 'btnDel':
|
||||
if (this.multipleSelection.length < 1) {
|
||||
this.$message({
|
||||
message: '至少删除一个',
|
||||
type: 'error',
|
||||
})
|
||||
return
|
||||
}
|
||||
this.handleDelete(this.multipleSelection)
|
||||
break
|
||||
case 'btnExport':
|
||||
this.$refs.mainTable.exportExcel('资源文件',callback)
|
||||
break
|
||||
default:
|
||||
break
|
||||
}
|
||||
},
|
||||
getList() {
|
||||
this.listLoading = true
|
||||
{TableName}s.getList(this.listQuery).then((response) => {
|
||||
this.list = response.data
|
||||
this.total = response.count
|
||||
this.listLoading = false
|
||||
})
|
||||
},
|
||||
handleFilter() {
|
||||
this.listQuery.page = 1
|
||||
this.getList()
|
||||
},
|
||||
handleSizeChange(val) {
|
||||
this.listQuery.limit = val
|
||||
this.getList()
|
||||
},
|
||||
handleCurrentChange(val) {
|
||||
this.listQuery.page = val.page
|
||||
this.listQuery.limit = val.limit
|
||||
this.getList()
|
||||
},
|
||||
handleModifyStatus(row, disable) {
|
||||
// 模拟修改状态
|
||||
this.$message({
|
||||
message: '操作成功',
|
||||
type: 'success',
|
||||
})
|
||||
row.disable = disable
|
||||
},
|
||||
resetTemp() {
|
||||
this.headerList.forEach((item) => {
|
||||
this.temp[item.columnName] = defaultVal(item.entityType)
|
||||
})
|
||||
},
|
||||
handleCreate() {
|
||||
// 弹出添加框
|
||||
this.resetTemp()
|
||||
this.dialogStatus = 'create'
|
||||
this.dialogFormVisible = true
|
||||
this.$nextTick(() => {
|
||||
this.$refs['dataForm'].clearValidate()
|
||||
})
|
||||
},
|
||||
createData() {
|
||||
// 保存提交
|
||||
this.$refs['dataForm'].validate(() => {
|
||||
{TableName}s.add(this.temp).then(() => {
|
||||
this.list.unshift(this.temp)
|
||||
this.dialogFormVisible = false
|
||||
this.$notify({
|
||||
title: '成功',
|
||||
message: '创建成功',
|
||||
type: 'success',
|
||||
duration: 2000,
|
||||
})
|
||||
})
|
||||
})
|
||||
},
|
||||
handleUpdate(row) {
|
||||
// 弹出编辑框
|
||||
this.temp = Object.assign({}, row) // copy obj
|
||||
this.dialogStatus = 'update'
|
||||
this.dialogFormVisible = true
|
||||
this.$nextTick(() => {
|
||||
this.$refs['dataForm'].clearValidate()
|
||||
})
|
||||
},
|
||||
updateData() {
|
||||
// 更新提交
|
||||
this.$refs['dataForm'].validate(() => {
|
||||
const tempData = Object.assign({}, this.temp)
|
||||
{TableName}s.update(tempData).then(() => {
|
||||
for (const v of this.list) {
|
||||
if (v.id === this.temp.id) {
|
||||
const index = this.list.indexOf(v)
|
||||
this.list.splice(index, 1, this.temp)
|
||||
break
|
||||
}
|
||||
}
|
||||
this.dialogFormVisible = false
|
||||
this.$notify({
|
||||
title: '成功',
|
||||
message: '更新成功',
|
||||
type: 'success',
|
||||
duration: 2000,
|
||||
})
|
||||
})
|
||||
})
|
||||
},
|
||||
handleDelete(rows) {
|
||||
// 多行删除
|
||||
this.delrows({TableName}s, rows)
|
||||
},
|
||||
},
|
||||
}
|
||||
</script>
|
||||
<style>
|
||||
.dialog-mini .el-select {
|
||||
width: 100%;
|
||||
}
|
||||
</style>
|
@ -0,0 +1,235 @@
|
||||
<!--
|
||||
* @description: 代码生成器自动生成
|
||||
* @author: liyubao | xufuxing
|
||||
* @version: 1.0
|
||||
-->
|
||||
<template>
|
||||
<div class="flex-column">
|
||||
<sticky :className="'sub-navbar'">
|
||||
<div class="filter-container">
|
||||
<el-input @keyup.enter.native="handleFilter" size="mini" style="width: 200px;" class="filter-item" :placeholder="'名称'" v-model="listQuery.key"> </el-input>
|
||||
<el-button class="filter-item" size="mini" v-waves icon="el-icon-search" @click="handleFilter">搜索</el-button>
|
||||
<permission-btn size="mini" v-on:btn-event="onBtnClicked"></permission-btn>
|
||||
</div>
|
||||
</sticky>
|
||||
<div class="app-container flex-item">
|
||||
<div class="bg-white" style="height: 100%;">
|
||||
<auth-table
|
||||
style="height:calc(100% - 60px)"
|
||||
ref="mainTable"
|
||||
:select-type="'checkbox'"
|
||||
:table-fields="headerList"
|
||||
:data="list"
|
||||
:v-loading="listLoading"
|
||||
@row-click="rowClick"
|
||||
@selection-change="handleSelectionChange"
|
||||
></auth-table>
|
||||
<pagination v-show="total > 0" :total="total" :page.sync="listQuery.page" :limit.sync="listQuery.limit" @pagination="handleCurrentChange" />
|
||||
</div>
|
||||
<el-dialog v-el-drag-dialog class="dialog-mini" width="500px" :title="textMap[dialogStatus]" :visible.sync="dialogFormVisible">
|
||||
<auth-form ref="dataForm" :rules="rules" :edit-model="true" :form-fields="headerList" :data="temp" :col-num="2"></auth-form>
|
||||
<div slot="footer">
|
||||
<el-button size="mini" @click="dialogFormVisible = false">取消</el-button>
|
||||
<el-button size="mini" v-if="dialogStatus == 'create'" type="primary" @click="createData">确认</el-button>
|
||||
<el-button size="mini" v-else type="primary" @click="updateData">确认</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import * as {TableName}s from '@/api/{TableName}s'
|
||||
import waves from '@/directive/waves' // 水波纹指令
|
||||
import Sticky from '@/components/Sticky'
|
||||
import permissionBtn from '@/components/PermissionBtn'
|
||||
import Pagination from '@/components/Pagination'
|
||||
import elDragDialog from '@/directive/el-dragDialog'
|
||||
import { defaultVal } from '@/utils/index'
|
||||
import extend from '@/extensions/delRows.js'
|
||||
import AuthForm from '../../components/Base/AuthForm.vue'
|
||||
import AuthTable from '../../components/Base/AuthTable.vue'
|
||||
export default {
|
||||
name: '{TableName}',
|
||||
components: { Sticky, permissionBtn, Pagination, AuthTable, AuthForm, },
|
||||
directives: {
|
||||
waves,
|
||||
elDragDialog,
|
||||
},
|
||||
mixins: [extend],
|
||||
data() {
|
||||
return {
|
||||
headerList: [], // 主列表列定义
|
||||
multipleSelection: [], // 列表checkbox选中的值
|
||||
tableKey: 0,
|
||||
list: null,
|
||||
total: 0,
|
||||
listLoading: true,
|
||||
listQuery: {
|
||||
// 查询条件
|
||||
page: 1,
|
||||
limit: 20,
|
||||
key: undefined,
|
||||
},
|
||||
temp: { },
|
||||
dialogFormVisible: false,
|
||||
dialogStatus: '',
|
||||
textMap: {
|
||||
update: '编辑',
|
||||
create: '添加',
|
||||
},
|
||||
rules: {
|
||||
name: [{ required: true, message: '名称不能为空', trigger: 'blur' }],
|
||||
},
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getList()
|
||||
},
|
||||
methods: {
|
||||
|
||||
rowClick(row) {
|
||||
this.$refs.mainTable.clearSelection()
|
||||
this.$refs.mainTable.toggleRowSelection(row)
|
||||
},
|
||||
handleSelectionChange(val) {
|
||||
this.multipleSelection = val
|
||||
},
|
||||
onBtnClicked: function(domId,callback) {
|
||||
console.log('you click:' + domId)
|
||||
switch (domId) {
|
||||
case 'btnAdd':
|
||||
this.handleCreate()
|
||||
break
|
||||
case 'btnEdit':
|
||||
if (this.multipleSelection.length !== 1) {
|
||||
this.$message({
|
||||
message: '只能选中一个进行编辑',
|
||||
type: 'error',
|
||||
})
|
||||
return
|
||||
}
|
||||
this.handleUpdate(this.multipleSelection[0])
|
||||
break
|
||||
case 'btnDel':
|
||||
if (this.multipleSelection.length < 1) {
|
||||
this.$message({
|
||||
message: '至少删除一个',
|
||||
type: 'error',
|
||||
})
|
||||
return
|
||||
}
|
||||
this.handleDelete(this.multipleSelection)
|
||||
break
|
||||
case 'btnExport':
|
||||
this.$refs.mainTable.exportExcel('资源文件',callback)
|
||||
break
|
||||
default:
|
||||
break
|
||||
}
|
||||
},
|
||||
getList() {
|
||||
this.listLoading = true
|
||||
{TableName}s.getList(this.listQuery).then((response) => {
|
||||
this.list = response.data
|
||||
response.columnFields.forEach((item) => {
|
||||
// 首字母小写
|
||||
item.columnName = item.columnName.substring(0, 1).toLowerCase() + item.columnName.substring(1)
|
||||
})
|
||||
this.headerList = response.columnFields
|
||||
this.total = response.count
|
||||
this.listLoading = false
|
||||
})
|
||||
},
|
||||
handleFilter() {
|
||||
this.listQuery.page = 1
|
||||
this.getList()
|
||||
},
|
||||
handleSizeChange(val) {
|
||||
this.listQuery.limit = val
|
||||
this.getList()
|
||||
},
|
||||
handleCurrentChange(val) {
|
||||
this.listQuery.page = val.page
|
||||
this.listQuery.limit = val.limit
|
||||
this.getList()
|
||||
},
|
||||
handleModifyStatus(row, disable) {
|
||||
// 模拟修改状态
|
||||
this.$message({
|
||||
message: '操作成功',
|
||||
type: 'success',
|
||||
})
|
||||
row.disable = disable
|
||||
},
|
||||
resetTemp() {
|
||||
this.headerList.forEach((item) => {
|
||||
this.temp[item.columnName] = defaultVal(item.entityType)
|
||||
})
|
||||
},
|
||||
handleCreate() {
|
||||
// 弹出添加框
|
||||
this.resetTemp()
|
||||
this.dialogStatus = 'create'
|
||||
this.dialogFormVisible = true
|
||||
this.$nextTick(() => {
|
||||
this.$refs['dataForm'].clearValidate()
|
||||
})
|
||||
},
|
||||
createData() {
|
||||
// 保存提交
|
||||
this.$refs['dataForm'].validate(() => {
|
||||
{TableName}s.add(this.temp).then(() => {
|
||||
this.list.unshift(this.temp)
|
||||
this.dialogFormVisible = false
|
||||
this.$notify({
|
||||
title: '成功',
|
||||
message: '创建成功',
|
||||
type: 'success',
|
||||
duration: 2000,
|
||||
})
|
||||
})
|
||||
})
|
||||
},
|
||||
handleUpdate(row) {
|
||||
// 弹出编辑框
|
||||
this.temp = Object.assign({}, row) // copy obj
|
||||
this.dialogStatus = 'update'
|
||||
this.dialogFormVisible = true
|
||||
this.$nextTick(() => {
|
||||
this.$refs['dataForm'].clearValidate()
|
||||
})
|
||||
},
|
||||
updateData() {
|
||||
// 更新提交
|
||||
this.$refs['dataForm'].validate(() => {
|
||||
const tempData = Object.assign({}, this.temp)
|
||||
{TableName}s.update(tempData).then(() => {
|
||||
for (const v of this.list) {
|
||||
if (v.id === this.temp.id) {
|
||||
const index = this.list.indexOf(v)
|
||||
this.list.splice(index, 1, this.temp)
|
||||
break
|
||||
}
|
||||
}
|
||||
this.dialogFormVisible = false
|
||||
this.$notify({
|
||||
title: '成功',
|
||||
message: '更新成功',
|
||||
type: 'success',
|
||||
duration: 2000,
|
||||
})
|
||||
})
|
||||
})
|
||||
},
|
||||
handleDelete(rows) {
|
||||
// 多行删除
|
||||
this.delrows({TableName}s, rows)
|
||||
},
|
||||
},
|
||||
}
|
||||
</script>
|
||||
<style>
|
||||
.dialog-mini .el-select {
|
||||
width: 100%;
|
||||
}
|
||||
</style>
|
@ -52,9 +52,20 @@ CREATE TABLE `buildertable` (
|
||||
`UpdateUserId` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '修改人ID',
|
||||
`UpdateUserName` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '修改人姓名',
|
||||
`CreateUserName` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '创建人姓名',
|
||||
`ForeignKey` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '字表外键',
|
||||
`IsDynamicHeader` tinyint(4) NULL DEFAULT 0 COMMENT '是否动态加载表头信息',
|
||||
`ParentTableId` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '主表Id,如果为空,则默认为主表',
|
||||
PRIMARY KEY (`Id`) USING BTREE
|
||||
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '代码生成器的表信息' ROW_FORMAT = Dynamic;
|
||||
|
||||
-- ----------------------------
|
||||
-- Records of buildertable
|
||||
-- ----------------------------
|
||||
INSERT INTO `buildertable` VALUES ('03761b53-e229-4e0e-b7b1-2831bdc84384', 'Stock', '请在自己的电脑测试,服务器是看不出效果的', '', '', 'Stock', 'OpenAuth.Repository.Domain', 'StockApp', '仓储', 'D:/OpenAuth.Pro/Client', '', '', '', '2020-09-29 00:52:58', '00000000-0000-0000-0000-000000000000', '2021-08-30 00:32:09', '00000000-0000-0000-0000-000000000000', '超级管理员', '超级管理员', '', 1, NULL);
|
||||
INSERT INTO `buildertable` VALUES ('7f0ca2fd-7fa0-4316-a466-22733d466dd2', 'wmsinboundordertbl', '入库订单头表', 'wmsinboundorderdtbl', '', 'wmsinboundordertbl', 'OpenAuth.Repository.Domain', 'WmsInApp', '入库模块', 'D:/OpenAuth.Pro/Client', '', '', '', '2021-08-11 22:54:21', '00000000-0000-0000-0000-000000000000', '2021-08-23 01:17:34', '00000000-0000-0000-0000-000000000000', '超级管理员', '超级管理员', '', 0, NULL);
|
||||
INSERT INTO `buildertable` VALUES ('de4a5527-0d8c-4493-b668-39fc9c555df1', 'Resource', '', '', '', 'Resource', 'OpenAuth.Repository.Domain', 'ResourceApp', '资源管理', 'D:/OpenAuth.Pro/Client', '', '', '', '2021-08-29 00:27:29', '00000000-0000-0000-0000-000000000000', '2021-08-30 00:50:17', '00000000-0000-0000-0000-000000000000', '超级管理员', '超级管理员', '', 1, NULL);
|
||||
INSERT INTO `buildertable` VALUES ('f07df6d0-eb47-4f00-9167-79d88bcace36', 'wmsinboundorderdtbl', '', '', '', 'wmsinboundorderdtbl', 'OpenAuth.Repository.Domain', 'wmsinboundorderdtbl', '入库订单模块子表', 'D:/OpenAuth.Pro/Client', '', '', '', '2021-08-11 22:54:21', '00000000-0000-0000-0000-000000000000', '2021-08-23 01:09:27', '00000000-0000-0000-0000-000000000000', '超级管理员', '超级管理员', 'OrderId', 1, '7f0ca2fd-7fa0-4316-a466-22733d466dd2');
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for buildertablecolumn
|
||||
-- ----------------------------
|
||||
@ -77,6 +88,7 @@ CREATE TABLE `buildertablecolumn` (
|
||||
`IsQuery` tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否查询字段',
|
||||
`QueryType` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '查询方式(等于、不等于、大于、小于、范围)',
|
||||
`HtmlType` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '显示类型(文本框、文本域、下拉框、复选框、单选框、日期控件)',
|
||||
`DataSource` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '数据源(用于下拉框、复选框等取值)',
|
||||
`EditType` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '编辑类型(文本框、文本域、下拉框、复选框、单选框、日期控件)',
|
||||
`Sort` int(11) NOT NULL DEFAULT 0 COMMENT '排序',
|
||||
`CreateTime` datetime(0) NOT NULL COMMENT '创建时间',
|
||||
@ -91,6 +103,85 @@ CREATE TABLE `buildertablecolumn` (
|
||||
PRIMARY KEY (`Id`) USING BTREE
|
||||
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '代码生成器的字段信息' ROW_FORMAT = Dynamic;
|
||||
|
||||
-- ----------------------------
|
||||
-- Records of buildertablecolumn
|
||||
-- ----------------------------
|
||||
INSERT INTO `buildertablecolumn` VALUES ('01fab5d4-f004-47e7-909a-c548c0949f04', 'f07df6d0-eb47-4f00-9167-79d88bcace36', 'wmsinboundorderdtbl', 'HoldNum', '占用数量', 'decimal', 'decimal', 'HoldNum', 0, 0, 1, 1, 1, 1, 0, '', '', NULL, 'number', 0, '2021-08-11 22:54:21', '00000000-0000-0000-0000-000000000000', '2021-08-23 02:48:02', '00000000-0000-0000-0000-000000000000', NULL, NULL, '超级管理员', '超级管理员', NULL);
|
||||
INSERT INTO `buildertablecolumn` VALUES ('03129db7-5ba9-4410-b43e-b77ac9fe7929', 'f07df6d0-eb47-4f00-9167-79d88bcace36', 'wmsinboundorderdtbl', 'CreateUserId', '创建人ID', 'varchar', 'string', 'CreateUserId', 0, 0, 0, 0, 0, 0, 0, '', '', NULL, '', 0, '2021-08-11 22:54:21', '00000000-0000-0000-0000-000000000000', '2021-08-23 02:57:46', '00000000-0000-0000-0000-000000000000', NULL, NULL, '超级管理员', '超级管理员', 50);
|
||||
INSERT INTO `buildertablecolumn` VALUES ('08e80261-e4ae-4a6f-adf5-09ad5267a975', 'f07df6d0-eb47-4f00-9167-79d88bcace36', 'wmsinboundorderdtbl', 'GoodsBatch', '商品批号', 'varchar', 'string', 'GoodsBatch', 0, 0, 1, 1, 1, 1, 0, '', '', NULL, '', 0, '2021-08-11 22:54:21', '00000000-0000-0000-0000-000000000000', '2021-08-11 22:54:21', '', NULL, NULL, '', '超级管理员', 50);
|
||||
INSERT INTO `buildertablecolumn` VALUES ('0ff3a09e-5a37-459f-be55-49ad2b90d934', '7f0ca2fd-7fa0-4316-a466-22733d466dd2', 'wmsinboundordertbl', 'Id', '入库通知单号', 'varchar', 'string', 'Id', 1, 0, 1, 1, 1, 1, 0, '', '', NULL, 'text', 0, '2021-08-11 22:54:21', '00000000-0000-0000-0000-000000000000', '2021-08-23 02:45:59', '00000000-0000-0000-0000-000000000000', NULL, NULL, '超级管理员', '超级管理员', 50);
|
||||
INSERT INTO `buildertablecolumn` VALUES ('10462120-3731-4b3d-a44e-f8ee039b3b26', 'de4a5527-0d8c-4493-b668-39fc9c555df1', 'Resource', 'Disable', '是否禁用', 'tinyint', 'bool', 'Disable', 0, 0, 1, 1, 1, 1, 0, '', '', '', 'switch', 93, '2021-08-29 00:27:29', '00000000-0000-0000-0000-000000000000', '2021-08-29 11:39:46', '00000000-0000-0000-0000-000000000000', NULL, NULL, '超级管理员', '超级管理员', NULL);
|
||||
INSERT INTO `buildertablecolumn` VALUES ('11997d76-06da-480f-9505-d7b6ed824d30', '7f0ca2fd-7fa0-4316-a466-22733d466dd2', 'wmsinboundordertbl', 'OrgId', '所属部门', 'varchar', 'string', 'OrgId', 0, 0, 0, 1, 0, 0, 0, '', '', NULL, '', 0, '2021-08-11 22:54:21', '00000000-0000-0000-0000-000000000000', '2021-08-23 01:50:35', '00000000-0000-0000-0000-000000000000', NULL, NULL, '超级管理员', '超级管理员', 50);
|
||||
INSERT INTO `buildertablecolumn` VALUES ('17cf3076-9b38-4ac8-a05a-07b1f5b4a309', 'f07df6d0-eb47-4f00-9167-79d88bcace36', 'wmsinboundorderdtbl', 'Remark', '备注', 'varchar', 'string', 'Remark', 0, 0, 0, 1, 1, 1, 0, '', '', NULL, 'textarea', 0, '2021-08-11 22:54:21', '00000000-0000-0000-0000-000000000000', '2021-08-23 02:49:42', '00000000-0000-0000-0000-000000000000', NULL, NULL, '超级管理员', '超级管理员', 128);
|
||||
INSERT INTO `buildertablecolumn` VALUES ('18f07476-eaa9-4f5e-a4fd-14a8e1bd4c87', 'de4a5527-0d8c-4493-b668-39fc9c555df1', 'Resource', 'CreateUserName', '创建人', 'varchar', 'string', 'CreateUserName', 0, 0, 1, 1, 0, 1, 0, '', '', NULL, '', 80, '2021-08-29 00:27:29', '00000000-0000-0000-0000-000000000000', '2021-08-29 00:59:35', '00000000-0000-0000-0000-000000000000', NULL, NULL, '超级管理员', '超级管理员', 200);
|
||||
INSERT INTO `buildertablecolumn` VALUES ('2105d04e-8c65-4a21-9701-76f64ac119d3', 'f07df6d0-eb47-4f00-9167-79d88bcace36', 'wmsinboundorderdtbl', 'OrderId', '入库单号', 'varchar', 'string', 'OrderId', 1, 0, 1, 1, 1, 1, 0, '', '', NULL, '', 0, '2021-08-11 22:54:21', '00000000-0000-0000-0000-000000000000', '2021-08-23 03:06:40', '00000000-0000-0000-0000-000000000000', NULL, NULL, '超级管理员', '超级管理员', 50);
|
||||
INSERT INTO `buildertablecolumn` VALUES ('28bd8b85-b62a-4fa3-a50d-a78b015897be', 'f07df6d0-eb47-4f00-9167-79d88bcace36', 'wmsinboundorderdtbl', 'OwnerId', '货主编号', 'varchar', 'string', 'OwnerId', 0, 0, 1, 1, 1, 1, 0, '', '', NULL, '', 0, '2021-08-11 22:54:21', '00000000-0000-0000-0000-000000000000', '2021-08-11 22:54:21', '', NULL, NULL, '', '超级管理员', 32);
|
||||
INSERT INTO `buildertablecolumn` VALUES ('2bc4953d-a863-492e-845f-36bff59bc107', 'de4a5527-0d8c-4493-b668-39fc9c555df1', 'Resource', 'UpdateUserId', '更新人ID', 'varchar', 'string', 'UpdateUserId', 0, 0, 0, 1, 0, 0, 0, '', '', NULL, '', 0, '2021-08-29 00:27:29', '00000000-0000-0000-0000-000000000000', '2021-08-30 00:51:27', '00000000-0000-0000-0000-000000000000', NULL, NULL, '超级管理员', '超级管理员', 50);
|
||||
INSERT INTO `buildertablecolumn` VALUES ('2bed33d9-c8bf-46ea-8a35-99a6b079da66', 'f07df6d0-eb47-4f00-9167-79d88bcace36', 'wmsinboundorderdtbl', 'UpdateTime', '更新时间', 'datetime', 'DateTime', 'UpdateTime', 0, 0, 0, 0, 0, 1, 0, '', '', NULL, 'datetime', 0, '2021-08-11 22:54:21', '00000000-0000-0000-0000-000000000000', '2021-08-23 03:06:47', '00000000-0000-0000-0000-000000000000', NULL, NULL, '超级管理员', '超级管理员', NULL);
|
||||
INSERT INTO `buildertablecolumn` VALUES ('33a8a1bd-ea81-4942-9469-4f20a037bf94', 'de4a5527-0d8c-4493-b668-39fc9c555df1', 'Resource', 'AppName', '应用名称', 'varchar', 'string', 'AppName', 0, 0, 0, 1, 1, 1, 0, '', '', NULL, '', 90, '2021-08-29 00:27:29', '00000000-0000-0000-0000-000000000000', '2021-08-30 00:51:44', '00000000-0000-0000-0000-000000000000', NULL, NULL, '超级管理员', '超级管理员', 50);
|
||||
INSERT INTO `buildertablecolumn` VALUES ('3508e108-6fb3-44f2-aa61-4c61a42f5f38', '7f0ca2fd-7fa0-4316-a466-22733d466dd2', 'wmsinboundordertbl', 'CreateTime', '创建时间', 'datetime', 'DateTime', 'CreateTime', 0, 0, 1, 1, 0, 1, 0, '', '', NULL, '', 0, '2021-08-11 22:54:21', '00000000-0000-0000-0000-000000000000', '2021-08-23 01:09:47', '00000000-0000-0000-0000-000000000000', NULL, NULL, '超级管理员', '超级管理员', NULL);
|
||||
INSERT INTO `buildertablecolumn` VALUES ('37219218-c8a1-40a8-be28-77d423a019b7', 'de4a5527-0d8c-4493-b668-39fc9c555df1', 'Resource', 'AppId', '应用ID', 'varchar', 'string', 'AppId', 0, 0, 0, 1, 1, 0, 0, '', '', 'PLATFORM', 'select', 0, '2021-08-29 00:27:29', '00000000-0000-0000-0000-000000000000', '2021-08-30 00:51:49', '00000000-0000-0000-0000-000000000000', NULL, NULL, '超级管理员', '超级管理员', 50);
|
||||
INSERT INTO `buildertablecolumn` VALUES ('3b96bd7f-38a6-4188-9205-5f6340e29548', '7f0ca2fd-7fa0-4316-a466-22733d466dd2', 'wmsinboundordertbl', 'UpdateTime', '最后更新时间', 'datetime', 'DateTime', 'UpdateTime', 0, 0, 0, 1, 0, 0, 0, '', '', NULL, '', 0, '2021-08-11 22:54:21', '00000000-0000-0000-0000-000000000000', '2021-08-23 01:52:29', '00000000-0000-0000-0000-000000000000', NULL, NULL, '超级管理员', '超级管理员', NULL);
|
||||
INSERT INTO `buildertablecolumn` VALUES ('3d1b1192-aad3-4a6f-9770-ecf486bc4cc0', '03761b53-e229-4e0e-b7b1-2831bdc84384', 'Stock', 'Status', '出库/入库', 'int', 'int', 'Status', 0, 0, 1, 1, 1, 1, 0, '', '', 'COMMON_STATUS', 'select', 7, '2020-09-29 00:52:58', '00000000-0000-0000-0000-000000000000', '2021-08-30 00:30:15', '00000000-0000-0000-0000-000000000000', NULL, NULL, '超级管理员', '超级管理员', NULL);
|
||||
INSERT INTO `buildertablecolumn` VALUES ('3e0dcc3c-3978-4615-bfe9-e65b78e67f4e', 'f07df6d0-eb47-4f00-9167-79d88bcace36', 'wmsinboundorderdtbl', 'CreateTime', '创建时间', 'datetime', 'DateTime', 'CreateTime', 0, 0, 0, 0, 0, 1, 0, '', '', NULL, '', 0, '2021-08-11 22:54:21', '00000000-0000-0000-0000-000000000000', '2021-08-23 02:51:57', '00000000-0000-0000-0000-000000000000', NULL, NULL, '超级管理员', '超级管理员', NULL);
|
||||
INSERT INTO `buildertablecolumn` VALUES ('430a695a-7975-4c63-bf57-13c9614d086d', 'f07df6d0-eb47-4f00-9167-79d88bcace36', 'wmsinboundorderdtbl', 'TaxRate', '税率', 'decimal', 'decimal', 'TaxRate', 0, 0, 0, 1, 1, 1, 0, '', '', NULL, 'decimal', 0, '2021-08-11 22:54:21', '00000000-0000-0000-0000-000000000000', '2021-08-23 02:49:47', '00000000-0000-0000-0000-000000000000', NULL, NULL, '超级管理员', '超级管理员', NULL);
|
||||
INSERT INTO `buildertablecolumn` VALUES ('4922ec7f-8730-4c48-913b-a1c110c1e8c4', '7f0ca2fd-7fa0-4316-a466-22733d466dd2', 'wmsinboundordertbl', 'ScheduledInboundTime', '预定入库时间', 'datetime', 'DateTime', 'ScheduledInboundTime', 0, 0, 0, 1, 1, 0, 0, '', '', NULL, 'date', 0, '2021-08-11 22:54:21', '00000000-0000-0000-0000-000000000000', '2021-08-23 01:51:12', '00000000-0000-0000-0000-000000000000', NULL, NULL, '超级管理员', '超级管理员', NULL);
|
||||
INSERT INTO `buildertablecolumn` VALUES ('4b52a996-4f4d-4a7c-b068-091d1a378b4c', '03761b53-e229-4e0e-b7b1-2831bdc84384', 'Stock', 'OrgId', '组织ID', 'varchar', 'string', 'OrgId', 0, 0, 0, 1, 0, 0, 0, '', '', NULL, '', 20, '2020-09-29 00:52:58', '00000000-0000-0000-0000-000000000000', '2021-08-30 00:30:02', '00000000-0000-0000-0000-000000000000', NULL, NULL, '超级管理员', '超级管理员', 50);
|
||||
INSERT INTO `buildertablecolumn` VALUES ('4c44c915-d771-44b5-8030-f1c242425c7d', 'f07df6d0-eb47-4f00-9167-79d88bcace36', 'wmsinboundorderdtbl', 'Id', '入库通知单明细号', 'varchar', 'string', 'Id', 1, 0, 1, 1, 1, 1, 0, '', '', NULL, 'text', 0, '2021-08-11 22:54:21', '00000000-0000-0000-0000-000000000000', '2021-08-23 02:48:11', '00000000-0000-0000-0000-000000000000', NULL, NULL, '超级管理员', '超级管理员', 50);
|
||||
INSERT INTO `buildertablecolumn` VALUES ('4ddd9669-84c6-4fd4-ae2b-fc72eb2aecf7', 'de4a5527-0d8c-4493-b668-39fc9c555df1', 'Resource', 'Description', '描述', 'varchar', 'string', 'Description', 0, 0, 1, 1, 1, 1, 0, '', '', NULL, '', 85, '2021-08-29 00:27:29', '00000000-0000-0000-0000-000000000000', '2021-08-29 00:59:28', '00000000-0000-0000-0000-000000000000', NULL, NULL, '超级管理员', '超级管理员', 500);
|
||||
INSERT INTO `buildertablecolumn` VALUES ('4e967746-afe2-431c-b549-3ffbe982c25a', 'de4a5527-0d8c-4493-b668-39fc9c555df1', 'Resource', 'TypeName', '分类名称', 'varchar', 'string', 'TypeName', 0, 0, 0, 1, 1, 1, 0, '', '', NULL, '', 0, '2021-08-29 00:27:29', '00000000-0000-0000-0000-000000000000', '2021-08-29 00:27:29', '', NULL, NULL, '', '超级管理员', 20);
|
||||
INSERT INTO `buildertablecolumn` VALUES ('50cf4640-ef20-4122-b21e-c4a6562813f3', 'de4a5527-0d8c-4493-b668-39fc9c555df1', 'Resource', 'SortNo', '排序号', 'int', 'int', 'SortNo', 0, 0, 1, 1, 1, 1, 0, '', '', NULL, 'text', 0, '2021-08-29 00:27:29', '00000000-0000-0000-0000-000000000000', '2021-08-29 00:31:48', '00000000-0000-0000-0000-000000000000', NULL, NULL, '超级管理员', '超级管理员', NULL);
|
||||
INSERT INTO `buildertablecolumn` VALUES ('54954a8b-b34b-41c3-a2bf-46cf5c3f1afa', 'de4a5527-0d8c-4493-b668-39fc9c555df1', 'Resource', 'UpdateTime', '更新时间', 'datetime', 'DateTime', 'UpdateTime', 0, 0, 0, 1, 0, 1, 0, '', '', NULL, '', 0, '2021-08-29 00:27:29', '00000000-0000-0000-0000-000000000000', '2021-08-30 00:51:24', '00000000-0000-0000-0000-000000000000', NULL, NULL, '超级管理员', '超级管理员', NULL);
|
||||
INSERT INTO `buildertablecolumn` VALUES ('56f222a5-bce9-4ae9-acfc-a6c7de0c6dfa', '03761b53-e229-4e0e-b7b1-2831bdc84384', 'Stock', 'Name', '产品名称', 'text', 'string', 'Name', 0, 0, 1, 1, 1, 1, 0, '', '', NULL, 'text', 40, '2020-09-29 00:52:58', '00000000-0000-0000-0000-000000000000', '2021-08-30 00:29:52', '00000000-0000-0000-0000-000000000000', NULL, NULL, '超级管理员', '超级管理员', 0);
|
||||
INSERT INTO `buildertablecolumn` VALUES ('5d372a7e-09f8-480c-9f05-0b28d24b713b', '7f0ca2fd-7fa0-4316-a466-22733d466dd2', 'wmsinboundordertbl', 'ShipperId', '承运人编号', 'varchar', 'string', 'ShipperId', 0, 0, 0, 1, 1, 1, 0, '', '', NULL, 'text', 0, '2021-08-11 22:54:21', '00000000-0000-0000-0000-000000000000', '2021-08-23 02:45:44', '00000000-0000-0000-0000-000000000000', NULL, NULL, '超级管理员', '超级管理员', 50);
|
||||
INSERT INTO `buildertablecolumn` VALUES ('6383b218-2658-4981-9f62-4690f398c1f2', 'f07df6d0-eb47-4f00-9167-79d88bcace36', 'wmsinboundorderdtbl', 'Price', '含税单价', 'decimal', 'decimal', 'Price', 0, 0, 0, 1, 1, 1, 0, '', '', NULL, 'decimal', 0, '2021-08-11 22:54:21', '00000000-0000-0000-0000-000000000000', '2021-08-23 02:49:05', '00000000-0000-0000-0000-000000000000', NULL, NULL, '超级管理员', '超级管理员', NULL);
|
||||
INSERT INTO `buildertablecolumn` VALUES ('67137a1d-f572-40ed-8c67-7fd570b63f42', 'f07df6d0-eb47-4f00-9167-79d88bcace36', 'wmsinboundorderdtbl', 'UpdateUserName', '最后更新人', 'varchar', 'string', 'UpdateUserName', 0, 0, 0, 0, 0, 1, 0, '', '', NULL, '', 0, '2021-08-11 22:54:21', '00000000-0000-0000-0000-000000000000', '2021-08-23 02:52:05', '00000000-0000-0000-0000-000000000000', NULL, NULL, '超级管理员', '超级管理员', 200);
|
||||
INSERT INTO `buildertablecolumn` VALUES ('67a497dd-19b5-44d6-9804-6b8c0769cef0', '03761b53-e229-4e0e-b7b1-2831bdc84384', 'Stock', 'Viewable', '可见范围', 'varchar', 'string', 'Viewable', 0, 0, 1, 1, 1, 1, 0, '', '', NULL, '', 1, '2020-09-29 00:52:58', '00000000-0000-0000-0000-000000000000', '2021-08-30 00:30:25', '00000000-0000-0000-0000-000000000000', NULL, NULL, '超级管理员', '超级管理员', 50);
|
||||
INSERT INTO `buildertablecolumn` VALUES ('6bd63965-6353-47f8-bf46-eaa507457669', '7f0ca2fd-7fa0-4316-a466-22733d466dd2', 'wmsinboundordertbl', 'OrderType', '入库类型', 'varchar', 'string', 'OrderType', 0, 0, 1, 1, 1, 1, 0, '', '', 'SYS_INBOUNDTYPE', 'select', 0, '2021-08-11 22:54:21', '00000000-0000-0000-0000-000000000000', '2021-08-23 02:45:23', '00000000-0000-0000-0000-000000000000', NULL, NULL, '超级管理员', '超级管理员', 50);
|
||||
INSERT INTO `buildertablecolumn` VALUES ('6e6c331c-31ff-40cf-bddc-f331f936c982', 'de4a5527-0d8c-4493-b668-39fc9c555df1', 'Resource', 'Name', '名称', 'varchar', 'string', 'Name', 0, 0, 1, 1, 1, 1, 0, '', '', NULL, '', 95, '2021-08-29 00:27:29', '00000000-0000-0000-0000-000000000000', '2021-08-29 00:58:42', '00000000-0000-0000-0000-000000000000', NULL, NULL, '超级管理员', '超级管理员', 255);
|
||||
INSERT INTO `buildertablecolumn` VALUES ('6ec4c6b1-7a5f-4000-bf69-a2511b0febb2', '7f0ca2fd-7fa0-4316-a466-22733d466dd2', 'wmsinboundordertbl', 'ExternalType', '相关单据类型', 'varchar', 'string', 'ExternalType', 0, 0, 0, 0, 0, 0, 0, '', '', 'SYS_ORDERTYPE', 'select', 0, '2021-08-11 22:54:21', '00000000-0000-0000-0000-000000000000', '2021-08-23 01:13:21', '00000000-0000-0000-0000-000000000000', NULL, NULL, '超级管理员', '超级管理员', 50);
|
||||
INSERT INTO `buildertablecolumn` VALUES ('7000e82f-da5d-4d5e-ac4b-eda825ae40c7', '7f0ca2fd-7fa0-4316-a466-22733d466dd2', 'wmsinboundordertbl', 'GoodsType', '商品类别', 'varchar', 'string', 'GoodsType', 0, 0, 0, 1, 1, 1, 0, '', '', 'SYS_GOODSTYPE', 'select', 0, '2021-08-11 22:54:21', '00000000-0000-0000-0000-000000000000', '2021-08-23 01:10:28', '00000000-0000-0000-0000-000000000000', NULL, NULL, '超级管理员', '超级管理员', 50);
|
||||
INSERT INTO `buildertablecolumn` VALUES ('73759b1d-df4a-4c88-879e-503196604f67', '03761b53-e229-4e0e-b7b1-2831bdc84384', 'Stock', 'Time', '操作时间', 'datetime', 'DateTime', 'Time', 0, 0, 1, 1, 0, 1, 0, '', '', NULL, 'date', 5, '2020-09-29 00:52:58', '00000000-0000-0000-0000-000000000000', '2021-08-30 00:30:19', '00000000-0000-0000-0000-000000000000', NULL, NULL, '超级管理员', '超级管理员', NULL);
|
||||
INSERT INTO `buildertablecolumn` VALUES ('7bc33f75-16dc-49b7-822d-32be5aae904b', 'f07df6d0-eb47-4f00-9167-79d88bcace36', 'wmsinboundorderdtbl', 'OrderNum', '通知数量', 'decimal', 'decimal', 'OrderNum', 0, 0, 1, 1, 1, 1, 0, '', '', NULL, 'number', 0, '2021-08-11 22:54:21', '00000000-0000-0000-0000-000000000000', '2021-08-23 02:48:58', '00000000-0000-0000-0000-000000000000', NULL, NULL, '超级管理员', '超级管理员', NULL);
|
||||
INSERT INTO `buildertablecolumn` VALUES ('85ebb3a8-1a19-44f8-9706-acac1c8bdc44', 'f07df6d0-eb47-4f00-9167-79d88bcace36', 'wmsinboundorderdtbl', 'AsnStatus', '到货状况', 'int', 'int', 'AsnStatus', 0, 0, 1, 1, 1, 1, 0, '', '', 'SYS_STATUS', 'select', 0, '2021-08-11 22:54:21', '00000000-0000-0000-0000-000000000000', '2021-08-23 02:47:30', '00000000-0000-0000-0000-000000000000', NULL, NULL, '超级管理员', '超级管理员', NULL);
|
||||
INSERT INTO `buildertablecolumn` VALUES ('861ca9ab-e81e-4fa8-8b56-375127a8cb59', 'f07df6d0-eb47-4f00-9167-79d88bcace36', 'wmsinboundorderdtbl', 'LeaveNum', '剩余数量', 'decimal', 'decimal', 'LeaveNum', 0, 0, 1, 1, 1, 1, 0, '', '', NULL, 'number', 0, '2021-08-11 22:54:21', '00000000-0000-0000-0000-000000000000', '2021-08-23 02:48:44', '00000000-0000-0000-0000-000000000000', NULL, NULL, '超级管理员', '超级管理员', NULL);
|
||||
INSERT INTO `buildertablecolumn` VALUES ('8a43f4d1-73a7-408d-b3cc-02be321b8ef9', '7f0ca2fd-7fa0-4316-a466-22733d466dd2', 'wmsinboundordertbl', 'OwnerId', '货主编号', 'varchar', 'string', 'OwnerId', 0, 0, 0, 1, 1, 1, 0, '', '', NULL, 'text', 0, '2021-08-11 22:54:21', '00000000-0000-0000-0000-000000000000', '2021-08-23 02:45:33', '00000000-0000-0000-0000-000000000000', NULL, NULL, '超级管理员', '超级管理员', 50);
|
||||
INSERT INTO `buildertablecolumn` VALUES ('8c0836e9-6da1-4510-a59b-ccc94f4c2c14', 'f07df6d0-eb47-4f00-9167-79d88bcace36', 'wmsinboundorderdtbl', 'GoodsId', '商品编号', 'varchar', 'string', 'GoodsId', 0, 0, 1, 1, 1, 1, 0, '', '', NULL, '', 0, '2021-08-11 22:54:21', '00000000-0000-0000-0000-000000000000', '2021-08-11 22:54:21', '', NULL, NULL, '', '超级管理员', 50);
|
||||
INSERT INTO `buildertablecolumn` VALUES ('8effdc32-477a-44a4-a0e6-3e58c5631307', '03761b53-e229-4e0e-b7b1-2831bdc84384', 'Stock', 'Price', '产品单价', 'decimal', 'decimal', 'Price', 0, 0, 1, 1, 1, 1, 0, '', '', NULL, 'text', 10, '2020-09-29 00:52:58', '00000000-0000-0000-0000-000000000000', '2021-08-30 00:31:44', '00000000-0000-0000-0000-000000000000', NULL, NULL, '超级管理员', '超级管理员', NULL);
|
||||
INSERT INTO `buildertablecolumn` VALUES ('95b6e356-3687-4001-9ffb-1271c3baf31e', 'de4a5527-0d8c-4493-b668-39fc9c555df1', 'Resource', 'Id', '标识', 'varchar', 'string', 'Id', 1, 0, 1, 1, 1, 1, 0, '', '', NULL, 'text', 99, '2021-08-29 00:27:29', '00000000-0000-0000-0000-000000000000', '2021-08-30 00:52:12', '00000000-0000-0000-0000-000000000000', NULL, NULL, '超级管理员', '超级管理员', 50);
|
||||
INSERT INTO `buildertablecolumn` VALUES ('96083a87-d21b-4b25-98c6-780156d68b08', 'de4a5527-0d8c-4493-b668-39fc9c555df1', 'Resource', 'ParentName', '父节点名称', 'varchar', 'string', 'ParentName', 0, 0, 0, 1, 0, 1, 0, '', '', NULL, '', 0, '2021-08-29 00:27:29', '00000000-0000-0000-0000-000000000000', '2021-08-30 00:50:16', '00000000-0000-0000-0000-000000000000', NULL, NULL, '超级管理员', '超级管理员', 50);
|
||||
INSERT INTO `buildertablecolumn` VALUES ('9864568d-9816-47e6-ae35-992a3b10bae2', '7f0ca2fd-7fa0-4316-a466-22733d466dd2', 'wmsinboundordertbl', 'ReturnBoxNum', '销退箱数', 'decimal', 'decimal', 'ReturnBoxNum', 0, 0, 1, 1, 1, 1, 0, '', '', NULL, 'number', 0, '2021-08-11 22:54:21', '00000000-0000-0000-0000-000000000000', '2021-08-23 02:44:24', '00000000-0000-0000-0000-000000000000', NULL, NULL, '超级管理员', '超级管理员', NULL);
|
||||
INSERT INTO `buildertablecolumn` VALUES ('9b140a3f-4d00-4a94-80d4-c7fac7be15cb', '7f0ca2fd-7fa0-4316-a466-22733d466dd2', 'wmsinboundordertbl', 'UpdateUserId', '最后更新人ID', 'varchar', 'string', 'UpdateUserId', 0, 0, 0, 1, 0, 0, 0, '', '', NULL, '', 0, '2021-08-11 22:54:21', '00000000-0000-0000-0000-000000000000', '2021-08-23 01:49:42', '00000000-0000-0000-0000-000000000000', NULL, NULL, '超级管理员', '超级管理员', 50);
|
||||
INSERT INTO `buildertablecolumn` VALUES ('9cdf9bd0-a017-49d3-8724-843fe98c2c41', 'de4a5527-0d8c-4493-b668-39fc9c555df1', 'Resource', 'CascadeId', '节点语义ID', 'varchar', 'string', 'CascadeId', 0, 0, 1, 1, 0, 1, 0, '', '', NULL, 'text', 0, '2021-08-29 00:27:29', '00000000-0000-0000-0000-000000000000', '2021-08-30 00:36:14', '00000000-0000-0000-0000-000000000000', NULL, NULL, '超级管理员', '超级管理员', 255);
|
||||
INSERT INTO `buildertablecolumn` VALUES ('9ce375d3-6087-467d-8b59-7f45ac0b68a6', 'f07df6d0-eb47-4f00-9167-79d88bcace36', 'wmsinboundorderdtbl', 'UpdateUserId', '最后更新人ID', 'varchar', 'string', 'UpdateUserId', 0, 0, 0, 0, 0, 0, 0, '', '', NULL, '', 0, '2021-08-11 22:54:21', '00000000-0000-0000-0000-000000000000', '2021-08-23 02:52:05', '00000000-0000-0000-0000-000000000000', NULL, NULL, '超级管理员', '超级管理员', 50);
|
||||
INSERT INTO `buildertablecolumn` VALUES ('9f689acf-84ac-4840-b1c7-39bb82ba47a9', '7f0ca2fd-7fa0-4316-a466-22733d466dd2', 'wmsinboundordertbl', 'Remark', '备注', 'varchar', 'string', 'Remark', 0, 0, 0, 1, 1, 0, 0, '', '', NULL, 'textarea', 0, '2021-08-11 22:54:21', '00000000-0000-0000-0000-000000000000', '2021-08-23 02:44:30', '00000000-0000-0000-0000-000000000000', NULL, NULL, '超级管理员', '超级管理员', 256);
|
||||
INSERT INTO `buildertablecolumn` VALUES ('a131adb2-9410-40ed-879e-b42af5d29c8c', '7f0ca2fd-7fa0-4316-a466-22733d466dd2', 'wmsinboundordertbl', 'Enable', '有效标志', 'tinyint', 'bool', 'Enable', 0, 0, 1, 1, 1, 1, 0, '', '', NULL, 'switch', 0, '2021-08-11 22:54:21', '00000000-0000-0000-0000-000000000000', '2021-08-23 02:46:03', '00000000-0000-0000-0000-000000000000', NULL, NULL, '超级管理员', '超级管理员', NULL);
|
||||
INSERT INTO `buildertablecolumn` VALUES ('a32c75ea-4095-458a-97b6-815db63d951e', '7f0ca2fd-7fa0-4316-a466-22733d466dd2', 'wmsinboundordertbl', 'TransferType', '承运方式', 'varchar', 'string', 'TransferType', 0, 0, 0, 1, 1, 1, 0, '', '', 'SYS_SHIPTYPE', 'select', 0, '2021-08-11 22:54:21', '00000000-0000-0000-0000-000000000000', '2021-08-23 01:17:20', '00000000-0000-0000-0000-000000000000', NULL, NULL, '超级管理员', '超级管理员', 50);
|
||||
INSERT INTO `buildertablecolumn` VALUES ('a33882d0-89f1-4d21-b740-051b1742e33c', 'f07df6d0-eb47-4f00-9167-79d88bcace36', 'wmsinboundorderdtbl', 'QualityFlg', '品质', 'varchar', 'string', 'QualityFlg', 0, 0, 1, 1, 1, 1, 0, '', '', 'SYS_GOODSTYPE', 'select', 0, '2021-08-11 22:54:21', '00000000-0000-0000-0000-000000000000', '2021-08-23 02:51:39', '00000000-0000-0000-0000-000000000000', NULL, NULL, '超级管理员', '超级管理员', 50);
|
||||
INSERT INTO `buildertablecolumn` VALUES ('a5f9c89e-474f-4047-9e18-a8a31050a952', '7f0ca2fd-7fa0-4316-a466-22733d466dd2', 'wmsinboundordertbl', 'SupplierId', '供应商编号', 'varchar', 'string', 'SupplierId', 0, 0, 0, 1, 0, 0, 0, '', '', NULL, '', 0, '2021-08-11 22:54:21', '00000000-0000-0000-0000-000000000000', '2021-08-23 01:13:11', '00000000-0000-0000-0000-000000000000', NULL, NULL, '超级管理员', '超级管理员', 50);
|
||||
INSERT INTO `buildertablecolumn` VALUES ('a6e98eac-afd5-4465-9b60-206cfdeab9e1', '7f0ca2fd-7fa0-4316-a466-22733d466dd2', 'wmsinboundordertbl', 'CreateUserId', '创建人ID', 'varchar', 'string', 'CreateUserId', 0, 0, 1, 1, 0, 0, 0, '', '', NULL, '', 0, '2021-08-11 22:54:21', '00000000-0000-0000-0000-000000000000', '2021-08-23 01:09:56', '00000000-0000-0000-0000-000000000000', NULL, NULL, '超级管理员', '超级管理员', 50);
|
||||
INSERT INTO `buildertablecolumn` VALUES ('a8249275-9be3-4a92-ae3e-fa135233ef76', 'f07df6d0-eb47-4f00-9167-79d88bcace36', 'wmsinboundorderdtbl', 'InNum', '到货数量', 'decimal', 'decimal', 'InNum', 0, 0, 1, 1, 1, 1, 0, '', '', NULL, '', 0, '2021-08-11 22:54:21', '00000000-0000-0000-0000-000000000000', '2021-08-11 22:54:21', '', NULL, NULL, '', '超级管理员', NULL);
|
||||
INSERT INTO `buildertablecolumn` VALUES ('acbae3d8-fb55-404b-8680-53cb02b02927', 'de4a5527-0d8c-4493-b668-39fc9c555df1', 'Resource', 'UpdateUserName', '最后更新人', 'varchar', 'string', 'UpdateUserName', 0, 0, 0, 1, 0, 0, 0, '', '', NULL, '', 0, '2021-08-29 00:27:29', '00000000-0000-0000-0000-000000000000', '2021-08-29 00:56:36', '00000000-0000-0000-0000-000000000000', NULL, NULL, '超级管理员', '超级管理员', 200);
|
||||
INSERT INTO `buildertablecolumn` VALUES ('b0898ec0-ff90-46a6-9129-bd67aad6a547', 'de4a5527-0d8c-4493-b668-39fc9c555df1', 'Resource', 'CreateTime', '创建时间', 'datetime', 'DateTime', 'CreateTime', 0, 0, 1, 1, 0, 1, 0, '', '', NULL, 'datetime', 0, '2021-08-29 00:27:29', '00000000-0000-0000-0000-000000000000', '2021-08-29 00:28:32', '00000000-0000-0000-0000-000000000000', NULL, NULL, '超级管理员', '超级管理员', NULL);
|
||||
INSERT INTO `buildertablecolumn` VALUES ('b1d3a4ef-ca85-48af-abdb-ca8b02a67b5e', 'f07df6d0-eb47-4f00-9167-79d88bcace36', 'wmsinboundorderdtbl', 'PriceNoTax', '无税单价', 'decimal', 'decimal', 'PriceNoTax', 0, 0, 0, 1, 1, 1, 0, '', '', NULL, 'decimal', 0, '2021-08-11 22:54:21', '00000000-0000-0000-0000-000000000000', '2021-08-23 02:49:09', '00000000-0000-0000-0000-000000000000', NULL, NULL, '超级管理员', '超级管理员', NULL);
|
||||
INSERT INTO `buildertablecolumn` VALUES ('b7f96e95-0adf-4dfe-a153-5048f778a518', '03761b53-e229-4e0e-b7b1-2831bdc84384', 'Stock', 'Number', '产品数量', 'int', 'int', 'Number', 0, 0, 1, 1, 1, 1, 0, '', '', NULL, 'number', 30, '2020-09-29 00:52:58', '00000000-0000-0000-0000-000000000000', '2021-08-30 00:29:55', '00000000-0000-0000-0000-000000000000', NULL, NULL, '超级管理员', '超级管理员', NULL);
|
||||
INSERT INTO `buildertablecolumn` VALUES ('b8a74c6e-4ad9-44b2-9c66-a799f6c3feb6', '7f0ca2fd-7fa0-4316-a466-22733d466dd2', 'wmsinboundordertbl', 'CreateUserName', '创建人', 'varchar', 'string', 'CreateUserName', 0, 0, 1, 1, 0, 1, 0, '', '', NULL, '', 0, '2021-08-11 22:54:21', '00000000-0000-0000-0000-000000000000', '2021-08-23 01:09:57', '00000000-0000-0000-0000-000000000000', NULL, NULL, '超级管理员', '超级管理员', 200);
|
||||
INSERT INTO `buildertablecolumn` VALUES ('b98e4da3-32c0-48bd-b09a-e56b4521504d', 'de4a5527-0d8c-4493-b668-39fc9c555df1', 'Resource', 'TypeId', '分类ID', 'varchar', 'string', 'TypeId', 0, 0, 0, 1, 1, 0, 0, '', '', 'APP_TYPE', 'select', 0, '2021-08-29 00:27:29', '00000000-0000-0000-0000-000000000000', '2021-08-29 00:32:40', '00000000-0000-0000-0000-000000000000', NULL, NULL, '超级管理员', '超级管理员', 50);
|
||||
INSERT INTO `buildertablecolumn` VALUES ('bcf8079e-f046-4fba-b98f-3f840c59edd3', 'f07df6d0-eb47-4f00-9167-79d88bcace36', 'wmsinboundorderdtbl', 'CreateUserName', '创建人', 'varchar', 'string', 'CreateUserName', 0, 0, 0, 0, 0, 1, 0, '', '', NULL, '', 0, '2021-08-11 22:54:21', '00000000-0000-0000-0000-000000000000', '2021-08-23 02:51:58', '00000000-0000-0000-0000-000000000000', NULL, NULL, '超级管理员', '超级管理员', 200);
|
||||
INSERT INTO `buildertablecolumn` VALUES ('bd084fcd-b00b-41b1-85c4-ea856eda4bc1', '03761b53-e229-4e0e-b7b1-2831bdc84384', 'Stock', 'Id', '数据ID', 'varchar', 'string', 'Id', 1, 0, 1, 1, 0, 0, 0, '', '', NULL, '', 50, '2020-09-29 00:52:58', '00000000-0000-0000-0000-000000000000', '2021-08-30 00:31:36', '00000000-0000-0000-0000-000000000000', NULL, NULL, '超级管理员', '超级管理员', 50);
|
||||
INSERT INTO `buildertablecolumn` VALUES ('c084f056-fd43-4b47-8fea-d668d2aef488', '7f0ca2fd-7fa0-4316-a466-22733d466dd2', 'wmsinboundordertbl', 'PurchaseNo', '采购单号', 'varchar', 'string', 'PurchaseNo', 0, 0, 0, 1, 1, 1, 0, '', '', NULL, 'text', 0, '2021-08-11 22:54:21', '00000000-0000-0000-0000-000000000000', '2021-08-23 02:45:39', '00000000-0000-0000-0000-000000000000', NULL, NULL, '超级管理员', '超级管理员', 30);
|
||||
INSERT INTO `buildertablecolumn` VALUES ('cac9af55-805e-4af8-8936-8a2ef0f886f5', '7f0ca2fd-7fa0-4316-a466-22733d466dd2', 'wmsinboundordertbl', 'InBondedArea', '是否保税', 'tinyint', 'bool', 'InBondedArea', 0, 0, 1, 1, 1, 1, 0, '', '', NULL, 'switch', 0, '2021-08-11 22:54:21', '00000000-0000-0000-0000-000000000000', '2021-08-23 02:45:12', '00000000-0000-0000-0000-000000000000', NULL, NULL, '超级管理员', '超级管理员', NULL);
|
||||
INSERT INTO `buildertablecolumn` VALUES ('d2366b5d-992f-4f68-b08d-ebd01962c55c', '03761b53-e229-4e0e-b7b1-2831bdc84384', 'Stock', 'User', '操作人', 'varchar', 'string', 'User', 0, 0, 1, 1, 0, 1, 0, '', '', NULL, '', 3, '2020-09-29 00:52:58', '00000000-0000-0000-0000-000000000000', '2021-08-30 00:30:22', '00000000-0000-0000-0000-000000000000', NULL, NULL, '超级管理员', '超级管理员', 50);
|
||||
INSERT INTO `buildertablecolumn` VALUES ('d73b377d-c6a3-4f74-b608-0e0223dbbd0a', 'de4a5527-0d8c-4493-b668-39fc9c555df1', 'Resource', 'CreateUserId', '创建人ID', 'varchar', 'string', 'CreateUserId', 0, 0, 1, 1, 0, 0, 0, '', '', NULL, '', 0, '2021-08-29 00:27:29', '00000000-0000-0000-0000-000000000000', '2021-08-29 00:28:40', '00000000-0000-0000-0000-000000000000', NULL, NULL, '超级管理员', '超级管理员', 50);
|
||||
INSERT INTO `buildertablecolumn` VALUES ('d8913d5b-c62f-4cb5-aedc-60b652a41427', '7f0ca2fd-7fa0-4316-a466-22733d466dd2', 'wmsinboundordertbl', 'UpdateUserName', '最后更新人', 'varchar', 'string', 'UpdateUserName', 0, 0, 0, 1, 0, 1, 0, '', '', NULL, '', 0, '2021-08-11 22:54:21', '00000000-0000-0000-0000-000000000000', '2021-08-23 01:49:50', '00000000-0000-0000-0000-000000000000', NULL, NULL, '超级管理员', '超级管理员', 200);
|
||||
INSERT INTO `buildertablecolumn` VALUES ('dfbb6dd4-d03a-452a-8f9e-b6747b585819', '7f0ca2fd-7fa0-4316-a466-22733d466dd2', 'wmsinboundordertbl', 'ExternalNo', '相关单据号', 'varchar', 'string', 'ExternalNo', 0, 0, 0, 0, 0, 0, 0, '', '', NULL, 'text', 0, '2021-08-11 22:54:21', '00000000-0000-0000-0000-000000000000', '2021-08-23 02:46:16', '00000000-0000-0000-0000-000000000000', NULL, NULL, '超级管理员', '超级管理员', 50);
|
||||
INSERT INTO `buildertablecolumn` VALUES ('ea35d6b5-aa14-495f-ba36-d51eb73125ac', 'f07df6d0-eb47-4f00-9167-79d88bcace36', 'wmsinboundorderdtbl', 'ExpireDate', '失效日期', 'varchar', 'string', 'ExpireDate', 0, 0, 0, 1, 1, 1, 0, '', '', NULL, '', 0, '2021-08-11 22:54:21', '00000000-0000-0000-0000-000000000000', '2021-08-11 22:54:21', '', NULL, NULL, '', '超级管理员', 30);
|
||||
INSERT INTO `buildertablecolumn` VALUES ('ec8aac16-7f9c-4b19-977c-aecede234910', '7f0ca2fd-7fa0-4316-a466-22733d466dd2', 'wmsinboundordertbl', 'Status', '入库通知单状态', 'int', 'int', 'Status', 0, 0, 0, 0, 0, 0, 0, '', '', 'COMMON_STATUS', 'select', 0, '2021-08-11 22:54:21', '00000000-0000-0000-0000-000000000000', '2021-08-23 01:14:30', '00000000-0000-0000-0000-000000000000', NULL, NULL, '超级管理员', '超级管理员', NULL);
|
||||
INSERT INTO `buildertablecolumn` VALUES ('ecab3cf5-312c-46a9-aa82-87c34396ea90', '7f0ca2fd-7fa0-4316-a466-22733d466dd2', 'wmsinboundordertbl', 'StockId', '仓库编号', 'varchar', 'string', 'StockId', 0, 0, 0, 0, 0, 0, 0, '', '', NULL, '', 0, '2021-08-11 22:54:21', '00000000-0000-0000-0000-000000000000', '2021-08-23 01:14:39', '00000000-0000-0000-0000-000000000000', NULL, NULL, '超级管理员', '超级管理员', 12);
|
||||
INSERT INTO `buildertablecolumn` VALUES ('ee53d454-c8f9-48d3-9bc1-b4a1fdf6c390', 'f07df6d0-eb47-4f00-9167-79d88bcace36', 'wmsinboundorderdtbl', 'InStockStatus', '是否收货中', 'tinyint', 'bool', 'InStockStatus', 0, 0, 1, 1, 1, 1, 0, '', 'switch', NULL, 'switch', 0, '2021-08-11 22:54:21', '00000000-0000-0000-0000-000000000000', '2021-08-23 02:48:30', '00000000-0000-0000-0000-000000000000', NULL, NULL, '超级管理员', '超级管理员', NULL);
|
||||
INSERT INTO `buildertablecolumn` VALUES ('f8392fe0-0591-4ca7-8ebe-c8f69a8a30f0', 'f07df6d0-eb47-4f00-9167-79d88bcace36', 'wmsinboundorderdtbl', 'ProdDate', '生产日期', 'varchar', 'string', 'ProdDate', 0, 0, 0, 1, 1, 1, 0, '', '', NULL, 'datetime', 0, '2021-08-11 22:54:21', '00000000-0000-0000-0000-000000000000', '2021-08-23 02:49:17', '00000000-0000-0000-0000-000000000000', NULL, NULL, '超级管理员', '超级管理员', 30);
|
||||
INSERT INTO `buildertablecolumn` VALUES ('f8d7f45a-8754-46a1-8ce4-9a8992801f68', 'de4a5527-0d8c-4493-b668-39fc9c555df1', 'Resource', 'ParentId', '父节点ID', 'varchar', 'string', 'ParentId', 0, 0, 0, 1, 1, 0, 0, '', '', '/Resources/Load', 'selectDynamic', 0, '2021-08-29 00:27:29', '00000000-0000-0000-0000-000000000000', '2021-08-30 00:51:13', '00000000-0000-0000-0000-000000000000', NULL, NULL, '超级管理员', '超级管理员', 50);
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for category
|
||||
-- ----------------------------
|
||||
@ -99,17 +190,17 @@ CREATE TABLE `category` (
|
||||
`Id` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
|
||||
`Name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT ' ' COMMENT '分类名称或描述',
|
||||
`DtCode` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '分类标识',
|
||||
`DtValue` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '通常与分类标识一致,但万一有不一样的情况呢?',
|
||||
`DtValue` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '通常与分类标识一致,但万一有不一样的情况呢?',
|
||||
`Enable` tinyint(1) NOT NULL DEFAULT 0,
|
||||
`SortNo` int(11) NOT NULL DEFAULT 0 COMMENT '排序号',
|
||||
`Description` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL,
|
||||
`TypeId` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL,
|
||||
`CreateTime` datetime(0) NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`Description` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
|
||||
`TypeId` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
|
||||
`CreateTime` datetime(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '创建时间',
|
||||
`CreateUserId` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '创建人ID',
|
||||
`CreateUserName` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '创建人',
|
||||
`UpdateTime` datetime(0) DEFAULT NULL COMMENT '最后更新时间',
|
||||
`UpdateUserId` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '最后更新人ID',
|
||||
`UpdateUserName` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '最后更新人',
|
||||
`UpdateTime` datetime(0) NULL DEFAULT NULL COMMENT '最后更新时间',
|
||||
`UpdateUserId` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '最后更新人ID',
|
||||
`UpdateUserName` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '最后更新人',
|
||||
PRIMARY KEY (`Id`) USING BTREE
|
||||
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_bin COMMENT = '分类表,也可用作数据字典。表示一个全集,比如:男、女、未知。关联的分类类型表示按什么进行的分类,如:按照性别对人类对象集' ROW_FORMAT = Compact;
|
||||
|
||||
@ -117,33 +208,30 @@ CREATE TABLE `category` (
|
||||
-- Records of category
|
||||
-- ----------------------------
|
||||
INSERT INTO `category` VALUES ('01a2736c-cebe-43a2-8068-7e3f88fa7c23', '审核', 'SYS_ORDERSTATUS_CHECK', 'SYS_ORDERSTATUS_CHECK', 1, 0, '', 'SYS_ORDERSTATUS', '2019-10-29 21:20:40', '00000000-0000-0000-0000-000000000000', '超级管理员', '2019-10-29 21:20:40', '', '');
|
||||
INSERT INTO `category` VALUES ('07d21d6d-3bce-4b73-8273-c9f948f468fe', '释放', 'PICKSTATUS_RELEASE', 'PICKSTATUS_RELEASE', 1, 0, '', 'SYS_PICKSTATUS', '2019-10-29 21:29:35', '00000000-0000-0000-0000-000000000000', '超级管理员', '2019-10-29 21:29:35', '', '');
|
||||
INSERT INTO `category` VALUES ('08776116-d1bf-40d1-b7ff-78b7392f4aef', '自提', 'SYS_SHIPTYPE_NORMAL', 'SYS_SHIPTYPE_NORMAL', 1, 0, '', 'SYS_SHIPTYPE', '2019-11-07 01:19:12', '00000000-0000-0000-0000-000000000000', '超级管理员', '2019-11-07 01:19:12', '', '');
|
||||
INSERT INTO `category` VALUES ('10a13e57-0ba7-4cce-a6d9-9fffe9f1c8fb', 'XXX管理平台', 'XXXPLATFORM', 'XXXPLATFORM', 1, 0, '', 'PLATFORM', '2021-08-30 00:57:50', '00000000-0000-0000-0000-000000000000', '超级管理员', '2021-08-30 00:57:50', '', '');
|
||||
INSERT INTO `category` VALUES ('1979955b-901d-4394-8a3c-f81c32970365', '中药材', 'SYS_GOODSTYPE_TCM', 'SYS_GOODSTYPE_TCM', 1, 0, '', 'SYS_GOODSTYPE', '2019-11-07 01:17:36', '00000000-0000-0000-0000-000000000000', '超级管理员', '2019-11-07 01:17:36', '', '');
|
||||
INSERT INTO `category` VALUES ('2615b6bf-7fc3-46e1-8105-708dda0e6c42', '发货完成', 'PICKSTATUS_OUTSTOCK', 'PICKSTATUS_OUTSTOCK', 1, 0, '', 'SYS_PICKSTATUS', '2019-10-29 21:32:02', '00000000-0000-0000-0000-000000000000', '超级管理员', '2019-10-29 21:32:02', '', '');
|
||||
INSERT INTO `category` VALUES ('354f50b7-0d93-43d6-a721-a4931c650ea3', '创建', 'SYS_ORDERSTATUS_CREATE', 'SYS_ORDERSTATUS_CREATE', 1, 0, '', 'SYS_ORDERSTATUS', '2019-10-29 21:20:02', '00000000-0000-0000-0000-000000000000', '超级管理员', '2019-10-29 21:20:02', '', '');
|
||||
INSERT INTO `category` VALUES ('400c37f2-52d6-4854-956d-4e6d08cdf643', '正常', 'COMMON_STATUS_OK', '0', 0, 0, '', 'COMMON_STATUS', '2020-09-29 00:54:24', '00000000-0000-0000-0000-000000000000', '超级管理员', '2020-09-29 00:54:24', '', '');
|
||||
INSERT INTO `category` VALUES ('43303bfb-11e3-4e12-8cdd-2ef090017e4c', '样品入库', 'SYS_INBOUNDTYPE_SAMPLE', 'SYS_INBOUNDTYPE_SAMPLE', 1, 0, '', 'SYS_INBOUNDTYPE', '2019-11-07 00:51:26', '00000000-0000-0000-0000-000000000000', '超级管理员', '2019-11-07 00:51:26', '', '');
|
||||
INSERT INTO `category` VALUES ('4de1cf0d-b1f5-44f7-a329-4b5fcff73ca6', '普药', 'SYS_GOODSTYPE_COMMON', 'SYS_GOODSTYPE_COMMON', 1, 0, '', 'SYS_GOODSTYPE', '2019-11-07 01:15:35', '00000000-0000-0000-0000-000000000000', '超级管理员', '2019-11-07 01:15:35', '', '');
|
||||
INSERT INTO `category` VALUES ('52f662c3-39bc-4f5a-9730-107cf26b12f0', '直送', 'SYS_SHIPTYPE_DIRECT', 'SYS_SHIPTYPE_DIRECT', 1, 0, '', 'SYS_SHIPTYPE', '2019-11-07 01:19:41', '00000000-0000-0000-0000-000000000000', '超级管理员', '2019-11-07 01:19:41', '', '');
|
||||
INSERT INTO `category` VALUES ('74f7bcc8-50a3-4c02-9a25-ee2fa4575e25', '集货完成', 'PICKSTATUS_STAGED', 'PICKSTATUS_STAGED', 1, 0, '', 'SYS_PICKSTATUS', '2019-10-29 21:31:11', '00000000-0000-0000-0000-000000000000', '超级管理员', '2019-10-29 21:31:11', '', '');
|
||||
INSERT INTO `category` VALUES ('5a0bf590-77bb-49a9-be8f-20eb451f8731', '安卓应用', 'APP_TYPE_ANDROID', 'APP_TYPE_ANDROID', 1, 0, '', 'APP_TYPE', '2021-08-30 00:34:43', '00000000-0000-0000-0000-000000000000', '超级管理员', '2021-08-30 00:34:43', '', '');
|
||||
INSERT INTO `category` VALUES ('77a7f565-cb5c-4876-a139-7901e54b5dde', '正常', 'SYS_STATUS_OK', '0', 0, 0, '', 'SYS_STATUS', '2019-11-06 10:38:46', '00000000-0000-0000-0000-000000000000', '超级管理员', '2019-11-06 10:38:46', '', '');
|
||||
INSERT INTO `category` VALUES ('7fbeb155-8fbb-44ce-a726-2a6fea7920d5', '异常', 'SYS_STATUS_ERROR', '1', 1, 0, '', 'SYS_STATUS', '2019-11-06 10:39:24', '00000000-0000-0000-0000-000000000000', '超级管理员', '2019-11-06 10:39:24', '', '');
|
||||
INSERT INTO `category` VALUES ('845ef9f2-4d33-4887-acf0-6d45fdf5e05c', 'EMS', 'SYS_SHIPTYPE_EMS', 'SYS_SHIPTYPE_EMS', 1, 0, '', 'SYS_SHIPTYPE', '2019-11-07 01:20:45', '00000000-0000-0000-0000-000000000000', '超级管理员', '2019-11-07 01:20:45', '', '');
|
||||
INSERT INTO `category` VALUES ('8641c594-e43e-4469-a5b5-5da06a53eaf9', '打包完成', 'PICKSTATUS_PACK', 'PICKSTATUS_PACK', 1, 0, '', 'SYS_PICKSTATUS', '2019-10-29 21:31:50', '00000000-0000-0000-0000-000000000000', '超级管理员', '2019-10-29 21:31:50', '', '');
|
||||
INSERT INTO `category` VALUES ('86b8d963-63b6-4936-87b1-af248cd26c44', '已完成', 'SYS_ORDERSTATUS_FINISHED', 'SYS_ORDERSTATUS_FINISHED', 1, 0, '', 'SYS_ORDERSTATUS', '2019-10-29 21:27:32', '00000000-0000-0000-0000-000000000000', '超级管理员', '2019-10-29 21:27:32', '', '');
|
||||
INSERT INTO `category` VALUES ('8dcbc59a-c045-4e06-ad13-095cfe9a3209', '销退入库', 'SYS_INBOUNDTYPE_RETURN', 'SYS_INBOUNDTYPE_RETURN', 1, 0, '', 'SYS_INBOUNDTYPE', '2019-11-07 00:52:04', '00000000-0000-0000-0000-000000000000', '超级管理员', '2019-11-07 00:52:04', '', '');
|
||||
INSERT INTO `category` VALUES ('9bddbcfd-f41e-429f-b112-76db0c1bf0f3', '复核完成', 'PICKSTATUS_CHECKED', 'PICKSTATUS_CHECKED', 1, 0, '', 'SYS_PICKSTATUS', '2019-10-29 21:30:37', '00000000-0000-0000-0000-000000000000', '超级管理员', '2019-10-29 21:30:37', '', '');
|
||||
INSERT INTO `category` VALUES ('a4017f4d-c113-4ec9-bdcb-d9c49019a916', '生物制品', 'SYS_GOODSTYPE_BIOLPROD', 'SYS_GOODSTYPE_BIOLPROD', 1, 0, '', 'SYS_GOODSTYPE', '2019-11-07 01:16:59', '00000000-0000-0000-0000-000000000000', '超级管理员', '2019-11-07 01:16:59', '', '');
|
||||
INSERT INTO `category` VALUES ('b1d4301b-2378-4598-9b96-8592afbb64d1', '缓存完成', 'PICKSTATUS_CACHE', 'PICKSTATUS_CACHE', 1, 0, '', 'SYS_PICKSTATUS', '2019-10-29 21:30:53', '00000000-0000-0000-0000-000000000000', '超级管理员', '2019-10-29 21:30:53', '', '');
|
||||
INSERT INTO `category` VALUES ('b42043b2-edd0-40e2-9bb4-13dc5be15ab7', '移动前端', 'APP_TYPE_H5', 'APP_TYPE_H5', 1, 0, '', 'APP_TYPE', '2021-08-30 00:34:19', '00000000-0000-0000-0000-000000000000', '超级管理员', '2021-08-30 00:34:19', '', '');
|
||||
INSERT INTO `category` VALUES ('b44bb9f4-166c-4c59-a693-baacd01d2db4', '4+7集中采购', 'SYS_SHIPTYPE_FREIGHT', 'SYS_SHIPTYPE_FREIGHT', 1, 0, '', 'SYS_SHIPTYPE', '2019-11-07 01:20:21', '00000000-0000-0000-0000-000000000000', '超级管理员', '2019-11-07 01:20:21', '', '');
|
||||
INSERT INTO `category` VALUES ('b77f4a7d-0d22-47dd-97d1-7f8ccd9e5f77', '采购入库', 'SYS_INBOUNDTYPE_PURCHASE', 'SYS_INBOUNDTYPE_PURCHASE', 1, 0, '', 'SYS_INBOUNDTYPE', '2019-11-07 00:50:51', '00000000-0000-0000-0000-000000000000', '超级管理员', '2019-11-07 00:50:51', '', '');
|
||||
INSERT INTO `category` VALUES ('c3ce85b1-0115-47d4-b562-1bbcc51105e2', '食品', 'SYS_GOODSTYPE_FOOD', 'SYS_GOODSTYPE_FOOD', 1, 0, '', 'SYS_GOODSTYPE', '2019-11-07 01:17:58', '00000000-0000-0000-0000-000000000000', '超级管理员', '2019-11-07 01:17:58', '', '');
|
||||
INSERT INTO `category` VALUES ('d2dd6a7f-797e-4ff2-96cc-56bf9fbfc24b', '装车完成', 'PICKSTATUS_CAR', 'PICKSTATUS_CAR', 1, 0, '', 'SYS_PICKSTATUS', '2019-10-29 21:31:27', '00000000-0000-0000-0000-000000000000', '超级管理员', '2019-10-29 21:31:27', '', '');
|
||||
INSERT INTO `category` VALUES ('d8152952-cf55-40ba-af81-0d4863247d6a', '拣选完成', 'PICKSTATUS_PICKFINISH', 'PICKSTATUS_PICKFINISH', 1, 0, '', 'SYS_PICKSTATUS', '2019-10-29 21:30:16', '00000000-0000-0000-0000-000000000000', '超级管理员', '2019-10-29 21:30:16', '', '');
|
||||
INSERT INTO `category` VALUES ('de4ccb7b-19e4-4203-a092-b2d8bafe3131', '拣选执行中', 'PICKSTATUS_PICKEXECUTE', 'PICKSTATUS_PICKEXECUTE', 1, 0, '', 'SYS_PICKSTATUS', '2019-10-29 21:29:55', '00000000-0000-0000-0000-000000000000', '超级管理员', '2019-10-29 21:29:55', '', '');
|
||||
INSERT INTO `category` VALUES ('e6292744-a6e8-4a6f-b077-14bd35e31a27', '创建', 'PICKSTATUS_CREATE', 'PICKSTATUS_CREATE', 1, 0, '', 'SYS_PICKSTATUS', '2019-10-29 21:29:18', '00000000-0000-0000-0000-000000000000', '超级管理员', '2019-10-29 21:29:18', '', '');
|
||||
INSERT INTO `category` VALUES ('cd6cf8ee-9e17-48f2-af4b-9072fbd43713', 'OpenAuth.Net', 'OPENAUTHNET', 'OPENAUTHNET', 1, 0, '', 'PLATFORM', '2021-08-30 00:57:23', '00000000-0000-0000-0000-000000000000', '超级管理员', '2021-08-30 00:57:23', '', '');
|
||||
INSERT INTO `category` VALUES ('eac7f2d0-2817-40bf-bd89-2f0dd064fd69', '网站', 'APP_TYPE_WEB', 'APP_TYPE_WEB', 1, 0, '', 'APP_TYPE', '2021-08-30 00:35:00', '00000000-0000-0000-0000-000000000000', '超级管理员', '2021-08-30 00:35:00', '', '');
|
||||
INSERT INTO `category` VALUES ('faef67e8-48e4-44e5-981c-eebb78d79a0f', '已处理', 'SYS_ORDERSTATUS_DISPOSED', 'SYS_ORDERSTATUS_DISPOSED', 1, 0, '', 'SYS_ORDERSTATUS', '2019-10-29 21:27:05', '00000000-0000-0000-0000-000000000000', '超级管理员', '2019-10-29 21:27:05', '', '');
|
||||
INSERT INTO `category` VALUES ('fe1f7181-d3d0-4b0e-b9b3-5d05b503ff0e', '医疗器械', 'SYS_GOODSTYPE_MEDINSTR', 'SYS_GOODSTYPE_MEDINSTR', 1, 0, '', 'SYS_GOODSTYPE', '2019-11-07 01:16:02', '00000000-0000-0000-0000-000000000000', '超级管理员', '2019-11-07 01:16:02', '', '');
|
||||
INSERT INTO `category` VALUES ('ffbb5c54-9ee1-4eb8-89dc-79fde3b4824c', '异常', 'COMMON_STATUS_ERROR', '1', 0, 1, '', 'COMMON_STATUS', '2020-09-29 00:54:51', '00000000-0000-0000-0000-000000000000', '超级管理员', '2020-09-29 00:54:51', '', '');
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for categorytype
|
||||
@ -159,12 +247,14 @@ CREATE TABLE `categorytype` (
|
||||
-- ----------------------------
|
||||
-- Records of categorytype
|
||||
-- ----------------------------
|
||||
INSERT INTO `categorytype` VALUES ('APP_TYPE', '应用分类', '2021-08-30 00:33:15');
|
||||
INSERT INTO `categorytype` VALUES ('COMMON_STATUS', '状态', '2020-09-29 00:53:40');
|
||||
INSERT INTO `categorytype` VALUES ('PLATFORM', '平台分类', '2021-08-30 00:56:22');
|
||||
INSERT INTO `categorytype` VALUES ('SYS_CUSTTYPE', '客户类型', '2019-11-07 00:49:50');
|
||||
INSERT INTO `categorytype` VALUES ('SYS_GOODSTYPE', '商品类别', '2019-11-07 00:48:47');
|
||||
INSERT INTO `categorytype` VALUES ('SYS_INBOUNDTYPE', '入库类型', '2019-11-07 00:48:08');
|
||||
INSERT INTO `categorytype` VALUES ('SYS_ORDERSTATUS', '订单状态', '2019-10-29 21:18:56');
|
||||
INSERT INTO `categorytype` VALUES ('SYS_ORDERTYPE', '订单类型', '2019-10-29 21:18:32');
|
||||
INSERT INTO `categorytype` VALUES ('SYS_PICKSTATUS', '拣选任务状态', '2019-10-29 21:28:50');
|
||||
INSERT INTO `categorytype` VALUES ('SYS_SHIPTYPE', '承运方式', '2019-11-07 00:47:36');
|
||||
INSERT INTO `categorytype` VALUES ('SYS_STATUS', '系统状态', '2019-11-06 10:38:17');
|
||||
INSERT INTO `categorytype` VALUES ('USERTYPE', '按用户类型分类', '2017-11-29 21:27:42');
|
||||
|
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue
Block a user