Преглед изворни кода

增加表单设计VForm页面

zuohuaijun пре 3 година
родитељ
комит
30c8508102

+ 1 - 1
Admin.NET/Admin.NET.Application/AppConfig.json

@@ -8,7 +8,7 @@
                 "ConfigId": "Dilon",
                 "DbType": "Sqlite", // MySql、SqlServer、Sqlite、Oracle、PostgreSQL、Dm、Kdbndp、Oscar、MySqlConnector、Access
                 "ConnectionString": "DataSource=./Admin.NET.db",
-                "EnableInitDb": false, // 启用库表初始化
+                "EnableInitDb": true, // 启用库表初始化
                 "EnableDiffLog": false // 启用库表差异日志
             },
             // 其他业务库

+ 3 - 3
Admin.NET/Admin.NET.Core/Admin.NET.Core.csproj

@@ -24,9 +24,9 @@
 
   <ItemGroup>
     <PackageReference Include="AspNetCoreRateLimit" Version="4.0.2" />
-    <PackageReference Include="Furion.Extras.Authentication.JwtBearer" Version="4.6.5" />
-    <PackageReference Include="Furion.Extras.ObjectMapper.Mapster" Version="4.6.5" />
-    <PackageReference Include="Furion.Pure" Version="4.6.5" />
+    <PackageReference Include="Furion.Extras.Authentication.JwtBearer" Version="4.6.7" />
+    <PackageReference Include="Furion.Extras.ObjectMapper.Mapster" Version="4.6.7" />
+    <PackageReference Include="Furion.Pure" Version="4.6.7" />
     <PackageReference Include="Lazy.Captcha.Core" Version="1.1.6" />
     <PackageReference Include="Magicodes.IE.Excel" Version="2.6.8" />
     <PackageReference Include="Magicodes.IE.Pdf" Version="2.6.8" />

+ 2 - 2
Admin.NET/Admin.NET.Core/SeedData/SysMenuSeedData.cs

@@ -126,8 +126,8 @@ public class SysMenuSeedData : ISqlSugarEntitySeedData<SysMenu>
 
             new SysMenu{ Id=252885263002600, Pid=0, Title="开发工具", Path="/develop", Name="develop", Component="Layout", Redirect="/develop/api", Icon="ele-Cpu", Type=MenuTypeEnum.Dir, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), Order=400 },
             new SysMenu{ Id=252885263002610, Pid=252885263002600, Title="系统接口", Path="/develop/api", Name="sysApi", Component="layout/routerView/iframe", IsIframe=true, OutLink="https://localhost:44326/api/", Icon="ele-Help", Type=MenuTypeEnum.Menu, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), Order=100 },
-            new SysMenu{ Id=252885263002611, Pid=252885263002600, Title="表单设计", Path="/develop/design", Name="sysDesign", Component="/system/code/index", Icon="ele-Edit", Type=MenuTypeEnum.Menu, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), Order=101 },
-            new SysMenu{ Id=252885263002612, Pid=252885263002600, Title="代码生成", Path="/develop/code", Name="sysCode", Component="/system/code/index", Icon="ele-Crop", Type=MenuTypeEnum.Menu, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), Order=102 },
+            new SysMenu{ Id=252885263002611, Pid=252885263002600, Title="表单设计", Path="/develop/formDesign", Name="sysFormDesign", Component="/system/formDesign/index", Icon="ele-Edit", Type=MenuTypeEnum.Menu, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), Order=101 },
+            new SysMenu{ Id=252885263002612, Pid=252885263002600, Title="代码生成", Path="/develop/codeGen", Name="sysCodeGen", Component="/system/codeGen/index", Icon="ele-Crop", Type=MenuTypeEnum.Menu, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), Order=102 },
             new SysMenu{ Id=252885263002613, Pid=252885263002600, Title="库表管理", Path="/develop/database", Name="sysDatabase", Component="/system/database/index",Icon="ele-Coin", Type=MenuTypeEnum.Menu, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), Order=103 },
 
             new SysMenu{ Id=252885263002700, Pid=0, Title="帮助文档", Path="/doc", Name="doc", Component="Layout", Redirect="/doc/furion", Icon="ele-Notebook", Type=MenuTypeEnum.Dir, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), Order=500 },

+ 9 - 2
Admin.NET/Admin.NET.Web.Core/Startup.cs

@@ -25,8 +25,6 @@ public class Startup : AppStartup
     {
         // 配置选项
         services.AddProjectOptions();
-        // 控制台格式化
-        services.AddConsoleFormatter();
         // 缓存注册
         services.AddCache();
         // SqlSugar
@@ -43,6 +41,11 @@ public class Startup : AppStartup
         services.AddSensitiveDetection();
         //// 结果拦截器
         //services.AddMvcFilter<ResultFilter>();
+        // 控制台格式化
+        services.AddConsoleFormatter(options =>
+        {
+            options.DateFormat = "yyyy-MM-dd HH:mm:ss(zzz) dddd";
+        });
         // 日志监听
         services.AddMonitorLogging(options =>
         {
@@ -56,6 +59,9 @@ public class Startup : AppStartup
             {
                 options.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver(); // 首字母小写(驼峰样式)
                 options.SerializerSettings.DateFormatString = "yyyy-MM-dd HH:mm:ss"; // 时间格式化
+                // options.SerializerSettings.MetadataPropertyHandling = MetadataPropertyHandling.Ignore;
+                // options.SerializerSettings.DateParseHandling = DateParseHandling.None;
+                // options.SerializerSettings.Converters.Add(new IsoDateTimeConverter { DateTimeStyles = DateTimeStyles.AssumeUniversal });
                 options.SerializerSettings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore; // 忽略循环引用
                 // options.SerializerSettings.Converters.Add(new LongJsonConverter()); // long转string(防止js精度溢出) 超过16位开启
                 // options.SerializerSettings.NullValueHandling = NullValueHandling.Ignore; // 忽略空值
@@ -91,6 +97,7 @@ public class Startup : AppStartup
         // 事件总线
         services.AddEventBus(options =>
         {
+            options.UseUtcTimestamp = false;
             // 不启用事件日志
             options.LogEnabled = false;
             // 事件执行器(失败重试)

+ 2 - 1
Admin.NET/Admin.NET.Web.Entry/appsettings.Development.json

@@ -32,7 +32,8 @@
             "BahLogLevel": "Information", // Oops.Oh 和 Oops.Bah 业务日志输出级别
             "WithReturnValue": true, // 配置是否包含返回值,默认true
             "ReturnValueThreshold": 500, // 配置返回值字符串阈值,默认0全量输出
-            "JsonBehavior": "None" // 配置Json输出行为,默认None(OnlyJson、All)
+            "JsonBehavior": "None", // 配置Json输出行为,默认None(OnlyJson、All)
+            "UseUtcTimestamp": false // 时间格式UTC、LOCAL
         }
     },
     "AllowedHosts": "*"

+ 2 - 1
Admin.NET/Admin.NET.Web.Entry/appsettings.json

@@ -32,7 +32,8 @@
             "BahLogLevel": "Information", // Oops.Oh 和 Oops.Bah 业务日志输出级别
             "WithReturnValue": true, // 配置是否包含返回值,默认true
             "ReturnValueThreshold": 500, // 配置返回值字符串阈值,默认0全量输出
-            "JsonBehavior": "None" // 配置Json输出行为,默认None(OnlyJson、All)
+            "JsonBehavior": "None", // 配置Json输出行为,默认None(OnlyJson、All)
+            "UseUtcTimestamp": false // 时间格式UTC、LOCAL
         }
     },
     "AllowedHosts": "*"

Разлика између датотеке није приказан због своје велике величине
+ 316 - 300
vue-next-admin/package-lock.json


+ 1 - 0
vue-next-admin/package.json

@@ -29,6 +29,7 @@
 		"screenfull": "^6.0.2",
 		"sortablejs": "^1.15.0",
 		"splitpanes": "^3.1.1",
+		"vform3-builds": "^3.0.8",
 		"vue": "^3.2.37",
 		"vue-clipboard3": "^2.0.0",
 		"vue-grid-layout": "^3.0.0-beta1",

+ 9 - 9
vue-next-admin/src/main.ts

@@ -7,7 +7,9 @@ import { i18n } from '/@/i18n/index';
 import other from '/@/utils/other';
 
 import ElementPlus from 'element-plus';
+import VForm3 from 'vform3-builds'; // 引入VForm 3库
 import 'element-plus/dist/index.css';
+import 'vform3-builds/dist/designer.style.css'; // 引入VForm3样式
 import '/@/theme/index.scss';
 import mitt from 'mitt';
 import VueGridLayout from 'vue-grid-layout';
@@ -17,14 +19,12 @@ const app = createApp(App);
 directive(app);
 other.elSvg(app);
 
-app.use(pinia).use(router).use(ElementPlus, { i18n: i18n.global.t }).use(i18n).use(VueGridLayout).mount('#app');
+app.use(pinia).use(router).use(ElementPlus, { i18n: i18n.global.t }).use(VForm3).use(i18n).use(VueGridLayout).mount('#app');
+
+const globalProperties = {
+	mittBus: mitt(),
+	i18n,
+};
 
-const globalProperties={
-    mittBus: mitt(),
-    i18n
-}
 // 必须合并vue默认的变量,否则有问题
-app.config.globalProperties = Object.assign(
-    app.config.globalProperties,
-    globalProperties
-);
+app.config.globalProperties = Object.assign(app.config.globalProperties, globalProperties);

+ 31 - 0
vue-next-admin/src/views/system/formDesign/index.vue

@@ -0,0 +1,31 @@
+<template>
+	<div class="sys-formDesign-container">
+		<v-form-designer ref="vFormDesignRef"></v-form-designer>
+	</div>
+</template>
+
+<script lang="ts">
+import { toRefs, reactive, defineComponent, ref } from 'vue';
+
+export default defineComponent({
+	name: 'sysFormDesign',
+	components: {},
+	setup() {
+		const vFormDesignRef = ref(null);
+		const state = reactive({
+			loading: true,
+		});
+
+		return {
+			vFormDesignRef,
+			...toRefs(state),
+		};
+	},
+});
+</script>
+
+<style lang="scss">
+body {
+	margin: 0; // 去除页面垂直滚动条
+}
+</style>

+ 0 - 134
vue-next-admin/src/views/system/server/index.vue

@@ -200,138 +200,4 @@ export default defineComponent({
 .sysInfo_td {
 	border-bottom: 1px solid #e8e8e8;
 }
-
-.waterfall-last {
-	display: grid;
-	grid-gap: 0.25em;
-	grid-auto-flow: row dense;
-	grid-auto-rows: minmax(188px, 20vmin);
-	grid-template-columns: 1fr;
-
-	.waterfall-last-item {
-		height: 100%;
-		background: var(--el-color-primary);
-		color: var(--el-color-white);
-		transition: all 0.3s ease;
-		border-radius: 3px;
-
-		&:hover {
-			box-shadow: 0 2px 12px 0 rgb(0 0 0 / 10%);
-			transition: all 0.3s ease;
-			cursor: pointer;
-		}
-	}
-}
-
-@media (min-width: 576px) {
-	.waterfall-last {
-		grid-template-columns: repeat(7, 1fr);
-
-		.waterfall-last-item {
-			&:nth-of-type(9n + 9) {
-				grid-column: auto / span 2;
-			}
-
-			&:nth-of-type(9n + 8) {
-				grid-column: auto / span 2;
-			}
-
-			&:nth-of-type(9n + 7) {
-				grid-column: auto / span 3;
-			}
-
-			&:nth-of-type(9n + 6) {
-				grid-column: auto / span 2;
-			}
-
-			&:nth-of-type(9n + 5) {
-				grid-column: auto / span 3;
-			}
-
-			&:nth-of-type(9n + 4) {
-				grid-column: auto / span 2;
-			}
-
-			&:nth-of-type(9n + 3) {
-				grid-column: auto / span 3;
-			}
-
-			&:nth-of-type(9n + 2) {
-				grid-column: auto / span 2;
-			}
-
-			&:nth-of-type(9n + 1) {
-				grid-column: auto / span 2;
-			}
-		}
-	}
-}
-
-@media (min-width: 576px) and (min-width: 1024px) {
-	.waterfall-last {
-		grid-template-columns: repeat(14, 1fr);
-
-		.waterfall-last-item {
-			&:nth-of-type(15n + 15) {
-				grid-column: auto / span 3;
-			}
-
-			&:nth-of-type(15n + 14) {
-				grid-column: auto / span 3;
-			}
-
-			&:nth-of-type(15n + 13) {
-				grid-column: auto / span 2;
-			}
-
-			&:nth-of-type(15n + 12) {
-				grid-column: auto / span 3;
-			}
-
-			&:nth-of-type(15n + 11) {
-				grid-column: auto / span 3;
-			}
-
-			&:nth-of-type(15n + 10) {
-				grid-column: auto / span 2;
-			}
-
-			&:nth-of-type(15n + 9) {
-				grid-column: auto / span 3;
-			}
-
-			&:nth-of-type(15n + 8) {
-				grid-column: auto / span 3;
-			}
-
-			&:nth-of-type(15n + 7) {
-				grid-column: auto / span 3;
-			}
-
-			&:nth-of-type(15n + 6) {
-				grid-column: auto / span 3;
-			}
-
-			&:nth-of-type(15n + 5) {
-				grid-column: auto / span 3;
-			}
-
-			&:nth-of-type(15n + 4) {
-				grid-column: auto / span 3;
-			}
-
-			&:nth-of-type(15n + 3) {
-				grid-column: auto / span 3;
-			}
-
-			&:nth-of-type(15n + 2) {
-				grid-column: auto / span 3;
-			}
-
-			&:nth-of-type(15n + 1) {
-				grid-column: auto / span 2;
-			}
-		}
-	}
-}
 </style>

Неке датотеке нису приказане због велике количине промена