├── CHANGELOG.md
├── LICENSE
├── README.md
├── Vboot.Application
├── Sa
│ └── Agent
│ │ └── Main
│ │ ├── SaAgentMain.cs
│ │ ├── SaAgentMainApi.cs
│ │ ├── SaAgentMainService.cs
│ │ └── SaAgentMainViewer.cs
├── Vboot.Application.csproj
├── Vboot.Application.xml
└── applicationsettings.json
├── Vboot.Core
├── Common
│ ├── Cache
│ │ ├── CacheOptions.cs
│ │ ├── ICache.cs
│ │ ├── MemoryCache.cs
│ │ └── RedisCache.cs
│ ├── Const
│ │ ├── ClaimConst.cs
│ │ └── CommonConst.cs
│ ├── Enum
│ │ ├── AdminType.cs
│ │ ├── DataOpType.cs
│ │ ├── ErrorCode.cs
│ │ ├── LoginType.cs
│ │ ├── RequestTypeEnum.cs
│ │ └── YesOrNot.cs
│ ├── Mvc
│ │ ├── Api
│ │ │ ├── RestPageResult.cs
│ │ │ └── RestResultProvider.cs
│ │ ├── Db
│ │ │ └── Sqler.cs
│ │ ├── Dto
│ │ │ ├── ZidName.cs
│ │ │ ├── Zinp.cs
│ │ │ └── Ztree.cs
│ │ ├── Entity
│ │ │ ├── BaseEntity.cs
│ │ │ └── BaseMainEntity.cs
│ │ ├── Filter
│ │ │ ├── DisableOpLogAttribute.cs
│ │ │ ├── LogExceptionHandler.cs
│ │ │ ├── MyUnitOfWorkAttribute.cs
│ │ │ ├── MyUnitOfWorkFilter.cs
│ │ │ └── RequestActionFilter.cs
│ │ ├── Manager
│ │ │ ├── IUserManager.cs
│ │ │ └── UserManager.cs
│ │ └── Service
│ │ │ ├── BaseMainService.cs
│ │ │ └── BaseService.cs
│ └── Util
│ │ ├── HttpNewUtil.cs
│ │ ├── JsonUtil.cs
│ │ ├── WeatherUtil.cs
│ │ ├── XreqUtil.cs
│ │ ├── XstrUtil.cs
│ │ └── XuserUtil.cs
├── Module
│ ├── Ass
│ │ └── Dict
│ │ │ ├── Cate
│ │ │ ├── AssDictCate.cs
│ │ │ ├── AssDictCateApi.cs
│ │ │ └── AssDictCateService.cs
│ │ │ ├── Data
│ │ │ ├── AssDictData.cs
│ │ │ ├── AssDictDataApi.cs
│ │ │ └── AssDictDataService.cs
│ │ │ └── Main
│ │ │ ├── AssDictMain.cs
│ │ │ ├── AssDictMainApi.cs
│ │ │ └── AssDictMainService.cs
│ ├── Bpm
│ │ ├── Audit
│ │ │ └── Main
│ │ │ │ ├── BpmAuditMain.cs
│ │ │ │ └── BpmAuditMainService.cs
│ │ ├── Node
│ │ │ ├── Hist
│ │ │ │ ├── BpmNodeHist.cs
│ │ │ │ └── BpmNodeHistService.cs
│ │ │ └── Main
│ │ │ │ ├── BpmNodeMain.cs
│ │ │ │ └── BpmNodeMainService.cs
│ │ ├── Proc
│ │ │ ├── Main
│ │ │ │ ├── BpmProcMain.cs
│ │ │ │ ├── BpmProcMainApi.cs
│ │ │ │ ├── BpmProcMainHand.cs
│ │ │ │ ├── BpmProcMainService.cs
│ │ │ │ ├── Zbpm.cs
│ │ │ │ └── Znode.cs
│ │ │ ├── Param
│ │ │ │ ├── BpmProcParam.cs
│ │ │ │ └── BpmProcParamService.cs
│ │ │ └── Temp
│ │ │ │ ├── BpmProcTemp.cs
│ │ │ │ ├── BpmProcTempApi.cs
│ │ │ │ ├── BpmProcTempHand.cs
│ │ │ │ └── BpmProcTempService.cs
│ │ └── Task
│ │ │ ├── Hist
│ │ │ ├── BpmTaskHist.cs
│ │ │ └── BpmTaskHistService.cs
│ │ │ └── Main
│ │ │ ├── BpmTaskMain.cs
│ │ │ └── BpmTaskMainService.cs
│ ├── Gen
│ │ └── Org
│ │ │ ├── Dept
│ │ │ └── GenOrgDeptApi.cs
│ │ │ ├── Main
│ │ │ └── GenOrgMainApi.cs
│ │ │ └── Rece
│ │ │ └── GenOrgReceApi.cs
│ ├── Pub
│ │ ├── Auth
│ │ │ ├── Dto
│ │ │ │ ├── Duser.cs
│ │ │ │ ├── LoginInput.cs
│ │ │ │ ├── LoginOutput.cs
│ │ │ │ ├── Zmenu.cs
│ │ │ │ ├── Zmeta.cs
│ │ │ │ └── Zuser.cs
│ │ │ ├── LoginService.cs
│ │ │ └── PubAuthApi.cs
│ │ └── Init
│ │ │ ├── PubAuthInitService.cs
│ │ │ ├── PubInitApi.cs
│ │ │ └── PubOrgInitService.cs
│ └── Sys
│ │ ├── Job
│ │ ├── Log
│ │ │ ├── SysJobLog.cs
│ │ │ ├── SysJobLogApi.cs
│ │ │ └── SysJobLogService.cs
│ │ └── Main
│ │ │ ├── JobOutput.cs
│ │ │ ├── SysCacheService.cs
│ │ │ ├── SysJobDemo.cs
│ │ │ ├── SysJobMain.cs
│ │ │ ├── SysJobMainApi.cs
│ │ │ └── SysJobMainService.cs
│ │ ├── Log
│ │ ├── Audit
│ │ │ └── SysLogAudit.cs
│ │ ├── Ex
│ │ │ └── SysLogEx.cs
│ │ ├── Login
│ │ │ ├── SysLogLogin.cs
│ │ │ ├── SysLogLoginApi.cs
│ │ │ └── SysLogLoginService.cs
│ │ ├── Op
│ │ │ └── SysLogOp.cs
│ │ └── Root
│ │ │ └── LogEventSubscriber.cs
│ │ ├── Org
│ │ ├── Dept
│ │ │ ├── SysOrgDept.cs
│ │ │ ├── SysOrgDeptApi.cs
│ │ │ └── SysOrgDeptService.cs
│ │ ├── Group
│ │ │ ├── SysOrgGroup.cs
│ │ │ ├── SysOrgGroupApi.cs
│ │ │ ├── SysOrgGroupOrg.cs
│ │ │ └── SysOrgGroupService.cs
│ │ ├── Post
│ │ │ ├── SysOrgPost.cs
│ │ │ ├── SysOrgPostApi.cs
│ │ │ ├── SysOrgPostOrg.cs
│ │ │ └── SysOrgPostService.cs
│ │ ├── Rece
│ │ │ ├── SysOrgRece.cs
│ │ │ └── SysOrgReceService.cs
│ │ ├── Root
│ │ │ └── SysOrg.cs
│ │ └── User
│ │ │ ├── SysOrgUser.cs
│ │ │ ├── SysOrgUserApi.cs
│ │ │ ├── SysOrgUserCache.cs
│ │ │ └── SysOrgUserService.cs
│ │ ├── Perm
│ │ ├── Api
│ │ │ ├── SysPermApi.cs
│ │ │ ├── SysPermApiApi.cs
│ │ │ ├── SysPermApiCache.cs
│ │ │ └── Yperm.cs
│ │ ├── Menu
│ │ │ ├── SysPermMenu.cs
│ │ │ ├── SysPermMenuApi.cs
│ │ │ └── SysPermMenuService.cs
│ │ └── Role
│ │ │ ├── SysPermRole.cs
│ │ │ ├── SysPermRoleApi.cs
│ │ │ ├── SysPermRoleMenu.cs
│ │ │ ├── SysPermRoleOrg.cs
│ │ │ └── SysPermRoleService.cs
│ │ └── Todo
│ │ ├── Done
│ │ └── SysTodoUser.cs
│ │ ├── Main
│ │ ├── SysTodoMain.cs
│ │ ├── SysTodoMainApi.cs
│ │ └── SysTodoMainService.cs
│ │ └── User
│ │ └── SysTodoUser.cs
├── Modulex
│ └── Oa
│ │ └── Flow
│ │ ├── Cate
│ │ ├── OaFlowCate.cs
│ │ ├── OaFlowCateApi.cs
│ │ └── OaFlowCateService.cs
│ │ ├── Main
│ │ ├── OaFlowMain.cs
│ │ ├── OaFlowMainApi.cs
│ │ └── OaFlowMainService.cs
│ │ ├── Rece
│ │ ├── OaFlowRece.cs
│ │ ├── OaFlowReceApi.cs
│ │ └── OaFlowReceService.cs
│ │ └── Temp
│ │ ├── OaFlowTemp.cs
│ │ ├── OaFlowTempApi.cs
│ │ └── OaFlowTempService.cs
├── Startup.cs
├── Vboot.Core.csproj
└── Vboot.Core.xml
├── Vboot.Web.Core
├── Handlers
│ └── JwtHandler.cs
├── Init
│ ├── ApiGatherService.cs
│ ├── DbSeedService.cs
│ └── Yurl.cs
├── Startup.cs
├── Vboot.Web.Core.csproj
└── Vboot.Web.Core.xml
├── Vboot.Web.Entry
├── .config
│ └── dotnet-tools.json
├── Program.cs
├── Properties
│ ├── PublishProfiles
│ │ ├── FolderProfile.pubxml
│ │ └── FolderProfile.pubxml.user
│ └── launchSettings.json
├── Vboot.Web.Entry.csproj
├── Vboot.Web.Entry.csproj.user
├── appsettings.Development.json
├── appsettings.json
└── wwwroot
│ ├── assets
│ ├── 401.1652784183534.css
│ ├── 401.1652784183534.js
│ ├── 404.1652784183534.css
│ ├── 404.1652784183534.js
│ ├── DeptTree.1652784183534.css
│ ├── DeptTree.1652784183534.js
│ ├── Event.1652784183534.js
│ ├── Flow.1652784183534.js
│ ├── Gateway.1652784183534.js
│ ├── GenModal.1652784183534.css
│ ├── GenModal.1652784183534.js
│ ├── OrgModal.1652784183534.css
│ ├── OrgModal.1652784183534.js
│ ├── Other.1652784183534.js
│ ├── PrefixLabelSelect.1652784183534.css
│ ├── PrefixLabelSelect.1652784183534.js
│ ├── Process.1652784183534.js
│ ├── Task.1652784183534.js
│ ├── Wrap.1652784183534.js
│ ├── account.1652784183534.css
│ ├── account.1652784183534.js
│ ├── addDept.1652784183534.js
│ ├── addDic.1652784183534.js
│ ├── addMenu.1652784183534.js
│ ├── addRole.1652784183534.css
│ ├── addRole.1652784183534.js
│ ├── addUser.1652784183534.js
│ ├── aside.1652784183534.js
│ ├── bathymetry.1652784183534.jpg
│ ├── bmap.1652784183534.js
│ ├── bpmn.1652784183534.eot
│ ├── bpmn.1652784183534.svg
│ ├── bpmn.1652784183534.ttf
│ ├── bpmn.1652784183534.woff
│ ├── bpmn.1652784183534.woff2
│ ├── classic.1652784183534.js
│ ├── columns.1652784183534.css
│ ├── columns.1652784183534.js
│ ├── common.1652784183534.css
│ ├── common.1652784183534.js
│ ├── defaults.1652784183534.js
│ ├── demo1.1652784183534.css
│ ├── demo1.1652784183534.js
│ ├── demo2.1652784183534.css
│ ├── demo2.1652784183534.js
│ ├── details.1652784183534.js
│ ├── details.16527841835342.js
│ ├── details.16527841835343.js
│ ├── details1.1652784183534.js
│ ├── echarts.1652784183534.js
│ ├── echarts.16527841835342.js
│ ├── edit.1652784183534.css
│ ├── edit.1652784183534.js
│ ├── edit.165278418353410.js
│ ├── edit.165278418353411.js
│ ├── edit.165278418353412.js
│ ├── edit.165278418353413.js
│ ├── edit.16527841835342.js
│ ├── edit.16527841835343.js
│ ├── edit.16527841835344.js
│ ├── edit.16527841835345.js
│ ├── edit.16527841835346.js
│ ├── edit.16527841835347.js
│ ├── edit.16527841835348.js
│ ├── edit.16527841835349.js
│ ├── editDept.1652784183534.js
│ ├── editDic.1652784183534.js
│ ├── editMenu.1652784183534.js
│ ├── editRole.1652784183534.css
│ ├── editRole.1652784183534.js
│ ├── editUser.1652784183534.js
│ ├── formRulesOne.1652784183534.js
│ ├── formRulesThree.1652784183534.js
│ ├── formRulesTwo.1652784183534.js
│ ├── getStyleSheets.1652784183534.js
│ ├── head.1652784183534.css
│ ├── head.1652784183534.js
│ ├── help.1652784183534.js
│ ├── iframes.1652784183534.js
│ ├── index.1652784183534.css
│ ├── index.1652784183534.js
│ ├── index.165278418353410.css
│ ├── index.165278418353410.js
│ ├── index.165278418353411.css
│ ├── index.165278418353411.js
│ ├── index.165278418353412.css
│ ├── index.165278418353412.js
│ ├── index.165278418353413.css
│ ├── index.165278418353413.js
│ ├── index.165278418353414.css
│ ├── index.165278418353414.js
│ ├── index.165278418353415.css
│ ├── index.165278418353415.js
│ ├── index.165278418353416.css
│ ├── index.165278418353416.js
│ ├── index.165278418353417.css
│ ├── index.165278418353417.js
│ ├── index.165278418353418.css
│ ├── index.165278418353418.js
│ ├── index.165278418353419.css
│ ├── index.165278418353419.js
│ ├── index.16527841835342.css
│ ├── index.16527841835342.js
│ ├── index.165278418353420.css
│ ├── index.165278418353420.js
│ ├── index.165278418353421.css
│ ├── index.165278418353421.js
│ ├── index.165278418353422.css
│ ├── index.165278418353422.js
│ ├── index.165278418353423.css
│ ├── index.165278418353423.js
│ ├── index.165278418353424.css
│ ├── index.165278418353424.js
│ ├── index.165278418353425.css
│ ├── index.165278418353425.js
│ ├── index.165278418353426.css
│ ├── index.165278418353426.js
│ ├── index.165278418353427.css
│ ├── index.165278418353427.js
│ ├── index.165278418353428.css
│ ├── index.165278418353428.js
│ ├── index.165278418353429.css
│ ├── index.165278418353429.js
│ ├── index.16527841835343.css
│ ├── index.16527841835343.js
│ ├── index.165278418353430.js
│ ├── index.165278418353431.js
│ ├── index.165278418353432.js
│ ├── index.165278418353433.js
│ ├── index.165278418353434.js
│ ├── index.165278418353435.js
│ ├── index.165278418353436.js
│ ├── index.165278418353437.js
│ ├── index.165278418353438.js
│ ├── index.165278418353439.js
│ ├── index.16527841835344.css
│ ├── index.16527841835344.js
│ ├── index.165278418353440.js
│ ├── index.165278418353441.js
│ ├── index.165278418353442.js
│ ├── index.165278418353443.js
│ ├── index.165278418353444.js
│ ├── index.165278418353445.js
│ ├── index.165278418353446.js
│ ├── index.165278418353447.js
│ ├── index.165278418353448.js
│ ├── index.165278418353449.js
│ ├── index.16527841835345.css
│ ├── index.16527841835345.js
│ ├── index.165278418353450.js
│ ├── index.165278418353451.js
│ ├── index.165278418353452.js
│ ├── index.165278418353453.js
│ ├── index.165278418353454.js
│ ├── index.165278418353455.js
│ ├── index.165278418353456.js
│ ├── index.165278418353457.js
│ ├── index.165278418353458.js
│ ├── index.165278418353459.js
│ ├── index.16527841835346.css
│ ├── index.16527841835346.js
│ ├── index.165278418353460.js
│ ├── index.165278418353461.js
│ ├── index.165278418353462.js
│ ├── index.165278418353463.js
│ ├── index.165278418353464.js
│ ├── index.165278418353465.js
│ ├── index.165278418353466.js
│ ├── index.165278418353467.js
│ ├── index.165278418353468.js
│ ├── index.165278418353469.js
│ ├── index.16527841835347.css
│ ├── index.16527841835347.js
│ ├── index.165278418353470.js
│ ├── index.165278418353471.js
│ ├── index.165278418353472.js
│ ├── index.165278418353473.js
│ ├── index.16527841835348.css
│ ├── index.16527841835348.js
│ ├── index.16527841835349.css
│ ├── index.16527841835349.js
│ ├── line.1652784183534.js
│ ├── link.1652784183534.js
│ ├── login-icon-two.1652784183534.svg
│ ├── logo-mini.1652784183534.js
│ ├── logo-mini.1652784183534.svg
│ ├── main.1652784183534.css
│ ├── main.1652784183534.js
│ ├── mobile.1652784183534.css
│ ├── mobile.1652784183534.js
│ ├── node.1652784183534.css
│ ├── node.1652784183534.js
│ ├── parent.1652784183534.js
│ ├── qrcode.1652784183534.js
│ ├── scan.1652784183534.css
│ ├── scan.1652784183534.js
│ ├── sortable.esm.1652784183534.js
│ ├── store.1652784183534.css
│ ├── store.1652784183534.js
│ ├── transverse.1652784183534.js
│ ├── view.1652784183534.css
│ ├── view.1652784183534.js
│ ├── vue.1652784183534.js
│ └── world.1652784183534.jpg
│ ├── favicon.ico
│ └── vue.html
└── Vboot.sln
/CHANGELOG.md:
--------------------------------------------------------------------------------
1 | - **初始化项目 V0.1**
2 |
3 | - [更新] README.md、项目介绍
4 |
--------------------------------------------------------------------------------
/Vboot.Application/Sa/Agent/Main/SaAgentMain.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 | using SqlSugar;
3 | using Vboot.Core.Common;
4 | using Vboot.Core.Module.Sys;
5 |
6 | namespace Vboot.Application.Sa;
7 |
8 | [SugarTable("sa_agent_main", TableDescription = "代理商主信息")]
9 | public class SaAgentMain : BaseMainEntity
10 | {
11 | ///
12 | /// 代理商地址
13 | ///
14 | [SugarColumn(ColumnDescription = "代理商地址", IsNullable = true, Length = 255)]
15 | public string addre { get; set; }
16 |
17 | ///
18 | /// 经办人ID
19 | ///
20 | [SugarColumn(ColumnName = "opman",ColumnDescription = "经办人ID", IsNullable = true, Length = 36)]
21 | public string opmid { get; set; }
22 |
23 | ///
24 | /// 经办人
25 | ///
26 | [SugarColumn(IsIgnore = true)]
27 | public SysOrg opman { get; set; }
28 |
29 | ///
30 | /// 可查看者
31 | ///
32 | [SugarColumn(IsIgnore =true)]
33 | public List viewers { get; set; }
34 |
35 |
36 | }
--------------------------------------------------------------------------------
/Vboot.Application/Sa/Agent/Main/SaAgentMainViewer.cs:
--------------------------------------------------------------------------------
1 | using SqlSugar;
2 |
3 | namespace Vboot.Application.Sa;
4 |
5 | [SugarTable("sa_agent_main_viewer", TableDescription = "代理商可查看者")]
6 | public class SaAgentMainViewer
7 | {
8 | [SugarColumn(ColumnDescription = "代理商ID",IsNullable = true)]
9 | public string mid{ get; set; }
10 |
11 | [SugarColumn(ColumnDescription = "可查看者ID",IsNullable = true)]
12 | public string oid{ get; set; }
13 | }
--------------------------------------------------------------------------------
/Vboot.Application/Vboot.Application.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | net6.0
5 | 1701;1702;1591
6 | Vboot.Application.xml
7 | Vboot.Application
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 | PreserveNewest
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/Vboot.Application/Vboot.Application.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Vboot.Application
5 |
6 |
7 |
8 |
9 | 代理商地址
10 |
11 |
12 |
13 |
14 | 经办人ID
15 |
16 |
17 |
18 |
19 | 经办人
20 |
21 |
22 |
23 |
24 | 可查看者
25 |
26 |
27 |
28 |
29 | 代理商主信息接口
30 |
31 |
32 |
33 |
34 | 获取代理商主信息的分页数据
35 |
36 |
37 |
38 |
39 |
40 | 获取单个代理商的详细信息
41 |
42 | 代理商ID
43 |
44 |
45 |
46 |
47 | 新增代理商
48 |
49 |
50 |
51 |
52 | 修改代理商
53 |
54 |
55 |
56 |
57 | 删除代理商
58 |
59 |
60 |
61 |
62 |
--------------------------------------------------------------------------------
/Vboot.Application/applicationsettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "SpecificationDocumentSettings": {
3 | "EnableAuthorized": true,
4 | "DocExpansionState": "None",
5 | "DocumentTitle": "Api接口清单",
6 | "DefaultGroupName": "Default",
7 | "GroupOpenApiInfos": [
8 | {
9 | "Group": "Default",
10 | "Order":10,
11 | "Title": "业务模块",
12 | "Description": "这里是自定义的业务模块,在测试API请求之前,请先通过auth/login接口登录",
13 | "Version": "版本号0.1",
14 | "Contact": {
15 | "Name": "前台UI访问地址",
16 | "Url": "http://localhost:5000/vue.html"
17 | }
18 | },
19 | {
20 | "Group": "Auth",
21 | "Order":9,
22 | "Title": "认证授权",
23 | "Description": "登录,注册,注销,鉴权等",
24 | "Version": "版本号0.1"
25 | },
26 | {
27 | "Group": "Sys",
28 | "Order":9,
29 | "Title": "系统管理",
30 | "Description": "系统管理主要包括组织架构,权限管理,定时任务,系统日志等,一般只有系统管理员有此分组的权限",
31 | "Version": "版本号0.1"
32 | },
33 | {
34 | "Group": "Ass",
35 | "Order":7,
36 | "Title": "辅助模块",
37 | "Description": "辅助模块主要有业务字典,代码生成器等,为业务模块服务",
38 | "Version": "版本号0.1"
39 | },
40 | {
41 | "Group": "Gen",
42 | "Order":6,
43 | "Title": "通用模块",
44 | "Description": "通用模块一般只要登录了,不管什么角色,都应有的通用公共权限",
45 | "Version": "版本号0.1"
46 | }
47 | ,
48 | {
49 | "Group": "Ext",
50 | "Order":5,
51 | "Title": "扩展模块",
52 | "Description": "主要会有流程管理,数据库可视化,项目管理等",
53 | "Version": "版本号0.1"
54 | }
55 | ]
56 | }
57 | }
--------------------------------------------------------------------------------
/Vboot.Core/Common/Cache/CacheOptions.cs:
--------------------------------------------------------------------------------
1 | using Furion.ConfigurableOptions;
2 |
3 | namespace Vboot.Core.Common;
4 |
5 | ///
6 | /// 缓存配置
7 | ///
8 | public class CacheOptions : IConfigurableOptions
9 | {
10 | ///
11 | /// 缓存类型
12 | ///
13 | public CacheType CacheType { get; set; }
14 |
15 | ///
16 | /// Redis配置
17 | ///
18 | public string RedisConnectionString { get; set; }
19 | }
20 |
21 | public enum CacheType
22 | {
23 | ///
24 | /// 内存缓存
25 | ///
26 | MemoryCache,
27 |
28 | ///
29 | /// Redis缓存
30 | ///
31 | RedisCache
32 | }
--------------------------------------------------------------------------------
/Vboot.Core/Common/Const/ClaimConst.cs:
--------------------------------------------------------------------------------
1 | namespace Vboot.Core.Common;
2 |
3 | public class ClaimConst
4 | {
5 | ///
6 | /// 用户Id
7 | ///
8 | public const string CLAINM_USERID = "UserId";
9 |
10 | ///
11 | /// 账号
12 | ///
13 | public const string CLAINM_ACCOUNT = "Account";
14 |
15 | ///
16 | /// 名称
17 | ///
18 | public const string CLAINM_NAME = "Name";
19 |
20 | ///
21 | /// 是否超级管理
22 | ///
23 | public const string CLAINM_SUPERADMIN = "SuperAdmin";
24 |
25 | ///
26 | /// 是否超级管理
27 | ///
28 | public const string TENANT_ID = "TenantId";
29 |
30 | public const string CLAINM_PERMS = "Perms";
31 | }
--------------------------------------------------------------------------------
/Vboot.Core/Common/Const/CommonConst.cs:
--------------------------------------------------------------------------------
1 | namespace Vboot.Core.Common;
2 |
3 | public class CommonConst
4 | {
5 | ///
6 | /// 用户缓存
7 | ///
8 | public const string CACHE_KEY_USER = "user_";
9 |
10 | ///
11 | /// 菜单缓存
12 | ///
13 | public const string CACHE_KEY_MENU = "menu_";
14 |
15 | ///
16 | /// 权限缓存
17 | ///
18 | public const string CACHE_KEY_PERMISSION = "permission_";
19 |
20 | ///
21 | /// 数据范围缓存
22 | ///
23 | public const string CACHE_KEY_DATASCOPE = "datascope_";
24 |
25 | ///
26 | /// 验证码缓存
27 | ///
28 | public const string CACHE_KEY_CODE = "vercode_";
29 |
30 |
31 | public static string[] ENTITY_ASSEMBLY_NAME = new string[] {"Vboot.Core", "Vboot.Application"};
32 |
33 | ///
34 | /// 库表实体信息缓存
35 | ///
36 | public const string CACHE_KEY_ENTITYINFO = "tableentity";
37 |
38 | ///
39 | /// 所有权限缓存
40 | ///
41 | public const string CACHE_KEY_ALLPERMISSION = "allpermission";
42 | }
--------------------------------------------------------------------------------
/Vboot.Core/Common/Enum/AdminType.cs:
--------------------------------------------------------------------------------
1 | using System.ComponentModel;
2 |
3 | namespace Vboot.Core.Common;
4 |
5 | ///
6 | /// 账号类型
7 | ///
8 | public enum AdminType
9 | {
10 | ///
11 | /// 超级管理员
12 | ///
13 | [Description("超级管理员")] SuperAdmin = 1,
14 |
15 | ///
16 | /// 管理员
17 | ///
18 | [Description("管理员")] Admin = 2,
19 |
20 | ///
21 | /// 普通账号
22 | ///
23 | [Description("普通账号")] None = 3
24 | }
--------------------------------------------------------------------------------
/Vboot.Core/Common/Enum/DataOpType.cs:
--------------------------------------------------------------------------------
1 | namespace Vboot.Core.Common;
2 |
3 | ///
4 | /// 数据操作类型
5 | ///
6 | public enum DataOpType
7 | {
8 | ///
9 | /// 其它
10 | ///
11 | OTHER,
12 |
13 | ///
14 | /// 增加
15 | ///
16 | ADD,
17 |
18 | ///
19 | /// 删除
20 | ///
21 | DELETE,
22 |
23 | ///
24 | /// 编辑
25 | ///
26 | EDIT,
27 |
28 | ///
29 | /// 更新
30 | ///
31 | UPDATE,
32 |
33 | ///
34 | /// 查询
35 | ///
36 | QUERY,
37 |
38 | ///
39 | /// 详情
40 | ///
41 | DETAIL,
42 |
43 | ///
44 | /// 树
45 | ///
46 | TREE,
47 |
48 | ///
49 | /// 导入
50 | ///
51 | IMPORT,
52 |
53 | ///
54 | /// 导出
55 | ///
56 | EXPORT,
57 |
58 | ///
59 | /// 授权
60 | ///
61 | GRANT,
62 |
63 | ///
64 | /// 强退
65 | ///
66 | FORCE,
67 |
68 | ///
69 | /// 清空
70 | ///
71 | CLEAN,
72 |
73 | ///
74 | /// 修改状态
75 | ///
76 | CHANGE_STATUS
77 | }
--------------------------------------------------------------------------------
/Vboot.Core/Common/Enum/LoginType.cs:
--------------------------------------------------------------------------------
1 | using System.ComponentModel;
2 |
3 | namespace Vboot.Core.Common;
4 |
5 | ///
6 | /// 登陆类型
7 | ///
8 | public enum LoginType
9 | {
10 | ///
11 | /// 登陆
12 | ///
13 | [Description("登陆")] LOGIN = 0,
14 |
15 | ///
16 | /// 登出
17 | ///
18 | [Description("登出")] LOGOUT = 1,
19 |
20 | ///
21 | /// 注册
22 | ///
23 | [Description("注册")] REGISTER = 2,
24 |
25 | ///
26 | /// 改密
27 | ///
28 | [Description("改密")] CHANGEPASSWORD = 3,
29 |
30 | ///
31 | /// 三方授权登陆
32 | ///
33 | [Description("授权登陆")] AUTHORIZEDLOGIN = 4
34 | }
--------------------------------------------------------------------------------
/Vboot.Core/Common/Enum/RequestTypeEnum.cs:
--------------------------------------------------------------------------------
1 | namespace Vboot.Core.Common;
2 |
3 | ///
4 | /// http请求类型
5 | ///
6 | public enum RequestTypeEnum
7 | {
8 | ///
9 | /// 执行内部方法
10 | ///
11 | Run = 0,
12 |
13 | ///
14 | /// GET请求
15 | ///
16 | Get = 1,
17 |
18 | ///
19 | /// POST请求
20 | ///
21 | Post = 2,
22 |
23 | ///
24 | /// PUT请求
25 | ///
26 | Put = 3,
27 |
28 | ///
29 | /// DELETE请求
30 | ///
31 | Delete = 4
32 | }
--------------------------------------------------------------------------------
/Vboot.Core/Common/Enum/YesOrNot.cs:
--------------------------------------------------------------------------------
1 | using System.ComponentModel;
2 |
3 | namespace Vboot.Core.Common;
4 |
5 | ///
6 | /// 菜单激活类型
7 | ///
8 | public enum YesOrNot
9 | {
10 | ///
11 | /// 是
12 | ///
13 | [Description("是")] Y = 0,
14 |
15 | ///
16 | /// 否
17 | ///
18 | [Description("否")] N = 1
19 | }
--------------------------------------------------------------------------------
/Vboot.Core/Common/Mvc/Api/RestPageResult.cs:
--------------------------------------------------------------------------------
1 | namespace Vboot.Core.Common;
2 |
3 | public class PageResult
4 | {
5 | public int total { get; set; }
6 | public object items { get; set; }
7 | }
8 |
9 | public static class RestPageResult
10 | {
11 | public static PageResult Build(int Total, object Items)
12 | {
13 | return new()
14 | {
15 | total = Total,
16 | items = Items
17 | };
18 | }
19 | }
--------------------------------------------------------------------------------
/Vboot.Core/Common/Mvc/Dto/ZidName.cs:
--------------------------------------------------------------------------------
1 | using SqlSugar;
2 |
3 | namespace Vboot.Core.Common;
4 |
5 | public class ZidName
6 | {
7 | [SugarColumn(ColumnDescription = "Id主键", IsPrimaryKey = true)]
8 | public string id { get; set; }
9 |
10 | public string name { get; set; }
11 | }
--------------------------------------------------------------------------------
/Vboot.Core/Common/Mvc/Dto/Zinp.cs:
--------------------------------------------------------------------------------
1 | namespace Vboot.Core.Common;
2 |
3 | public class Zinp
4 | {
5 | public string id { get; set; }
6 |
7 | public string name { get; set; }
8 |
9 | public string pid { get; set; }
10 | }
--------------------------------------------------------------------------------
/Vboot.Core/Common/Mvc/Dto/Ztree.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 | using System.Text.Json.Serialization;
3 | using SqlSugar;
4 |
5 | namespace Vboot.Core.Common;
6 |
7 | public class Ztree
8 | {
9 | [SugarColumn(ColumnDescription = "Id主键", IsPrimaryKey = true)]
10 | public string id { get; set; }
11 |
12 | public string name { get; set; }
13 |
14 | public string type { get; set; }
15 |
16 | [JsonIgnore] public string pid { get; set; }
17 |
18 | [SugarColumn(IsIgnore = true)] public List children { get; set; }
19 | }
--------------------------------------------------------------------------------
/Vboot.Core/Common/Mvc/Entity/BaseEntity.cs:
--------------------------------------------------------------------------------
1 | using SqlSugar;
2 |
3 | namespace Vboot.Core.Common;
4 |
5 | public abstract class BaseEntity
6 | {
7 | [SugarColumn(ColumnDescription = "Id主键", IsPrimaryKey = true, Length = 36)]
8 | public virtual string id { get; set; }
9 |
10 | [SugarColumn(ColumnDescription = "名称", IsNullable = true, Length = 255)]
11 | public virtual string name { get; set; }
12 | }
--------------------------------------------------------------------------------
/Vboot.Core/Common/Mvc/Filter/DisableOpLogAttribute.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Text;
5 | using System.Threading.Tasks;
6 |
7 | namespace Vboot.Core.Common;
8 |
9 | ///
10 | /// 禁用操作日志
11 | ///
12 | [AttributeUsage(AttributeTargets.Class | AttributeTargets.Method | AttributeTargets.Property)]
13 | public class DisableOpLogAttribute : Attribute
14 | {
15 | }
--------------------------------------------------------------------------------
/Vboot.Core/Common/Mvc/Filter/LogExceptionHandler.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Security.Claims;
3 | using System.Threading.Tasks;
4 | using Furion;
5 | using Furion.DependencyInjection;
6 | using Furion.EventBus;
7 | using Furion.FriendlyException;
8 | using Microsoft.AspNetCore.Mvc.Filters;
9 | using Serilog;
10 | using Vboot.Core.Module.Sys;
11 | using Yitter.IdGenerator;
12 |
13 | namespace Vboot.Core.Common;
14 |
15 | ///
16 | /// 全局异常处理
17 | ///
18 | public class LogExceptionHandler : IGlobalExceptionHandler, ISingleton
19 | {
20 | private readonly IEventPublisher _eventPublisher;
21 |
22 | public LogExceptionHandler(IEventPublisher eventPublisher)
23 | {
24 | _eventPublisher = eventPublisher;
25 | }
26 |
27 | public Task OnExceptionAsync(ExceptionContext context)
28 | {
29 | Console.WriteLine("出错了");
30 | var userContext = App.User;
31 | _eventPublisher.PublishAsync(new ChannelEventSource("Create:ExLog",
32 | new SysLogEx
33 | {
34 | Id = YitIdHelper.NextId() + "",
35 | Account = userContext?.FindFirstValue(ClaimConst.CLAINM_ACCOUNT),
36 | Name = userContext?.FindFirstValue(ClaimConst.CLAINM_NAME),
37 | ClassName = context.Exception.TargetSite.DeclaringType?.FullName,
38 | MethodName = context.Exception.TargetSite.Name,
39 | ExceptionName = context.Exception.Message,
40 | ExceptionMsg = context.Exception.Message,
41 | ExceptionSource = context.Exception.Source,
42 | StackTrace = context.Exception.StackTrace,
43 | ParamsObj = context.Exception.TargetSite.GetParameters().ToString(),
44 | ExceptionTime = DateTime.Now
45 | }));
46 | Log.Error(context.Exception.ToString());
47 | return Task.CompletedTask;
48 | }
49 | }
--------------------------------------------------------------------------------
/Vboot.Core/Common/Mvc/Filter/MyUnitOfWorkAttribute.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Data;
3 |
4 | namespace Vboot.Core.Common;
5 |
6 | ///
7 | /// SqlSugar 工作单元配置特性
8 | ///
9 | [AttributeUsage(AttributeTargets.Method)]
10 | public class MyUnitOfWorkAttribute : Attribute
11 | {
12 | ///
13 | /// 构造函数
14 | ///
15 | public MyUnitOfWorkAttribute()
16 | {
17 | }
18 |
19 | ///
20 | /// 构造函数
21 | ///
22 | ///
23 | /// 支持传入事务隔离级别 参数值
24 | ///
25 | /// 事务隔离级别
26 | public MyUnitOfWorkAttribute(IsolationLevel isolationLevel)
27 | {
28 | IsolationLevel = isolationLevel;
29 | }
30 |
31 | ///
32 | /// 事务隔离级别
33 | ///
34 | ///
35 | /// 默认:,参见:
36 | /// 说明:当事务A更新某条数据的时候,不容许其他事务来更新该数据,但可以进行读取操作
37 | ///
38 | public IsolationLevel IsolationLevel { get; set; } = IsolationLevel.ReadCommitted;
39 | }
--------------------------------------------------------------------------------
/Vboot.Core/Common/Mvc/Manager/IUserManager.cs:
--------------------------------------------------------------------------------
1 | using System.Threading.Tasks;
2 | using Vboot.Core.Module.Sys;
3 |
4 | namespace Vboot.Core.Common;
5 |
6 | public interface IUserManager
7 | {
8 | string Account { get; }
9 | string Name { get; }
10 | bool SuperAdmin { get; }
11 | // SysOrgUser User { get; }
12 | string UserId { get; }
13 | string Perms { get; }
14 |
15 | Task CheckUserAsync(string userId, bool tracking = true);
16 | Task GetUserEmpInfo(string userId);
17 | }
--------------------------------------------------------------------------------
/Vboot.Core/Common/Mvc/Service/BaseService.cs:
--------------------------------------------------------------------------------
1 | using System.Threading.Tasks;
2 | using SqlSugar;
3 | using Yitter.IdGenerator;
4 |
5 | namespace Vboot.Core.Common
6 | {
7 | public class BaseService where TEntity : BaseEntity, new()
8 | {
9 | public ISqlSugarRepository repo { get; set; }
10 |
11 | public async Task InsertAsync(TEntity entity)
12 | {
13 | if (string.IsNullOrEmpty(entity.id))
14 | {
15 | entity.id = YitIdHelper.NextId() + "";
16 | }
17 | await repo.InsertAsync(entity);
18 | }
19 |
20 | public async Task SingleAsync(string id)
21 | {
22 | return await repo.SingleAsync(t => t.id == id);
23 | }
24 |
25 | public async Task UpdateAsync(TEntity entity)
26 | {
27 | await repo.UpdateAsync(entity);
28 | }
29 |
30 | public async Task DeleteAsync(string ids)
31 | {
32 | var idArr = ids.Split(",");
33 | await repo.Context.Deleteable().In(idArr).ExecuteCommandAsync();
34 | }
35 | }
36 | }
--------------------------------------------------------------------------------
/Vboot.Core/Common/Util/JsonUtil.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 | using Furion.JsonSerialization;
3 | using Newtonsoft.Json.Linq;
4 |
5 | namespace Vboot.Core.Common.Util;
6 |
7 | ///
8 | /// Json序列化工具类
9 | ///
10 | public static class JsonUtil
11 | {
12 | ///
13 | /// JSON 字符串转 Object
14 | ///
15 | ///
16 | ///
17 | ///
18 | public static T ToObject(this string json)
19 | {
20 | json = json.Replace(" ", "");
21 | return JSON.Deserialize(json);
22 | }
23 |
24 | ///
25 | /// Object 转 JSON字符串
26 | ///
27 | ///
28 | ///
29 | public static string ToJsonString(this object obj)
30 | {
31 | return JSON.Serialize(obj);
32 | }
33 |
34 | ///
35 | /// JSON 字符串转 JObject
36 | ///
37 | ///
38 | ///
39 | public static JObject ToJObject(this string json)
40 | {
41 | return json == null ? JObject.Parse("{}") : JObject.Parse(json.Replace(" ", ""));
42 | }
43 |
44 | ///
45 | /// Dictionary 字符串转 Object
46 | ///
47 | ///
48 | ///
49 | ///
50 | public static T ToObject(this IDictionary dictionary)
51 | {
52 | return dictionary.ToJsonString().ToObject();
53 | }
54 | }
--------------------------------------------------------------------------------
/Vboot.Core/Common/Util/XreqUtil.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using Furion;
3 | using SqlSugar;
4 |
5 | namespace Vboot.Core.Common.Util;
6 |
7 | public class XreqUtil
8 | {
9 | public static PagingParam GetPp()
10 | {
11 | var pp = new PagingParam();
12 | var request = App.HttpContext.Request;
13 | var strPageSize = request.Query["pageSize"].ToString();
14 | if (!string.IsNullOrEmpty(strPageSize))
15 | {
16 | pp.pageSize=int.Parse(strPageSize);
17 | }
18 | var strPage = request.Query["page"].ToString();
19 | if (!string.IsNullOrEmpty(strPage))
20 | {
21 | pp.page=int.Parse(strPage);
22 | }
23 | return pp;
24 | }
25 | }
26 |
27 | public class PagingParam
28 | {
29 | public RefAsync total { get; set; } = 0;
30 |
31 | public int page { get; set; } = 1;
32 |
33 | public int pageSize { get; set; } = 10;
34 |
35 |
36 | }
--------------------------------------------------------------------------------
/Vboot.Core/Common/Util/XstrUtil.cs:
--------------------------------------------------------------------------------
1 | using System.Text;
2 |
3 | namespace Vboot.Core.Common.Util;
4 |
5 | public class XstrUtil
6 | {
7 | /// 将大驼峰命名转为蛇形命名
8 | public static string RenameSnakeCase(string str)
9 | {
10 | var builder = new StringBuilder();
11 | var name = str;
12 | var previousUpper = false;
13 | for (var i = 0; i < name.Length; i++)
14 | {
15 | var c = name[i];
16 | if (char.IsUpper(c))
17 | {
18 | if (i > 0 && !previousUpper)
19 | {
20 | builder.Append("_");
21 | }
22 | builder.Append(char.ToLowerInvariant(c));
23 | previousUpper = true;
24 | }
25 | else
26 | {
27 | builder.Append(c);
28 | previousUpper = false;
29 | }
30 | }
31 | return builder.ToString();
32 | }
33 |
34 | /// 将大驼峰命名转为蛇形命名
35 | public static string RenameUrlCase(string str)
36 | {
37 | var builder = new StringBuilder();
38 | var name = str;
39 | var previousUpper = false;
40 | for (var i = 0; i < name.Length; i++)
41 | {
42 | var c = name[i];
43 | if (char.IsUpper(c))
44 | {
45 | if (i > 0 && !previousUpper)
46 | {
47 | builder.Append("/");
48 | }
49 | builder.Append(char.ToLowerInvariant(c));
50 | previousUpper = true;
51 | }
52 | else
53 | {
54 | builder.Append(c);
55 | previousUpper = false;
56 | }
57 | }
58 | return builder.ToString();
59 | }
60 | }
--------------------------------------------------------------------------------
/Vboot.Core/Common/Util/XuserUtil.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using Furion;
3 | using Vboot.Core.Module.Sys;
4 |
5 | namespace Vboot.Core.Common.Util;
6 |
7 | public class XuserUtil
8 | {
9 | public static SysOrg getUser() {
10 | var user = App.GetService();
11 | return new SysOrg(user.UserId, user.Name);
12 | }
13 |
14 | public static String getUserId() {
15 | String userId = null;
16 | var user = App.GetService();
17 | userId = user.UserId;
18 | return userId;
19 | }
20 |
21 | }
--------------------------------------------------------------------------------
/Vboot.Core/Module/Ass/Dict/Cate/AssDictCate.cs:
--------------------------------------------------------------------------------
1 | using System.ComponentModel;
2 | using SqlSugar;
3 | using Vboot.Core.Common;
4 |
5 | namespace Vboot.Core.Module.Ass;
6 |
7 | [SugarTable("ass_dict_cate", TableDescription = "字典分类表")]
8 | [Description("字典分类表")]
9 | public class AssDictCate : BaseEntity
10 | {
11 | [SugarColumn(ColumnDescription = "可用标记:1可用,0禁用", IsNullable = true)]
12 | public bool? avtag { get; set; }
13 |
14 | [SugarColumn(ColumnDescription = "排序号", IsNullable = true)]
15 | public int ornum { get; set; }
16 |
17 | [SugarColumn(ColumnDescription = "备注", IsNullable = true, Length = 64)]
18 | public string notes { get; set; }
19 |
20 | [SugarColumn(ColumnDescription = "代码", Length = 32)]
21 | public string code { get; set; }
22 | }
--------------------------------------------------------------------------------
/Vboot.Core/Module/Ass/Dict/Cate/AssDictCateApi.cs:
--------------------------------------------------------------------------------
1 | using System.Threading.Tasks;
2 | using Furion.DynamicApiController;
3 | using Microsoft.AspNetCore.Mvc;
4 | using SqlSugar;
5 | using Vboot.Core.Common;
6 | using Vboot.Core.Common.Util;
7 |
8 | namespace Vboot.Core.Module.Ass;
9 |
10 | [ApiDescriptionSettings("Ass", Tag = "字典分类")]
11 | public class AssDictCateApi : IDynamicApiController
12 | {
13 | private readonly AssDictCateService _service;
14 |
15 | public AssDictCateApi(AssDictCateService service)
16 | {
17 | _service = service;
18 | }
19 |
20 | [QueryParameters]
21 | public async Task Get()
22 | {
23 | var pp = XreqUtil.GetPp();
24 | var items = await _service.repo.Context.Queryable()
25 | .OrderBy(u => u.ornum)
26 | .Select((t) => new {t.id, t.name, t.notes})
27 | .ToPageListAsync(pp.page, pp.pageSize, pp.total);
28 | return RestPageResult.Build(pp.total.Value, items);
29 | }
30 |
31 | public async Task GetOne(string id)
32 | {
33 | var cate = await _service.repo.Context.Queryable()
34 | .Where(it => it.id == id).FirstAsync();
35 | return cate;
36 | }
37 |
38 | public async Task Post(AssDictCate cate)
39 | {
40 | await _service.InsertAsync(cate);
41 | }
42 |
43 | public async Task Put(AssDictCate cate)
44 | {
45 | await _service.UpdateAsync(cate);
46 | }
47 |
48 | public async Task Delete(string ids)
49 | {
50 | await _service.DeleteAsync(ids);
51 | }
52 | }
--------------------------------------------------------------------------------
/Vboot.Core/Module/Ass/Dict/Cate/AssDictCateService.cs:
--------------------------------------------------------------------------------
1 | using Furion.DependencyInjection;
2 | using SqlSugar;
3 | using Vboot.Core.Common;
4 |
5 | namespace Vboot.Core.Module.Ass;
6 |
7 | public class AssDictCateService : BaseService, ITransient
8 | {
9 | public AssDictCateService(ISqlSugarRepository repo)
10 | {
11 | base.repo = repo;
12 | }
13 | }
--------------------------------------------------------------------------------
/Vboot.Core/Module/Ass/Dict/Data/AssDictData.cs:
--------------------------------------------------------------------------------
1 | using System.ComponentModel;
2 | using SqlSugar;
3 | using Vboot.Core.Common;
4 |
5 | namespace Vboot.Core.Module.Ass;
6 |
7 | [SugarTable("ass_dict_data", TableDescription = "字典数据表")]
8 | [Description("字典数据表")]
9 | public class AssDictData : BaseEntity
10 | {
11 | [SugarColumn(ColumnDescription = "可用标记:1可用,0禁用", IsNullable = true)]
12 | public bool? avtag { get; set; }
13 |
14 | [SugarColumn(ColumnDescription = "排序号", IsNullable = true)]
15 | public int ornum { get; set; }
16 |
17 | [SugarColumn(ColumnDescription = "分类ID", Length = 36)]
18 | public string cateid { get; set; }
19 |
20 | [SugarColumn(ColumnDescription = "代码", Length = 36)]
21 | public string code { get; set; }
22 |
23 | [SugarColumn(ColumnDescription = "备注", IsNullable = true, Length = 64)]
24 | public string notes { get; set; }
25 | }
--------------------------------------------------------------------------------
/Vboot.Core/Module/Ass/Dict/Data/AssDictDataApi.cs:
--------------------------------------------------------------------------------
1 | using System.Threading.Tasks;
2 | using Furion.DynamicApiController;
3 | using Microsoft.AspNetCore.Mvc;
4 | using Vboot.Core.Common;
5 | using Vboot.Core.Common.Util;
6 |
7 | namespace Vboot.Core.Module.Ass;
8 |
9 | [ApiDescriptionSettings("Ass", Tag = "字典数据")]
10 | public class AssDictDataApi : IDynamicApiController
11 | {
12 | private readonly AssDictDataService _service;
13 |
14 | public AssDictDataApi(AssDictDataService service)
15 | {
16 | _service = service;
17 | }
18 |
19 | [QueryParameters]
20 | public async Task Get(string cateid, string name)
21 | {
22 | var pp = XreqUtil.GetPp();
23 | var items = await _service.repo.Context.Queryable()
24 | .WhereIF(!string.IsNullOrWhiteSpace(name), t => t.name.Contains(name.Trim()))
25 | .Where((t) => t.cateid == cateid)
26 | .OrderBy(u => u.ornum)
27 | .Select((t) => new {t.id, t.name, t.code, t.notes})
28 | .ToPageListAsync(pp.page, pp.pageSize, pp.total);
29 | return RestPageResult.Build(pp.total.Value, items);
30 | }
31 |
32 | public async Task GetOne(string id)
33 | {
34 | var data = await _service.repo.Context.Queryable()
35 | .Where(it => it.id == id).FirstAsync();
36 | return data;
37 | }
38 |
39 | public async Task Post(AssDictData data)
40 | {
41 | await _service.InsertAsync(data);
42 | }
43 |
44 | public async Task Put(AssDictData data)
45 | {
46 | await _service.UpdateAsync(data);
47 | }
48 |
49 | public async Task Delete(string ids)
50 | {
51 | await _service.DeleteAsync(ids);
52 | }
53 | }
--------------------------------------------------------------------------------
/Vboot.Core/Module/Ass/Dict/Data/AssDictDataService.cs:
--------------------------------------------------------------------------------
1 | using Furion.DependencyInjection;
2 | using SqlSugar;
3 | using Vboot.Core.Common;
4 |
5 | namespace Vboot.Core.Module.Ass;
6 |
7 | public class AssDictDataService : BaseService, ITransient
8 | {
9 | public AssDictDataService(ISqlSugarRepository repo)
10 | {
11 | base.repo = repo;
12 | }
13 | }
--------------------------------------------------------------------------------
/Vboot.Core/Module/Ass/Dict/Main/AssDictMain.cs:
--------------------------------------------------------------------------------
1 | using System.ComponentModel;
2 | using SqlSugar;
3 | using Vboot.Core.Common;
4 |
5 | namespace Vboot.Core.Module.Ass;
6 |
7 | [SugarTable("ass_dict_main", TableDescription = "项目信息表")]
8 | [Description("项目信息表")]
9 | public class AssDictMain : BaseEntity
10 | {
11 | [SugarColumn(ColumnDescription = "可用标记:1可用,0禁用", IsNullable = true)]
12 | public bool? avtag { get; set; }
13 |
14 | [SugarColumn(ColumnDescription = "排序号", IsNullable = true)]
15 | public int ornum { get; set; }
16 |
17 | [SugarColumn(ColumnDescription = "类型", IsNullable = true, Length = 32)]
18 | public string cateid { get; set; }
19 |
20 | [SugarColumn(ColumnDescription = "备注", IsNullable = true, Length = 64)]
21 | public string notes { get; set; }
22 |
23 | [SugarColumn(ColumnDescription = "代码", Length = 32)]
24 | public string code { get; set; }
25 | }
--------------------------------------------------------------------------------
/Vboot.Core/Module/Ass/Dict/Main/AssDictMainApi.cs:
--------------------------------------------------------------------------------
1 | using System.Threading.Tasks;
2 | using Furion.DynamicApiController;
3 | using Microsoft.AspNetCore.Mvc;
4 | using Vboot.Core.Common;
5 | using Vboot.Core.Common.Util;
6 | using Vboot.Core.Module.Pub;
7 |
8 | namespace Vboot.Core.Module.Ass;
9 |
10 | [ApiDescriptionSettings("Ass", Tag = "字典信息")]
11 | public class AssDictMainApi : IDynamicApiController
12 | {
13 | private readonly AssDictMainService _service;
14 |
15 | public AssDictMainApi(AssDictMainService service)
16 | {
17 | _service = service;
18 | }
19 |
20 | [QueryParameters]
21 | public async Task Get()
22 | {
23 | var pp = XreqUtil.GetPp();
24 | var items = await _service.repo.Context.Queryable()
25 | .OrderBy(u => u.ornum)
26 | .Select((t) => new {t.id, t.name, t.code, t.notes})
27 | .ToPageListAsync(pp.page, pp.pageSize, pp.total);
28 | return RestPageResult.Build(pp.total.Value, items);
29 | }
30 |
31 | public async Task GetOne(string id)
32 | {
33 | var main = await _service.repo.Context.Queryable()
34 | .Where(it => it.id == id).FirstAsync();
35 | return main;
36 | }
37 |
38 | public async Task Post(AssDictMain main)
39 | {
40 | await _service.InsertAsync(main);
41 | }
42 |
43 | public async Task Put(AssDictMain main)
44 | {
45 | await _service.UpdateAsync(main);
46 | }
47 |
48 | public async Task Delete(string ids)
49 | {
50 | await _service.DeleteAsync(ids);
51 | }
52 | }
--------------------------------------------------------------------------------
/Vboot.Core/Module/Ass/Dict/Main/AssDictMainService.cs:
--------------------------------------------------------------------------------
1 | using Furion.DependencyInjection;
2 | using SqlSugar;
3 | using Vboot.Core.Common;
4 | using Vboot.Core.Module.Ass;
5 |
6 | namespace Vboot.Core.Module.Ass;
7 |
8 | public class AssDictMainService : BaseService, ITransient
9 | {
10 | public AssDictMainService(ISqlSugarRepository repo)
11 | {
12 | this.repo = repo;
13 | }
14 | }
--------------------------------------------------------------------------------
/Vboot.Core/Module/Bpm/Audit/Main/BpmAuditMain.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using SqlSugar;
3 |
4 | namespace Vboot.Core.Module.Bpm;
5 |
6 |
7 | [SugarTable("bpm_audit_main", TableDescription = "流程审批记录表")]
8 | public class BpmAuditMain
9 | {
10 | [SugarColumn(ColumnDescription = "Id主键", IsPrimaryKey = true, Length = 36)]
11 | public string id { get; set; }
12 |
13 | [SugarColumn(ColumnDescription = "当前节点编号", IsNullable = true, Length = 32)]
14 | public string facno { get; set; }
15 |
16 | [SugarColumn(ColumnDescription = "当前节点编号", IsNullable = true, Length = 126)]
17 | public string facna { get; set; }
18 |
19 | [SugarColumn(ColumnDescription = "开始时间", IsNullable = true, IsOnlyIgnoreUpdate = true)]
20 | public DateTime? crtim { get; set; }=DateTime.Now;
21 |
22 | [SugarColumn(ColumnDescription = "流程实例id", IsNullable = true, Length = 32)]
23 | public string proid { get; set; }
24 |
25 | [SugarColumn(ColumnDescription = "节点id", IsNullable = true, Length = 32)]
26 | public string nodid { get; set; }
27 |
28 | [SugarColumn(ColumnDescription = "任务id", IsNullable = true, Length = 32)]
29 | public string tasid { get; set; }
30 |
31 | [SugarColumn(ColumnDescription = "实处理人", IsNullable = true, Length = 32)]
32 | public string haman { get; set; }
33 |
34 | [SugarColumn(ColumnDescription = "操作的key:pass,refuse", IsNullable = true, Length = 32)]
35 | public string opkey { get; set; }
36 |
37 | [SugarColumn(ColumnDescription = "操作的名称: 通过,驳回,转办等", IsNullable = true, Length = 64)]
38 | public string opinf { get; set; }
39 |
40 | [SugarColumn(ColumnDescription = "审核留言:具体写了什么审核内容", IsNullable = true, Length = 1000)]
41 | public string opnot { get; set; }
42 |
43 | }
--------------------------------------------------------------------------------
/Vboot.Core/Module/Bpm/Audit/Main/BpmAuditMainService.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 | using Furion.DependencyInjection;
3 | using SqlSugar;
4 | using Yitter.IdGenerator;
5 |
6 | namespace Vboot.Core.Module.Bpm;
7 |
8 | public class BpmAuditMainService : ITransient
9 | {
10 | public BpmAuditMain SaveDraftAudit(Zbpm zbpm, Znode znode)
11 | {
12 | BpmAuditMain audit = new BpmAuditMain();
13 | audit.id = YitIdHelper.NextId() + "";
14 | audit.facno = znode.facno;
15 | audit.facna = znode.facna;
16 | audit.nodid = znode.nodid;
17 | audit.haman = zbpm.haman;
18 | audit.proid = zbpm.proid;
19 | audit.opnot = zbpm.opnot;
20 | audit.opkey = "dsubmit";
21 | audit.opinf = "起草人提交";
22 | _repo.Insert(audit);
23 | return audit;
24 | }
25 |
26 | public BpmAuditMain SaveAudit(Zbpm zbpm)
27 | {
28 | BpmAuditMain audit = new BpmAuditMain();
29 | audit.id = YitIdHelper.NextId() + "";
30 | audit.facno = zbpm.facno;
31 | audit.facna = zbpm.facna;
32 | audit.nodid = zbpm.nodid;
33 | audit.haman = zbpm.haman;
34 | audit.proid = zbpm.proid;
35 | audit.opnot = zbpm.opnot;
36 | audit.opkey = zbpm.opkey;
37 | audit.opinf = zbpm.opinf;
38 | audit.tasid = zbpm.tasid;
39 | _repo.Insert(audit);
40 | return audit;
41 | }
42 |
43 | public BpmAuditMain SaveEndAudit(Zbpm zbpm, string nodid)
44 | {
45 | BpmAuditMain audit = new BpmAuditMain();
46 | audit.id = YitIdHelper.NextId() + "";
47 | audit.facno = "N3";
48 | audit.facna = "结束节点";
49 | audit.nodid = nodid;
50 | audit.proid = zbpm.proid;
51 | audit.opkey = "end";
52 | _repo.Insert(audit);
53 | return audit;
54 | }
55 |
56 | private readonly ISqlSugarRepository _repo;
57 |
58 | public BpmAuditMainService(ISqlSugarRepository repo)
59 | {
60 | _repo = repo;
61 | }
62 | }
--------------------------------------------------------------------------------
/Vboot.Core/Module/Bpm/Node/Hist/BpmNodeHist.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using SqlSugar;
3 |
4 | namespace Vboot.Core.Module.Bpm;
5 |
6 | [SugarTable("bpm_node_hist", TableDescription = "流程节点历史表")]
7 | public class BpmNodeHist
8 | {
9 | [SugarColumn(ColumnDescription = "Id主键", IsPrimaryKey = true, Length = 36)]
10 | public string id { get; set; }
11 |
12 | [SugarColumn(ColumnDescription = "当前节点编号", IsNullable = true, Length = 32)]
13 | public string facno { get; set; }
14 |
15 | [SugarColumn(ColumnDescription = "当前节点编号", IsNullable = true, Length = 126)]
16 | public string facna { get; set; }
17 |
18 | [SugarColumn(ColumnDescription = "当前节点类型", IsNullable = true, Length = 32)]
19 | public string facty { get; set; }
20 |
21 | [SugarColumn(ColumnDescription = "目标节点ID", IsNullable = true, Length = 32)]
22 | public string tarno { get; set; }
23 |
24 | [SugarColumn(ColumnDescription = "目标节点名称", IsNullable = true, Length = 32)]
25 | public string tarna { get; set; }
26 |
27 | [SugarColumn(ColumnDescription = "流程实例id", IsNullable = true, Length = 32)]
28 | public string proid { get; set; }
29 |
30 | [SugarColumn(ColumnDescription = "状态", IsNullable = true, Length = 8)]
31 | public string state { get; set; }
32 |
33 | [SugarColumn(ColumnDescription = "开始时间", IsNullable = true, IsOnlyIgnoreUpdate = true)]
34 | public DateTime? sttim { get; set; }=DateTime.Now;
35 |
36 | [SugarColumn(ColumnDescription = "结束时间", IsNullable = true)]
37 | public DateTime? entim { get; set; }
38 | }
--------------------------------------------------------------------------------
/Vboot.Core/Module/Bpm/Node/Main/BpmNodeMain.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using SqlSugar;
3 |
4 | namespace Vboot.Core.Module.Bpm;
5 |
6 | [SugarTable("bpm_node_main", TableDescription = "流程节点表")]
7 | public class BpmNodeMain
8 | {
9 | [SugarColumn(ColumnDescription = "Id主键", IsPrimaryKey = true, Length = 36)]
10 | public string id { get; set; }
11 |
12 | [SugarColumn(ColumnDescription = "当前节点编号", IsNullable = true, Length = 32)]
13 | public string facno { get; set; }
14 |
15 | [SugarColumn(ColumnDescription = "当前节点编号", IsNullable = true, Length = 126)]
16 | public string facna { get; set; }
17 |
18 | [SugarColumn(ColumnDescription = "当前节点类型", IsNullable = true, Length = 32)]
19 | public string facty { get; set; }
20 |
21 | [SugarColumn(ColumnDescription = "流程实例id", IsNullable = true, Length = 32)]
22 | public string proid { get; set; }
23 |
24 | [SugarColumn(ColumnDescription = "状态", IsNullable = true, Length = 8)]
25 | public string state { get; set; }
26 |
27 | [SugarColumn(ColumnDescription = "开始时间", IsNullable = true, IsOnlyIgnoreUpdate = true)]
28 | public DateTime? sttim { get; set; }=DateTime.Now;
29 | }
--------------------------------------------------------------------------------
/Vboot.Core/Module/Bpm/Node/Main/BpmNodeMainService.cs:
--------------------------------------------------------------------------------
1 | using Furion.DependencyInjection;
2 | using SqlSugar;
3 | using Yitter.IdGenerator;
4 |
5 | namespace Vboot.Core.Module.Bpm;
6 |
7 | public class BpmNodeMainService : ITransient
8 | {
9 | public BpmNodeMain SaveNode(Zbpm zbpm, Znode znode)
10 | {
11 | BpmNodeMain node = new BpmNodeMain();
12 | node.facno = znode.facno;
13 | node.facna = znode.facna;
14 | node.facty = znode.facty;
15 | node.proid = zbpm.proid;
16 | node.state = "20";
17 | node.id = YitIdHelper.NextId() + "";
18 | _repo.Insert(node);
19 | return node;
20 | }
21 |
22 |
23 | public BpmNodeMain FindOne(string id) {
24 | return _repo.Single(t => t.id == id);;
25 | }
26 |
27 | public void Delete(string id) {
28 | _repo.Context.Deleteable().Where(it => it.id == id).ExecuteCommand();
29 | }
30 |
31 |
32 | private readonly ISqlSugarRepository _repo;
33 |
34 | public BpmNodeMainService(ISqlSugarRepository repo)
35 | {
36 | _repo = repo;
37 | }
38 | }
--------------------------------------------------------------------------------
/Vboot.Core/Module/Bpm/Proc/Main/BpmProcMain.cs:
--------------------------------------------------------------------------------
1 | using SqlSugar;
2 | using Vboot.Core.Common;
3 |
4 | namespace Vboot.Core.Module.Bpm;
5 |
6 | [SugarTable("bpm_proc_main", TableDescription = "流程实例表")]
7 | public class BpmProcMain : BaseMainEntity
8 | {
9 | [SugarColumn(ColumnDescription = "modid", IsNullable = true, Length = 32)]
10 | public string modid { get; set; }
11 |
12 | [SugarColumn(ColumnDescription = "modty", IsNullable = true, Length = 32)]
13 | public string modty { get; set; }
14 |
15 | [SugarColumn(ColumnDescription = "模板id", IsNullable = true, Length = 32)]
16 | public string temid { get; set; }
17 |
18 | [SugarColumn(ColumnDescription = "状态", IsNullable = true, Length = 8)]
19 | public string state { get; set; }
20 |
21 | public BpmProcMain()
22 | {
23 |
24 | }
25 |
26 | public BpmProcMain(Zbpm zbpm) {
27 | id=zbpm.proid;
28 | name=zbpm.prona;
29 | temid=zbpm.temid;
30 | crmid = zbpm.haman;
31 | }
32 | }
--------------------------------------------------------------------------------
/Vboot.Core/Module/Bpm/Proc/Main/Zbpm.cs:
--------------------------------------------------------------------------------
1 | namespace Vboot.Core.Module.Bpm;
2 |
3 | public class Zbpm
4 | {
5 | public string todid { get; set; }//待办ID
6 |
7 | public string temid { get; set; }//流程模板ID
8 |
9 | public string proid { get; set; }//流程实例ID
10 |
11 | public string prona { get; set; }//流程实例名称
12 |
13 | public string nodid { get; set; }//当前节点ID
14 |
15 | public string facno { get; set; }//当前节点编号
16 |
17 | public string facna { get; set; }//当前节点名称
18 |
19 | public string tarno { get; set; }//目标节点编号
20 |
21 | public string tarna { get; set; }//目标节点名称
22 |
23 | public bool retag { get; set; } = true;//驳回标记,驳回的节点通过后直接返回本节点
24 |
25 | public string bacid { get; set; }//驳回后的流程重新提交时的bpm_proc_param的id
26 |
27 | public string tasid { get; set; }//任务ID
28 |
29 | public string opnot { get; set; }//操作:处理意见
30 |
31 | public string opurg { get; set; }//操作:紧急程度
32 |
33 | public string opkey { get; set; }//操作key:pass, reject
34 |
35 | public string opinf { get; set; }//操作名称:通过,驳回到谁,沟通谁
36 |
37 | public string chxml { get; set; }//优化过的vboot可解析的的xml
38 |
39 | public string haman { get; set; }//当前处理人ID
40 |
41 | public string exman { get; set; }//应处理人ID
42 |
43 | }
--------------------------------------------------------------------------------
/Vboot.Core/Module/Bpm/Proc/Main/Znode.cs:
--------------------------------------------------------------------------------
1 | namespace Vboot.Core.Module.Bpm;
2 |
3 | public class Znode
4 | {
5 |
6 | public string nodid { get; set; }//节点ID
7 |
8 | public string facno { get; set; }//当前节点编号:N1,N2
9 |
10 | public string facna { get; set; }//当前节点名称
11 |
12 | public string facty { get; set; }//当前节点类型
13 |
14 | public string tarno { get; set; }//目标节点编号
15 |
16 | public string tarna { get; set; }//目标节点名称
17 |
18 | public string exman { get; set; }//应处理人
19 |
20 | public Znode()
21 | {
22 | }
23 |
24 | public Znode(string facno)
25 | {
26 | this.facno = facno;
27 | }
28 | }
--------------------------------------------------------------------------------
/Vboot.Core/Module/Bpm/Proc/Param/BpmProcParam.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using SqlSugar;
3 |
4 | namespace Vboot.Core.Module.Bpm;
5 |
6 | [SugarTable("bpm_proc_param", TableDescription = "流程参数表")]
7 | public class BpmProcParam
8 | {
9 | [SugarColumn(ColumnDescription = "Id主键", IsPrimaryKey = true, Length = 36)]
10 | public string id { get; set; }
11 |
12 | [SugarColumn(ColumnDescription = "xx", IsNullable = true, Length = 64)]
13 | public string pakey { get; set; }
14 |
15 | [SugarColumn(ColumnDescription = "xx", IsNullable = true, Length = 512)]
16 | public string paval { get; set; }
17 |
18 | [SugarColumn(ColumnDescription = "xx", IsNullable = true, Length = 32)]
19 | public string offty { get; set; }
20 |
21 | [SugarColumn(ColumnDescription = "xx", IsNullable = true, Length = 32)]
22 | public string offid { get; set; }
23 |
24 | [SugarColumn(ColumnDescription = "xx", IsNullable = true, Length = 32)]
25 | public string proid { get; set; }
26 | }
--------------------------------------------------------------------------------
/Vboot.Core/Module/Bpm/Proc/Param/BpmProcParamService.cs:
--------------------------------------------------------------------------------
1 | using Furion.DependencyInjection;
2 | using Microsoft.AspNetCore.Mvc.TagHelpers.Cache;
3 | using SqlSugar;
4 | using Yitter.IdGenerator;
5 |
6 | namespace Vboot.Core.Module.Bpm;
7 |
8 | public class BpmProcParamService : ITransient
9 | {
10 | public void Save(BpmProcParam param){
11 | _repo.Insert(param);
12 | }
13 |
14 | public void Delete(string id) {
15 | _repo.Context.Deleteable().Where(it => it.id == id).ExecuteCommand();
16 | }
17 |
18 |
19 | private readonly ISqlSugarRepository _repo;
20 |
21 | public BpmProcParamService(ISqlSugarRepository repo)
22 | {
23 | _repo = repo;
24 | }
25 | }
--------------------------------------------------------------------------------
/Vboot.Core/Module/Bpm/Proc/Temp/BpmProcTemp.cs:
--------------------------------------------------------------------------------
1 | using SqlSugar;
2 | using Vboot.Core.Common;
3 |
4 | namespace Vboot.Core.Module.Bpm;
5 |
6 | [SugarTable("bpm_proc_temp", TableDescription = "流程模板表")]
7 | public class BpmProcTemp : BaseMainEntity
8 | {
9 | [SugarColumn(ColumnDescription = "原始XML", ColumnDataType = "varchar(max)", IsNullable = true)]
10 | public string orxml { get; set; }
11 |
12 | [SugarColumn(ColumnDescription = "变动后的XML", ColumnDataType = "varchar(max)", IsNullable = true)]
13 | public string chxml { get; set; }
14 | }
--------------------------------------------------------------------------------
/Vboot.Core/Module/Bpm/Proc/Temp/BpmProcTempApi.cs:
--------------------------------------------------------------------------------
1 | using System.Threading.Tasks;
2 | using Furion.DynamicApiController;
3 | using Microsoft.AspNetCore.Mvc;
4 | using SqlSugar;
5 | using Vboot.Core.Common;
6 | using Vboot.Core.Common.Util;
7 |
8 | namespace Vboot.Core.Module.Bpm;
9 |
10 | [ApiDescriptionSettings("Bpm", Tag = "流程引擎-模板")]
11 | public class BpmProcTempApi : IDynamicApiController
12 | {
13 | private readonly BpmProcTempService _service;
14 |
15 | public BpmProcTempApi(BpmProcTempService service)
16 | {
17 | _service = service;
18 | }
19 |
20 | [QueryParameters]
21 | public async Task Get(string name)
22 | {
23 | var pp=XreqUtil.GetPp();
24 | var items = await _service.repo.Context.Queryable()
25 | .OrderBy(t => t.crtim, OrderByType.Desc)
26 | .OrderBy(t => t.crtim, OrderByType.Desc)
27 | .Select((t) => new {t.id, t.name, t.crtim})
28 | .ToPageListAsync(pp.page, pp.pageSize, pp.total);
29 | return RestPageResult.Build(pp.total.Value, items);
30 | }
31 |
32 |
33 |
34 | public async Task GetOne(string id)
35 | {
36 | var main = await _service.SingleAsync(id);
37 | return main;
38 | }
39 |
40 | public async Task Post(BpmProcTemp main)
41 | {
42 | return await _service.InsertAsync(main);
43 | }
44 |
45 | public async Task Put(BpmProcTemp main)
46 | {
47 | return await _service.UpdateAsync(main);
48 | }
49 |
50 | public async Task Delete(string ids)
51 | {
52 | await _service.DeleteAsync(ids);
53 | }
54 | }
--------------------------------------------------------------------------------
/Vboot.Core/Module/Bpm/Proc/Temp/BpmProcTempHand.cs:
--------------------------------------------------------------------------------
1 | using Furion.DependencyInjection;
2 | using SqlSugar;
3 | using Vboot.Core.Common;
4 |
5 | namespace Vboot.Core.Module.Bpm;
6 |
7 | public class BpmProcTempHand : ITransient
8 | {
9 |
10 |
11 |
12 |
13 |
14 | public BpmProcTempHand()
15 | {
16 |
17 | }
18 | }
--------------------------------------------------------------------------------
/Vboot.Core/Module/Bpm/Proc/Temp/BpmProcTempService.cs:
--------------------------------------------------------------------------------
1 | using Furion.DependencyInjection;
2 | using SqlSugar;
3 | using Vboot.Core.Common;
4 |
5 | namespace Vboot.Core.Module.Bpm;
6 |
7 | public class BpmProcTempService : BaseMainService, ITransient
8 | {
9 | public BpmProcTempService(ISqlSugarRepository repo)
10 | {
11 | this.repo = repo;
12 | }
13 | }
--------------------------------------------------------------------------------
/Vboot.Core/Module/Bpm/Task/Hist/BpmTaskHist.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using SqlSugar;
3 |
4 | namespace Vboot.Core.Module.Bpm;
5 |
6 | [SugarTable("bpm_task_hist", TableDescription = "流程任务历史表")]
7 | public class BpmTaskHist
8 | {
9 | [SugarColumn(ColumnDescription = "Id主键", IsPrimaryKey = true, Length = 36)]
10 | public string id { get; set; }
11 |
12 | [SugarColumn(ColumnDescription = "任务类型", IsNullable = true, Length = 32)]
13 | public string type { get; set; }
14 |
15 | [SugarColumn(ColumnDescription = "流程实例id", IsNullable = true, Length = 32)]
16 | public string proid { get; set; }
17 |
18 | [SugarColumn(ColumnDescription = "流程节点id", IsNullable = true, Length = 32)]
19 | public string nodid { get; set; }
20 |
21 | [SugarColumn(ColumnDescription = "开始时间", IsNullable = true, IsOnlyIgnoreUpdate = true)]
22 | public DateTime? sttim { get; set; }=DateTime.Now;
23 |
24 | [SugarColumn(ColumnDescription = "结束时间", IsNullable = true)]
25 | public DateTime? entim { get; set; }
26 |
27 | [SugarColumn(ColumnDescription = "状态", IsNullable = true, Length = 8)]
28 | public string state { get; set; }
29 |
30 | [SugarColumn(ColumnDescription = "消息类型", IsNullable = true, Length = 8)]
31 | public string notty { get; set; }
32 |
33 | [SugarColumn(ColumnDescription = "实处理人", IsNullable = true, Length = 32)]
34 | public string haman { get; set; }
35 |
36 | [SugarColumn(ColumnDescription = "授权处理人", IsNullable = true, Length = 32)]
37 | public string auman { get; set; }
38 |
39 | [SugarColumn(ColumnDescription = "应处理人", IsNullable = true, Length = 32)]
40 | public string exman { get; set; }
41 | }
--------------------------------------------------------------------------------
/Vboot.Core/Module/Bpm/Task/Hist/BpmTaskHistService.cs:
--------------------------------------------------------------------------------
1 | using Furion.DependencyInjection;
2 | using Microsoft.AspNetCore.Mvc.TagHelpers.Cache;
3 | using SqlSugar;
4 | using Yitter.IdGenerator;
5 |
6 | namespace Vboot.Core.Module.Bpm;
7 |
8 | public class BpmTaskHistService : ITransient
9 | {
10 | public BpmTaskHist CreateTask(BpmTaskMain mainTask)
11 | {
12 | BpmTaskHist histTask = new BpmTaskHist();
13 | histTask.id = mainTask.id;
14 | histTask.proid = mainTask.proid;
15 | histTask.state = "20";
16 | histTask.exman = mainTask.exman;
17 | histTask.nodid = mainTask.nodid;
18 | histTask.type = "1";
19 | _repo.Insert(histTask);
20 | return histTask;
21 | }
22 |
23 | public BpmTaskHist FindOne(string id) {
24 | return _repo.Single(t => t.id == id);;
25 | }
26 |
27 | public void Delete(string id) {
28 | _repo.Context.Deleteable().Where(it => it.id == id).ExecuteCommand();
29 | }
30 |
31 | public void Update(BpmTaskHist hist) {
32 | _repo.Context.Updateable(hist).ExecuteCommand();
33 | }
34 |
35 | private readonly ISqlSugarRepository _repo;
36 |
37 | public BpmTaskHistService(ISqlSugarRepository repo)
38 | {
39 | _repo = repo;
40 | }
41 | }
--------------------------------------------------------------------------------
/Vboot.Core/Module/Bpm/Task/Main/BpmTaskMain.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using SqlSugar;
3 |
4 | namespace Vboot.Core.Module.Bpm;
5 |
6 | [SugarTable("bpm_task_main", TableDescription = "流程任务表")]
7 | public class BpmTaskMain
8 | {
9 | [SugarColumn(ColumnDescription = "Id主键", IsPrimaryKey = true, Length = 36)]
10 | public string id { get; set; }
11 |
12 | [SugarColumn(ColumnDescription = "任务类型", IsNullable = true, Length = 32)]
13 | public string type { get; set; }
14 |
15 | [SugarColumn(ColumnDescription = "流程实例id", IsNullable = true, Length = 32)]
16 | public string proid { get; set; }
17 |
18 | [SugarColumn(ColumnDescription = "流程节点id", IsNullable = true, Length = 32)]
19 | public string nodid { get; set; }
20 |
21 | [SugarColumn(ColumnDescription = "开始时间", IsNullable = true, IsOnlyIgnoreUpdate = true)]
22 | public DateTime? sttim { get; set; }=DateTime.Now;
23 |
24 | [SugarColumn(ColumnDescription = "状态", IsNullable = true, Length = 8)]
25 | public string state { get; set; }
26 |
27 | [SugarColumn(ColumnDescription = "消息类型", IsNullable = true, Length = 8)]
28 | public string notty { get; set; }
29 |
30 | [SugarColumn(ColumnDescription = "排序号", IsNullable = true)]
31 | public int ornum { get; set; }
32 |
33 | [SugarColumn(ColumnDescription = "是否激活", IsNullable = true)]
34 | public bool actag { get; set; }
35 |
36 | [SugarColumn(ColumnDescription = "实处理人", IsNullable = true, Length = 32)]
37 | public string haman { get; set; }
38 |
39 | [SugarColumn(ColumnDescription = "授权处理人", IsNullable = true, Length = 32)]
40 | public string auman { get; set; }
41 |
42 | [SugarColumn(ColumnDescription = "应处理人", IsNullable = true, Length = 32)]
43 | public string exman { get; set; }
44 | }
--------------------------------------------------------------------------------
/Vboot.Core/Module/Gen/Org/Dept/GenOrgDeptApi.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using Furion.DynamicApiController;
4 | using Microsoft.AspNetCore.Mvc;
5 | using SqlSugar;
6 | using Vboot.Core.Common;
7 | using Vboot.Core.Module.Sys;
8 |
9 | namespace Vboot.Core.Module.Gen;
10 |
11 | [ApiDescriptionSettings("Gen")]
12 | public class GenOrgDeptApi : IDynamicApiController
13 | {
14 | private readonly ISqlSugarRepository repo;
15 |
16 | public GenOrgDeptApi(ISqlSugarRepository Repo)
17 | {
18 | repo = Repo;
19 | }
20 |
21 | public List GetTree()
22 | {
23 | var trees = repo.Context.SqlQueryable("select id,pid,name from sys_org_dept")
24 | .ToTreeAsync(it => it.children, it => it.pid, null).Result;
25 | Console.WriteLine(trees);
26 | return trees;
27 | }
28 | }
--------------------------------------------------------------------------------
/Vboot.Core/Module/Pub/Auth/Dto/Duser.cs:
--------------------------------------------------------------------------------
1 | namespace Vboot.Core.Module.Pub;
2 |
3 | public class Duser
4 | {
5 | public string id { get; set; }
6 |
7 | public string name { get; set; }
8 |
9 | public string pacod { get; set; }
10 |
11 | public bool retag { get; set; }
12 |
13 | public string tier { get; set; }
14 | }
--------------------------------------------------------------------------------
/Vboot.Core/Module/Pub/Auth/Dto/LoginInput.cs:
--------------------------------------------------------------------------------
1 | namespace Vboot.Core.Module.Pub;
2 |
3 | public class LoginInput
4 | {
5 | /// sa
6 | public string username { get; set; }
7 |
8 | /// 1
9 | public string password { get; set; }
10 | }
--------------------------------------------------------------------------------
/Vboot.Core/Module/Pub/Auth/Dto/Zmenu.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 |
3 | namespace Vboot.Core.Module.Pub;
4 |
5 | public class Zmenu
6 | {
7 |
8 | public string id{ get; set; }
9 |
10 | public string pid{ get; set; }
11 |
12 | public string perm{ get; set; }
13 |
14 | public string path{ get; set; }
15 |
16 | public string name{ get; set; }
17 |
18 | public string component{ get; set; }
19 |
20 | public Zmeta meta{ get; set; }
21 |
22 | public string redirect{ get; set; }
23 |
24 | public List children{ get; set; }
25 | }
--------------------------------------------------------------------------------
/Vboot.Core/Module/Pub/Auth/Dto/Zmeta.cs:
--------------------------------------------------------------------------------
1 | namespace Vboot.Core.Module.Pub;
2 |
3 | public class Zmeta
4 | {
5 | public string title{ get; set; }
6 |
7 | public string affix{ get; set; }
8 |
9 | public string icon{ get; set; }
10 |
11 | public int orderNo{ get; set; }
12 |
13 | public bool ignoreKeepAlive{ get; set; }
14 |
15 | public Zmeta()
16 | {
17 | }
18 |
19 | public Zmeta(string title, string affix, string icon, int orderNo, bool ignoreKeepAlive)
20 | {
21 | this.title = title;
22 | this.affix = affix;
23 | this.icon = icon;
24 | this.orderNo = orderNo;
25 | this.ignoreKeepAlive = ignoreKeepAlive;
26 | }
27 | }
--------------------------------------------------------------------------------
/Vboot.Core/Module/Pub/Auth/Dto/Zuser.cs:
--------------------------------------------------------------------------------
1 | namespace Vboot.Core.Module.Pub;
2 |
3 | public class Zuser
4 | {
5 | public string id { get; set; }
6 |
7 | public string name { get; set; }
8 |
9 | public string usnam { get; set; }
10 |
11 | public string perms { get; set; } //权限集,用于验证URL权限 比较下哪个方式快0
12 |
13 | // public long[] permArr{ get; set; }//权限集,用于验证URL权限 比较下哪个方式快1
14 |
15 | // public List permList{ get; set; }//权限集,用于验证URL权限 比较下哪个方式快2
16 |
17 | public string conds { get; set; } //组织架构集,用户ID,所有上级部门ID,岗位ID,群组ID
18 |
19 | public Zuser()
20 | {
21 | }
22 |
23 | public Zuser(string id, string name, string usnam)
24 | {
25 | this.id = id;
26 | this.name = name;
27 | this.usnam = usnam;
28 | }
29 | }
--------------------------------------------------------------------------------
/Vboot.Core/Module/Pub/Init/PubInitApi.cs:
--------------------------------------------------------------------------------
1 | using System.Threading.Tasks;
2 | using Furion.DependencyInjection;
3 | using Furion.DynamicApiController;
4 | using Microsoft.AspNetCore.Authorization;
5 | using Microsoft.AspNetCore.Mvc;
6 |
7 | namespace Vboot.Core.Module.Pub;
8 |
9 | [ApiDescriptionSettings("Sys", Tag = "系统初始化")]
10 | public class PubInitApi : IDynamicApiController, ITransient
11 | {
12 | private readonly PubOrgInitService _orgInitService;
13 | private readonly PubAuthInitService _authInitService;
14 |
15 | public PubInitApi(PubOrgInitService orgInitService, PubAuthInitService authInitService)
16 | {
17 | _orgInitService = orgInitService;
18 | _authInitService = authInitService;
19 | }
20 |
21 | [HttpPost("/pub/org/init")]
22 | [AllowAnonymous]
23 | public async Task PubOrgInit()
24 | {
25 | await _orgInitService.InitAllDept();
26 | await _orgInitService.InitAllUser();
27 | await _orgInitService.InitZsf();
28 | await _orgInitService.InitSa();
29 | }
30 |
31 | [HttpPost("/pub/auth/init")]
32 | [AllowAnonymous]
33 | public async Task PubAuthInit()
34 | {
35 | await _authInitService.InitAllMenu();
36 | }
37 | }
--------------------------------------------------------------------------------
/Vboot.Core/Module/Sys/Job/Log/SysJobLog.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.ComponentModel;
3 | using SqlSugar;
4 |
5 | namespace Vboot.Core.Module.Sys;
6 |
7 | [SugarTable("sys_job_log")]
8 | [Description("定时任务日志")]
9 | public class SysJobLog
10 | {
11 | [SugarColumn(ColumnDescription = "Id主键", IsPrimaryKey = true, Length = 36)]
12 | public string id { get; set; }
13 |
14 | [SugarColumn(ColumnDescription = "名称", IsNullable = true, Length = 255)]
15 | public string name { get; set; }
16 |
17 | [SugarColumn(ColumnDescription = "信息", IsNullable = true, Length = 2000)]
18 | public string msg { get; set; }
19 |
20 | [SugarColumn(ColumnDescription = "结果", IsNullable = true, Length = 255)]
21 | public string ret { get; set; }
22 |
23 | [SugarColumn(ColumnDescription = "开始时间", IsNullable = true)]
24 | public DateTime sttim { get; set; }
25 |
26 | [SugarColumn(ColumnDescription = "结束时间", IsNullable = true)]
27 | public DateTime entim { get; set; }
28 | }
--------------------------------------------------------------------------------
/Vboot.Core/Module/Sys/Job/Log/SysJobLogApi.cs:
--------------------------------------------------------------------------------
1 | using System.Threading.Tasks;
2 | using Furion.DynamicApiController;
3 | using Microsoft.AspNetCore.Mvc;
4 | using Org.BouncyCastle.Crypto.Engines;
5 | using SqlSugar;
6 | using Vboot.Core.Common;
7 | using Vboot.Core.Common.Util;
8 |
9 | namespace Vboot.Core.Module.Sys;
10 |
11 | [ApiDescriptionSettings("Sys", Tag = "定时任务-日志")]
12 | public class SysJobLogApi : IDynamicApiController
13 | {
14 | private readonly SysJobLogService _service;
15 |
16 | public SysJobLogApi(SysJobLogService sysJobLogService)
17 | {
18 | _service = sysJobLogService;
19 | }
20 |
21 | [QueryParameters]
22 | public async Task Get(string name)
23 | {
24 | var pp = XreqUtil.GetPp();
25 | var items = await _service.repo.Context.Queryable()
26 | .Select((t) => new {t.id, t.name, t.sttim, t.entim, t.msg, t.ret})
27 | .WhereIF(!string.IsNullOrWhiteSpace(name), t => t.name.Contains(name.Trim()))
28 | .ToPageListAsync(pp.page, pp.pageSize, pp.total);
29 | return RestPageResult.Build(pp.total.Value, items);
30 | }
31 |
32 | public async Task GetOne(string id)
33 | {
34 | var cate = await _service.SingleAsync(id);
35 | return cate;
36 | }
37 |
38 | public async Task Delete(string ids)
39 | {
40 | var idArr = ids.Split(",");
41 | await _service.DeleteAsync(idArr);
42 | }
43 | }
--------------------------------------------------------------------------------
/Vboot.Core/Module/Sys/Job/Log/SysJobLogService.cs:
--------------------------------------------------------------------------------
1 | using System.Threading.Tasks;
2 | using Furion.DependencyInjection;
3 | using SqlSugar;
4 |
5 | namespace Vboot.Core.Module.Sys;
6 |
7 | public class SysJobLogService : ITransient
8 | {
9 | public ISqlSugarRepository repo { get; }
10 |
11 | public SysJobLogService(ISqlSugarRepository repo)
12 | {
13 | this.repo = repo;
14 | }
15 |
16 | public async Task SingleAsync(string id)
17 | {
18 | return await repo.SingleAsync(t => t.id == id);
19 | }
20 |
21 | public async Task DeleteAsync(string[] ids)
22 | {
23 | await repo.Context.Deleteable().In(ids).ExecuteCommandAsync();
24 | }
25 | }
--------------------------------------------------------------------------------
/Vboot.Core/Module/Sys/Job/Main/SysJobMain.cs:
--------------------------------------------------------------------------------
1 | using Furion.TaskScheduler;
2 | using SqlSugar;
3 | using System.ComponentModel;
4 | using System.ComponentModel.DataAnnotations;
5 | using Vboot.Core.Common;
6 |
7 | namespace Vboot.Core.Module.Sys;
8 |
9 | ///
10 | /// 定时任务
11 | ///
12 | [SugarTable("sys_job_main")]
13 | [Description("定时任务")]
14 | public class SysJobMain : BaseMainEntity
15 | {
16 | ///
17 | /// 任务code
18 | ///
19 | [SugarColumn(ColumnDescription = "任务代码", IsNullable = true)]
20 | public string code { get; set; }
21 |
22 | [SugarColumn(ColumnDescription = "排序号", IsNullable = true)]
23 | public int ornum { get; set; }
24 |
25 | ///
26 | /// 请求url
27 | ///
28 | [MaxLength(200)]
29 | [SugarColumn(ColumnDescription = "请求url", IsNullable = true)]
30 | public string reurl { get; set; }
31 |
32 |
33 | ///
34 | /// 请求类型
35 | ///
36 | /// 2
37 | [SugarColumn(ColumnDescription = "请求类型", IsNullable = true)]
38 | public RequestTypeEnum retyp { get; set; } = RequestTypeEnum.Post;
39 |
40 | ///
41 | /// Headers(可以包含如:Authorization授权认证)
42 | /// 格式:{"Authorization":"userpassword.."}
43 | ///
44 | [SugarColumn(ColumnDescription = "Headers", IsNullable = true)]
45 | public string rehea { get; set; }
46 |
47 | ///
48 | /// 请求参数(Post,Put请求用)
49 | ///
50 | [SugarColumn(ColumnDescription = "请求参数", IsNullable = true)]
51 | public string repar { get; set; }
52 |
53 | ///
54 | /// Cron表达式
55 | ///
56 | ///
57 | [MaxLength(20)]
58 | [SugarColumn(ColumnDescription = "Cron表达式", IsNullable = true)]
59 | public string cron { get; set; }
60 |
61 | ///
62 | /// 执行类型(并行、列队)
63 | ///
64 | [SugarColumn(ColumnDescription = "执行类型", IsNullable = true)]
65 | public SpareTimeExecuteTypes extyp { get; set; } = SpareTimeExecuteTypes.Parallel;
66 |
67 | [SugarColumn(ColumnDescription = "备注", IsNullable = true)]
68 | public string notes { get; set; }
69 | }
--------------------------------------------------------------------------------
/Vboot.Core/Module/Sys/Log/Audit/SysLogAudit.cs:
--------------------------------------------------------------------------------
1 | using SqlSugar;
2 | using System;
3 | using System.ComponentModel;
4 | using System.ComponentModel.DataAnnotations;
5 | using Vboot.Core.Common;
6 |
7 | namespace Vboot.Core.Module.Sys;
8 |
9 | ///
10 | /// 系统操作/审计日志表
11 | ///
12 | [SugarTable("sys_log_audit")]
13 | [Description("系统操作/审计日志表")]
14 | public class SysLogAudit
15 | {
16 | ///
17 | /// 主键Id
18 | ///
19 | [SugarColumn(ColumnDescription = "Id主键", IsPrimaryKey = true)]
20 | public string Id { get; set; }
21 |
22 | ///
23 | /// 表名
24 | ///
25 | [MaxLength(50)]
26 | [SugarColumn(ColumnDescription = "表名", IsNullable = true)]
27 | public string TableName { get; set; }
28 |
29 | ///
30 | /// 列名
31 | ///
32 | [MaxLength(50)]
33 | [SugarColumn(ColumnDescription = "列名", IsNullable = true)]
34 | public string ColumnName { get; set; }
35 |
36 | ///
37 | /// 新值
38 | ///
39 | [SugarColumn(ColumnDescription = "新值", IsNullable = true)]
40 | public string NewValue { get; set; }
41 |
42 | ///
43 | /// 旧值
44 | ///
45 | [SugarColumn(ColumnDescription = "旧值", IsNullable = true)]
46 | public string OldValue { get; set; }
47 |
48 | ///
49 | /// 操作时间
50 | ///
51 | [SugarColumn(ColumnDescription = "操作时间", IsNullable = true)]
52 | public DateTime CreatedTime { get; set; }
53 |
54 | ///
55 | /// 操作人Id
56 | ///
57 | [SugarColumn(ColumnDescription = "操作人Id", IsNullable = true)]
58 | public long UserId { get; set; }
59 |
60 | ///
61 | /// 操作人名称
62 | ///
63 | [MaxLength(20)]
64 | [SugarColumn(ColumnDescription = "操作人名称", IsNullable = true)]
65 | public string UserName { get; set; }
66 |
67 | ///
68 | /// 操作方式:新增、更新、删除
69 | ///
70 | [SugarColumn(ColumnDescription = "操作方式:新增、更新、删除", IsNullable = true)]
71 | public DataOpType Operate { get; set; }
72 | }
--------------------------------------------------------------------------------
/Vboot.Core/Module/Sys/Log/Login/SysLogLogin.cs:
--------------------------------------------------------------------------------
1 | using SqlSugar;
2 | using System;
3 | using System.ComponentModel;
4 | using System.ComponentModel.DataAnnotations;
5 | using Vboot.Core.Common;
6 |
7 | namespace Vboot.Core.Module.Sys;
8 |
9 | ///
10 | /// 登录日志表
11 | ///
12 | [SugarTable("sys_log_login")]
13 | [Description("登录日志表")]
14 | public class SysLogLogin : BaseEntity
15 | {
16 | // ///
17 | // /// 主键ID
18 | // ///
19 | // [SugarColumn(ColumnDescription = "ID主键", IsPrimaryKey = true)]
20 | // public string id { get; set; }
21 | //
22 | // ///
23 | // /// 用户姓名
24 | // ///
25 | // [MaxLength(100)]
26 | // [SugarColumn(ColumnDescription = "用户姓名", IsNullable = true, Length = 32)]
27 | // public string name { get; set; }
28 |
29 | ///
30 | /// 用户账号
31 | ///
32 | [MaxLength(36)]
33 | [SugarColumn(ColumnDescription = "用户账号", IsNullable = true)]
34 | public string usnam { get; set; }
35 |
36 |
37 | ///
38 | /// IP地址
39 | ///
40 | [MaxLength(32)]
41 | public string ip { get; set; }
42 |
43 | ///
44 | /// 登录地点
45 | ///
46 | [MaxLength(100)]
47 | [SugarColumn(ColumnDescription = "登录地点", IsNullable = true)]
48 | public string addre { get; set; }
49 |
50 | ///
51 | /// 操作系统
52 | ///
53 | [MaxLength(64)]
54 | [SugarColumn(ColumnDescription = "操作系统", IsNullable = true)]
55 | public string ageos { get; set; }
56 |
57 | ///
58 | /// 浏览器
59 | ///
60 | [MaxLength(64)]
61 | [SugarColumn(ColumnDescription = "浏览器", IsNullable = true)]
62 | public string agbro { get; set; }
63 |
64 | ///
65 | /// 客户端详情
66 | ///
67 | [MaxLength(512)]
68 | [SugarColumn(ColumnDescription = "客户端详情", IsNullable = true)]
69 | public string agdet { get; set; }
70 |
71 | ///
72 | /// 登录时间
73 | ///
74 | [SugarColumn(ColumnDescription = "登录时间", IsNullable = true)]
75 | public DateTime crtim { get; set; }
76 | }
--------------------------------------------------------------------------------
/Vboot.Core/Module/Sys/Log/Login/SysLogLoginApi.cs:
--------------------------------------------------------------------------------
1 | using System.Threading.Tasks;
2 | using Furion.DynamicApiController;
3 | using Microsoft.AspNetCore.Mvc;
4 | using Vboot.Core.Common;
5 | using Vboot.Core.Common.Util;
6 |
7 | namespace Vboot.Core.Module.Sys;
8 |
9 | [ApiDescriptionSettings("Sys", Tag = "系统日志-登录日志")]
10 | public class SysLogLoginApi : IDynamicApiController
11 | {
12 | private readonly SysLogLoginService _service;
13 |
14 | public SysLogLoginApi(SysLogLoginService sysLogLoginService)
15 | {
16 | _service = sysLogLoginService;
17 | }
18 |
19 | [QueryParameters]
20 | public async Task Get(string name)
21 | {
22 | var pp = XreqUtil.GetPp();
23 | var items = await _service.repo.Context.Queryable()
24 | .WhereIF(!string.IsNullOrWhiteSpace(name), t => t.name.Contains(name.Trim()))
25 | .ToPageListAsync(pp.page, pp.pageSize, pp.total);
26 | return RestPageResult.Build(pp.total.Value, items);
27 | }
28 |
29 | public async Task GetOne(string id)
30 | {
31 | return await _service.SingleAsync(id);
32 | }
33 |
34 | public async Task Delete(string ids)
35 | {
36 | await _service.DeleteAsync(ids);
37 | }
38 |
39 | public async Task DeleteAll(string ids)
40 | {
41 | var idArr = ids.Split(",");
42 | await _service.repo.Context.Deleteable().ExecuteCommandAsync();
43 | }
44 | }
--------------------------------------------------------------------------------
/Vboot.Core/Module/Sys/Log/Login/SysLogLoginService.cs:
--------------------------------------------------------------------------------
1 | using Furion.DependencyInjection;
2 | using SqlSugar;
3 | using Vboot.Core.Common;
4 |
5 | namespace Vboot.Core.Module.Sys;
6 |
7 | public class SysLogLoginService : BaseService, ITransient
8 | {
9 | public SysLogLoginService(ISqlSugarRepository repo)
10 | {
11 | this.repo = repo;
12 | }
13 | }
--------------------------------------------------------------------------------
/Vboot.Core/Module/Sys/Org/Dept/SysOrgDept.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 | using System.ComponentModel;
3 | using SqlSugar;
4 | using Vboot.Core.Common;
5 |
6 | namespace Vboot.Core.Module.Sys;
7 |
8 | [SugarTable("sys_org_dept", TableDescription = "系统部门表")]
9 | [Description("系统部门表")]
10 | public class SysOrgDept : BaseMainEntity
11 | {
12 | [SugarColumn(ColumnDescription = "排序号", IsNullable = true)]
13 | public int ornum { get; set; }
14 |
15 | [SugarColumn(ColumnDescription = "标签", IsNullable = true, Length = 32)]
16 | public string label { get; set; }
17 |
18 | [SugarColumn(ColumnDescription = "备注", IsNullable = true)]
19 | public string notes { get; set; }
20 |
21 | [SugarColumn(ColumnDescription = "类别:1机构,2部门", IsNullable = true)]
22 | public int type { get; set; }
23 |
24 | [SugarColumn(ColumnDescription = "父ID", IsNullable = true, Length = 32)]
25 | public string pid { get; set; }
26 |
27 | [SqlSugar.SugarColumn(IsIgnore = true)]
28 | public SysOrg parent { get; set; }
29 |
30 | [SqlSugar.SugarColumn(IsIgnore = true)]
31 | public List children { get; set; }
32 |
33 | [SugarColumn(ColumnDescription = "层级", IsNullable = true, Length = 1000)]
34 | public string tier { get; set; }
35 |
36 | [SugarColumn(ColumnDescription = "ldap层级名称", IsNullable = true, Length = 1000)]
37 | public string ldnam { get; set; }
38 | }
--------------------------------------------------------------------------------
/Vboot.Core/Module/Sys/Org/Group/SysOrgGroup.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 | using System.ComponentModel;
3 | using SqlSugar;
4 | using Vboot.Core.Common;
5 |
6 | namespace Vboot.Core.Module.Sys;
7 |
8 | [SugarTable("sys_org_group", TableDescription = "组织机构群组表")]
9 | [Description("组织机构群组表")]
10 | public class SysOrgGroup : BaseMainEntity
11 | {
12 | [SugarColumn(ColumnDescription = "备注", IsNullable = true, Length = 64)]
13 | public string notes { get; set; }
14 |
15 | [SugarColumn(ColumnDescription = "排序号", IsNullable = true)]
16 | public int ornum { get; set; }
17 |
18 |
19 | [SugarColumn(IsIgnore = true)] public List members { get; set; }
20 | }
--------------------------------------------------------------------------------
/Vboot.Core/Module/Sys/Org/Group/SysOrgGroupOrg.cs:
--------------------------------------------------------------------------------
1 | using SqlSugar;
2 |
3 | namespace Vboot.Core.Module.Sys;
4 |
5 | [SugarTable("sys_org_group_org", TableDescription = "组织架构群组成员关系表")]
6 | public class SysOrgGroupOrg
7 | {
8 | [SugarColumn(ColumnDescription = "群组ID", IsNullable = true)]
9 | public string gid { get; set; }
10 |
11 | [SugarColumn(ColumnDescription = "成员ID", IsNullable = true)]
12 | public string oid { get; set; }
13 | }
--------------------------------------------------------------------------------
/Vboot.Core/Module/Sys/Org/Group/SysOrgGroupService.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 | using System.Threading.Tasks;
3 | using Furion.DependencyInjection;
4 | using SqlSugar;
5 | using Vboot.Core.Common;
6 |
7 | namespace Vboot.Core.Module.Sys;
8 |
9 | public class SysOrgGroupService : BaseMainService, ITransient
10 | {
11 | public SysOrgGroupService(ISqlSugarRepository repo)
12 | {
13 | base.repo = repo;
14 | }
15 |
16 | public async Task InsertAsync(SysOrgGroup group, List gmmaps)
17 | {
18 | using var tran = repo.Context.UseTran();
19 | await base.InsertAsync(@group);
20 | await repo.Context.Insertable(gmmaps).ExecuteCommandAsync();
21 | await repo.Context.Insertable(new SysOrg {id = group.id, name = group.name}).ExecuteCommandAsync();
22 | tran.CommitTran();
23 | }
24 |
25 |
26 | public async Task UpdateAsync(SysOrgGroup group, List gmmaps)
27 | {
28 | using var tran = repo.Context.UseTran();
29 | await base.UpdateAsync(@group);
30 | await repo.Context.Deleteable().Where(it => it.gid == @group.id).ExecuteCommandAsync();
31 | await repo.Context.Insertable(gmmaps).ExecuteCommandAsync();
32 | await repo.Context.Updateable(new SysOrg {id = group.id, name = group.name})
33 | .UpdateColumns(it => new {it.name}).ExecuteCommandAsync();
34 | tran.CommitTran();
35 | }
36 | }
--------------------------------------------------------------------------------
/Vboot.Core/Module/Sys/Org/Post/SysOrgPost.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 | using System.ComponentModel;
3 | using SqlSugar;
4 | using Vboot.Core.Common;
5 |
6 | namespace Vboot.Core.Module.Sys;
7 |
8 | [SugarTable("sys_org_post", TableDescription = "系统岗位表")]
9 | [Description("系统岗位表")]
10 | public class SysOrgPost : BaseMainEntity
11 | {
12 | [SugarColumn(ColumnDescription = "部门ID", IsNullable = true, Length = 36)]
13 | public string deptid { get; set; }
14 |
15 | [SugarColumn(IsIgnore = true)] public SysOrgDept dept { get; set; }
16 |
17 | [SugarColumn(ColumnDescription = "层级", IsNullable = true, Length = 1000)]
18 | public string tier { get; set; }
19 |
20 |
21 | [SugarColumn(ColumnDescription = "备注", IsNullable = true, Length = 64)]
22 | public string notes { get; set; }
23 |
24 | [SugarColumn(ColumnDescription = "排序号", IsNullable = true)]
25 | public int ornum { get; set; }
26 |
27 |
28 | [SugarColumn(ColumnDescription = "ldap层级名称", IsNullable = true, Length = 1000)]
29 | public string ldnam { get; set; }
30 |
31 | [SugarColumn(IsIgnore = true)] public List users { get; set; }
32 | }
--------------------------------------------------------------------------------
/Vboot.Core/Module/Sys/Org/Post/SysOrgPostOrg.cs:
--------------------------------------------------------------------------------
1 | using SqlSugar;
2 |
3 | namespace Vboot.Core.Module.Sys;
4 |
5 | [SugarTable("sys_org_post_org", TableDescription = "岗位员工关系表")]
6 | public class SysOrgPostOrg
7 | {
8 | [SugarColumn(ColumnDescription = "岗位ID", IsNullable = true)]
9 | public string pid { get; set; }
10 |
11 | [SugarColumn(ColumnDescription = "用户ID", IsNullable = true)]
12 | public string oid { get; set; }
13 | }
--------------------------------------------------------------------------------
/Vboot.Core/Module/Sys/Org/Post/SysOrgPostService.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 | using System.Threading.Tasks;
3 | using Furion.DependencyInjection;
4 | using SqlSugar;
5 | using Vboot.Core.Common;
6 |
7 | namespace Vboot.Core.Module.Sys;
8 |
9 | public class SysOrgPostService : BaseMainService, ITransient
10 | {
11 | public SysOrgPostService(ISqlSugarRepository repo)
12 | {
13 | base.repo = repo;
14 | }
15 |
16 |
17 | public async Task InsertAsync(SysOrgPost post, List pumaps)
18 | {
19 | if (post.dept != null)
20 | {
21 | post.deptid = post.dept.id;
22 | var deptTier = await repo.Context.Queryable()
23 | .Where(it => it.id == post.deptid).Select(it => it.tier).SingleAsync();
24 | post.tier = deptTier + post.id + "x";
25 | }
26 |
27 | using var tran = repo.Context.UseTran();
28 | await base.InsertAsync(post);
29 | await repo.Context.Insertable(new SysOrg {id = post.id, name = post.name}).ExecuteCommandAsync();
30 | await repo.Context.Insertable(pumaps).ExecuteCommandAsync();
31 | tran.CommitTran();
32 | }
33 |
34 |
35 | public async Task UpdateAsync(SysOrgPost post, List pumaps)
36 | {
37 | if (post.dept != null)
38 | {
39 | post.deptid = post.dept.id;
40 | var deptTier = await repo.Context.Queryable()
41 | .Where(it => it.id == post.deptid).Select(it => it.tier).SingleAsync();
42 | post.tier = deptTier + post.id + "x";
43 | }
44 |
45 | using var tran = repo.Context.UseTran();
46 | await base.UpdateAsync(post);
47 | await repo.Context.Updateable(new SysOrg {id = post.id, name = post.name})
48 | .UpdateColumns(it => new {it.name}).ExecuteCommandAsync();
49 | await repo.Context.Deleteable().Where(it => it.pid == post.id).ExecuteCommandAsync();
50 | await repo.Context.Insertable(pumaps).ExecuteCommandAsync();
51 | tran.CommitTran();
52 | }
53 | }
--------------------------------------------------------------------------------
/Vboot.Core/Module/Sys/Org/Rece/SysOrgRece.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.ComponentModel;
3 | using SqlSugar;
4 |
5 | namespace Vboot.Core.Module.Sys;
6 |
7 | [SugarTable("sys_org_rece", TableDescription = "组织架构使用记录")]
8 | [Description("组织架构使用记录")]
9 | public class SysOrgRece
10 | {
11 | [SugarColumn(ColumnDescription = "Id主键", IsPrimaryKey = true, Length = 36)]
12 | public string id { get; set; }
13 |
14 | [SugarColumn(ColumnDescription = "用户ID", Length = 36)]
15 | public string userid { get; set; }
16 |
17 | [SugarColumn(ColumnDescription = "组织架构ID", Length = 36)]
18 | public string orgid { get; set; }
19 |
20 | [SugarColumn(ColumnDescription = "最近使用时间", IsNullable = true)]
21 | public virtual DateTime? uptim { get; set; }
22 | }
--------------------------------------------------------------------------------
/Vboot.Core/Module/Sys/Org/Rece/SysOrgReceService.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Threading.Tasks;
4 | using Furion.DependencyInjection;
5 | using SqlSugar;
6 | using Vboot.Core.Common.Util;
7 | using Yitter.IdGenerator;
8 |
9 | namespace Vboot.Core.Module.Sys;
10 |
11 | public class SysOrgReceService : ITransient
12 | {
13 | public async Task update(List reces)
14 | {
15 | string userid = XuserUtil.getUserId();
16 |
17 | List orgidList = new List();
18 | foreach (var rece in reces)
19 | {
20 | rece.orgid = rece.id;
21 | rece.id = YitIdHelper.NextId() + "";
22 | rece.userid = userid;
23 | rece.uptim = DateTime.Now;
24 | orgidList.Add(rece.orgid);
25 | }
26 |
27 | //数据库删除本次已传的记录
28 | await _repo.Context.Deleteable().Where("userid=@userid",new { userid})
29 | .Where("orgid in (@orgid)", new {orgid = orgidList.ToArray()}).ExecuteCommandAsync();
30 |
31 | //删除当前数据库最近10次前的数据
32 | RefAsync total = 0;
33 | var items = await _repo.Context.Queryable()
34 | .Where(it=>it.userid==userid)
35 | .OrderBy(u => u.uptim, OrderByType.Desc)
36 | .Select((t) => t.id)
37 | .ToPageListAsync(2, 10, total);
38 | if (items.Count > 0)
39 | {
40 | await _repo.Context.Deleteable().In(items.ToArray()).ExecuteCommandAsync();
41 | }
42 |
43 | //插入本次使用的记录
44 | await _repo.InsertAsync(reces);
45 | }
46 |
47 |
48 | public readonly ISqlSugarRepository _repo;
49 |
50 | public SysOrgReceService(ISqlSugarRepository repo)
51 | {
52 | _repo = repo;
53 | }
54 | }
--------------------------------------------------------------------------------
/Vboot.Core/Module/Sys/Org/Root/SysOrg.cs:
--------------------------------------------------------------------------------
1 | using System.ComponentModel;
2 | using SqlSugar;
3 |
4 | namespace Vboot.Core.Module.Sys;
5 |
6 | [SugarTable("sys_org", TableDescription = "组织架构表")]
7 | [Description("组织架构表")]
8 | public class SysOrg
9 | {
10 | [SugarColumn(ColumnDescription = "ID", IsPrimaryKey = true, Length = 36)]
11 | public virtual string id { get; set; }
12 |
13 | [SugarColumn(ColumnDescription = "名称", IsNullable = true, Length = 128)]
14 | public virtual string name { get; set; }
15 |
16 | public SysOrg()
17 | {
18 | }
19 |
20 | public SysOrg(string id)
21 | {
22 | this.id = id;
23 | }
24 |
25 | public SysOrg(string id, string name)
26 | {
27 | this.id = id;
28 | this.name = name;
29 | }
30 | }
--------------------------------------------------------------------------------
/Vboot.Core/Module/Sys/Org/User/SysOrgUser.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.ComponentModel;
3 | using System.Text.Json.Serialization;
4 | using SqlSugar;
5 | using Vboot.Core.Common;
6 |
7 | namespace Vboot.Core.Module.Sys;
8 |
9 | [SugarTable("sys_org_user", TableDescription = "系统用户表")]
10 | [Description("系统用户表")]
11 | public class SysOrgUser : BaseMainEntity
12 | {
13 | [SugarColumn(ColumnDescription = "部门ID", IsNullable = true, Length = 36)]
14 | public string deptid { get; set; }
15 |
16 | [SugarColumn(IsIgnore = true)] public SysOrgDept dept { get; set; }
17 |
18 | [SugarColumn(ColumnDescription = "层级", IsNullable = true, Length = 1000)]
19 | public string tier { get; set; }
20 |
21 | [SugarColumn(ColumnDescription = "职务", IsNullable = true, Length = 255)]
22 | public string job { get; set; }
23 |
24 | [SugarColumn(ColumnDescription = "用户名", IsNullable = true, Length = 32)]
25 | public string usnam { get; set; }
26 |
27 | [JsonIgnore]
28 | [SugarColumn(ColumnDescription = "密码", IsNullable = true, Length = 64, IsOnlyIgnoreUpdate = true)]
29 | public string pacod { get; set; }
30 |
31 | [SugarColumn(ColumnDescription = "邮箱", IsNullable = true, Length = 64)]
32 | public string email { get; set; }
33 |
34 | [SugarColumn(ColumnDescription = "手机号", IsNullable = true, Length = 32)]
35 | public string monum { get; set; }
36 |
37 | [SugarColumn(ColumnDescription = "备注", IsNullable = true, Length = 255)]
38 | public string notes { get; set; }
39 |
40 | [SugarColumn(ColumnDescription = "排序号", IsNullable = true)]
41 | public int ornum { get; set; }
42 |
43 | [SugarColumn(ColumnDescription = "ldap层级名称", IsNullable = true, Length = 1000)]
44 | public string ldnam { get; set; }
45 |
46 |
47 | [SugarColumn(ColumnDescription = "准备标记", IsNullable = true)]
48 | public bool retag { get; set; }
49 |
50 |
51 | [SugarColumn(ColumnDescription = "最后登录时间", IsNullable = true)]
52 | public DateTime lalot { get; set; }
53 |
54 | [SugarColumn(ColumnDescription = "最后登录IP", IsNullable = true, Length = 20)]
55 | public string laloi { get; set; }
56 | }
--------------------------------------------------------------------------------
/Vboot.Core/Module/Sys/Org/User/SysOrgUserCache.cs:
--------------------------------------------------------------------------------
1 | using System.ComponentModel;
2 | using SqlSugar;
3 |
4 | namespace Vboot.Core.Module.Sys;
5 |
6 | [SugarTable("sys_org_user_cache", TableDescription = "用户缓存表")]
7 | [Description("用户缓存表")]
8 | public class SysOrgUserCache
9 | {
10 | ///
11 | /// 主键Id
12 | ///
13 | ///
14 | [SugarColumn(ColumnDescription = "Id主键", IsPrimaryKey = true, Length = 36)]
15 | public string id { get; set; }
16 |
17 | ///
18 | /// 组织架构集
19 | ///
20 | ///
21 | //组织架构集,用户ID,所有上级部门ID,岗位ID,群组ID
22 | [SugarColumn(ColumnDescription = "组织架构集", IsNullable = true, Length = 2000)]
23 | public string conds { get; set; }
24 |
25 | ///
26 | /// 后台所有权限集
27 | ///
28 | ///
29 | //后台所有权限集,用于验证URL权限
30 | [SugarColumn(ColumnDescription = "后台所有权限集", IsNullable = true, Length = 2000)]
31 | public string perms { get; set; }
32 |
33 | ///
34 | /// 前台菜单缓存
35 | ///
36 | ///
37 | [SugarColumn(ColumnDescription = "前台菜单缓存", IsNullable = true, ColumnDataType = "varchar(max)")]
38 | public string menus { get; set; }
39 |
40 | ///
41 | /// 前台按钮缓存
42 | ///
43 | ///
44 | [SugarColumn(ColumnDescription = "前台按钮缓存", IsNullable = true, Length = 2000)]
45 | public string btns { get; set; }
46 | }
--------------------------------------------------------------------------------
/Vboot.Core/Module/Sys/Org/User/SysOrgUserService.cs:
--------------------------------------------------------------------------------
1 | using System.Threading.Tasks;
2 | using Furion.DependencyInjection;
3 | using SqlSugar;
4 | using Vboot.Core.Common;
5 | using Yitter.IdGenerator;
6 |
7 | namespace Vboot.Core.Module.Sys;
8 |
9 | public class SysOrgUserService : BaseMainService, ITransient
10 | {
11 | public SysOrgUserService(ISqlSugarRepository repo)
12 | {
13 | base.repo = repo;
14 | }
15 |
16 | public new async Task InsertAsync(SysOrgUser user)
17 | {
18 | user.id = YitIdHelper.NextId() + "";
19 | if (user.dept != null)
20 | {
21 | user.deptid = user.dept.id;
22 | var deptTier = await repo.Context.Queryable()
23 | .Where(it => it.id == user.deptid).Select(it => it.tier).SingleAsync();
24 | user.tier = deptTier + user.id + "x";
25 | }
26 |
27 | using var tran = repo.Context.UseTran();
28 | await base.InsertAsync(user);
29 | await repo.Context.Insertable(new SysOrg {id = user.id, name = user.name}).ExecuteCommandAsync();
30 | tran.CommitTran();
31 | }
32 |
33 |
34 | public new async Task UpdateAsync(SysOrgUser user)
35 | {
36 | if (user.dept != null)
37 | {
38 | user.deptid = user.dept.id;
39 | var deptTier = await repo.Context.Queryable()
40 | .Where(it => it.id == user.deptid).Select(it => it.tier).SingleAsync();
41 | user.tier = deptTier + user.id + "x";
42 | }
43 |
44 | using var tran = repo.Context.UseTran();
45 | await base.UpdateAsync(user);
46 | await repo.Context.Updateable(new SysOrg {id = user.id, name = user.name})
47 | .UpdateColumns(it => new {it.name}).ExecuteCommandAsync();
48 | tran.CommitTran();
49 | }
50 | }
--------------------------------------------------------------------------------
/Vboot.Core/Module/Sys/Perm/Api/SysPermApi.cs:
--------------------------------------------------------------------------------
1 | using System.ComponentModel;
2 | using SqlSugar;
3 |
4 | namespace Vboot.Core.Module.Sys;
5 |
6 | [SugarTable("sys_perm_api", TableDescription = "权限标识")]
7 | [Description("权限标识")]
8 | public class SysPermApi
9 | {
10 | [SugarColumn(ColumnDescription = "Id主键", IsPrimaryKey = true, Length = 64)]
11 | public string id { get; set; }
12 |
13 | [SugarColumn(ColumnDescription = "上级权限", IsNullable = true, Length = 64)]
14 | public string pid { get; set; }
15 |
16 | [SugarColumn(ColumnDescription = "权限url", IsNullable = true, Length = 128)]
17 | public string url { get; set; }
18 |
19 | [SugarColumn(ColumnDescription = "权限代码", IsNullable = true, IsOnlyIgnoreUpdate = true)]
20 | public long code { get; set; }
21 |
22 | [SugarColumn(ColumnDescription = "权限位", IsNullable = true, IsOnlyIgnoreUpdate = true)]
23 | public int pos { get; set; }
24 |
25 | [SugarColumn(ColumnDescription = "权限类型", IsNullable = true)]
26 | public string type { get; set; }
27 |
28 | [SugarColumn(ColumnDescription = "是否可用", IsNullable = true)]
29 | public bool avtag { get; set; } = true;
30 | }
--------------------------------------------------------------------------------
/Vboot.Core/Module/Sys/Perm/Api/SysPermApiApi.cs:
--------------------------------------------------------------------------------
1 | using System.Threading.Tasks;
2 | using Furion.DynamicApiController;
3 | using Microsoft.AspNetCore.Mvc;
4 | using SqlSugar;
5 |
6 | namespace Vboot.Core.Module.Sys;
7 |
8 | [ApiDescriptionSettings("Sys", Tag = "权限管理-权限标识")]
9 | public class SysPermApiApi : IDynamicApiController
10 | {
11 | private readonly ISqlSugarRepository _repo;
12 |
13 | public SysPermApiApi(
14 | ISqlSugarRepository repo)
15 | {
16 | _repo = repo;
17 | }
18 |
19 | public async Task GetList()
20 | {
21 | return await _repo.ToListAsync();
22 | }
23 | }
--------------------------------------------------------------------------------
/Vboot.Core/Module/Sys/Perm/Api/SysPermApiCache.cs:
--------------------------------------------------------------------------------
1 |
2 | using System;
3 | using Vboot.Web.Core;
4 |
5 | namespace Vboot.Core.Module.Sys;
6 |
7 | public class SysPermApiCache
8 | {
9 | public static Yperm[] GET_URLS = Array.Empty();
10 |
11 | public static Yperm[] POST_URLS = Array.Empty();
12 |
13 | public static Yperm[] PUT_URLS = Array.Empty();
14 |
15 | public static Yperm[] DELETE_URLS = Array.Empty();
16 |
17 | public static int AUTHPOS = 0;
18 | }
--------------------------------------------------------------------------------
/Vboot.Core/Module/Sys/Perm/Api/Yperm.cs:
--------------------------------------------------------------------------------
1 | namespace Vboot.Web.Core;
2 |
3 | public class Yperm
4 | {
5 | public int pos { get; set; }
6 |
7 | public long code { get; set; }
8 |
9 | public string url { get; set; }
10 |
11 | }
--------------------------------------------------------------------------------
/Vboot.Core/Module/Sys/Perm/Menu/SysPermMenuApi.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Threading.Tasks;
3 | using Furion.DynamicApiController;
4 | using Microsoft.AspNetCore.Mvc;
5 | using Yitter.IdGenerator;
6 |
7 | namespace Vboot.Core.Module.Sys;
8 |
9 | [ApiDescriptionSettings("Sys", Tag = "权限管理-菜单")]
10 | public class SysPermMenuApi : IDynamicApiController
11 | {
12 | private readonly SysPermMenuService _service;
13 |
14 | public SysPermMenuApi(
15 | SysPermMenuService service)
16 | {
17 | _service = service;
18 | }
19 |
20 | [QueryParameters]
21 | public async Task GetTree()
22 | {
23 | var treeList = await _service.repo.Context
24 | .SqlQueryable(
25 | "select id,pid,name,type,crtim,uptim,notes from sys_perm_menu order by ornum")
26 | .ToTreeAsync(it => it.children, it => it.pid, null);
27 | return treeList;
28 | }
29 |
30 | public async Task GetOne(string id)
31 | {
32 | var menu = await _service.repo.Context.Queryable()
33 | .Where(it => it.id == id).FirstAsync();
34 | if (menu.pid != null)
35 | {
36 | menu.pname = await _service.repo.Context.Queryable()
37 | .Where(it => it.id == menu.pid).Select(it => it.name).SingleAsync();
38 | }
39 |
40 | return menu;
41 | }
42 |
43 | public async Task Post(SysPermMenu menu)
44 | {
45 | menu.id = YitIdHelper.NextId() + "";
46 | await _service.InsertAsync(menu);
47 | }
48 |
49 | public async Task Put(SysPermMenu menu)
50 | {
51 | await _service.UpdateAsync(menu);
52 | }
53 |
54 | public async Task Delete(string ids)
55 | {
56 | var idArr = ids.Split(",");
57 | foreach (var id in idArr)
58 | {
59 | var count = await
60 | _service.repo.Context.Queryable().Where(it => it.pid == id).CountAsync();
61 | if (count > 0)
62 | {
63 | throw new Exception("有子菜单或按钮无法删除");
64 | }
65 | }
66 |
67 | await _service.DeleteAsync(ids);
68 | }
69 | }
--------------------------------------------------------------------------------
/Vboot.Core/Module/Sys/Perm/Menu/SysPermMenuService.cs:
--------------------------------------------------------------------------------
1 | using Furion.DependencyInjection;
2 | using SqlSugar;
3 | using Vboot.Core.Common;
4 |
5 | namespace Vboot.Core.Module.Sys;
6 |
7 | public class SysPermMenuService : BaseMainService, ITransient
8 | {
9 | public SysPermMenuService(ISqlSugarRepository repo)
10 | {
11 | base.repo = repo;
12 | }
13 | }
--------------------------------------------------------------------------------
/Vboot.Core/Module/Sys/Perm/Role/SysPermRole.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 | using System.ComponentModel;
3 | using SqlSugar;
4 | using Vboot.Core.Common;
5 |
6 | namespace Vboot.Core.Module.Sys;
7 |
8 | [SugarTable("sys_perm_role", TableDescription = "权限管理角色表")]
9 | [Description("权限管理角色表")]
10 | public class SysPermRole : BaseMainEntity
11 | {
12 | [SugarColumn(ColumnDescription = "分类", IsNullable = true, Length = 32)]
13 | public string type { get; set; }
14 |
15 | [SugarColumn(ColumnDescription = "标签", IsNullable = true, Length = 32)]
16 | public string label { get; set; }
17 |
18 | [SugarColumn(ColumnDescription = "备注", IsNullable = true, Length = 64)]
19 | public string notes { get; set; }
20 |
21 | [SugarColumn(ColumnDescription = "排序号", IsNullable = true)]
22 | public int ornum { get; set; }
23 |
24 | [SugarColumn(IsIgnore = true)] public List menus { get; set; }
25 |
26 | [SugarColumn(IsIgnore = true)] public List orgs { get; set; }
27 | }
--------------------------------------------------------------------------------
/Vboot.Core/Module/Sys/Perm/Role/SysPermRoleMenu.cs:
--------------------------------------------------------------------------------
1 | using SqlSugar;
2 |
3 | namespace Vboot.Core.Module.Sys;
4 |
5 | [SugarTable("sys_perm_role_menu", TableDescription = "角色菜单对应表")]
6 | public class SysPermRoleMenu
7 | {
8 | [SugarColumn(ColumnDescription = "角色ID", IsNullable = true)]
9 | public string rid { get; set; }
10 |
11 | [SugarColumn(ColumnDescription = "菜单ID", IsNullable = true)]
12 | public string mid { get; set; }
13 | }
--------------------------------------------------------------------------------
/Vboot.Core/Module/Sys/Perm/Role/SysPermRoleOrg.cs:
--------------------------------------------------------------------------------
1 | using SqlSugar;
2 |
3 | namespace Vboot.Core.Module.Sys;
4 |
5 | [SugarTable("sys_perm_role_org", TableDescription = "角色组织对应表")]
6 | public class SysPermRoleOrg
7 | {
8 | [SugarColumn(ColumnDescription = "角色ID", IsNullable = true)]
9 | public string rid { get; set; }
10 |
11 | [SugarColumn(ColumnDescription = "组织架构ID", IsNullable = true)]
12 | public string oid { get; set; }
13 | }
--------------------------------------------------------------------------------
/Vboot.Core/Module/Sys/Perm/Role/SysPermRoleService.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 | using System.Threading.Tasks;
3 | using Furion.DependencyInjection;
4 | using SqlSugar;
5 | using Vboot.Core.Common;
6 |
7 | namespace Vboot.Core.Module.Sys;
8 |
9 | public class SysPermRoleService : BaseMainService, ITransient
10 | {
11 | public SysPermRoleService(ISqlSugarRepository repo)
12 | {
13 | base.repo = repo;
14 | }
15 |
16 | public async Task InsertAsync(SysPermRole role, List romaps, List rmmaps)
17 | {
18 | using var tran = repo.Context.UseTran();
19 | await base.InsertAsync(role);
20 | await repo.Context.Insertable(romaps).ExecuteCommandAsync();
21 | await repo.Context.Insertable(rmmaps).ExecuteCommandAsync();
22 | tran.CommitTran();
23 | }
24 |
25 | public async Task UpdateAsync(SysPermRole role, List romaps, List rmmaps)
26 | {
27 | using var tran = repo.Context.UseTran();
28 | await base.UpdateAsync(role);
29 | await repo.Context.Deleteable().Where(it => it.rid == role.id).ExecuteCommandAsync();
30 | await repo.Context.Insertable(romaps).ExecuteCommandAsync();
31 | await repo.Context.Deleteable().Where(it => it.rid == role.id).ExecuteCommandAsync();
32 | await repo.Context.Insertable(rmmaps).ExecuteCommandAsync();
33 | tran.CommitTran();
34 | }
35 | }
--------------------------------------------------------------------------------
/Vboot.Core/Module/Sys/Todo/Done/SysTodoUser.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.ComponentModel;
3 | using SqlSugar;
4 |
5 | namespace Vboot.Core.Module.Sys;
6 |
7 | [SugarTable("sys_todo_user", TableDescription = "系统待办完成表")]
8 | [Description("系统待办完成表")]
9 | public class SysTodoDone
10 | {
11 | [SugarColumn(ColumnDescription = "Id主键", IsPrimaryKey = true, Length = 36)]
12 | public string id { get; set; }
13 |
14 | [SugarColumn(ColumnDescription = "待办ID", IsNullable = true, Length = 32)]
15 | public string tid { get; set; }
16 |
17 | [SugarColumn(ColumnDescription = "用户ID", IsNullable = true, Length = 32)]
18 | public string uid { get; set; }
19 |
20 | [SugarColumn(ColumnDescription = "完成时间", IsNullable = true)]
21 | public DateTime? entim { get; set; } = DateTime.Now;
22 | }
--------------------------------------------------------------------------------
/Vboot.Core/Module/Sys/Todo/Main/SysTodoMain.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.ComponentModel;
3 | using SqlSugar;
4 | using Vboot.Core.Common;
5 |
6 | namespace Vboot.Core.Module.Sys;
7 |
8 | [SugarTable("sys_todo_main", TableDescription = "系统待办待阅表")]
9 | [Description("系统待办待阅表")]
10 | public class SysTodoMain : BaseEntity
11 | {
12 | //1:待办;2:待阅
13 | [SugarColumn(ColumnDescription = "类型", IsNullable = true, Length = 8)]
14 | public string type { get; set; }
15 |
16 | [SugarColumn(ColumnDescription = "紧急度", IsNullable = true, Length = 8)]
17 | public string level { get; set; }
18 |
19 | [SugarColumn(ColumnDescription = "模型分类", IsNullable = true, Length = 128)]
20 | public string modca { get; set; }
21 |
22 | [SugarColumn(ColumnDescription = "模型ID", IsNullable = true, Length = 32)]
23 | public string modid { get; set; }
24 |
25 | [SugarColumn(ColumnDescription = "链接", IsNullable = true, Length = 512)]
26 | public string link { get; set; }
27 |
28 | [SugarColumn(ColumnDescription = "备注", IsNullable = true, Length = 256)]
29 | public string notes { get; set; }
30 |
31 | [SugarColumn(ColumnDescription = "创建者Id", IsNullable = true, Length = 36)]
32 | public string crman { get; set; }
33 |
34 | [SugarColumn(ColumnDescription = "创建时间", IsNullable = true, IsOnlyIgnoreUpdate = true)]
35 | public DateTime? crtim { get; set; } = DateTime.Now;
36 | }
--------------------------------------------------------------------------------
/Vboot.Core/Module/Sys/Todo/Main/SysTodoMainApi.cs:
--------------------------------------------------------------------------------
1 | using System.Threading.Tasks;
2 | using Furion.DynamicApiController;
3 | using Microsoft.AspNetCore.Mvc;
4 | using SqlSugar;
5 | using Vboot.Core.Common;
6 | using Vboot.Core.Common.Util;
7 | using Vboot.Core.Module.Sys;
8 |
9 | namespace Vboot.Core.Module.Sys;
10 |
11 | [ApiDescriptionSettings("Sys", Tag = "消息管理-待办")]
12 | public class SysTodoMainApi : IDynamicApiController
13 | {
14 | private readonly SysTodoMainService _service;
15 |
16 | public SysTodoMainApi(SysTodoMainService service)
17 | {
18 | _service = service;
19 | }
20 |
21 | [QueryParameters]
22 | public async Task Get(string name)
23 | {
24 | var pp = XreqUtil.GetPp();
25 | var items = await _service.repo.Context.Queryable((t, u,o)
26 | => new JoinQueryInfos(JoinType.Inner, u.tid == t.id,JoinType.Inner, o.id == u.uid))
27 | .WhereIF(!string.IsNullOrWhiteSpace(name), t => t.name.Contains(name.Trim()))
28 | .Select((t,u,o) =>
29 | new {t.id, t.name,exman=o.name,t.crtim,t.link})
30 | .ToPageListAsync(pp.page, pp.pageSize, pp.total);
31 | return RestPageResult.Build(pp.total.Value, items);
32 | }
33 |
34 | public async Task GetOne(string id)
35 | {
36 | var cate = await _service.repo.Context.Queryable()
37 | .Where(it => it.id == id).FirstAsync();
38 | return cate;
39 | }
40 |
41 | public async Task Post(SysTodoMain main)
42 | {
43 | await _service.InsertAsync(main);
44 | }
45 |
46 | public async Task Put(SysTodoMain cate)
47 | {
48 | await _service.UpdateAsync(cate);
49 | }
50 |
51 | public async Task Delete(string ids)
52 | {
53 | await _service.DeleteAsync(ids);
54 | }
55 | }
--------------------------------------------------------------------------------
/Vboot.Core/Module/Sys/Todo/Main/SysTodoMainService.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using Furion.DependencyInjection;
4 | using SqlSugar;
5 | using Vboot.Core.Common;
6 | using Vboot.Core.Module.Bpm;
7 | using Yitter.IdGenerator;
8 |
9 | namespace Vboot.Core.Module.Sys;
10 |
11 | public class SysTodoMainService : BaseService, ITransient
12 | {
13 | public void SendTodo(Zbpm zbpm, Znode znode)
14 | {
15 | SysTodoMain todo = new SysTodoMain();
16 | todo.id = YitIdHelper.NextId() + "";
17 | todo.name = zbpm.prona;
18 | todo.link = "/#/page/ofmv?id=" + zbpm.proid;
19 | todo.modid = zbpm.proid;
20 |
21 | SysTodoUser todoTarget = new SysTodoUser();
22 | todoTarget.id = YitIdHelper.NextId() + "";
23 | todoTarget.tid = todo.id;
24 | todoTarget.uid = znode.exman;
25 | repo.InsertAsync(todo);
26 | repo.Context.Insertable(todoTarget).ExecuteCommand();
27 | }
28 |
29 | public void DoneTodo(Zbpm zbpm)
30 | {
31 | string sql = "select m.id,t.id as tid from sys_todo_main m inner join sys_todo_user t on t.tid=m.id " +
32 | "where t.uid=@uid and m.modid=@modid";
33 |
34 | dynamic map = repo.Context.Ado.SqlQuerySingle(sql, new {uid = zbpm.haman, modid = zbpm.proid});
35 | if (map != null)
36 | {
37 | string tid = map.tid;
38 | repo.Context.Deleteable().Where(it => it.id == tid).ExecuteCommand();
39 | SysTodoDone done = new SysTodoDone();
40 | done.id = YitIdHelper.NextId() + "";
41 | done.tid = "" + map.id;
42 | done.uid = zbpm.haman;
43 | repo.Context.Insertable(done);
44 | }
45 | }
46 |
47 |
48 | public SysTodoMainService(ISqlSugarRepository repo)
49 | {
50 | this.repo = repo;
51 | }
52 | }
--------------------------------------------------------------------------------
/Vboot.Core/Module/Sys/Todo/User/SysTodoUser.cs:
--------------------------------------------------------------------------------
1 | using System.ComponentModel;
2 | using SqlSugar;
3 |
4 | namespace Vboot.Core.Module.Sys;
5 |
6 | [SugarTable("sys_todo_user", TableDescription = "系统待办用户对象")]
7 | [Description("系统待办用户对象")]
8 | public class SysTodoUser
9 | {
10 | [SugarColumn(ColumnDescription = "Id主键", IsPrimaryKey = true, Length = 36)]
11 | public string id { get; set; }
12 |
13 | [SugarColumn(ColumnDescription = "待办ID", IsNullable = true, Length = 32)]
14 | public string tid { get; set; }
15 |
16 | [SugarColumn(ColumnDescription = "用户ID", IsNullable = true, Length = 32)]
17 | public string uid { get; set; }
18 |
19 | }
--------------------------------------------------------------------------------
/Vboot.Core/Modulex/Oa/Flow/Cate/OaFlowCate.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 | using System.ComponentModel;
3 | using SqlSugar;
4 | using Vboot.Core.Common;
5 |
6 | namespace Vboot.Core.Modulex.Oa;
7 |
8 | [SugarTable("oa_flow_cate", TableDescription = "OA流程分类表")]
9 | [Description("OA流程分类表")]
10 | public class OaFlowCate : BaseMainEntity
11 | {
12 | [SugarColumn(ColumnDescription = "备注", IsNullable = true, Length = 64)]
13 | public string notes { get; set; }
14 |
15 | [SugarColumn(ColumnDescription = "排序号", IsNullable = true)]
16 | public int ornum { get; set; }
17 |
18 |
19 | [SugarColumn(ColumnDescription = "父ID", IsNullable = true, Length = 32)]
20 | public string pid { get; set; }
21 |
22 | [SqlSugar.SugarColumn(IsIgnore = true)]
23 | public string panam { get; set; }
24 |
25 | [SqlSugar.SugarColumn(IsIgnore = true)]
26 | public OaFlowCate parent { get; set; }
27 |
28 | [SqlSugar.SugarColumn(IsIgnore = true)]
29 | public List children { get; set; }
30 | }
--------------------------------------------------------------------------------
/Vboot.Core/Modulex/Oa/Flow/Cate/OaFlowCateService.cs:
--------------------------------------------------------------------------------
1 | using Furion.DependencyInjection;
2 | using SqlSugar;
3 | using Vboot.Core.Common;
4 |
5 | namespace Vboot.Core.Modulex.Oa;
6 |
7 | public class OaFlowCateService : BaseMainService, ITransient
8 | {
9 | public OaFlowCateService(ISqlSugarRepository repo)
10 | {
11 | this.repo = repo;
12 | }
13 | }
--------------------------------------------------------------------------------
/Vboot.Core/Modulex/Oa/Flow/Main/OaFlowMain.cs:
--------------------------------------------------------------------------------
1 | using System.ComponentModel;
2 | using SqlSugar;
3 | using Vboot.Core.Common;
4 | using Vboot.Core.Module.Bpm;
5 |
6 | namespace Vboot.Core.Modulex.Oa;
7 |
8 | [SugarTable("oa_flow_main", TableDescription = "OA流程实例表")]
9 | [Description("OA流程实例表")]
10 | public class OaFlowMain : BaseMainEntity
11 | {
12 |
13 | [SugarColumn(ColumnDescription = "备注", IsNullable = true, Length = 128)]
14 | public string notes { get; set; }
15 |
16 |
17 | [SugarColumn(ColumnDescription = "全局流程模板ID", IsNullable = true, Length = 32)]
18 | public string protd { get; set; }
19 |
20 | [SugarColumn(ColumnDescription = "全局流程模板ID", IsNullable = true, Length = 32)]
21 | public string temid { get; set; }
22 |
23 | [SugarColumn(IsIgnore = true)]
24 | public Zbpm zbpm { get; set; }
25 |
26 | [SugarColumn(ColumnDescription = "状态", IsNullable = true, Length = 8)]
27 | public string state { get; set; }
28 |
29 |
30 |
31 |
32 | }
--------------------------------------------------------------------------------
/Vboot.Core/Modulex/Oa/Flow/Main/OaFlowMainService.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Threading.Tasks;
3 | using Furion.DependencyInjection;
4 | using SqlSugar;
5 | using Vboot.Core.Common;
6 | using Vboot.Core.Module.Bpm;
7 |
8 | namespace Vboot.Core.Modulex.Oa;
9 |
10 | public class OaFlowMainService : BaseMainService, ITransient
11 | {
12 | public async Task Insertx(OaFlowMain oaFlowMain)
13 | {
14 | oaFlowMain.state = "20";
15 | oaFlowMain.uptim = DateTime.Now;
16 | await InsertAsync(oaFlowMain);
17 | Zbpm zbpm = oaFlowMain.zbpm;
18 | zbpm.proid = oaFlowMain.id;
19 | zbpm.prona = oaFlowMain.name;
20 | zbpm.haman = oaFlowMain.crmid;
21 | zbpm.temid = oaFlowMain.protd;
22 | Znode znode = await _procService.Start(zbpm);
23 | if (znode.facno == "N3")
24 | {
25 | oaFlowMain.state = "30";
26 | await UpdateAsync(oaFlowMain);
27 | }
28 | }
29 |
30 | public async Task Updatex(OaFlowMain oaFlowMain)
31 | {
32 | await UpdateAsync(oaFlowMain);
33 | if (oaFlowMain.zbpm.opkey == "pass")
34 | {
35 | Znode znode = _procService.HandlerPass(oaFlowMain.zbpm);
36 | if (znode.facno == "N3")
37 | {
38 | oaFlowMain.state = "30";
39 | await UpdateAsync(oaFlowMain);
40 | }
41 | }
42 | else if (oaFlowMain.zbpm.opkey == "refuse")
43 | {
44 | _procService.HandlerRefuse(oaFlowMain.zbpm);
45 | }
46 | }
47 |
48 | private readonly BpmProcMainService _procService;
49 |
50 |
51 | public OaFlowMainService(ISqlSugarRepository repo,
52 | BpmProcMainService procService)
53 | {
54 | this.repo = repo;
55 | _procService = procService;
56 | }
57 | }
--------------------------------------------------------------------------------
/Vboot.Core/Modulex/Oa/Flow/Rece/OaFlowRece.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.ComponentModel;
3 | using SqlSugar;
4 |
5 | namespace Vboot.Core.Module.Sys;
6 |
7 | [SugarTable("oa_flow_rece", TableDescription = "流程使用记录")]
8 | [Description("流程使用记录")]
9 | public class OaFlowRece
10 | {
11 | [SugarColumn(ColumnDescription = "Id主键", IsPrimaryKey = true, Length = 36)]
12 | public string id { get; set; }
13 |
14 | [SugarColumn(ColumnDescription = "用户ID", Length = 36)]
15 | public string userid { get; set; }
16 |
17 | [SugarColumn(ColumnDescription = "流程模板ID", Length = 36)]
18 | public string flowid { get; set; }
19 |
20 | [SugarColumn(ColumnDescription = "最近使用时间", IsNullable = true)]
21 | public virtual DateTime? uptim { get; set; }
22 | }
--------------------------------------------------------------------------------
/Vboot.Core/Modulex/Oa/Flow/Rece/OaFlowReceApi.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 | using System.Threading.Tasks;
3 | using Furion.DynamicApiController;
4 | using Microsoft.AspNetCore.Mvc;
5 | using SqlSugar;
6 | using Vboot.Core.Common.Util;
7 | using Vboot.Core.Module.Sys;
8 | using Vboot.Core.Modulex.Oa;
9 |
10 | namespace Vboot.Core.Module.Oa;
11 |
12 | [ApiDescriptionSettings("Ext", Tag = "流程管理-使用记录")]
13 | public class OaFlowReceApi : IDynamicApiController
14 | {
15 | private readonly OaFlowReceService _service;
16 |
17 | public OaFlowReceApi(OaFlowReceService service)
18 | {
19 | _service = service;
20 | }
21 |
22 | public async Task Post(List reces)
23 | {
24 | if (reces != null && reces.Count > 0)
25 | {
26 | await _service.update(reces);
27 | }
28 | }
29 |
30 | public async Task GetList()
31 | {
32 | string userId = XuserUtil.getUserId();
33 | var list = await _service._repo.Context.Queryable((t, f,c)
34 | => new JoinQueryInfos(JoinType.Inner, f.id == t.flowid,JoinType.Inner, c.id == f.catid))
35 | .OrderBy(t => t.uptim, OrderByType.Desc)
36 | .Where(t => t.userid == userId)
37 | .Select((t, f,c) => new {id = t.flowid, f.name,catna=c.name})
38 | .ToListAsync();
39 | return list;
40 | }
41 | }
--------------------------------------------------------------------------------
/Vboot.Core/Modulex/Oa/Flow/Rece/OaFlowReceService.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Threading.Tasks;
4 | using Furion.DependencyInjection;
5 | using SqlSugar;
6 | using Vboot.Core.Common.Util;
7 | using Yitter.IdGenerator;
8 |
9 | namespace Vboot.Core.Module.Sys;
10 |
11 | public class OaFlowReceService : ITransient
12 | {
13 | public async Task update(List reces)
14 | {
15 | string userid = XuserUtil.getUserId();
16 | List flowidList = new List();
17 | foreach (var rece in reces)
18 | {
19 | rece.flowid = rece.id;
20 | rece.id = YitIdHelper.NextId() + "";
21 | rece.userid = userid;
22 | rece.uptim = DateTime.Now;
23 | flowidList.Add(rece.flowid);
24 | }
25 |
26 | //数据库删除本次已传的记录
27 | await _repo.Context.Deleteable().Where("userid=@userid",new { userid})
28 | .Where("flowid in (@flowid)", new {flowid = flowidList.ToArray()}).ExecuteCommandAsync();
29 |
30 | //删除当前数据库最近10次前的数据
31 | RefAsync total = 0;
32 | var items = await _repo.Context.Queryable()
33 | .Where(it=>it.userid==userid)
34 | .OrderBy(u => u.uptim, OrderByType.Desc)
35 | .Select((t) => t.id)
36 | .ToPageListAsync(2, 10, total);
37 | if (items.Count > 0)
38 | {
39 | await _repo.Context.Deleteable().In(items.ToArray()).ExecuteCommandAsync();
40 | }
41 |
42 | //插入本次使用的记录
43 | await _repo.InsertAsync(reces);
44 |
45 | }
46 |
47 |
48 | public readonly ISqlSugarRepository _repo;
49 |
50 | public OaFlowReceService(ISqlSugarRepository repo)
51 | {
52 | _repo = repo;
53 | }
54 | }
--------------------------------------------------------------------------------
/Vboot.Core/Modulex/Oa/Flow/Temp/OaFlowTemp.cs:
--------------------------------------------------------------------------------
1 | using System.ComponentModel;
2 | using SqlSugar;
3 | using Vboot.Core.Common;
4 |
5 | namespace Vboot.Core.Modulex.Oa;
6 |
7 | [SugarTable("oa_flow_temp", TableDescription = "OA流程模板表")]
8 | [Description("OA流程模板表")]
9 | public class OaFlowTemp : BaseMainEntity
10 | {
11 | [SugarColumn(ColumnDescription = "分类ID", IsNullable = true, Length = 32)]
12 | public string catid { get; set; }
13 |
14 | [SugarColumn(IsIgnore = true)] public ZidName cate { get; set; }
15 |
16 | [SugarColumn(ColumnDescription = "备注", IsNullable = true, Length = 128)]
17 | public string notes { get; set; }
18 |
19 | [SugarColumn(ColumnDescription = "排序号", IsNullable = true)]
20 | public int ornum { get; set; }
21 |
22 | [SugarColumn(ColumnDescription = "全局流程模板ID", IsNullable = true, Length = 32)]
23 | public string protd { get; set; }
24 |
25 | [SugarColumn(IsIgnore = true)] public string prxml { get; set; }
26 |
27 | [SugarColumn(ColumnDescription = "vform", ColumnDataType = "varchar(max)", IsNullable = true)]
28 | public string vform { get; set; }
29 | }
--------------------------------------------------------------------------------
/Vboot.Core/Modulex/Oa/Flow/Temp/OaFlowTempService.cs:
--------------------------------------------------------------------------------
1 | using System.Threading.Tasks;
2 | using Furion.DependencyInjection;
3 | using SqlSugar;
4 | using Vboot.Core.Common;
5 | using Vboot.Core.Module.Bpm;
6 | using Yitter.IdGenerator;
7 |
8 | namespace Vboot.Core.Modulex.Oa;
9 |
10 | public class OaFlowTempService : BaseMainService, ITransient
11 | {
12 | public async Task Insertx(OaFlowTemp oaFlowTemp)
13 | {
14 | BpmProcTemp bpmProcTemp = new BpmProcTemp();
15 | bpmProcTemp.name = oaFlowTemp.name;
16 | bpmProcTemp.crman = oaFlowTemp.crman;
17 | bpmProcTemp.crtim = oaFlowTemp.crtim;
18 | bpmProcTemp.orxml = oaFlowTemp.prxml;
19 | bpmProcTemp.chxml = ""
20 | + "\n";
22 | bpmProcTemp.id = YitIdHelper.NextId() + "";
23 | await repo.Context.Insertable(bpmProcTemp).ExecuteCommandAsync();
24 | oaFlowTemp.protd = bpmProcTemp.id;
25 | await InsertAsync(oaFlowTemp);
26 | }
27 |
28 | public async Task Updatex(OaFlowTemp oaFlowTemp)
29 | {
30 | var bpmProcTemp = await repo.Context.Queryable()
31 | .Where(it => it.id == oaFlowTemp.protd).FirstAsync();
32 | bpmProcTemp.orxml = oaFlowTemp.prxml;
33 | bpmProcTemp.chxml = ""
34 | + "\n";
36 | await repo.Context.Updateable(bpmProcTemp).ExecuteCommandAsync();
37 | await UpdateAsync(oaFlowTemp);
38 | }
39 |
40 |
41 | public OaFlowTempService(ISqlSugarRepository repo)
42 | {
43 | this.repo = repo;
44 | }
45 | }
--------------------------------------------------------------------------------
/Vboot.Core/Vboot.Core.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | net6.0
5 | 1701;1702;1591
6 | Vboot.Core.xml
7 | Vboot.Core
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
--------------------------------------------------------------------------------
/Vboot.Web.Core/Init/Yurl.cs:
--------------------------------------------------------------------------------
1 | namespace Vboot.Web.Core.Init;
2 |
3 | public class Yurl
4 | {
5 | public string id { get; set; }
6 |
7 | public string url { get; set; }
8 |
9 | public string pid { get; set; }
10 |
11 | public string type { get; set; }
12 | }
--------------------------------------------------------------------------------
/Vboot.Web.Core/Vboot.Web.Core.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | net6.0
5 | 1701;1702;1591
6 | Vboot.Web.Core.xml
7 | Vboot.Web.Core
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/Vboot.Web.Core/Vboot.Web.Core.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Vboot.Web.Core
5 |
6 |
7 |
8 |
9 | 重写 Handler 添加自动刷新
10 |
11 |
12 |
13 |
14 |
15 |
16 | 授权判断逻辑,授权通过返回 true,否则返回 false
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 | 检查权限
25 |
26 |
27 |
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/Vboot.Web.Entry/.config/dotnet-tools.json:
--------------------------------------------------------------------------------
1 | {
2 | "version": 1,
3 | "isRoot": true,
4 | "tools": {
5 | "dotnet-ef": {
6 | "version": "6.0.0",
7 | "commands": [
8 | "dotnet-ef"
9 | ]
10 | }
11 | }
12 | }
--------------------------------------------------------------------------------
/Vboot.Web.Entry/Program.cs:
--------------------------------------------------------------------------------
1 | using Microsoft.AspNetCore.Builder;
2 | using Microsoft.Extensions.Hosting;
3 |
4 | var builder = WebApplication.CreateBuilder(args).Inject();
5 | builder.Host.UseSerilogDefault();
6 | var app = builder.Build();
7 | app.Run();
--------------------------------------------------------------------------------
/Vboot.Web.Entry/Properties/PublishProfiles/FolderProfile.pubxml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
7 | False
8 | False
9 | True
10 | Release
11 | Any CPU
12 | FileSystem
13 | C:\Users\Admin\Desktop\vboot-net-run
14 | FileSystem
15 |
16 | net6.0
17 | win-x64
18 | c8d99f52-edc7-411f-8300-6db14bf59e8c
19 | true
20 |
21 |
--------------------------------------------------------------------------------
/Vboot.Web.Entry/Properties/PublishProfiles/FolderProfile.pubxml.user:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
7 | <_PublishTargetUrl>C:\Users\Admin\Desktop\vboot-net-run
8 | True|2021-12-03T13:27:22.1194344Z;True|2021-12-03T21:17:44.3359991+08:00;True|2021-12-03T21:11:44.7757220+08:00;True|2021-12-03T21:06:44.6347302+08:00;
9 |
10 |
--------------------------------------------------------------------------------
/Vboot.Web.Entry/Properties/launchSettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "http://json.schemastore.org/launchsettings.json",
3 | "iisSettings": {
4 | "windowsAuthentication": false,
5 | "anonymousAuthentication": true,
6 | "iisExpress": {
7 | "applicationUrl": "https://localhost:5001;http://localhost:5000",
8 | "sslPort": 44342
9 | }
10 | },
11 | "profiles": {
12 | "IIS Express": {
13 | "commandName": "IISExpress",
14 | "launchBrowser": true,
15 | "launchUrl": "",
16 | "environmentVariables": {
17 | "ASPNETCORE_ENVIRONMENT": "Development"
18 | }
19 | },
20 | "Vboot.Web.Entry": {
21 | "commandName": "Project",
22 | "dotnetRunMessages": "true",
23 | "launchBrowser": true,
24 | "launchUrl": "",
25 | "applicationUrl": "https://localhost:5001;http://localhost:5000",
26 | "environmentVariables": {
27 | "ASPNETCORE_ENVIRONMENT": "Development"
28 | }
29 | }
30 | }
31 | }
--------------------------------------------------------------------------------
/Vboot.Web.Entry/Vboot.Web.Entry.csproj.user:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | D:\vboot\vboot-net\Vboot.Web.Entry\Properties\PublishProfiles\FolderProfile.pubxml
5 |
6 |
--------------------------------------------------------------------------------
/Vboot.Web.Entry/appsettings.Development.json:
--------------------------------------------------------------------------------
1 | {
2 | "DynamicApiControllerSettings": {
3 | "CamelCaseSeparator": "/",
4 | "DefaultRoutePrefix": "",
5 | "AbandonControllerAffixes":["Controller","Api"]
6 | }
7 |
8 | }
9 |
10 |
--------------------------------------------------------------------------------
/Vboot.Web.Entry/appsettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "Serilog": {
3 | "MinimumLevel": {
4 | "Default": "Information",
5 | "Override": {
6 | "System": "Warning",
7 | "Microsoft": "Warning",
8 | "Microsoft.Hosting.Lifetime": "Information",
9 | "SqlSugar": "Information"
10 | }
11 | },
12 | "WriteTo": [
13 | {
14 | "Name": "Console",
15 | "Args": {
16 | "outputTemplate": "【时间】{Timestamp:yyyy-MM-dd HH:mm:ss,fff}{NewLine}【等级】{Level:u3}{NewLine}【消息】{Message:lj}{NewLine}{NewLine}"
17 | }
18 | },
19 | {
20 | "Name": "File",
21 | "Args": {
22 | "path": "logs/.log",
23 | "rollingInterval": "Day",
24 | "outputTemplate": "【时间】{Timestamp:yyyy-MM-dd HH:mm:ss,fff}{NewLine}【等级】{Level:u3}{NewLine}【消息】{Message:lj}{NewLine}{NewLine}"
25 | }
26 | }
27 | ]
28 | },
29 | "AllowedHosts": "*"
30 | }
--------------------------------------------------------------------------------
/Vboot.Web.Entry/wwwroot/assets/401.1652784183534.css:
--------------------------------------------------------------------------------
1 | .error[data-v-b8605a40]{height:100%;background-color:var(--el-color-white);display:flex}.error .error-flex[data-v-b8605a40]{margin:auto;display:flex;height:350px;width:900px}.error .error-flex .left[data-v-b8605a40]{flex:1;height:100%;align-items:center;display:flex}.error .error-flex .left .left-item .left-item-animation[data-v-b8605a40]{opacity:0;animation-name:error-num;animation-duration:.5s;animation-fill-mode:forwards}.error .error-flex .left .left-item .left-item-num[data-v-b8605a40]{color:var(--el-color-info);font-size:55px}.error .error-flex .left .left-item .left-item-title[data-v-b8605a40]{font-size:20px;color:var(--el-text-color-primary);margin:15px 0 5px;animation-delay:.1s}.error .error-flex .left .left-item .left-item-msg[data-v-b8605a40]{color:var(--el-text-color-secondary);font-size:12px;margin-bottom:30px;animation-delay:.2s}.error .error-flex .left .left-item .left-item-btn[data-v-b8605a40]{animation-delay:.2s}.error .error-flex .right[data-v-b8605a40]{flex:1;opacity:0;animation-name:error-img;animation-duration:2s;animation-fill-mode:forwards}.error .error-flex .right img[data-v-b8605a40]{width:100%;height:100%}
2 |
--------------------------------------------------------------------------------
/Vboot.Web.Entry/wwwroot/assets/401.1652784183534.js:
--------------------------------------------------------------------------------
1 | import{a as d,s as l,aF as p,B as u,b as f,e as s,Y as o,Z as g,S as h,O as v,az as b,aA as w,a2 as T,o as S,X as y}from"./vue.1652784183534.js";import{_ as C,u as F,b as x,S as A}from"./index.1652784183534.js";const V=d({name:"401",setup(){const e=F(),a=x(),{themeConfig:i}=l(e),{isTagsViewCurrenFull:n}=l(a),c=p(),r=()=>{A.clear(),c.push("/login")},t=u(()=>{let{isTagsview:m}=i.value;return n.value?"30px":m?"114px":"80px"});return{onSetAuth:r,initTagViewHeight:t}}}),_=e=>(b("data-v-b8605a40"),e=e(),w(),e),$={class:"error-flex"},B={class:"left"},k={class:"left-item"},R=_(()=>s("div",{class:"left-item-animation left-item-num"},"401",-1)),I={class:"left-item-animation left-item-title"},N={class:"left-item-animation left-item-msg"},z={class:"left-item-animation left-item-btn"},H=_(()=>s("div",{class:"right"},[s("img",{src:"https://img-blog.csdnimg.cn/3333f265772a4fa89287993500ecbf96.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAbHl0LXRvcA==,size_16,color_FFFFFF,t_70,g_se,x_16"})],-1));function X(e,a,i,n,c,r){const t=T("el-button");return S(),f("div",{class:"error layout-view-bg-white",style:v({height:`calc(100vh - ${e.initTagViewHeight}`})},[s("div",$,[s("div",B,[s("div",k,[R,s("div",I,o(e.$t("message.noAccess.accessTitle")),1),s("div",N,o(e.$t("message.noAccess.accessMsg")),1),s("div",z,[g(t,{type:"primary",round:"",onClick:e.onSetAuth},{default:h(()=>[y(o(e.$t("message.noAccess.accessBtn")),1)]),_:1},8,["onClick"])])])]),H])],4)}var Q=C(V,[["render",X],["__scopeId","data-v-b8605a40"]]);export{Q as default};
2 |
--------------------------------------------------------------------------------
/Vboot.Web.Entry/wwwroot/assets/404.1652784183534.css:
--------------------------------------------------------------------------------
1 | .error[data-v-3b19d5ac]{height:100%;background-color:var(--el-color-white);display:flex}.error .error-flex[data-v-3b19d5ac]{margin:auto;display:flex;height:350px;width:900px}.error .error-flex .left[data-v-3b19d5ac]{flex:1;height:100%;align-items:center;display:flex}.error .error-flex .left .left-item .left-item-animation[data-v-3b19d5ac]{opacity:0;animation-name:error-num;animation-duration:.5s;animation-fill-mode:forwards}.error .error-flex .left .left-item .left-item-num[data-v-3b19d5ac]{color:var(--el-color-info);font-size:55px}.error .error-flex .left .left-item .left-item-title[data-v-3b19d5ac]{font-size:20px;color:var(--el-text-color-primary);margin:15px 0 5px;animation-delay:.1s}.error .error-flex .left .left-item .left-item-msg[data-v-3b19d5ac]{color:var(--el-text-color-secondary);font-size:12px;margin-bottom:30px;animation-delay:.2s}.error .error-flex .left .left-item .left-item-btn[data-v-3b19d5ac]{animation-delay:.2s}.error .error-flex .right[data-v-3b19d5ac]{flex:1;opacity:0;animation-name:error-img;animation-duration:2s;animation-fill-mode:forwards}.error .error-flex .right img[data-v-3b19d5ac]{width:100%;height:100%}
2 |
--------------------------------------------------------------------------------
/Vboot.Web.Entry/wwwroot/assets/404.1652784183534.js:
--------------------------------------------------------------------------------
1 | import{a as m,s as l,aF as u,B as p,b as f,e as t,Y as o,Z as g,S as h,O as v,az as b,aA as w,a2 as F,o as T,X as y}from"./vue.1652784183534.js";import{_ as C,u as x,b as V}from"./index.1652784183534.js";const $=m({name:"404",setup(){const e=x(),a=V(),{themeConfig:i}=l(e),{isTagsViewCurrenFull:n}=l(a),c=u(),r=()=>{c.push("/")},s=p(()=>{let{isTagsview:_}=i.value;return n.value?"30px":_?"114px":"80px"});return{onGoHome:r,initTagViewHeight:s}}}),d=e=>(b("data-v-3b19d5ac"),e=e(),w(),e),B={class:"error-flex"},S={class:"left"},k={class:"left-item"},H=d(()=>t("div",{class:"left-item-animation left-item-num"},"404",-1)),R={class:"left-item-animation left-item-title"},I={class:"left-item-animation left-item-msg"},N={class:"left-item-animation left-item-btn"},z=d(()=>t("div",{class:"right"},[t("img",{src:"https://img-blog.csdnimg.cn/9eb1d85a417f4ed1ba7107f149ce3da1.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAbHl0LXRvcA==,size_16,color_FFFFFF,t_70,g_se,x_16"})],-1));function A(e,a,i,n,c,r){const s=F("el-button");return T(),f("div",{class:"error layout-view-bg-white",style:v({height:`calc(100vh - ${e.initTagViewHeight}`})},[t("div",B,[t("div",S,[t("div",k,[H,t("div",R,o(e.$t("message.notFound.foundTitle")),1),t("div",I,o(e.$t("message.notFound.foundMsg")),1),t("div",N,[g(s,{type:"primary",round:"",onClick:e.onGoHome},{default:h(()=>[y(o(e.$t("message.notFound.foundBtn")),1)]),_:1},8,["onClick"])])])]),z])],4)}var G=C($,[["render",A],["__scopeId","data-v-3b19d5ac"]]);export{G as default};
2 |
--------------------------------------------------------------------------------
/Vboot.Web.Entry/wwwroot/assets/DeptTree.1652784183534.css:
--------------------------------------------------------------------------------
1 | .tree-h-flex[data-v-0fd7569e]{display:flex}.tree-h-left[data-v-0fd7569e]{flex:1;width:100%}.tree-h-right[data-v-0fd7569e]{width:40px;min-width:40px}
2 |
--------------------------------------------------------------------------------
/Vboot.Web.Entry/wwwroot/assets/Event.1652784183534.js:
--------------------------------------------------------------------------------
1 | import{C as t,F as p,E as e,D as o}from"./common.1652784183534.js";import"./index.1652784183534.js";import"./vue.1652784183534.js";import"./store.1652784183534.js";const r=[t,e,o];var s={"bpmn:StartEvent":[t,p,e,o],"bpmn:EndEvent":r,"bpmn:IntermediateThrowEvent":r,"bpmn:IntermediateCatchEvent":r};export{s as default};
2 |
--------------------------------------------------------------------------------
/Vboot.Web.Entry/wwwroot/assets/Gateway.1652784183534.js:
--------------------------------------------------------------------------------
1 | import{C as o,E as r,D as a}from"./common.1652784183534.js";import"./index.1652784183534.js";import"./vue.1652784183534.js";import"./store.1652784183534.js";const e=[o,r,a];var n={"bpmn:ExclusiveGateway":e,"bpmn:ParallelGateway":e,"bpmn:ComplexGateway":e,"bpmn:EventBasedGateway":e};export{n as default};
2 |
--------------------------------------------------------------------------------
/Vboot.Web.Entry/wwwroot/assets/GenModal.1652784183534.css:
--------------------------------------------------------------------------------
1 | .tree-h-flex[data-v-07916ddc]{display:flex}.tree-h-left[data-v-07916ddc]{flex:1;width:100%}.tree-h-right[data-v-07916ddc]{width:40px;min-width:40px}
2 |
--------------------------------------------------------------------------------
/Vboot.Web.Entry/wwwroot/assets/OrgModal.1652784183534.css:
--------------------------------------------------------------------------------
1 | .dialog-footer button[data-v-92ff25e2]:first-child{margin-right:10px}.layui-elip[data-v-92ff25e2]{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.f-user[data-v-92ff25e2]:before,.f-user[data-v-92ff25e2]:after{content:" ";display:table}.f-user[data-v-92ff25e2]:after{clear:both}.f-user input[data-v-92ff25e2],.f-user label[data-v-92ff25e2]{float:left;margin-top:10px;margin-right:8px}.f-user img[data-v-92ff25e2]{width:50px;height:50px;float:left;border-radius:100%;margin-right:8px}.f-user .f-user-name[data-v-92ff25e2],.f-user .f-user-dept[data-v-92ff25e2]{display:block}.f-user .f-user-name[data-v-92ff25e2]{margin-top:6px}.f-user .f-user-dept[data-v-92ff25e2]{color:#a599b2}.z-org-recently li[data-v-92ff25e2]{width:33%;float:left;cursor:pointer;padding:5px;list-style-type:none}.z-org-recently li[data-v-92ff25e2]:hover{background-color:#f7efec}.z-org-search li[data-v-92ff25e2]{width:50%;float:left;cursor:pointer;padding:2px;list-style-type:none}.z-org-search li[data-v-92ff25e2]:hover{background-color:#f7efec}/*!*组织架构树*!*/.z-org-tree li[data-v-92ff25e2]{margin:3px;cursor:pointer;padding:3px;list-style-type:none}.z-org-tree li[data-v-92ff25e2]:hover{background-color:#f7efec}.z-org-selected li[data-v-92ff25e2]{margin:3px;cursor:pointer;padding:3px;list-style-type:none}.z-org-selected li[data-v-92ff25e2]:hover{background-color:#f7efec}.z-org-selected .f-user .el-icon[data-v-92ff25e2]{position:absolute;color:#f26b96;font-size:20px;display:none;margin-left:42px}.z-org-selected li:hover .el-icon[data-v-92ff25e2],.z-org-selected .f-user img[data-v-92ff25e2]{display:inline}.z-org-selected .f-user-name2[data-v-92ff25e2]{display:block;margin-top:14px}
2 |
--------------------------------------------------------------------------------
/Vboot.Web.Entry/wwwroot/assets/Other.1652784183534.js:
--------------------------------------------------------------------------------
1 | import{E as a,D as m,C as u}from"./common.1652784183534.js";import{al as t}from"./index.1652784183534.js";import{Z as p,X as n}from"./vue.1652784183534.js";import"./store.1652784183534.js";const r=[u,a,m],i={name:"\u57FA\u7840\u4FE1\u606F",icon:"el-icon-info",properties:{id:{component:t,placeholder:"\u8282\u70B9ID",vSlots:{prepend:()=>p("div",null,[n("\u8282\u70B9ID")])}},name:{component:t,placeholder:"\u8282\u70B9\u540D\u79F0",vSlots:{prepend:()=>p("div",null,[n("\u8282\u70B9\u540D\u79F0")])},getValue:e=>{var o;return(o=e==null?void 0:e.categoryValueRef)==null?void 0:o.value}}}};var f={"bpmn:Participant":r,"bpmn:Group":[i,a,m],"bpmn:DataStoreReference":r,"bpmn:DataObjectReference":r};export{f as default};
2 |
--------------------------------------------------------------------------------
/Vboot.Web.Entry/wwwroot/assets/PrefixLabelSelect.1652784183534.css:
--------------------------------------------------------------------------------
1 | .prefix-label-select-container{display:inline-table;width:100%}.prefix-title{display:table-cell;padding:0 20px;border:1px solid #DCDFE6;border-right:0;border-radius:4px 0 0 4px;color:#909399;background-color:#f5f7fa;width:1px;white-space:nowrap}.prefix-label-select{display:table-cell}.prefix-label-select .el-input,.el-select{line-height:normal}.prefix-label-select .el-input__inner{border-radius:0 4px 4px 0!important;line-height:normal}
2 |
--------------------------------------------------------------------------------
/Vboot.Web.Entry/wwwroot/assets/PrefixLabelSelect.1652784183534.js:
--------------------------------------------------------------------------------
1 | var c=Object.defineProperty,m=Object.defineProperties;var f=Object.getOwnPropertyDescriptors;var o=Object.getOwnPropertySymbols;var n=Object.prototype.hasOwnProperty,x=Object.prototype.propertyIsEnumerable;var s=(e,l,t)=>l in e?c(e,l,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[l]=t,p=(e,l)=>{for(var t in l||(l={}))n.call(l,t)&&s(e,t,l[t]);if(o)for(var t of o(l))x.call(l,t)&&s(e,t,l[t]);return e},d=(e,l)=>m(e,f(l));import{an as u}from"./index.1652784183534.js";import{a as v,B as V,Z as i,P as b}from"./vue.1652784183534.js";const T=v({props:d(p({},u.props),{prefixTitle:{type:String,default:()=>""}}),emits:["update:modelValue"],setup(e,{emit:l,slots:t}){const r=V({get:()=>e.value,set:a=>l("update:modelValue",a)});return()=>i("div",{class:"prefix-label-select-container"},[e.prefixTitle&&i("div",{class:"prefix-title "},[e.prefixTitle]),i(u,b({class:"prefix-label-select",modelValue:r.value,"onUpdate:modelValue":a=>r.value=a},e),t)])}});export{T as P};
2 |
--------------------------------------------------------------------------------
/Vboot.Web.Entry/wwwroot/assets/Process.1652784183534.js:
--------------------------------------------------------------------------------
1 | import{C as e,g as o,E as s,D as p}from"./common.1652784183534.js";import"./index.1652784183534.js";import"./vue.1652784183534.js";import"./store.1652784183534.js";const r=[e,o({name:"\u5168\u5C40\u76D1\u542C\u5668"}),s,p];var a={"bpmn:Process":r,"bpmn:SubProcess":r};export{a as default};
2 |
--------------------------------------------------------------------------------
/Vboot.Web.Entry/wwwroot/assets/Wrap.1652784183534.js:
--------------------------------------------------------------------------------
1 | import{a as i,B as l,s as t,o as u,b as c,L as f,O as p,u as m}from"./vue.1652784183534.js";import{b as g,u as h}from"./index.1652784183534.js";const w=i({setup(T){const o=l(()=>{const e=g(),s=h(),{themeConfig:r}=t(s),{isTagsViewCurrenFull:a}=t(e);let{isTagsview:n}=r.value;return a?"13px":n?"97px":"63px"});return(e,s)=>(u(),c("div",{class:"p-flex",style:p({height:`calc(100vh - ${m(o)}`})},[f(e.$slots,"default")],4))}});export{w as _};
2 |
--------------------------------------------------------------------------------
/Vboot.Web.Entry/wwwroot/assets/account.1652784183534.css:
--------------------------------------------------------------------------------
1 | .login-content-form[data-v-622dc15a]{margin-top:20px}.login-content-form .login-animation1[data-v-622dc15a]{opacity:0;animation-name:error-num;animation-duration:.5s;animation-fill-mode:forwards;animation-delay:.1s}.login-content-form .login-animation2[data-v-622dc15a]{opacity:0;animation-name:error-num;animation-duration:.5s;animation-fill-mode:forwards;animation-delay:.2s}.login-content-form .login-animation3[data-v-622dc15a]{opacity:0;animation-name:error-num;animation-duration:.5s;animation-fill-mode:forwards;animation-delay:.3s}.login-content-form .login-animation4[data-v-622dc15a]{opacity:0;animation-name:error-num;animation-duration:.5s;animation-fill-mode:forwards;animation-delay:.4s}.login-content-form .login-content-password[data-v-622dc15a]{display:inline-block;width:20px;cursor:pointer}.login-content-form .login-content-password[data-v-622dc15a]:hover{color:#909399}.login-content-form .login-content-code[data-v-622dc15a]{width:100%;padding:0;font-weight:700;letter-spacing:5px}.login-content-form .login-content-submit[data-v-622dc15a]{width:100%;letter-spacing:2px;font-weight:300;margin-top:15px}
2 |
--------------------------------------------------------------------------------
/Vboot.Web.Entry/wwwroot/assets/addRole.1652784183534.css:
--------------------------------------------------------------------------------
1 | .system-add-role-container .menu-data-tree[data-v-7a022e88]{width:100%;border:1px solid var(--el-border-color);border-radius:var(--el-input-border-radius, var(--el-border-radius-base));padding:5px}
2 |
--------------------------------------------------------------------------------
/Vboot.Web.Entry/wwwroot/assets/bathymetry.1652784183534.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zsvg-com/vboot-net/fef3130e129455a227be9be35005b0ee7d95ff90/Vboot.Web.Entry/wwwroot/assets/bathymetry.1652784183534.jpg
--------------------------------------------------------------------------------
/Vboot.Web.Entry/wwwroot/assets/bpmn.1652784183534.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zsvg-com/vboot-net/fef3130e129455a227be9be35005b0ee7d95ff90/Vboot.Web.Entry/wwwroot/assets/bpmn.1652784183534.eot
--------------------------------------------------------------------------------
/Vboot.Web.Entry/wwwroot/assets/bpmn.1652784183534.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zsvg-com/vboot-net/fef3130e129455a227be9be35005b0ee7d95ff90/Vboot.Web.Entry/wwwroot/assets/bpmn.1652784183534.ttf
--------------------------------------------------------------------------------
/Vboot.Web.Entry/wwwroot/assets/bpmn.1652784183534.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zsvg-com/vboot-net/fef3130e129455a227be9be35005b0ee7d95ff90/Vboot.Web.Entry/wwwroot/assets/bpmn.1652784183534.woff
--------------------------------------------------------------------------------
/Vboot.Web.Entry/wwwroot/assets/bpmn.1652784183534.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zsvg-com/vboot-net/fef3130e129455a227be9be35005b0ee7d95ff90/Vboot.Web.Entry/wwwroot/assets/bpmn.1652784183534.woff2
--------------------------------------------------------------------------------
/Vboot.Web.Entry/wwwroot/assets/classic.1652784183534.js:
--------------------------------------------------------------------------------
1 | import{a as f,s as d,a2 as e,o as n,R as c,S as r,Z as o,e as u,W as g}from"./vue.1652784183534.js";import{_ as h,u as C}from"./index.1652784183534.js";import{A as T}from"./aside.1652784183534.js";import{H as k,M as w,T as y}from"./main.1652784183534.js";import"./logo-mini.1652784183534.js";import"./sortable.esm.1652784183534.js";import"./parent.1652784183534.js";const V=f({name:"layoutClassic",components:{Aside:T,Header:k,Main:w,TagsView:y},setup(){const t=C(),{themeConfig:a}=d(t);return{themeConfig:a}}}),b={class:"flex-center layout-backtop"};function x(t,a,v,A,H,M){const i=e("Header"),m=e("Aside"),p=e("TagsView"),_=e("Main"),s=e("el-container"),l=e("el-backtop");return n(),c(s,{class:"layout-container flex-center"},{default:r(()=>[o(i),o(s,{class:"layout-mian-height-50"},{default:r(()=>[o(m),u("div",b,[t.themeConfig.isTagsview?(n(),c(p,{key:0})):g("",!0),o(_)])]),_:1}),o(l,{target:".layout-backtop .el-main .el-scrollbar__wrap"})]),_:1})}var j=h(V,[["render",x]]);export{j as default};
2 |
--------------------------------------------------------------------------------
/Vboot.Web.Entry/wwwroot/assets/columns.1652784183534.css:
--------------------------------------------------------------------------------
1 | .layout-columns-aside[data-v-07532e16]{width:70px;height:100%;background:var(--next-bg-columnsMenuBar)}.layout-columns-aside ul[data-v-07532e16]{position:relative}.layout-columns-aside ul li[data-v-07532e16]{color:var(--next-bg-columnsMenuBarColor);width:100%;height:50px;text-align:center;display:flex;cursor:pointer;position:relative;z-index:1}.layout-columns-aside ul li .columns-vertical[data-v-07532e16]{margin:auto}.layout-columns-aside ul li .columns-vertical .columns-vertical-title[data-v-07532e16]{padding-top:1px}.layout-columns-aside ul li .columns-horizontal[data-v-07532e16]{display:flex;height:50px;width:100%;align-items:center;padding:0 5px}.layout-columns-aside ul li .columns-horizontal i[data-v-07532e16]{margin-right:3px}.layout-columns-aside ul li .columns-horizontal a[data-v-07532e16]{display:flex}.layout-columns-aside ul li .columns-horizontal a .columns-horizontal-title[data-v-07532e16]{padding-top:1px}.layout-columns-aside ul li a[data-v-07532e16]{text-decoration:none;color:var(--next-bg-columnsMenuBarColor)}.layout-columns-aside ul .layout-columns-active[data-v-07532e16]{color:var(--next-bg-columnsMenuBarColor)!important;transition:.3s ease-in-out}.layout-columns-aside ul .layout-columns-hover[data-v-07532e16],.layout-columns-aside ul .layout-columns-hover a[data-v-07532e16]{color:var(--el-color-primary)}.layout-columns-aside ul .columns-round[data-v-07532e16],.layout-columns-aside ul .columns-card[data-v-07532e16]{background:var(--el-color-primary);color:var(--el-color-white);position:absolute;left:50%;top:2px;height:44px;width:65px;transform:translate(-50%);z-index:0;transition:.3s ease-in-out;border-radius:5px}.layout-columns-aside ul .columns-card[data-v-07532e16]{top:0;height:50px;width:100%;border-radius:0}
2 |
--------------------------------------------------------------------------------
/Vboot.Web.Entry/wwwroot/assets/common.1652784183534.css:
--------------------------------------------------------------------------------
1 | .sublist-add{margin-top:8px;border:1px solid #409eff;text-align:center;cursor:pointer;color:#fff;font-weight:700;border-radius:4px;background-color:#409eff}.sublist-add:hover{border-color:#66b1ff;background-color:#66b1ff}.sublist-actions .sublist-btn{margin:0 5px}.sublist-edit,.sublist-confirm{color:#409eff}.sublist-split{color:#bbbec3}.sublist-btn{cursor:pointer}.sublist-btn:hover{border-bottom:2px solid}.sublist-edit :hover,.sublist-confirm:hover{color:#66b1ff}.sublist-delete{color:#fa3b3b}.sublist-delete:hover{color:#f78989}.sublist-actions .readonly{color:#bbbec3;cursor:default}.sublist-actions .readonly:hover{border-bottom:none}.sublist-form-item{width:100%;margin-right:0!important;margin-bottom:0!important}.sublist-form-item .el-form-item__content{width:100%}
2 |
--------------------------------------------------------------------------------
/Vboot.Web.Entry/wwwroot/assets/defaults.1652784183534.js:
--------------------------------------------------------------------------------
1 | import{a as y,aB as H,s as C,B as x,k as h,a2 as o,o as t,R as s,S as r,Z as a,W as d,M as m,l as F}from"./vue.1652784183534.js";import{_ as $,u as g}from"./index.1652784183534.js";import{A as M}from"./aside.1652784183534.js";import{H as R,M as w}from"./main.1652784183534.js";import"./logo-mini.1652784183534.js";import"./sortable.esm.1652784183534.js";import"./parent.1652784183534.js";const A=y({name:"layoutDefaults",components:{Aside:M,Header:R,Main:w},setup(){const{proxy:e}=F(),n=H(),c=g(),{themeConfig:l}=C(c),i=x(()=>l.value.isFixedHeader);return h(()=>n.path,()=>{e.$refs.layoutDefaultsScrollbarRef.wrap$.scrollTop=0}),{isFixedHeader:i}}});function B(e,n,c,l,i,T){const f=o("Aside"),p=o("Header"),_=o("Main"),b=o("el-scrollbar"),u=o("el-container"),k=o("el-backtop");return t(),s(u,{class:"layout-container"},{default:r(()=>[a(f),a(u,{class:m(["flex-center",{"layout-backtop":!e.isFixedHeader}])},{default:r(()=>[e.isFixedHeader?(t(),s(p,{key:0})):d("",!0),a(b,{ref:"layoutDefaultsScrollbarRef",class:m({"layout-backtop":e.isFixedHeader})},{default:r(()=>[e.isFixedHeader?d("",!0):(t(),s(p,{key:0})),a(_)]),_:1},8,["class"])]),_:1},8,["class"]),a(k,{target:".layout-backtop .el-scrollbar__wrap"})]),_:1})}var W=$(A,[["render",B]]);export{W as default};
2 |
--------------------------------------------------------------------------------
/Vboot.Web.Entry/wwwroot/assets/details.1652784183534.js:
--------------------------------------------------------------------------------
1 | import{a as l,s as n,B as c,b as u,O as g,o as f,e as s}from"./vue.1652784183534.js";import{_ as p,b as d,u as m}from"./index.1652784183534.js";const h=l({name:"pagesFilteringDetails",setup(){const e=d(),t=m(),{themeConfig:i}=n(t),{isTagsViewCurrenFull:a}=n(e);return{initTagViewHeight:c(()=>{let{isTagsview:o}=i.value;return a.value?"30px":o?"114px":"80px"})}}}),_=s("div",{class:"layout-view-bg-white"},[s("div",{class:"w100 h100 flex"},[s("div",{class:"flex-margin color-primary"},"filtering-details \u6D4B\u8BD5\u754C\u9762")])],-1),v=[_];function w(e,t,i,a,r,o){return f(),u("div",{style:g({height:`calc(100vh - ${e.initTagViewHeight}`})},v,4)}var V=p(h,[["render",w]]);export{V as default};
2 |
--------------------------------------------------------------------------------
/Vboot.Web.Entry/wwwroot/assets/details.16527841835342.js:
--------------------------------------------------------------------------------
1 | var f=Object.defineProperty;var n=Object.getOwnPropertySymbols;var h=Object.prototype.hasOwnProperty,g=Object.prototype.propertyIsEnumerable;var u=(e,s,a)=>s in e?f(e,s,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[s]=a,l=(e,s)=>{for(var a in s||(s={}))h.call(s,a)&&u(e,a,s[a]);if(n)for(var a of n(s))g.call(s,a)&&u(e,a,s[a]);return e};import{a as v,aB as _,s as m,a3 as w,B as y,m as C,ag as F,b as T,e as t,Y as c,O as V,o as x}from"./vue.1652784183534.js";import{_ as B,b as R,u as $}from"./index.1652784183534.js";const b=v({name:"paramsCommonDetails",setup(){const e=_(),s=R(),a=$(),{themeConfig:r}=m(a),{isTagsViewCurrenFull:i}=m(s),o=w({params:{path:"",query:""}}),p=y(()=>{let{isTagsview:d}=r.value;return i.value?"30px":d?"114px":"80px"});return C(()=>{o.params=e}),l({setViewHeight:p},F(o))}}),D={class:"flex-margin color-primary"},q=t("div",null,"paramsCommonDetails",-1),k={class:"mt10 mb10"};function A(e,s,a,r,i,o){return x(),T("div",{class:"layout-view-bg-white flex",style:V({height:`calc(100vh - ${e.setViewHeight}`})},[t("div",D,[q,t("div",k,"\u8DEF\u5F84\uFF1Apath: "+c(e.params.path),1),t("div",null,"\u53C2\u6570\uFF1Aquery: "+c(e.params.query),1)])],4)}var z=B(b,[["render",A]]);export{z as default};
2 |
--------------------------------------------------------------------------------
/Vboot.Web.Entry/wwwroot/assets/details.16527841835343.js:
--------------------------------------------------------------------------------
1 | var f=Object.defineProperty;var n=Object.getOwnPropertySymbols;var h=Object.prototype.hasOwnProperty,g=Object.prototype.propertyIsEnumerable;var u=(e,s,a)=>s in e?f(e,s,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[s]=a,l=(e,s)=>{for(var a in s||(s={}))h.call(s,a)&&u(e,a,s[a]);if(n)for(var a of n(s))g.call(s,a)&&u(e,a,s[a]);return e};import{a as v,s as c,aB as _,a3 as w,B as y,m as F,ag as T,b as C,e as t,Y as m,O as D,o as V}from"./vue.1652784183534.js";import{_ as x,b as B,u as R}from"./index.1652784183534.js";const $=v({name:"paramsDynamicDetails",setup(){const e=B(),s=R(),{themeConfig:a}=c(s),{isTagsViewCurrenFull:r}=c(e),i=_(),o=w({params:{path:"",params:""}}),p=y(()=>{let{isTagsview:d}=a.value;return r.value?"30px":d?"114px":"80px"});return F(()=>{o.params=i}),l({setViewHeight:p},T(o))}}),b={class:"flex-margin color-primary"},k=t("div",null,"paramsDynamicDetails",-1),A={class:"mt10 mb10"};function E(e,s,a,r,i,o){return V(),C("div",{class:"layout-view-bg-white flex",style:D({height:`calc(100vh - ${e.setViewHeight}`})},[t("div",b,[k,t("div",A,"\u8DEF\u5F84\uFF1Apath: "+m(e.params.path),1),t("div",null,"\u53C2\u6570\uFF1Aparams: "+m(e.params.params),1)])],4)}var M=x($,[["render",E]]);export{M as default};
2 |
--------------------------------------------------------------------------------
/Vboot.Web.Entry/wwwroot/assets/details1.1652784183534.js:
--------------------------------------------------------------------------------
1 | import{a as c,s as n,B as l,b as u,O as g,o as p,e as s}from"./vue.1652784183534.js";import{_ as f,b as m,u as d}from"./index.1652784183534.js";const h=c({name:"pagesFilteringDetails1",setup(){const e=m(),t=d(),{themeConfig:i}=n(t),{isTagsViewCurrenFull:a}=n(e);return{initTagViewHeight:l(()=>{let{isTagsview:o}=i.value;return a.value?"30px":o?"114px":"80px"})}}}),_=s("div",{class:"layout-view-bg-white"},[s("div",{class:"w100 h100 flex"},[s("div",{class:"flex-margin color-primary"},"\u6D4B\u8BD5\u754C\u9762")])],-1),v=[_];function w(e,t,i,a,r,o){return p(),u("div",{style:g({height:`calc(100vh - ${e.initTagViewHeight}`})},v,4)}var V=f(h,[["render",w]]);export{V as default};
2 |
--------------------------------------------------------------------------------
/Vboot.Web.Entry/wwwroot/assets/echarts.16527841835342.js:
--------------------------------------------------------------------------------
1 | import{N as a,ai as s,aj as l,ak as i}from"./echarts.1652784183534.js";a([s,l]);a(i);
2 |
--------------------------------------------------------------------------------
/Vboot.Web.Entry/wwwroot/assets/edit.16527841835342.js:
--------------------------------------------------------------------------------
1 | var n=Object.defineProperty;var l=Object.getOwnPropertySymbols;var c=Object.prototype.hasOwnProperty,d=Object.prototype.propertyIsEnumerable;var i=(r,o,a)=>o in r?n(r,o,{enumerable:!0,configurable:!0,writable:!0,value:a}):r[o]=a,u=(r,o)=>{for(var a in o||(o={}))c.call(o,a)&&i(r,a,o[a]);if(l)for(var a of l(o))d.call(o,a)&&i(r,a,o[a]);return r};import{s as e}from"./index.1652784183534.js";const w=async(r,o)=>{var m;r.params=o;let a=(m=r.params.query)==null?void 0:m.id;a?r.form=await e({url:r.url+"/one/"+a,method:"get"}):r.form.avtag=!0},p=async(r,o,a)=>{r.form.crtim?await e({url:r.url,method:"put",data:r.form}):await e({url:r.url,method:"post",data:r.form}),s(o,a)},s=(r,o)=>{r.mittBus.emit("onCurrentContextmenuClick",Object.assign({},u({contextMenuClickId:1},o)))},h=async r=>{r.form.crtim?await e({url:r.url,method:"put",data:r.form}):await e({url:r.url,method:"post",data:r.form}),window.close()},g=()=>{window.close()},v=async r=>{r.form.crtim?await e({url:r.url,method:"put",data:r.form}):await e({url:r.url,method:"post",data:r.form}),r.show=!1},y=async(r,o)=>{o?r.form=await e({url:r.url+"/one/"+o,method:"get"}):r.form={avtag:!0},r.show=!0};export{s as a,v as b,h as c,y as d,w as e,g as p,p as t};
2 |
--------------------------------------------------------------------------------
/Vboot.Web.Entry/wwwroot/assets/editRole.1652784183534.css:
--------------------------------------------------------------------------------
1 | .system-edit-role-container .menu-data-tree[data-v-6c3dba81]{width:100%;border:1px solid var(--el-border-color);border-radius:var(--el-input-border-radius, var(--el-border-radius-base));padding:5px}
2 |
--------------------------------------------------------------------------------
/Vboot.Web.Entry/wwwroot/assets/getStyleSheets.1652784183534.js:
--------------------------------------------------------------------------------
1 | import{l as c}from"./index.1652784183534.js";import{n as r}from"./vue.1652784183534.js";const i=()=>new Promise((l,o)=>{r(()=>{const n=document.styleSheets;let s=[],u=[];for(let e=0;e-1&&s.push(n[e]);for(let e=0;e-1&&u.push(`${s[e].cssRules[t].selectorText.substring(1,s[e].cssRules[t].selectorText.length).replace(/\:\:before/gi,"")}`);u.length>0?l(u):o("\u672A\u83B7\u53D6\u5230\u503C\uFF0C\u8BF7\u5237\u65B0\u91CD\u8BD5")})}),f=()=>new Promise((l,o)=>{r(()=>{const n=c,s=[];for(const u in n)s.push(`ele-${n[u].name}`);s.length>0?l(s):o("\u672A\u83B7\u53D6\u5230\u503C\uFF0C\u8BF7\u5237\u65B0\u91CD\u8BD5")})}),h=()=>new Promise((l,o)=>{r(()=>{const n=document.styleSheets;let s=[],u=[];for(let e=0;e-1&&s.push(n[e]);for(let e=0;e0?l(u.reverse()):o("\u672A\u83B7\u53D6\u5230\u503C\uFF0C\u8BF7\u5237\u65B0\u91CD\u8BD5")})}),m={ali:()=>i(),ele:()=>f(),awe:()=>h()};export{m as i};
2 |
--------------------------------------------------------------------------------
/Vboot.Web.Entry/wwwroot/assets/head.1652784183534.css:
--------------------------------------------------------------------------------
1 | .big-data-up[data-v-a791c862]{height:55px;width:100%;display:flex;align-items:center;padding:0 15px;color:var(--el-color-primary);overflow:hidden;position:relative}.big-data-up .up-left[data-v-a791c862]{position:absolute}.big-data-up .up-center[data-v-a791c862]{width:100%;display:flex;justify-content:center;font-size:18px;letter-spacing:5px;background-image:-webkit-linear-gradient(left,var(--el-color-primary),var(--el-color-primary-light-3) 25%,var(--el-color-primary) 50%,var(--el-color-primary-light-3) 75%,var(--el-color-primary));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;background-size:200% 100%;-webkit-animation:masked-animation-data-v-b02d8052 4s linear infinite;animation:masked-animation-data-v-b02d8052 4s linear infinite;-webkit-box-reflect:below -2px -webkit-gradient(linear,left top,left bottom,from(transparent),to(hsla(0deg,0%,100%,.1)));position:relative}@keyframes masked-animation-a791c862{0%{background-position:0 0}to{background-position:-100% 0}}.big-data-up .up-center[data-v-a791c862]:after{content:"";width:250px;position:absolute;bottom:-15px;left:50%;transform:translate(-50%);border:1px transparent solid;border-image:linear-gradient(to right,var(--el-color-primary-light-9),var(--el-color-primary)) 1 10}.big-data-up .up-center span[data-v-a791c862]{cursor:pointer}
2 |
--------------------------------------------------------------------------------
/Vboot.Web.Entry/wwwroot/assets/head.1652784183534.js:
--------------------------------------------------------------------------------
1 | var r=Object.defineProperty;var o=Object.getOwnPropertySymbols;var u=Object.prototype.hasOwnProperty,_=Object.prototype.propertyIsEnumerable;var n=(e,t,a)=>t in e?r(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,c=(e,t)=>{for(var a in t||(t={}))u.call(t,a)&&n(e,a,t[a]);if(o)for(var a of o(t))_.call(t,a)&&n(e,a,t[a]);return e};import{_ as p,H as i}from"./index.1652784183534.js";import{a as m,a3 as l,K as f,I as v,ag as h,b as Y,e as s,Y as Q,az as S,aA as w,o as x}from"./vue.1652784183534.js";const H=m({name:"chartHead",setup(){const e=l({time:{txt:"",fun:0}}),t=()=>{e.time.txt=i(new Date,"YYYY-mm-dd HH:MM:SS WWW QQQQ"),e.time.fun=window.setInterval(()=>{e.time.txt=i(new Date,"YYYY-mm-dd HH:MM:SS WWW QQQQ")},1e3)};return f(()=>{t()}),v(()=>{window.clearInterval(e.time.fun)}),c({},h(e))}}),d=e=>(S("data-v-a791c862"),e=e(),w(),e),I={class:"big-data-up mb15"},W={class:"up-left"},B=d(()=>s("i",{class:"el-icon-time mr5"},null,-1)),D=d(()=>s("div",{class:"up-center"},[s("span",null,"\u667A\u6167\u519C\u4E1A\u7CFB\u7EDF\u5E73\u53F0")],-1));function M(e,t,a,g,C,E){return x(),Y("div",I,[s("div",W,[B,s("span",null,Q(e.time.txt),1)]),D])}var A=p(H,[["render",M],["__scopeId","data-v-a791c862"]]);export{A as default};
2 |
--------------------------------------------------------------------------------
/Vboot.Web.Entry/wwwroot/assets/iframes.1652784183534.js:
--------------------------------------------------------------------------------
1 | var g=Object.defineProperty;var f=Object.getOwnPropertySymbols;var h=Object.prototype.hasOwnProperty,p=Object.prototype.propertyIsEnumerable;var m=(e,a,s)=>a in e?g(e,a,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[a]=s,c=(e,a)=>{for(var s in a||(a={}))h.call(a,s)&&m(e,s,a[s]);if(f)for(var s of f(a))p.call(a,s)&&m(e,s,a[s]);return e};import{a as v,s as l,aB as w,a3 as T,B as _,m as L,k as B,ag as b,T as u,b as k,e as y,U as C,O as I,n as R,aa as V,o as $}from"./vue.1652784183534.js";import{_ as x,u as U,b as D}from"./index.1652784183534.js";const E=v({name:"layoutIfameView",setup(){const e=U(),a=D(),{themeConfig:s}=l(e),{isTagsViewCurrenFull:n}=l(a),i=w(),t=T({iframeLoading:!0,iframeUrl:""}),r=()=>{t.iframeUrl=i.meta.isLink,R(()=>{t.iframeLoading=!0;const o=document.getElementById("iframe");if(!o)return!1;o.onload=()=>{t.iframeLoading=!1}})},d=_(()=>{let{isTagsview:o}=s.value;return n.value?"1px":o?"86px":"51px"});return L(()=>{r()}),B(()=>i.path,()=>{r()}),c({setIframeHeight:d},b(t))}}),H=["src"];function S(e,a,s,n,i,t){const r=V("loading");return u(($(),k("div",{class:"layout-view-bg-white flex mt1",style:I({height:`calc(100vh - ${e.setIframeHeight}`,border:"none"})},[u(y("iframe",{src:e.iframeUrl,frameborder:"0",height:"100%",width:"100%",id:"iframe"},null,8,H),[[C,!e.iframeLoading]])],4)),[[r,e.iframeLoading]])}var N=x(E,[["render",S]]);export{N as default};
2 |
--------------------------------------------------------------------------------
/Vboot.Web.Entry/wwwroot/assets/index.1652784183534.css:
--------------------------------------------------------------------------------
1 | .tree-h-flex[data-v-ca5ef432]{display:flex}.tree-h-left[data-v-ca5ef432]{flex:1;width:100%}.tree-h-right[data-v-ca5ef432]{width:40px;min-width:40px}
2 |
--------------------------------------------------------------------------------
/Vboot.Web.Entry/wwwroot/assets/index.165278418353410.css:
--------------------------------------------------------------------------------
1 | .notice-bar[data-v-ae559b32]{padding:0 15px;width:100%;border-radius:4px}.notice-bar .notice-bar-warp[data-v-ae559b32]{display:flex;align-items:center;width:100%;height:inherit}.notice-bar .notice-bar-warp .notice-bar-warp-text-box[data-v-ae559b32]{flex:1;height:inherit;display:flex;align-items:center;overflow:hidden;position:relative}.notice-bar .notice-bar-warp .notice-bar-warp-text-box .notice-bar-warp-text[data-v-ae559b32]{white-space:nowrap;position:absolute;left:0}.notice-bar .notice-bar-warp .notice-bar-warp-text-box .notice-bar-warp-slot[data-v-ae559b32]{width:100%;white-space:nowrap}.notice-bar .notice-bar-warp .notice-bar-warp-text-box .notice-bar-warp-slot[data-v-ae559b32] .el-carousel__item{display:flex;align-items:center}.notice-bar .notice-bar-warp .notice-bar-warp-left-icon[data-v-ae559b32]{width:24px;font-size:inherit!important}.notice-bar .notice-bar-warp .notice-bar-warp-right-icon[data-v-ae559b32]{width:24px;text-align:right;font-size:inherit!important}.notice-bar .notice-bar-warp .notice-bar-warp-right-icon[data-v-ae559b32]:hover{cursor:pointer}
2 |
--------------------------------------------------------------------------------
/Vboot.Web.Entry/wwwroot/assets/index.165278418353412.css:
--------------------------------------------------------------------------------
1 | .tools-warp-form[data-v-585cf4a4] .el-form-item--small.el-form-item{margin-bottom:0!important}.tools-warp-form .tools-warp-form-msg[data-v-585cf4a4]{color:#666;font-size:14px;width:100%}.tools-warp-form .tools-warp-form-msg .tools-warp-form-msg-red[data-v-585cf4a4]{color:red}.tools-warp-form .tools-warp-form-msg+div[data-v-585cf4a4]{width:100%}
2 |
--------------------------------------------------------------------------------
/Vboot.Web.Entry/wwwroot/assets/index.165278418353414.css:
--------------------------------------------------------------------------------
1 | .drag-container .drag-dom[data-v-0d9c56a6]{position:relative;display:inline-block}.drag-container .drag-dom .drag-header[data-v-0d9c56a6]{display:inline-block}
2 |
--------------------------------------------------------------------------------
/Vboot.Web.Entry/wwwroot/assets/index.165278418353415.css:
--------------------------------------------------------------------------------
1 | .qrcode-container .qrcode-img-warp[data-v-270b5237]{text-align:center}.qrcode-container .qrcode-img-warp .qrcode-img[data-v-270b5237]{display:flex;width:100%;height:125px}.qrcode-container .qrcode-img-warp .qrcode-img .qrcode[data-v-270b5237]{margin:auto;width:125px;height:125px}
2 |
--------------------------------------------------------------------------------
/Vboot.Web.Entry/wwwroot/assets/index.165278418353416.css:
--------------------------------------------------------------------------------
1 | .iconfont-container .iconfont-row[data-v-30050c08]{border-top:1px solid var(--next-border-color-light);border-left:1px solid var(--next-border-color-light)}.iconfont-container .iconfont-row .iconfont-warp[data-v-30050c08]{text-align:center;border-right:1px solid var(--next-border-color-light);border-bottom:1px solid var(--next-border-color-light);height:120px;overflow:hidden;display:flex;transition:all .3s ease}.iconfont-container .iconfont-row .iconfont-warp[data-v-30050c08]:hover{box-shadow:0 2px 12px var(--next-color-dark-hover);cursor:pointer;transition:all .3s ease}.iconfont-container .iconfont-row .iconfont-warp:hover .iconfont-warp-value i[data-v-30050c08],.iconfont-container .iconfont-row .iconfont-warp:hover .iconfont-warp-label[data-v-30050c08]{color:var(--el-color-primary);transition:all .3s ease}.iconfont-container .iconfont-row .iconfont-warp .iconfont-warp-value i[data-v-30050c08]{color:#606266;font-size:32px;transition:all .3s ease}.iconfont-container .iconfont-row .iconfont-warp .iconfont-warp-label[data-v-30050c08]{color:#99a9bf;transition:all .3s ease}
2 |
--------------------------------------------------------------------------------
/Vboot.Web.Entry/wwwroot/assets/index.165278418353418.css:
--------------------------------------------------------------------------------
1 | .tree-container .tree-head[data-v-2b8f1c48]{height:48px;line-height:48px;border:1px solid var(--next-border-color-light);border-bottom:none;display:flex;padding-right:8px;font-weight:700;color:#909399}.tree-container .tree-head .tree-head-check[data-v-2b8f1c48]{width:38px;text-align:right}.tree-container .tree-head .tree-head-one[data-v-2b8f1c48],.tree-container .tree-head .tree-head-two[data-v-2b8f1c48],.tree-container .tree-head .tree-head-three[data-v-2b8f1c48]{flex:1}.tree-container .tree-head .tree-head-one[data-v-2b8f1c48]{padding-left:8px}.tree-container .el-tree[data-v-2b8f1c48]{overflow:hidden;border-bottom:1px solid var(--next-border-color-light)}.tree-container .el-tree .tree-custom-node[data-v-2b8f1c48]{flex:1;display:flex;align-items:center;justify-content:space-between;padding-right:8px;width:100%}.tree-container .el-tree[data-v-2b8f1c48] .el-tree-node{border:1px solid var(--next-border-color-light);border-bottom:none;color:#606266}.tree-container .el-tree[data-v-2b8f1c48] .el-tree-node .el-tree-node__content{line-height:57px!important;height:57px!important}.tree-container .el-tree[data-v-2b8f1c48] .el-tree-node .el-tree-node__children .el-tree-node{border:none}.tree-container .el-tree[data-v-2b8f1c48] .el-tree-node .el-tree-node__children .el-tree-node__content{border-top:1px solid var(--next-border-color-light)}
2 |
--------------------------------------------------------------------------------
/Vboot.Web.Entry/wwwroot/assets/index.16527841835342.css:
--------------------------------------------------------------------------------
1 | .fun-tagsview .fun-tagsview-from-item[data-v-64af0c2c] .el-form-item__content{margin-left:0!important}
2 |
--------------------------------------------------------------------------------
/Vboot.Web.Entry/wwwroot/assets/index.165278418353422.css:
--------------------------------------------------------------------------------
1 | .preview-container .flex-warp[data-v-6968bfea]{display:flex;flex-wrap:wrap;align-content:flex-start;margin:0 -5px}.preview-container .flex-warp .flex-warp-item[data-v-6968bfea]{padding:5px}.preview-container .flex-warp .flex-warp-item .flex-warp-item-box[data-v-6968bfea]{width:100%;height:100%}.preview-container .waterfall-first[data-v-6968bfea]{display:grid;grid-template-columns:repeat(auto-fill,minmax(188px,1fr));grid-gap:.25em;grid-auto-flow:row dense;grid-auto-rows:20px}.preview-container .waterfall-first .waterfall-first-item[data-v-6968bfea]{width:100%;background:var(--el-color-primary);color:var(--el-color-white);transition:all .3s ease;border-radius:3px}.preview-container .waterfall-first .waterfall-first-item[data-v-6968bfea]:nth-of-type(3n + 1){grid-row:auto/span 5}.preview-container .waterfall-first .waterfall-first-item[data-v-6968bfea]:nth-of-type(3n + 2){grid-row:auto/span 6}.preview-container .waterfall-first .waterfall-first-item[data-v-6968bfea]:nth-of-type(3n + 3){grid-row:auto/span 8}.preview-container .waterfall-first .waterfall-first-item[data-v-6968bfea]:hover{box-shadow:0 2px 12px #0000001a;transition:all .3s ease;cursor:pointer}
2 |
--------------------------------------------------------------------------------
/Vboot.Web.Entry/wwwroot/assets/index.165278418353423.css:
--------------------------------------------------------------------------------
1 | .flex-warp[data-v-2661a51f]{display:flex;flex-wrap:wrap;align-content:flex-start;margin:0 -5px}.flex-warp .flex-warp-item[data-v-2661a51f]{padding:5px}.flex-warp .flex-warp-item .flex-warp-item-box[data-v-2661a51f]{width:100%;height:100%}
2 |
--------------------------------------------------------------------------------
/Vboot.Web.Entry/wwwroot/assets/index.165278418353424.js:
--------------------------------------------------------------------------------
1 | var F=Object.defineProperty;var r=Object.getOwnPropertySymbols;var V=Object.prototype.hasOwnProperty,_=Object.prototype.propertyIsEnumerable;var p=(o,e,u)=>e in o?F(o,e,{enumerable:!0,configurable:!0,writable:!0,value:u}):o[e]=u,d=(o,e)=>{for(var u in e||(e={}))V.call(e,u)&&p(o,u,e[u]);if(r)for(var u of r(e))_.call(e,u)&&p(o,u,e[u]);return o};import{_ as f,a7 as C}from"./index.1652784183534.js";import{a as b,a3 as h,m as v,ag as B,b as y,Z as t,S as n,a2 as l,o as E,X as A}from"./vue.1652784183534.js";const D=b({name:"funClipboard",setup(){const{copyText:o}=C(),e=h({copyVal:"https://gitee.com/lyt-top/vue-next-admin",shearVal:""});return v(()=>{}),d({copyText:o},B(e))}}),$={id:"printRref"},g=A("\u590D\u5236\u94FE\u63A5");function k(o,e,u,w,x,T){const c=l("el-alert"),m=l("el-button"),s=l("el-input"),i=l("el-card");return E(),y("div",$,[t(i,{shadow:"hover",header:"\u590D\u5236\u526A\u5207\u6F14\u793A"},{default:n(()=>[t(c,{title:"\u611F\u8C22\u4F18\u79C0\u7684 `vue-clipboard3`\uFF0C\u9879\u76EE\u5730\u5740\uFF1Ahttps://github.com/JamieCurnow/vue-clipboard3`",type:"success",closable:!1,class:"mb15"}),t(s,{placeholder:"\u8BF7\u8F93\u5165\u5185\u5BB9",modelValue:o.copyVal,"onUpdate:modelValue":e[1]||(e[1]=a=>o.copyVal=a)},{append:n(()=>[t(m,{onClick:e[0]||(e[0]=a=>o.copyText(o.copyVal))},{default:n(()=>[g]),_:1})]),_:1},8,["modelValue"]),t(s,{placeholder:"\u5148\u70B9\u51FB\u4E0A\u65B9 `\u590D\u5236\u94FE\u63A5` \u6309\u94AE\uFF0C\u7136\u540E `Ctrl + V` \u8FDB\u884C\u7C98\u8D34\uFF01 ",modelValue:o.shearVal,"onUpdate:modelValue":e[2]||(e[2]=a=>o.shearVal=a),class:"mt15"},null,8,["modelValue"])]),_:1})])}var J=f(D,[["render",k]]);export{J as default};
2 |
--------------------------------------------------------------------------------
/Vboot.Web.Entry/wwwroot/assets/index.165278418353425.css:
--------------------------------------------------------------------------------
1 | .workflow-tool[data-v-4882b14e]{height:35px;display:flex;align-items:center;border-bottom:1px solid var(--el-border-color-light, #ebeef5);color:var(--el-text-color-primary)}.workflow-tool .workflow-tool-right[data-v-4882b14e]{flex:1;display:flex;justify-content:flex-end}.workflow-tool-icon[data-v-4882b14e]{padding:0 10px;cursor:pointer;color:var(--next-bg-topBarColor);height:35px;line-height:35px;display:flex;align-items:center}.workflow-tool-icon[data-v-4882b14e]:hover{background:rgba(0,0,0,.04)}.workflow-tool-icon:hover i[data-v-4882b14e]{display:inline-block;animation:logoAnimation .3s ease-in-out}
2 |
--------------------------------------------------------------------------------
/Vboot.Web.Entry/wwwroot/assets/index.165278418353427.css:
--------------------------------------------------------------------------------
1 | .element-container .iconfont-row[data-v-2358c18e]{border-top:1px solid var(--next-border-color-light);border-left:1px solid var(--next-border-color-light)}.element-container .iconfont-row .iconfont-warp[data-v-2358c18e]{text-align:center;border-right:1px solid var(--next-border-color-light);border-bottom:1px solid var(--next-border-color-light);height:120px;overflow:hidden;display:flex;transition:all .3s ease}.element-container .iconfont-row .iconfont-warp[data-v-2358c18e]:hover{box-shadow:0 2px 12px var(--next-color-dark-hover);cursor:pointer;transition:all .3s ease}.element-container .iconfont-row .iconfont-warp:hover .iconfont-warp-value i[data-v-2358c18e],.element-container .iconfont-row .iconfont-warp:hover .iconfont-warp-label[data-v-2358c18e]{color:var(--el-color-primary);transition:all .3s ease}.element-container .iconfont-row .iconfont-warp .iconfont-warp-value i[data-v-2358c18e]{color:#606266;font-size:32px;transition:all .3s ease}.element-container .iconfont-row .iconfont-warp .iconfont-warp-label[data-v-2358c18e]{color:#99a9bf;transition:all .3s ease}
2 |
--------------------------------------------------------------------------------
/Vboot.Web.Entry/wwwroot/assets/index.165278418353428.js:
--------------------------------------------------------------------------------
1 | var g=Object.defineProperty;var i=Object.getOwnPropertySymbols;var m=Object.prototype.hasOwnProperty,x=Object.prototype.propertyIsEnumerable;var l=(e,t,a)=>t in e?g(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,c=(e,t)=>{for(var a in t||(t={}))m.call(t,a)&&l(e,a,t[a]);if(i)for(var a of i(t))x.call(t,a)&&l(e,a,t[a]);return e};import{_ as v}from"./index.1652784183534.js";import{a as w,a3 as F,ag as b,b as d,Z as r,S as u,a2 as o,o as n,F as C,a7 as k,R as B,e as _,Y as E}from"./vue.1652784183534.js";const $=w({name:"FunGridLayout",setup(){const e=F({layouts:[{x:0,y:0,w:2,h:2,i:"0"},{x:2,y:0,w:2,h:4,i:"1"},{x:4,y:0,w:2,h:5,i:"2"},{x:6,y:0,w:2,h:3,i:"3"},{x:8,y:0,w:2,h:3,i:"4"},{x:10,y:0,w:2,h:3,i:"5"},{x:0,y:5,w:2,h:5,i:"6"}]});return c({},b(e))}}),D={class:"grid-layout-container"},A={class:"w100 h100 flex"},L={class:"flex-margin font14"};function N(e,t,a,R,S,V){const y=o("el-alert"),p=o("grid-item"),h=o("grid-layout"),f=o("el-card");return n(),d("div",D,[r(f,{shadow:"hover",header:"vue-grid-layout \u62D6\u62FD\u5E03\u5C40\u6F14\u793A"},{default:u(()=>[r(y,{title:"\u611F\u8C22\u4F18\u79C0\u7684 `vue-grid-layout`\uFF0C\u9879\u76EE\u5730\u5740\uFF1Ahttps://github.com/jbaysolutions/vue-grid-layout",type:"success",closable:!1,class:"mb15"}),r(h,{layout:e.layouts,"onUpdate:layout":t[0]||(t[0]=s=>e.layouts=s),"col-num":12,"row-height":30,"is-draggable":!0,"is-resizable":!0,"is-mirrored":!1,"vertical-compact":!0,margin:[10,10],"use-css-transforms":!0},{default:u(()=>[(n(!0),d(C,null,k(e.layouts,s=>(n(),B(p,{x:s.x,y:s.y,w:s.w,h:s.h,i:s.i,key:s.i},{default:u(()=>[_("div",A,[_("span",L,E(s.i),1)])]),_:2},1032,["x","y","w","h","i"]))),128))]),_:1},8,["layout"])]),_:1})])}var I=v($,[["render",N],["__scopeId","data-v-334bebb8"]]);export{I as default};
2 |
--------------------------------------------------------------------------------
/Vboot.Web.Entry/wwwroot/assets/index.165278418353430.js:
--------------------------------------------------------------------------------
1 | var h=Object.defineProperty;var d=Object.getOwnPropertySymbols;var v=Object.prototype.hasOwnProperty,C=Object.prototype.propertyIsEnumerable;var i=(t,o,e)=>o in t?h(t,o,{enumerable:!0,configurable:!0,writable:!0,value:e}):t[o]=e,_=(t,o)=>{for(var e in o||(o={}))v.call(o,e)&&i(t,e,o[e]);if(d)for(var e of d(o))C.call(o,e)&&i(t,e,o[e]);return t};import{Q as g}from"./qrcode.1652784183534.js";import{_ as q}from"./index.1652784183534.js";import{a as x,a3 as F,m as b,ag as w,b as y,Z as s,S as c,a2 as n,o as R,e as r,l as $,X as Q}from"./vue.1652784183534.js";const k=x({name:"funQrcode",setup(){const{proxy:t}=$(),o=F({qrcode:""}),e=()=>{new g(t.$refs.qrcodeRef,{text:`https://lyt-top.gitee.io/vue-next-admin-preview/#/login?t=${new Date().getTime()}`,width:125,height:125,colorDark:"#000000",colorLight:"#ffffff"})},a=()=>{t.$refs.qrcodeRef.innerHTML="",e()};return b(()=>{e()}),_({onInitQrcode:a},w(o))}}),E={class:"qrcode-container"},j={class:"qrcode-img-warp"},B={class:"mb30 mt30 qrcode-img"},I={class:"qrcode",ref:"qrcodeRef"},D=Q(" \u91CD\u65B0\u751F\u6210 ");function N(t,o,e,a,T,V){const l=n("el-alert"),u=n("ele-Refresh"),f=n("el-icon"),p=n("el-button"),m=n("el-card");return R(),y("div",E,[s(m,{shadow:"hover",header:"qrcodejs2 \u4E8C\u7EF4\u7801\u751F\u6210"},{default:c(()=>[s(l,{title:"\u611F\u8C22\u4F18\u79C0\u7684 `qrcodejs2`\uFF0C\u9879\u76EE\u5730\u5740\uFF1Ahttps://github.com/davidshimjs/qrcodejs",type:"success",closable:!1,class:"mb15"}),r("div",j,[r("div",B,[r("div",I,null,512)]),s(p,{type:"primary",size:"default",onClick:t.onInitQrcode},{default:c(()=>[s(f,null,{default:c(()=>[s(u)]),_:1}),D]),_:1},8,["onClick"])])]),_:1})])}var H=q(k,[["render",N],["__scopeId","data-v-270b5237"]]);export{H as default};
2 |
--------------------------------------------------------------------------------
/Vboot.Web.Entry/wwwroot/assets/index.165278418353437.js:
--------------------------------------------------------------------------------
1 | var d=Object.defineProperty;var c=Object.getOwnPropertySymbols;var _=Object.prototype.hasOwnProperty,f=Object.prototype.propertyIsEnumerable;var m=(a,o,n)=>o in a?d(a,o,{enumerable:!0,configurable:!0,writable:!0,value:n}):a[o]=n,p=(a,o)=>{for(var n in o||(o={}))_.call(o,n)&&m(a,n,o[n]);if(c)for(var n of c(o))f.call(o,n)&&m(a,n,o[n]);return a};import{l as v}from"./logo-mini.1652784183534.js";import{_ as g}from"./index.1652784183534.js";import{a as F,a3 as b,ag as h,b as C,Z as e,S as l,a2 as u,o as E}from"./vue.1652784183534.js";const B=F({name:"makeSvgDemo",setup(){const a=b({tableData:[{a1:"name",a2:"svg \u56FE\u6807\u7EC4\u4EF6\u540D\u5B57 / svg \u8DEF\u5F84 url",a3:"string",a4:"",a5:""},{a1:"size",a2:"svg \u5927\u5C0F",a3:"number",a4:"",a5:14},{a1:"color",a2:"svg \u989C\u8272",a3:"string",a4:"",a5:""}]});return p({logoMini:v},h(a))}}),D={class:"svg-demo-container"};function z(a,o,n,k,w,A){const s=u("SvgIcon"),r=u("el-card"),t=u("el-table-column"),i=u("el-table");return E(),C("div",D,[e(r,{shadow:"hover",header:"svgIcon\uFF1A\u6F14\u793A\uFF08\u652F\u6301\u672C\u5730svg\uFF09"},{default:l(()=>[e(s,{name:"iconfont icon-shuju1",color:"red",size:30}),e(s,{name:"ele-Trophy",color:"var(--el-color-primary)",size:30}),e(s,{name:"fa fa-flag-checkered",color:"#09f",size:30}),e(s,{name:a.logoMini,color:"#09f",size:30},null,8,["name"])]),_:1}),e(r,{shadow:"hover",header:"svgIcon\uFF1A\u53C2\u6570",class:"mt15"},{default:l(()=>[e(i,{data:a.tableData,style:{width:"100%"}},{default:l(()=>[e(t,{prop:"a1",label:"\u53C2\u6570"}),e(t,{prop:"a2",label:"\u8BF4\u660E"}),e(t,{prop:"a3",label:"\u7C7B\u578B"}),e(t,{prop:"a4",label:"\u53EF\u9009\u503C"}),e(t,{prop:"a5",label:"\u9ED8\u8BA4\u503C"})]),_:1},8,["data"])]),_:1})])}var y=g(B,[["render",z]]);export{y as default};
2 |
--------------------------------------------------------------------------------
/Vboot.Web.Entry/wwwroot/assets/index.165278418353438.js:
--------------------------------------------------------------------------------
1 | var r=Object.defineProperty;var n=Object.getOwnPropertySymbols;var p=Object.prototype.hasOwnProperty,m=Object.prototype.propertyIsEnumerable;var t=(o,e,a)=>e in o?r(o,e,{enumerable:!0,configurable:!0,writable:!0,value:a}):o[e]=a,u=(o,e)=>{for(var a in e||(e={}))p.call(e,a)&&t(o,a,e[a]);if(n)for(var a of n(e))m.call(e,a)&&t(o,a,e[a]);return o};import{_ as d}from"./index.1652784183534.js";import{a as c,a3 as i,ag as f,b as B,Z as _,a2 as v,o as F}from"./vue.1652784183534.js";const V=c({name:"menu2",setup(){const o=i({val:""});return u({},f(o))}});function $(o,e,a,D,k,x){const l=v("el-input");return F(),B("div",null,[_(l,{modelValue:o.val,"onUpdate:modelValue":e[0]||(e[0]=s=>o.val=s),placeholder:"menu2\uFF1A\u8BF7\u8F93\u5165\u5185\u5BB9\u6D4B\u8BD5\u8DEF\u7531\u7F13\u5B58"},null,8,["modelValue"])])}var g=d(V,[["render",$]]);export{g as default};
2 |
--------------------------------------------------------------------------------
/Vboot.Web.Entry/wwwroot/assets/index.165278418353439.js:
--------------------------------------------------------------------------------
1 | var v=Object.defineProperty;var i=Object.getOwnPropertySymbols;var w=Object.prototype.hasOwnProperty,g=Object.prototype.propertyIsEnumerable;var l=(e,s,t)=>s in e?v(e,s,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[s]=t,_=(e,s)=>{for(var t in s||(s={}))w.call(s,t)&&l(e,t,s[t]);if(i)for(var t of i(s))g.call(s,t)&&l(e,t,s[t]);return e};import{i as x}from"./getStyleSheets.1652784183534.js";import{_ as F}from"./index.1652784183534.js";import{a as I,a3 as y,m as A,ag as B,b as d,Z as u,S as a,a2 as n,o as c,F as L,a7 as $,R as k,e as o,M as C,Y as E}from"./vue.1652784183534.js";const S=I({name:"pagesAwesome",setup(){const e=y({sheetsIconList:[]}),s=()=>{x.awe().then(t=>e.sheetsIconList=t)};return A(()=>{s()}),_({},B(e))}}),b={class:"awesome-container"},D={class:"iconfont-warp"},M={class:"flex-margin"},N={class:"iconfont-warp-value"},R={class:"iconfont-warp-label mt10"};function V(e,s,t,z,G,Y){const m=n("el-col"),p=n("el-row"),f=n("el-card");return c(),d("div",b,[u(f,{shadow:"hover",header:`fontawesome \u5B57\u4F53\u56FE\u6807(\u81EA\u52A8\u8F7D\u5165)\uFF1A${e.sheetsIconList.length-24}\u4E2A`},{default:a(()=>[u(p,{class:"iconfont-row"},{default:a(()=>[(c(!0),d(L,null,$(e.sheetsIconList,(r,h)=>(c(),k(m,{xs:12,sm:8,md:6,lg:4,xl:2,key:h},{default:a(()=>[o("div",D,[o("div",M,[o("div",N,[o("i",{class:C([r,"fa"])},null,2)]),o("div",R,E(r),1)])])]),_:2},1024))),128))]),_:1})]),_:1},8,["header"])])}var J=F(S,[["render",V],["__scopeId","data-v-6a551862"]]);export{J as default};
2 |
--------------------------------------------------------------------------------
/Vboot.Web.Entry/wwwroot/assets/index.16527841835344.css:
--------------------------------------------------------------------------------
1 | .awesome-container .iconfont-row[data-v-6a551862]{border-top:1px solid var(--next-border-color-light);border-left:1px solid var(--next-border-color-light)}.awesome-container .iconfont-row .iconfont-warp[data-v-6a551862]{text-align:center;border-right:1px solid var(--next-border-color-light);border-bottom:1px solid var(--next-border-color-light);height:120px;overflow:hidden;display:flex;transition:all .3s ease}.awesome-container .iconfont-row .iconfont-warp[data-v-6a551862]:hover{box-shadow:0 2px 12px var(--next-color-dark-hover);cursor:pointer;transition:all .3s ease}.awesome-container .iconfont-row .iconfont-warp:hover .iconfont-warp-value i[data-v-6a551862],.awesome-container .iconfont-row .iconfont-warp:hover .iconfont-warp-label[data-v-6a551862]{color:var(--el-color-primary);transition:all .3s ease}.awesome-container .iconfont-row .iconfont-warp .iconfont-warp-value i[data-v-6a551862]{color:#606266;font-size:32px;transition:all .3s ease}.awesome-container .iconfont-row .iconfont-warp .iconfont-warp-label[data-v-6a551862]{color:#99a9bf;transition:all .3s ease}
2 |
--------------------------------------------------------------------------------
/Vboot.Web.Entry/wwwroot/assets/index.165278418353442.js:
--------------------------------------------------------------------------------
1 | var v=Object.defineProperty;var i=Object.getOwnPropertySymbols;var g=Object.prototype.hasOwnProperty,w=Object.prototype.propertyIsEnumerable;var _=(e,t,s)=>t in e?v(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s,u=(e,t)=>{for(var s in t||(t={}))g.call(t,s)&&_(e,s,t[s]);if(i)for(var s of i(t))w.call(t,s)&&_(e,s,t[s]);return e};import{i as x}from"./getStyleSheets.1652784183534.js";import{_ as I}from"./index.1652784183534.js";import{a as A,a3 as E,m as S,ag as y,b as d,Z as a,S as c,a2 as o,o as r,F as B,a7 as C,R as L,e as n,Y as $}from"./vue.1652784183534.js";const k=A({name:"pagesElement",setup(){const e=E({sheetsIconList:[]}),t=()=>{x.ele().then(s=>{e.sheetsIconList=s})};return S(()=>{t()}),u({},y(e))}}),D={class:"element-container"},b={class:"iconfont-warp"},N={class:"flex-margin"},R={class:"iconfont-warp-value"},V={class:"iconfont-warp-label mt10"};function z(e,t,s,G,M,Y){const m=o("SvgIcon"),p=o("el-col"),f=o("el-row"),h=o("el-card");return r(),d("div",D,[a(h,{shadow:"hover",header:`element plus \u5B57\u4F53\u56FE\u6807(\u81EA\u52A8\u8F7D\u5165\uFF0C\u589E\u52A0\u4E86 ele- \u524D\u7F00\uFF0C\u4F7F\u7528\u65F6\uFF1Aele-Aim)\uFF1A${e.sheetsIconList.length}\u4E2A`},{default:c(()=>[a(f,{class:"iconfont-row"},{default:c(()=>[(r(!0),d(B,null,C(e.sheetsIconList,(l,F)=>(r(),L(p,{xs:12,sm:8,md:6,lg:4,xl:2,key:F},{default:c(()=>[n("div",b,[n("div",N,[n("div",R,[a(m,{name:l,size:30},null,8,["name"])]),n("div",V,$(l),1)])])]),_:2},1024))),128))]),_:1})]),_:1},8,["header"])])}var J=I(k,[["render",z],["__scopeId","data-v-2358c18e"]]);export{J as default};
2 |
--------------------------------------------------------------------------------
/Vboot.Web.Entry/wwwroot/assets/index.165278418353447.js:
--------------------------------------------------------------------------------
1 | var v=Object.defineProperty;var i=Object.getOwnPropertySymbols;var g=Object.prototype.hasOwnProperty,w=Object.prototype.propertyIsEnumerable;var l=(e,t,o)=>t in e?v(e,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[t]=o,_=(e,t)=>{for(var o in t||(t={}))g.call(t,o)&&l(e,o,t[o]);if(i)for(var o of i(t))w.call(t,o)&&l(e,o,t[o]);return e};import{i as x}from"./getStyleSheets.1652784183534.js";import{_ as F}from"./index.1652784183534.js";import{a as I,a3 as y,m as B,ag as L,b as d,Z as u,S as n,a2 as a,o as c,F as $,a7 as k,R as A,e as s,M as C,Y as E}from"./vue.1652784183534.js";const S=I({name:"pagesIocnfont",setup(){const e=y({sheetsIconList:[]}),t=()=>{x.ali().then(o=>e.sheetsIconList=o)};return B(()=>{t()}),_({},L(e))}}),b={class:"iconfont-container"},D={class:"iconfont-warp"},M={class:"flex-margin"},N={class:"iconfont-warp-value"},R={class:"iconfont-warp-label mt10"};function V(e,t,o,z,G,Y){const p=a("el-col"),f=a("el-row"),m=a("el-card");return c(),d("div",b,[u(m,{shadow:"hover",header:`iconfont \u5B57\u4F53\u56FE\u6807(\u81EA\u52A8\u8F7D\u5165)\uFF1A${e.sheetsIconList.length}\u4E2A`},{default:n(()=>[u(f,{class:"iconfont-row"},{default:n(()=>[(c(!0),d($,null,k(e.sheetsIconList,(r,h)=>(c(),A(p,{xs:12,sm:8,md:6,lg:4,xl:2,key:h},{default:n(()=>[s("div",D,[s("div",M,[s("div",N,[s("i",{class:C([r,"iconfont"])},null,2)]),s("div",R,E(r),1)])])]),_:2},1024))),128))]),_:1})]),_:1},8,["header"])])}var J=F(S,[["render",V],["__scopeId","data-v-30050c08"]]);export{J as default};
2 |
--------------------------------------------------------------------------------
/Vboot.Web.Entry/wwwroot/assets/index.16527841835345.js:
--------------------------------------------------------------------------------
1 | import{s as a,E as t,g as i,r as o}from"./index.1652784183534.js";const l=()=>{let u=[],n="0123456789abcdef";for(let e=0;e<36;e++)u[e]=n.substr(Math.floor(Math.random()*16),1);return u[14]="4",u[19]=n.substr(u[19]&3|8,1),u.join("")};async function s(u){const n=await a({url:u.url,method:"get",params:u.form});u.list=n.items,u.total=n.total,u.loading=!1}function d(u,n){n.ids=u.map(e=>e.id),n.single=u.length!==1,n.multiple=!u.length}async function g(u){const n=u.ids.join(",");if(n.length<=0){t.warning("\u8BF7\u9009\u62E9\u540E\u518D\u8FDB\u884C\u5220\u9664");return}i.confirm("\u786E\u8BA4\u5220\u9664\u5DF2\u9009\u4E2D\u7684\u6570\u636E\u9879?","\u8B66\u544A",{confirmButtonText:"\u786E\u5B9A",cancelButtonText:"\u53D6\u6D88",type:"warning"}).then(async()=>{await a({url:u.url+"/"+n,method:"delete"}),await s(u)}).catch(()=>t.info("\u5DF2\u53D6\u6D88\u5220\u9664"))}async function r(u){u.list=await a({url:u.url+"/tree",method:"get",params:u.form}),u.loading=!1}function D(u,n){n.ids=u.map(e=>e.id),n.single=u.length!==1,n.multiple=!u.length}async function f(u){const n=u.ids.join(",");if(n.length<=0){t.warning("\u8BF7\u9009\u62E9\u540E\u518D\u8FDB\u884C\u5220\u9664");return}i.confirm("\u786E\u8BA4\u5220\u9664\u5DF2\u9009\u4E2D\u7684\u6570\u636E\u9879?","\u8B66\u544A",{confirmButtonText:"\u786E\u5B9A",cancelButtonText:"\u53D6\u6D88",type:"warning"}).then(async()=>{await a({url:u.url+"/"+n,method:"delete"}),await r(u)}).catch(()=>t.info("\u5DF2\u53D6\u6D88\u5220\u9664"))}const h=async(u,n)=>{i.confirm("\u786E\u8BA4\u8981\u5220\u9664\u5417?","\u8B66\u544A",{confirmButtonText:"\u786E\u5B9A",cancelButtonText:"\u53D6\u6D88",type:"warning"}).then(async()=>{await a({url:u.url+"/"+n,method:"delete"}),await r(u)}).catch(()=>t.info("\u5DF2\u53D6\u6D88\u5220\u9664"))},p=u=>{o.push({path:u+"/edit",query:{uuid:l()}})},m=(u,n)=>{o.push({path:u+"/edit",query:{id:n}})},w=u=>{window.open("#/page/"+u)},B=u=>{window.open("#/page/"+u)},E=u=>{window.open("#/page/"+u)};export{g as a,d as b,m as c,r as d,f as e,h as f,D as g,B as h,E as i,s as l,w as p,p as t};
2 |
--------------------------------------------------------------------------------
/Vboot.Web.Entry/wwwroot/assets/index.165278418353450.js:
--------------------------------------------------------------------------------
1 | var u=Object.defineProperty;var o=Object.getOwnPropertySymbols;var d=Object.prototype.hasOwnProperty,h=Object.prototype.propertyIsEnumerable;var a=(e,t,s)=>t in e?u(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s,r=(e,t)=>{for(var s in t||(t={}))d.call(t,s)&&a(e,s,t[s]);if(o)for(var s of o(t))h.call(t,s)&&a(e,s,t[s]);return e};import{_ as l}from"./index.1652784183534.js";import{a as m,a3 as _,ag as f,b as g,Z as c,S as v,a2 as p,o as x}from"./vue.1652784183534.js";const F=m({name:"pagesPreview",setup(){const e=_({url:"https://ss0.bdstatic.com/70cFvHSh_Q1YnxGkpoWK1HF6hhy/it/u=1813762643,1914315241&fm=26&gp=0.jpg",srcList:["https://ss0.bdstatic.com/70cFvHSh_Q1YnxGkpoWK1HF6hhy/it/u=1813762643,1914315241&fm=26&gp=0.jpg","https://ss1.bdstatic.com/70cFuXSh_Q1YnxGkpoWK1HF6hhy/it/u=317673774,2961727727&fm=26&gp=0.jpg","https://fuss10.elemecdn.com/1/8e/aeffeb4de74e2fde4bd74fc7b4486jpeg.jpeg"]});return r({},f(e))}}),b={class:"preview-container"};function w(e,t,s,j,k,B){const n=p("el-image"),i=p("el-card");return x(),g("div",b,[c(i,{shadow:"hover",header:"element-plus \u5927\u56FE\u9884\u89C8"},{default:v(()=>[c(n,{style:{width:"100px",height:"100px","border-radius":"5px"},src:e.url,"preview-src-list":e.srcList,title:"\u70B9\u51FB\u67E5\u770B\u5927\u56FE\u9884\u89C8"},null,8,["src","preview-src-list"])]),_:1})])}var E=l(F,[["render",w]]);export{E as default};
2 |
--------------------------------------------------------------------------------
/Vboot.Web.Entry/wwwroot/assets/index.165278418353451.js:
--------------------------------------------------------------------------------
1 | var f=Object.defineProperty;var p=Object.getOwnPropertySymbols;var v=Object.prototype.hasOwnProperty,A=Object.prototype.propertyIsEnumerable;var _=(e,t,o)=>t in e?f(e,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[t]=o,d=(e,t)=>{for(var o in t||(t={}))v.call(t,o)&&_(e,o,t[o]);if(p)for(var o of p(t))A.call(t,o)&&_(e,o,t[o]);return e};import{_ as D}from"./index.1652784183534.js";import{a as F,a3 as E,ag as k,b as h,Z as s,S as n,a2 as u,o as i,R as r,W as S,X as b}from"./vue.1652784183534.js";const N=F({name:"pagesSteps",setup(){const e=E({stepsActive:1});return d({onNextSteps:()=>{e.stepsActive++>2&&(e.stepsActive=1)}},k(e))}}),g={class:"steps-container"},y=b(" \u4E0B\u4E00\u6B65 ");function x(e,t,o,z,T,$){const c=u("SvgIcon"),a=u("el-step"),m=u("el-steps"),l=u("el-result"),B=u("el-button"),C=u("el-card");return i(),h("div",g,[s(C,{shadow:"hover",header:"element-plus \u6B65\u9AA4\u6761"},{default:n(()=>[s(m,{active:e.stepsActive},{default:n(()=>[s(a,{title:"\u7B2C\u4E00\u6B65"},{icon:n(()=>[s(c,{name:"iconfont icon-0_round_solid",size:20})]),_:1}),s(a,{title:"\u7B2C\u4E8C\u6B65"},{icon:n(()=>[s(c,{name:"iconfont icon-2_round_solid",size:20})]),_:1}),s(a,{title:"\u7B2C\u4E09\u6B65"},{icon:n(()=>[s(c,{name:"iconfont icon-3_round_solid",size:20})]),_:1})]),_:1},8,["active"]),e.stepsActive===1?(i(),r(l,{key:0,icon:"success",title:"\u6210\u529F\u63D0\u793A",subTitle:"\u8BF7\u6839\u636E\u63D0\u793A\u8FDB\u884C\u64CD\u4F5C"})):e.stepsActive===2?(i(),r(l,{key:1,icon:"warning",title:"\u8B66\u544A\u63D0\u793A",subTitle:"\u8BF7\u6839\u636E\u63D0\u793A\u8FDB\u884C\u64CD\u4F5C"})):e.stepsActive===3?(i(),r(l,{key:2,icon:"error",title:"\u9519\u8BEF\u63D0\u793A",subTitle:"\u8BF7\u6839\u636E\u63D0\u793A\u8FDB\u884C\u64CD\u4F5C"})):S("",!0),s(B,{onClick:e.onNextSteps,size:"default",class:"mt15",type:"primary"},{default:n(()=>[s(c,{name:"iconfont icon-step"}),y]),_:1},8,["onClick"])]),_:1})])}var R=D(N,[["render",x]]);export{R as default};
2 |
--------------------------------------------------------------------------------
/Vboot.Web.Entry/wwwroot/assets/index.165278418353454.js:
--------------------------------------------------------------------------------
1 | var w=Object.defineProperty;var i=Object.getOwnPropertySymbols;var F=Object.prototype.hasOwnProperty,x=Object.prototype.propertyIsEnumerable;var _=(s,e,a)=>e in s?w(s,e,{enumerable:!0,configurable:!0,writable:!0,value:a}):s[e]=a,d=(s,e)=>{for(var a in e||(e={}))F.call(e,a)&&_(s,a,e[a]);if(i)for(var a of i(e))x.call(e,a)&&_(s,a,e[a]);return s};import{_ as g}from"./index.1652784183534.js";import{a as C,a3 as E,ag as y,b as o,Z as u,S as f,a2 as k,aa as $,o as l,e as t,F as p,a7 as v,T as h,Y as m}from"./vue.1652784183534.js";const b=C({name:"pagesWaterfall",setup(){const s=E({});return d({},y(s))}}),B={class:"waterfall-container"},D={class:"waterfall-first"},N={class:"w100 h100 flex"},S={class:"flex-margin"},V={class:"waterfall-last"},I={class:"w100 h100 flex"},L={class:"flex-margin"};function R(s,e,a,T,W,Y){const n=k("el-card"),c=$("waves");return l(),o("div",B,[u(n,{shadow:"hover",header:"\u7011\u5E03\u5C4F\uFF08\u5E03\u5C40\u4E00\uFF09",class:"mb15"},{default:f(()=>[t("div",D,[(l(),o(p,null,v(30,r=>h(t("div",{class:"waterfall-first-item",key:r},[t("div",N,[t("span",S,m(r),1)])]),[[c]])),64))])]),_:1}),u(n,{shadow:"hover",header:"\u7011\u5E03\u5C4F\uFF08\u5E03\u5C40\u4E8C\uFF09"},{default:f(()=>[t("div",V,[(l(),o(p,null,v(30,r=>h(t("div",{class:"waterfall-last-item",key:r},[t("div",I,[t("span",L,m(r),1)])]),[[c,"light"]])),64))])]),_:1})])}var z=g(b,[["render",R],["__scopeId","data-v-2fb4aec1"]]);export{z as default};
2 |
--------------------------------------------------------------------------------
/Vboot.Web.Entry/wwwroot/assets/index.165278418353457.js:
--------------------------------------------------------------------------------
1 | var f=Object.defineProperty;var u=Object.getOwnPropertySymbols;var C=Object.prototype.hasOwnProperty,k=Object.prototype.propertyIsEnumerable;var _=(t,e,o)=>e in t?f(t,e,{enumerable:!0,configurable:!0,writable:!0,value:o}):t[e]=o,d=(t,e)=>{for(var o in e||(e={}))C.call(e,o)&&_(t,o,e[o]);if(u)for(var o of u(e))k.call(e,o)&&_(t,o,e[o]);return t};import{a as v,s as T,a3 as g,B as h,ag as w,b as l,e as m,Y as D,F as N,a7 as y,a2 as E,o as s,Z as F}from"./vue.1652784183534.js";import{_ as $,u as B}from"./index.1652784183534.js";const b=v({name:"pagesWorkflowTool",setup(t,{emit:e}){const o=B(),{themeConfig:a}=T(o),i=g({toolList:[{icon:"ele-Help",title:"\u5E2E\u52A9",fnName:"help"},{icon:"ele-Download",title:"\u4E0B\u8F7D",fnName:"download"},{icon:"ele-Check",title:"\u63D0\u4EA4",fnName:"submit"},{icon:"ele-DocumentCopy",title:"\u590D\u5236",fnName:"copy"},{icon:"ele-Delete",title:"\u5220\u9664",fnName:"del"},{icon:"ele-FullScreen",title:"\u5168\u5C4F",fnName:"fullscreen"}]}),c=h(()=>{let{globalTitle:n}=a.value;return`${n}\u5DE5\u4F5C\u6D41`});return d({setToolTitle:c,onToolClick:n=>{e("tool",n)}},w(i))}}),S={class:"workflow-tool"},I={class:"pl15"},L={class:"workflow-tool-right"},x=["title","onClick"];function A(t,e,o,a,i,c){const r=E("SvgIcon");return s(),l("div",S,[m("div",I,D(t.setToolTitle),1),m("div",L,[(s(!0),l(N,null,y(t.toolList,(n,p)=>(s(),l("div",{class:"workflow-tool-icon",key:p,title:n.title,onClick:R=>t.onToolClick(n.fnName)},[F(r,{name:n.icon},null,8,["name"])],8,x))),128))])])}var Y=$(b,[["render",A],["__scopeId","data-v-4882b14e"]]);export{Y as default};
2 |
--------------------------------------------------------------------------------
/Vboot.Web.Entry/wwwroot/assets/index.165278418353459.js:
--------------------------------------------------------------------------------
1 | var k=Object.defineProperty;var m=Object.getOwnPropertySymbols;var N=Object.prototype.hasOwnProperty,v=Object.prototype.propertyIsEnumerable;var c=(e,n,o)=>n in e?k(e,n,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[n]=o,f=(e,n)=>{for(var o in n||(n={}))N.call(n,o)&&c(e,o,n[o]);if(m)for(var o of m(n))v.call(n,o)&&c(e,o,n[o]);return e};import w from"./line.1652784183534.js";import y from"./node.1652784183534.js";import{_ as L}from"./index.1652784183534.js";import{a as R,j as C,a3 as S,ag as h,b as j,Z as b,S as _,n as B,a2 as t,o as p,R as g}from"./vue.1652784183534.js";import"./echarts.1652784183534.js";const O=R({name:"pagesWorkflowDrawer",components:{Line:w,Node:y},setup(e,{emit:n}){const o=C(),l=C(),s=S({isOpen:!1,nodeData:{type:"node"},jsplumbConn:{}});return f({lineRef:o,nodeRef:l,open:(a,r)=>{s.isOpen=!0,s.jsplumbConn=r,s.nodeData=a,B(()=>{a.type==="line"?o.value.getParentData(a):l.value.getParentData(a)})},close:()=>{s.isOpen=!1},onLineChange:a=>{s.jsplumbConn.label=a,n("label",s.jsplumbConn)},onNodeSubmit:a=>{n("node",a)}},h(s))}});function $(e,n,o,l,s,D){const i=t("Line"),u=t("Node"),d=t("el-scrollbar"),a=t("el-drawer");return p(),j("div",null,[b(a,{title:`${e.nodeData.type==="line"?"\u7EBF":"\u8282\u70B9"}\u64CD\u4F5C`,modelValue:e.isOpen,"onUpdate:modelValue":n[0]||(n[0]=r=>e.isOpen=r),size:"320px"},{default:_(()=>[b(d,null,{default:_(()=>[e.nodeData.type==="line"?(p(),g(i,{key:0,onChange:e.onLineChange,onClose:e.close,ref:"lineRef"},null,8,["onChange","onClose"])):(p(),g(u,{key:1,onSubmit:e.onNodeSubmit,onClose:e.close,ref:"nodeRef"},null,8,["onSubmit","onClose"]))]),_:1})]),_:1},8,["title","modelValue"])])}var U=L(O,[["render",$]]);export{U as default};
2 |
--------------------------------------------------------------------------------
/Vboot.Web.Entry/wwwroot/assets/index.165278418353460.js:
--------------------------------------------------------------------------------
1 | var v=Object.defineProperty;var p=Object.getOwnPropertySymbols;var C=Object.prototype.hasOwnProperty,h=Object.prototype.propertyIsEnumerable;var d=(s,e,t)=>e in s?v(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t,g=(s,e)=>{for(var t in e||(e={}))C.call(e,t)&&d(s,t,e[t]);if(p)for(var t of p(e))h.call(e,t)&&d(s,t,e[t]);return s};import{a as _,s as V,a3 as F,aF as B,B as D,ag as T,b,e as x,Z as a,S as f,O as y,a2 as l,o as E,X as N}from"./vue.1652784183534.js";import{_ as k,b as R,u as $}from"./index.1652784183534.js";const S=_({name:"paramsCommon",setup(){const s=R(),e=$(),{themeConfig:t}=V(e),{isTagsViewCurrenFull:r}=V(s),o=F({value:"",tagsViewName:null}),c=B(),u=D(()=>{let{isTagsview:n}=t.value;return r.value?"30px":n?"114px":"80px"});return g({setViewHeight:u,onGoDetailsClick:()=>{c.push({path:"/params/common/details",query:{id:o.value,tagsViewName:o.tagsViewName}}),o.value=""}},T(o))}}),G={class:"flex-margin",style:{width:"400px"}},z=N(" \u666E\u901A\u8DEF\u7531\u4F20\u53C2 ");function A(s,e,t,r,o,c){const u=l("el-input"),m=l("SvgIcon"),n=l("el-button"),w=l("el-result");return E(),b("div",{class:"layout-view-bg-white flex",style:y({height:`calc(100vh - ${s.setViewHeight}`})},[x("div",G,[a(w,{icon:"success",title:"\u666E\u901A\u8DEF\u7531",subTitle:"\u53EF `\u5F00\u542F TagsView \u5171\u7528` \u8FDB\u884C\u5355\u6807\u7B7E\u6D4B\u8BD5"},{extra:f(()=>[a(u,{modelValue:s.tagsViewName,"onUpdate:modelValue":e[0]||(e[0]=i=>s.tagsViewName=i),placeholder:"\u8BF7\u8F93\u5165tagsView \u540D\u79F0",clearable:"",class:"mb15",style:{width:"400px"}},null,8,["modelValue"]),a(u,{modelValue:s.value,"onUpdate:modelValue":e[1]||(e[1]=i=>s.value=i),placeholder:"\u8BF7\u8F93\u5165\u8DEF\u7531\u53C2\u6570 id \u503C",clearable:"",style:{width:"400px"}},null,8,["modelValue"]),a(n,{type:"primary",size:"default",class:"mt15",onClick:s.onGoDetailsClick},{default:f(()=>[a(m,{name:"iconfont icon-putong"}),z]),_:1},8,["onClick"])]),_:1})])],4)}var q=k(S,[["render",A]]);export{q as default};
2 |
--------------------------------------------------------------------------------
/Vboot.Web.Entry/wwwroot/assets/index.165278418353461.js:
--------------------------------------------------------------------------------
1 | var v=Object.defineProperty;var p=Object.getOwnPropertySymbols;var C=Object.prototype.hasOwnProperty,_=Object.prototype.propertyIsEnumerable;var d=(t,e,a)=>e in t?v(t,e,{enumerable:!0,configurable:!0,writable:!0,value:a}):t[e]=a,g=(t,e)=>{for(var a in e||(e={}))C.call(e,a)&&d(t,a,e[a]);if(p)for(var a of p(e))_.call(e,a)&&d(t,a,e[a]);return t};import{a as h,s as V,a3 as F,aF as D,B as x,ag as y,b as B,e as T,Z as o,S as f,O as b,a2 as n,o as N,X as k}from"./vue.1652784183534.js";import{_ as E,b as R,u as $}from"./index.1652784183534.js";const S=h({name:"paramsDynamic",setup(){const t=R(),e=$(),{themeConfig:a}=V(e),{isTagsViewCurrenFull:r}=V(t),s=F({value:"",tagsViewName:""}),c=D(),u=x(()=>{let{isTagsview:l}=a.value;return r.value?"30px":l?"114px":"80px"});return g({setViewHeight:u,onGoDetailsClick:()=>{c.push({name:"paramsDynamicDetails",params:{t:"vue-next-admin",id:s.value,tagsViewName:s.tagsViewName}}),s.value=""}},y(s))}}),G={class:"flex-margin",style:{width:"400px"}},z=k(" \u52A8\u6001\u8DEF\u7531\u4F20\u53C2 ");function A(t,e,a,r,s,c){const u=n("el-input"),m=n("SvgIcon"),l=n("el-button"),w=n("el-result");return N(),B("div",{class:"layout-view-bg-white flex",style:b({height:`calc(100vh - ${t.setViewHeight}`})},[T("div",G,[o(w,{icon:"warning",title:"\u52A8\u6001\u8DEF\u7531",subTitle:"\u53EF `\u5F00\u542F TagsView \u5171\u7528` \u8FDB\u884C\u5355\u6807\u7B7E\u6D4B\u8BD5"},{extra:f(()=>[o(u,{modelValue:t.tagsViewName,"onUpdate:modelValue":e[0]||(e[0]=i=>t.tagsViewName=i),placeholder:"\u8BF7\u8F93\u5165tagsView \u540D\u79F0",clearable:"",class:"mb15",style:{width:"400px"}},null,8,["modelValue"]),o(u,{modelValue:t.value,"onUpdate:modelValue":e[1]||(e[1]=i=>t.value=i),placeholder:"\u8BF7\u8F93\u5165\u8DEF\u7531\u53C2\u6570id\u503C",clearable:"",style:{width:"400px"}},null,8,["modelValue"]),o(l,{type:"primary",size:"default",class:"mt15",onClick:t.onGoDetailsClick},{default:f(()=>[o(m,{name:"iconfont icon-dongtai"}),z]),_:1},8,["onClick"])]),_:1})])],4)}var O=E(S,[["render",A]]);export{O as default};
2 |
--------------------------------------------------------------------------------
/Vboot.Web.Entry/wwwroot/assets/index.165278418353467.js:
--------------------------------------------------------------------------------
1 | import{a as r,aF as i,b as c,Z as u,S as t,a2 as e,o as l,X as A}from"./vue.1652784183534.js";import{_ as m}from"./index.1652784183534.js";const C=r({name:"limitsBackEndEndPage",setup(){const o=i();return{onGoToFrontEndPage:()=>{o.push("/limits/frontEnd/page")}}}}),p=A(" \u7ACB\u5373\u524D\u5F80\u524D\u7AEF\u63A7\u5236\u8DEF\u7531 ");function _(o,n,d,D,B,f){const F=e("el-alert"),s=e("ele-Position"),a=e("el-icon"),E=e("el-button");return l(),c("div",null,[u(F,{title:"\u6E29\u99A8\u63D0\u793A\uFF1A1\u3001\u6B64\u9875\u9762\u65E0\u6CD5\u6A21\u62DF\u540E\u7AEF\u63A7\u5236\u8DEF\u7531\uFF0C\u56E0\u4E3A `gitee` \u4E0A\u6240\u8BF7\u6C42\u7684 `json` \u83DC\u5355\u6570\u636E\u7EBF\u4E0A\u4F1A\u51FA\u73B0\u8DE8\u57DF\u7684\u60C5\u51B5\uFF08json\u5730\u5740\uFF1A\n https://gitee.com/lyt-top/vue-next-admin-images/raw/master/menu/adminMenu.json\uFF09\u30022\u3001\u672C\u5730\u63A5\u53E3\u8BF7\u6C42\u6587\u4EF6\u4F4D\u7F6E\uFF1A`/src/api/menu/index.ts`\u3002\n 3\u3001\u62C9\u53D6\u4EE3\u7801\u540E\u672C\u5730\u8BF7\u6C42\u67E5\u770B\u540E\u7AEF\u63A7\u5236\u9875\u9762\u8DEF\u7531\u6548\u679C\uFF1A`/src/store/modules/themeConfig.ts`\u4E2D\u5F00\u542F\uFF08isRequestRoutes \u4E3A true\uFF0C\u5219\u5F00\u542F\u540E\u7AEF\u63A7\u5236\u8DEF\u7531\uFF09\u3002\n 4\u3001\u6B64\u9875\u9762\u6548\u679C\u53EA\u4F5C\u4E3A\u6F14\u793A\u4F7F\u7528\uFF0C\u82E5\u51FA\u73B0\u4E0D\u53EF\u9006\u8F6C\u7684bug\uFF0C\u8BF7\u5C1D\u8BD5 `F5` \u5237\u65B0\u9875\u9762\u30025\u3001\u9ED8\u8BA4\u542F\u7528\u7684\u662F `\u524D\u7AEF\u63A7\u5236\u8DEF\u7531`\u3002",type:"warning",closable:!1}),u(E,{type:"primary",size:"default",class:"mt15",onClick:o.onGoToFrontEndPage},{default:t(()=>[u(a,null,{default:t(()=>[u(s)]),_:1}),p]),_:1},8,["onClick"])])}var h=m(C,[["render",_]]);export{h as default};
2 |
--------------------------------------------------------------------------------
/Vboot.Web.Entry/wwwroot/assets/index.16527841835347.css:
--------------------------------------------------------------------------------
1 | .grid-layout-container .vue-grid-item[data-v-334bebb8]{background:var(--el-color-primary);color:var(--el-color-white)}
2 |
--------------------------------------------------------------------------------
/Vboot.Web.Entry/wwwroot/assets/index.165278418353470.js:
--------------------------------------------------------------------------------
1 | var r=Object.defineProperty;var n=Object.getOwnPropertySymbols;var p=Object.prototype.hasOwnProperty,m=Object.prototype.propertyIsEnumerable;var t=(o,e,a)=>e in o?r(o,e,{enumerable:!0,configurable:!0,writable:!0,value:a}):o[e]=a,u=(o,e)=>{for(var a in e||(e={}))p.call(e,a)&&t(o,a,e[a]);if(n)for(var a of n(e))m.call(e,a)&&t(o,a,e[a]);return o};import{_ as d}from"./index.1652784183534.js";import{a as c,a3 as i,ag as f,b as B,Z as _,a2 as v,o as F}from"./vue.1652784183534.js";const V=c({name:"menu11",setup(){const o=i({val:""});return u({},f(o))}});function $(o,e,a,D,k,x){const l=v("el-input");return F(),B("div",null,[_(l,{modelValue:o.val,"onUpdate:modelValue":e[0]||(e[0]=s=>o.val=s),placeholder:"menu11\uFF1A\u8BF7\u8F93\u5165\u5185\u5BB9\u6D4B\u8BD5\u8DEF\u7531\u7F13\u5B58"},null,8,["modelValue"])])}var g=d(V,[["render",$]]);export{g as default};
2 |
--------------------------------------------------------------------------------
/Vboot.Web.Entry/wwwroot/assets/index.165278418353471.js:
--------------------------------------------------------------------------------
1 | var r=Object.defineProperty;var n=Object.getOwnPropertySymbols;var p=Object.prototype.hasOwnProperty,m=Object.prototype.propertyIsEnumerable;var t=(o,e,a)=>e in o?r(o,e,{enumerable:!0,configurable:!0,writable:!0,value:a}):o[e]=a,u=(o,e)=>{for(var a in e||(e={}))p.call(e,a)&&t(o,a,e[a]);if(n)for(var a of n(e))m.call(e,a)&&t(o,a,e[a]);return o};import{_ as d}from"./index.1652784183534.js";import{a as c,a3 as i,m as f,aD as v,ag as B,b as _,Z as F,a2 as D,o as V}from"./vue.1652784183534.js";const $=c({name:"menu13",setup(){const o=i({val:""});return f(()=>{console.log(2222)}),v(()=>{console.log(1111)}),u({},B(o))}});function g(o,e,a,k,x,A){const l=D("el-input");return V(),_("div",null,[F(l,{modelValue:o.val,"onUpdate:modelValue":e[0]||(e[0]=s=>o.val=s),placeholder:"menu13\uFF1A\u8BF7\u8F93\u5165\u5185\u5BB9\u6D4B\u8BD5\u8DEF\u7531\u7F13\u5B58"},null,8,["modelValue"])])}var M=d($,[["render",g]]);export{M as default};
2 |
--------------------------------------------------------------------------------
/Vboot.Web.Entry/wwwroot/assets/index.165278418353472.js:
--------------------------------------------------------------------------------
1 | var r=Object.defineProperty;var n=Object.getOwnPropertySymbols;var p=Object.prototype.hasOwnProperty,m=Object.prototype.propertyIsEnumerable;var t=(o,e,a)=>e in o?r(o,e,{enumerable:!0,configurable:!0,writable:!0,value:a}):o[e]=a,u=(o,e)=>{for(var a in e||(e={}))p.call(e,a)&&t(o,a,e[a]);if(n)for(var a of n(e))m.call(e,a)&&t(o,a,e[a]);return o};import{_ as d}from"./index.1652784183534.js";import{a as c,a3 as i,ag as f,b as B,Z as _,a2 as v,o as F}from"./vue.1652784183534.js";const V=c({name:"menu121",setup(){const o=i({val:""});return u({},f(o))}});function $(o,e,a,D,k,x){const l=v("el-input");return F(),B("div",null,[_(l,{modelValue:o.val,"onUpdate:modelValue":e[0]||(e[0]=s=>o.val=s),placeholder:"menu121\uFF1A\u8BF7\u8F93\u5165\u5185\u5BB9\u6D4B\u8BD5\u8DEF\u7531\u7F13\u5B58"},null,8,["modelValue"])])}var g=d(V,[["render",$]]);export{g as default};
2 |
--------------------------------------------------------------------------------
/Vboot.Web.Entry/wwwroot/assets/index.165278418353473.js:
--------------------------------------------------------------------------------
1 | var r=Object.defineProperty;var n=Object.getOwnPropertySymbols;var p=Object.prototype.hasOwnProperty,m=Object.prototype.propertyIsEnumerable;var t=(o,e,a)=>e in o?r(o,e,{enumerable:!0,configurable:!0,writable:!0,value:a}):o[e]=a,u=(o,e)=>{for(var a in e||(e={}))p.call(e,a)&&t(o,a,e[a]);if(n)for(var a of n(e))m.call(e,a)&&t(o,a,e[a]);return o};import{_ as d}from"./index.1652784183534.js";import{a as c,a3 as i,ag as f,b as B,Z as _,a2 as v,o as F}from"./vue.1652784183534.js";const V=c({name:"menu122",setup(){const o=i({val:""});return u({},f(o))}});function $(o,e,a,D,k,x){const l=v("el-input");return F(),B("div",null,[_(l,{modelValue:o.val,"onUpdate:modelValue":e[0]||(e[0]=s=>o.val=s),placeholder:"menu122\uFF1A\u8BF7\u8F93\u5165\u5185\u5BB9\u6D4B\u8BD5\u8DEF\u7531\u7F13\u5B58"},null,8,["modelValue"])])}var g=d(V,[["render",$]]);export{g as default};
2 |
--------------------------------------------------------------------------------
/Vboot.Web.Entry/wwwroot/assets/index.16527841835348.css:
--------------------------------------------------------------------------------
1 | .countup-card-item[data-v-1d6ef596]{width:100%;height:103px;background:var(--el-text-color-secondary);border-radius:4px;transition:all ease .3s}.countup-card-item[data-v-1d6ef596]:hover{box-shadow:0 2px 12px #0000001a;transition:all ease .3s}.countup-card-item-box[data-v-1d6ef596]{display:flex;align-items:center;position:relative;overflow:hidden}.countup-card-item-box:hover i[data-v-1d6ef596]{right:0px!important;bottom:0px!important;transition:all ease .3s}.countup-card-item-box i[data-v-1d6ef596]{position:absolute;right:-10px;bottom:-10px;font-size:70px;transform:rotate(-30deg);transition:all ease .3s}.countup-card-item-box .countup-card-item-flex[data-v-1d6ef596]{padding:0 20px;color:var(--el-color-white)}.countup-card-item-box .countup-card-item-flex .countup-card-item-title[data-v-1d6ef596],.countup-card-item-box .countup-card-item-flex .countup-card-item-tip[data-v-1d6ef596]{font-size:13px}.countup-card-item-box .countup-card-item-flex .countup-card-item-title-num[data-v-1d6ef596]{font-size:18px}.countup-card-item-box .countup-card-item-flex .countup-card-item-tip-num[data-v-1d6ef596]{font-size:13px}
2 |
--------------------------------------------------------------------------------
/Vboot.Web.Entry/wwwroot/assets/index.16527841835349.css:
--------------------------------------------------------------------------------
1 | .custom-contextmenu[data-v-492879ac]{transform-origin:center top;z-index:2190;position:fixed}.custom-contextmenu .el-dropdown-menu__item[data-v-492879ac]{font-size:12px!important;white-space:nowrap}.custom-contextmenu .el-dropdown-menu__item i[data-v-492879ac]{font-size:12px!important}
2 |
--------------------------------------------------------------------------------
/Vboot.Web.Entry/wwwroot/assets/line.1652784183534.js:
--------------------------------------------------------------------------------
1 | var V=Object.defineProperty;var p=Object.getOwnPropertySymbols;var h=Object.prototype.hasOwnProperty,B=Object.prototype.propertyIsEnumerable;var m=(l,e,n)=>e in l?V(l,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):l[e]=n,c=(l,e)=>{for(var n in e||(e={}))h.call(e,n)&&m(l,n,e[n]);if(p)for(var n of p(e))B.call(e,n)&&m(l,n,e[n]);return l};import{_ as k}from"./index.1652784183534.js";import{a as L,a3 as T,ag as v,b as D,Z as o,S as t,a2 as u,o as F,X as f}from"./vue.1652784183534.js";const R=L({name:"pagesWorkflowDrawerLine",setup(l,{emit:e}){const n=T({line:{}});return c({getParentData:a=>{n.line=a},onLineTextReset:()=>{n.line.label=""},onLineTextChange:()=>{e("change",n.line.label),e("close")}},v(n))}}),w={class:"pt15 pr15 pb15 pl15"},y=f(" \u91CD\u7F6E "),$=f(" \u4FDD\u5B58 ");function x(l,e,n,_,b,C){const a=u("el-input"),i=u("el-form-item"),d=u("SvgIcon"),r=u("el-button"),g=u("el-form");return F(),D("div",w,[o(g,{model:l.line,size:"default","label-width":"50px"},{default:t(()=>[o(i,{label:"\u6765\u5F80"},{default:t(()=>[o(a,{modelValue:l.line.contact,"onUpdate:modelValue":e[0]||(e[0]=s=>l.line.contact=s),placeholder:"\u6765\u5F80",clearable:"",disabled:""},null,8,["modelValue"])]),_:1}),o(i,{label:"\u7C7B\u578B"},{default:t(()=>[o(a,{modelValue:l.line.type,"onUpdate:modelValue":e[1]||(e[1]=s=>l.line.type=s),placeholder:"\u7C7B\u578B",clearable:"",disabled:""},null,8,["modelValue"])]),_:1}),o(i,{label:"label"},{default:t(()=>[o(a,{modelValue:l.line.label,"onUpdate:modelValue":e[2]||(e[2]=s=>l.line.label=s),placeholder:"\u8BF7\u8F93\u5165label\u5185\u5BB9",clearable:""},null,8,["modelValue"])]),_:1}),o(i,null,{default:t(()=>[o(r,{onClick:l.onLineTextReset},{default:t(()=>[o(d,{name:"ele-RefreshRight"}),y]),_:1},8,["onClick"]),o(r,{onClick:l.onLineTextChange,type:"primary"},{default:t(()=>[o(d,{name:"ele-Check"}),$]),_:1},8,["onClick"])]),_:1})]),_:1},8,["model"])])}var I=k(R,[["render",x]]);export{I as default};
2 |
--------------------------------------------------------------------------------
/Vboot.Web.Entry/wwwroot/assets/link.1652784183534.js:
--------------------------------------------------------------------------------
1 | var l=Object.defineProperty;var n=Object.getOwnPropertySymbols;var f=Object.prototype.hasOwnProperty,m=Object.prototype.propertyIsEnumerable;var i=(e,a,t)=>a in e?l(e,a,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[a]=t,u=(e,a)=>{for(var t in a||(a={}))f.call(a,t)&&i(e,t,a[t]);if(n)for(var t of n(a))m.call(a,t)&&i(e,t,a[t]);return e};import{a as p,s as h,aB as g,a3 as k,B as d,k as v,ag as R,b as _,e as w,Y as c,O as y,o as L}from"./vue.1652784183534.js";import{_ as $,u as B}from"./index.1652784183534.js";const M=p({name:"layoutLinkView",setup(){const e=B(),{themeConfig:a}=h(e),t=g(),s=k({currentRouteMeta:{isLink:"",title:""}}),o=d(()=>{let{isTagsview:r}=a.value;return r?"115px":"80px"});return v(()=>t.path,()=>{s.currentRouteMeta=t.meta},{immediate:!0}),u({setLinkHeight:o},R(s))}}),C=["href"];function T(e,a,t,s,o,r){return L(),_("div",{class:"layout-view-bg-white flex layout-view-link",style:y({height:`calc(100vh - ${e.setLinkHeight}`})},[w("a",{href:e.currentRouteMeta.isLink,target:"_blank",rel:"opener",class:"flex-margin"},c(e.$t(e.currentRouteMeta.title))+"\uFF1A"+c(e.currentRouteMeta.isLink),9,C)],4)}var H=$(M,[["render",T]]);export{H as default};
2 |
--------------------------------------------------------------------------------
/Vboot.Web.Entry/wwwroot/assets/logo-mini.1652784183534.js:
--------------------------------------------------------------------------------
1 | var o="assets/logo-mini.1652784183534.svg";export{o as l};
2 |
--------------------------------------------------------------------------------
/Vboot.Web.Entry/wwwroot/assets/mobile.1652784183534.css:
--------------------------------------------------------------------------------
1 | .login-content-form[data-v-52cdd77f]{margin-top:20px}.login-content-form .login-animation1[data-v-52cdd77f]{opacity:0;animation-name:error-num;animation-duration:.5s;animation-fill-mode:forwards;animation-delay:.1s}.login-content-form .login-animation2[data-v-52cdd77f]{opacity:0;animation-name:error-num;animation-duration:.5s;animation-fill-mode:forwards;animation-delay:.2s}.login-content-form .login-animation3[data-v-52cdd77f]{opacity:0;animation-name:error-num;animation-duration:.5s;animation-fill-mode:forwards;animation-delay:.3s}.login-content-form .login-animation4[data-v-52cdd77f]{opacity:0;animation-name:error-num;animation-duration:.5s;animation-fill-mode:forwards;animation-delay:.4s}.login-content-form .login-content-code[data-v-52cdd77f]{width:100%;padding:0}.login-content-form .login-content-submit[data-v-52cdd77f]{width:100%;letter-spacing:2px;font-weight:300;margin-top:15px}.login-content-form .login-msg[data-v-52cdd77f]{color:var(--el-text-color-placeholder)}
2 |
--------------------------------------------------------------------------------
/Vboot.Web.Entry/wwwroot/assets/mobile.1652784183534.js:
--------------------------------------------------------------------------------
1 | var v=Object.defineProperty;var _=Object.getOwnPropertySymbols;var V=Object.prototype.hasOwnProperty,$=Object.prototype.propertyIsEnumerable;var u=(e,o,a)=>o in e?v(e,o,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[o]=a,f=(e,o)=>{for(var a in o||(o={}))V.call(o,a)&&u(e,a,o[a]);if(_)for(var a of _(o))$.call(o,a)&&u(e,a,o[a]);return e};import{_ as y}from"./index.1652784183534.js";import{a as N,a3 as x,ag as F,R as S,S as l,a2 as n,o as I,Z as t,X as T,Y as m,e as r,az as B,aA as C}from"./vue.1652784183534.js";const k={userName:"",code:""},w=N({name:"loginMobile",setup(){const e=x({ruleForm:k});return f({},F(e))}}),z=e=>(B("data-v-52cdd77f"),e=e(),C(),e),M=z(()=>r("i",{class:"iconfont icon-dianhua el-input__icon"},null,-1)),P={class:"font12 mt30 login-animation4 login-msg"};function R(e,o,a,U,A,D){const d=n("el-input"),s=n("el-form-item"),g=n("ele-Position"),b=n("el-icon"),i=n("el-col"),p=n("el-button"),h=n("el-form");return I(),S(h,{size:"large",class:"login-content-form"},{default:l(()=>[t(s,{class:"login-animation1"},{default:l(()=>[t(d,{type:"text",placeholder:e.$t("message.mobile.placeholder1"),modelValue:e.ruleForm.userName,"onUpdate:modelValue":o[0]||(o[0]=c=>e.ruleForm.userName=c),clearable:"",autocomplete:"off"},{prefix:l(()=>[M]),_:1},8,["placeholder","modelValue"])]),_:1}),t(s,{class:"login-animation2"},{default:l(()=>[t(i,{span:15},{default:l(()=>[t(d,{type:"text",maxlength:"4",placeholder:e.$t("message.mobile.placeholder2"),modelValue:e.ruleForm.code,"onUpdate:modelValue":o[1]||(o[1]=c=>e.ruleForm.code=c),clearable:"",autocomplete:"off"},{prefix:l(()=>[t(b,{class:"el-input__icon"},{default:l(()=>[t(g)]),_:1})]),_:1},8,["placeholder","modelValue"])]),_:1}),t(i,{span:1}),t(i,{span:8},{default:l(()=>[t(p,{class:"login-content-code"},{default:l(()=>[T(m(e.$t("message.mobile.codeText")),1)]),_:1})]),_:1})]),_:1}),t(s,{class:"login-animation3"},{default:l(()=>[t(p,{round:"",type:"primary",class:"login-content-submit"},{default:l(()=>[r("span",null,m(e.$t("message.mobile.btnText")),1)]),_:1})]),_:1}),r("div",P,m(e.$t("message.mobile.msgText")),1)]),_:1})}var j=y(w,[["render",R],["__scopeId","data-v-52cdd77f"]]);export{j as default};
2 |
--------------------------------------------------------------------------------
/Vboot.Web.Entry/wwwroot/assets/node.1652784183534.css:
--------------------------------------------------------------------------------
1 | .workflow-drawer-node[data-v-1a9759f4] .el-tabs{box-shadow:unset;border:unset}.workflow-drawer-node[data-v-1a9759f4] .el-tabs .el-tabs__nav{display:flex;width:100%}.workflow-drawer-node[data-v-1a9759f4] .el-tabs .el-tabs__nav .el-tabs__item{flex:1;padding:unset;text-align:center}.workflow-drawer-node[data-v-1a9759f4] .el-tabs .el-tabs__nav .el-tabs__item:first-of-type.is-active{border-left-color:transparent}.workflow-drawer-node[data-v-1a9759f4] .el-tabs .el-tabs__nav .el-tabs__item:last-of-type.is-active{border-right-color:transparent}.workflow-drawer-node[data-v-1a9759f4] .el-tabs .el-tabs__content{padding:0;height:calc(100vh - 90px)}.workflow-drawer-node[data-v-1a9759f4] .el-tabs .el-tabs__content .el-tab-pane{height:100%}
2 |
--------------------------------------------------------------------------------
/Vboot.Web.Entry/wwwroot/assets/parent.1652784183534.js:
--------------------------------------------------------------------------------
1 | var R=Object.defineProperty;var l=Object.getOwnPropertySymbols;var _=Object.prototype.hasOwnProperty,V=Object.prototype.propertyIsEnumerable;var c=(s,e,t)=>e in s?R(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t,m=(s,e)=>{for(var t in e||(e={}))_.call(e,t)&&c(s,t,e[t]);if(l)for(var t of l(e))V.call(e,t)&&c(s,t,e[t]);return s};import{a as k,aB as y,s as f,a3 as N,B as T,K as A,n as B,I as C,k as K,ag as g,b as L,Z as p,S as v,l as P,a2 as $,o as r,_ as x,R as d,V as I,aE as E}from"./vue.1652784183534.js";import{_ as U,c as b,u as D}from"./index.1652784183534.js";const M=k({name:"layoutParentView",setup(){const{proxy:s}=P(),e=y(),t=b(),i=D(),{keepAliveNames:o}=f(t),{themeConfig:u}=f(i),a=N({refreshRouterViewKey:null,keepAliveNameList:[]}),n=T(()=>u.value.animation);return A(()=>{a.keepAliveNameList=o.value,s.mittBus.on("onTagsViewRefreshRouterView",h=>{a.keepAliveNameList=o.value.filter(w=>e.name!==w),a.refreshRouterViewKey=null,B(()=>{a.refreshRouterViewKey=h,a.keepAliveNameList=o.value})})}),C(()=>{s.mittBus.off("onTagsViewRefreshRouterView")}),K(()=>e.fullPath,()=>{a.refreshRouterViewKey=decodeURI(e.fullPath)}),m({setTransitionName:n},g(a))}}),S={class:"h100"};function Z(s,e,t,i,o,u){const a=$("router-view");return r(),L("div",S,[p(a,null,{default:v(({Component:n})=>[p(x,{name:s.setTransitionName,mode:"out-in"},{default:v(()=>[(r(),d(E,{include:s.keepAliveNameList},[(r(),d(I(n),{key:s.refreshRouterViewKey,class:"w100"}))],1032,["include"]))]),_:2},1032,["name"])]),_:1})])}var F=U(M,[["render",Z]]);export{F as default};
2 |
--------------------------------------------------------------------------------
/Vboot.Web.Entry/wwwroot/assets/scan.1652784183534.css:
--------------------------------------------------------------------------------
1 | .login-scan-animation[data-v-2a24e04c],.login-scan-container .login-msg[data-v-2a24e04c],.login-scan-container[data-v-2a24e04c]{opacity:0;animation-name:error-num;animation-duration:.5s;animation-fill-mode:forwards}.login-scan-container[data-v-2a24e04c]{padding:20px;display:flex;flex-direction:column;text-align:center;animation-delay:.1s}.login-scan-container[data-v-2a24e04c] img{margin:auto}.login-scan-container .login-msg[data-v-2a24e04c]{color:var(--el-text-color-placeholder);animation-delay:.2s}
2 |
--------------------------------------------------------------------------------
/Vboot.Web.Entry/wwwroot/assets/scan.1652784183534.js:
--------------------------------------------------------------------------------
1 | import{Q as n}from"./qrcode.1652784183534.js";import{_ as s}from"./index.1652784183534.js";import{a,j as r,m as c,b as i,e as t,Y as _,o as d}from"./vue.1652784183534.js";const f=a({name:"loginScan",setup(){const e=r(null),o=()=>{e.value.innerHTML="",new n(e.value,{text:"https://qm.qq.com/cgi-bin/qm/qr?k=RdUY97Vx0T0vZ_1OOu-X1yFNkWgDwbjC&jump_from=webapi",width:260,height:260,colorDark:"#000000",colorLight:"#ffffff"})};return c(()=>{o()}),{qrcodeRef:e}}}),l={class:"login-scan-container"},m={ref:"qrcodeRef"},p={class:"font12 mt20 login-msg"};function u(e,o,g,v,h,q){return d(),i("div",l,[t("div",m,null,512),t("div",p,_(e.$t("message.scan.text")),1)])}var b=s(f,[["render",u],["__scopeId","data-v-2a24e04c"]]);export{b as default};
2 |
--------------------------------------------------------------------------------
/Vboot.Web.Entry/wwwroot/assets/transverse.1652784183534.js:
--------------------------------------------------------------------------------
1 | import{H as c,M as s}from"./main.1652784183534.js";import{_ as p}from"./index.1652784183534.js";import{a2 as o,o as _,R as l,S as m,Z as e}from"./vue.1652784183534.js";import"./logo-mini.1652784183534.js";import"./sortable.esm.1652784183534.js";import"./parent.1652784183534.js";const i={name:"layoutTransverse",components:{Header:c,Main:s}};function f(d,u,k,b,x,v){const t=o("Header"),a=o("Main"),n=o("el-backtop"),r=o("el-container");return _(),l(r,{class:"layout-container flex-center layout-backtop"},{default:m(()=>[e(t),e(a),e(n,{target:".layout-backtop .el-main .el-scrollbar__wrap"})]),_:1})}var B=p(i,[["render",f]]);export{B as default};
2 |
--------------------------------------------------------------------------------
/Vboot.Web.Entry/wwwroot/assets/view.1652784183534.css:
--------------------------------------------------------------------------------
1 | .bjs-powered-by{display:none}.bpmn-container{height:100%}#modeler-container{flex:1;height:100%;position:relative;background:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PHBhdHRlcm4gaWQ9ImEiIHdpZHRoPSI0MCIgaGVpZ2h0PSI0MCIgcGF0dGVyblVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+PHBhdGggZD0iTTAgMTBoNDBNMTAgMHY0ME0wIDIwaDQwTTIwIDB2NDBNMCAzMGg0ME0zMCAwdjQwIiBmaWxsPSJub25lIiBzdHJva2U9IiNlMGUwZTAiIG9wYWNpdHk9Ii4yIi8+PHBhdGggZD0iTTQwIDBIMHY0MCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjZTBlMGUwIi8+PC9wYXR0ZXJuPjwvZGVmcz48cmVjdCB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSJ1cmwoI2EpIi8+PC9zdmc+) repeat!important}.djs-palette{border:none!important;background-color:#fff!important;box-shadow:0 3px 3px #0003;top:65px!important}.au-flex[data-v-38ab64ab]{display:flex;background-color:#fff}.au-msg[data-v-38ab64ab]{flex:1;width:100%}.au-button[data-v-38ab64ab]{width:105px;min-width:105px}.zpage[data-v-9deab12e]{overflow:auto}
2 |
--------------------------------------------------------------------------------
/Vboot.Web.Entry/wwwroot/assets/world.1652784183534.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zsvg-com/vboot-net/fef3130e129455a227be9be35005b0ee7d95ff90/Vboot.Web.Entry/wwwroot/assets/world.1652784183534.jpg
--------------------------------------------------------------------------------
/Vboot.Web.Entry/wwwroot/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zsvg-com/vboot-net/fef3130e129455a227be9be35005b0ee7d95ff90/Vboot.Web.Entry/wwwroot/favicon.ico
--------------------------------------------------------------------------------
/Vboot.Web.Entry/wwwroot/vue.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
11 |
15 |
16 | vue-next-admin
17 |
18 |
19 |
20 |
21 |
22 |
23 |
32 |
33 |
34 |
35 |
36 |
--------------------------------------------------------------------------------