mahao
1 year ago
129 changed files with 41689 additions and 555 deletions
@ -0,0 +1,84 @@ |
|||||
|
using System; |
||||
|
using System.Collections.Generic; |
||||
|
using System.Threading.Tasks; |
||||
|
using Microsoft.AspNetCore.Authorization; |
||||
|
using Microsoft.AspNetCore.Mvc; |
||||
|
using Omu.ValueInjecter; |
||||
|
using Volo.Abp.Application.Dtos; |
||||
|
using Volo.Abp.Application.Services; |
||||
|
using Volo.Abp.Identity; |
||||
|
|
||||
|
namespace BaseService.UserManagement |
||||
|
{ |
||||
|
[Route("api/[controller]/[action]")]
|
||||
|
[Authorize(IdentityPermissions.Roles.Default)] |
||||
|
public class RoleAppService : ApplicationService |
||||
|
{ |
||||
|
private IdentityRoleManager _roleManager { get; } |
||||
|
private IIdentityRoleRepository _repository { get; } |
||||
|
|
||||
|
public RoleAppService(IdentityRoleManager roleManager, IIdentityRoleRepository roleRepository) |
||||
|
{ |
||||
|
_roleManager = roleManager; |
||||
|
_repository = roleRepository; |
||||
|
} |
||||
|
|
||||
|
[HttpGet] |
||||
|
public async Task<ListResultDto<IdentityRoleDto>> GetAllAsync() |
||||
|
{ |
||||
|
var items = await _repository.GetListAsync().ConfigureAwait(false); |
||||
|
var dtos = ObjectMapper.Map<List<IdentityRole>, List<IdentityRoleDto>>(items); |
||||
|
return new ListResultDto<IdentityRoleDto>(dtos); |
||||
|
} |
||||
|
|
||||
|
[HttpGet] |
||||
|
public async Task<PagedResultDto<IdentityRoleDto>> GetListAsync(GetIdentityRolesInput input) |
||||
|
{ |
||||
|
var totalCount = await _repository.GetCountAsync(input.Filter).ConfigureAwait(false); |
||||
|
var items = await _repository.GetListAsync(input.Sorting, input.MaxResultCount, input.SkipCount, |
||||
|
input.Filter).ConfigureAwait(false); |
||||
|
var dtos = ObjectMapper.Map<List<IdentityRole>, List<IdentityRoleDto>>(items); |
||||
|
return new PagedResultDto<IdentityRoleDto>(totalCount, dtos); |
||||
|
} |
||||
|
|
||||
|
[HttpGet("{id}")] |
||||
|
[Authorize(IdentityPermissions.Roles.Delete)] |
||||
|
public async Task<IdentityRoleDto> Details(Guid id) |
||||
|
{ |
||||
|
var role = await _roleManager.GetByIdAsync(id).ConfigureAwait(false); |
||||
|
var dto = ObjectMapper.Map<IdentityRole, IdentityRoleDto>(role); |
||||
|
return dto; |
||||
|
} |
||||
|
|
||||
|
[HttpPost] |
||||
|
[Authorize(IdentityPermissions.Roles.Create)] |
||||
|
public async Task<IdentityRoleDto> CreateAsync(IdentityRoleCreateDto input) |
||||
|
{ |
||||
|
var role = new IdentityRole(GuidGenerator.Create(), input.Name); |
||||
|
role.InjectFrom(input); |
||||
|
await _roleManager.CreateAsync(role).ConfigureAwait(false); |
||||
|
var dto = ObjectMapper.Map<IdentityRole, IdentityRoleDto>(role); |
||||
|
return dto; |
||||
|
} |
||||
|
|
||||
|
[HttpPut("{id}")] |
||||
|
[Authorize(IdentityPermissions.Roles.Update)] |
||||
|
public async Task<IdentityRoleDto> UpdateAsync(Guid id, IdentityRoleUpdateDto input) |
||||
|
{ |
||||
|
var role = await _roleManager.GetByIdAsync(id).ConfigureAwait(false); |
||||
|
role.InjectFrom(input); |
||||
|
await _roleManager.UpdateAsync(role).ConfigureAwait(false); |
||||
|
var dto = ObjectMapper.Map<IdentityRole, IdentityRoleDto>(role); |
||||
|
return dto; |
||||
|
} |
||||
|
|
||||
|
[HttpDelete("{id}")] |
||||
|
[Authorize(IdentityPermissions.Roles.Delete)] |
||||
|
public async Task<IActionResult> Delete(Guid id) |
||||
|
{ |
||||
|
var role = await _roleManager.GetByIdAsync(id).ConfigureAwait(false); |
||||
|
await _roleManager.DeleteAsync(role).ConfigureAwait(false); |
||||
|
return new OkResult(); |
||||
|
} |
||||
|
} |
||||
|
} |
File diff suppressed because it is too large
@ -0,0 +1,621 @@ |
|||||
|
using System; |
||||
|
using Microsoft.EntityFrameworkCore.Migrations; |
||||
|
|
||||
|
namespace Win.Sfs.SettleAccount.Migrations |
||||
|
{ |
||||
|
public partial class _20230721 : Migration |
||||
|
{ |
||||
|
protected override void Up(MigrationBuilder migrationBuilder) |
||||
|
{ |
||||
|
migrationBuilder.CreateTable( |
||||
|
name: "IdentityServerApiResources", |
||||
|
columns: table => new |
||||
|
{ |
||||
|
Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false), |
||||
|
Name = table.Column<string>(type: "nvarchar(200)", maxLength: 200, nullable: false), |
||||
|
DisplayName = table.Column<string>(type: "nvarchar(200)", maxLength: 200, nullable: true), |
||||
|
Description = table.Column<string>(type: "nvarchar(1000)", maxLength: 1000, nullable: true), |
||||
|
Enabled = table.Column<bool>(type: "bit", nullable: false), |
||||
|
AllowedAccessTokenSigningAlgorithms = table.Column<string>(type: "nvarchar(100)", maxLength: 100, nullable: true), |
||||
|
ShowInDiscoveryDocument = table.Column<bool>(type: "bit", nullable: false), |
||||
|
ExtraProperties = table.Column<string>(type: "nvarchar(max)", nullable: true), |
||||
|
ConcurrencyStamp = table.Column<string>(type: "nvarchar(40)", maxLength: 40, nullable: true), |
||||
|
CreationTime = table.Column<DateTime>(type: "datetime2", nullable: false), |
||||
|
CreatorId = table.Column<Guid>(type: "uniqueidentifier", nullable: true), |
||||
|
LastModificationTime = table.Column<DateTime>(type: "datetime2", nullable: true), |
||||
|
LastModifierId = table.Column<Guid>(type: "uniqueidentifier", nullable: true), |
||||
|
IsDeleted = table.Column<bool>(type: "bit", nullable: false, defaultValue: false), |
||||
|
DeleterId = table.Column<Guid>(type: "uniqueidentifier", nullable: true), |
||||
|
DeletionTime = table.Column<DateTime>(type: "datetime2", nullable: true) |
||||
|
}, |
||||
|
constraints: table => |
||||
|
{ |
||||
|
table.PrimaryKey("PK_IdentityServerApiResources", x => x.Id); |
||||
|
}); |
||||
|
|
||||
|
migrationBuilder.CreateTable( |
||||
|
name: "IdentityServerApiScopes", |
||||
|
columns: table => new |
||||
|
{ |
||||
|
Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false), |
||||
|
Enabled = table.Column<bool>(type: "bit", nullable: false), |
||||
|
Name = table.Column<string>(type: "nvarchar(200)", maxLength: 200, nullable: false), |
||||
|
DisplayName = table.Column<string>(type: "nvarchar(200)", maxLength: 200, nullable: true), |
||||
|
Description = table.Column<string>(type: "nvarchar(1000)", maxLength: 1000, nullable: true), |
||||
|
Required = table.Column<bool>(type: "bit", nullable: false), |
||||
|
Emphasize = table.Column<bool>(type: "bit", nullable: false), |
||||
|
ShowInDiscoveryDocument = table.Column<bool>(type: "bit", nullable: false), |
||||
|
ExtraProperties = table.Column<string>(type: "nvarchar(max)", nullable: true), |
||||
|
ConcurrencyStamp = table.Column<string>(type: "nvarchar(40)", maxLength: 40, nullable: true), |
||||
|
CreationTime = table.Column<DateTime>(type: "datetime2", nullable: false), |
||||
|
CreatorId = table.Column<Guid>(type: "uniqueidentifier", nullable: true), |
||||
|
LastModificationTime = table.Column<DateTime>(type: "datetime2", nullable: true), |
||||
|
LastModifierId = table.Column<Guid>(type: "uniqueidentifier", nullable: true), |
||||
|
IsDeleted = table.Column<bool>(type: "bit", nullable: false, defaultValue: false), |
||||
|
DeleterId = table.Column<Guid>(type: "uniqueidentifier", nullable: true), |
||||
|
DeletionTime = table.Column<DateTime>(type: "datetime2", nullable: true) |
||||
|
}, |
||||
|
constraints: table => |
||||
|
{ |
||||
|
table.PrimaryKey("PK_IdentityServerApiScopes", x => x.Id); |
||||
|
}); |
||||
|
|
||||
|
migrationBuilder.CreateTable( |
||||
|
name: "IdentityServerClients", |
||||
|
columns: table => new |
||||
|
{ |
||||
|
Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false), |
||||
|
ClientId = table.Column<string>(type: "nvarchar(200)", maxLength: 200, nullable: false), |
||||
|
ClientName = table.Column<string>(type: "nvarchar(200)", maxLength: 200, nullable: true), |
||||
|
Description = table.Column<string>(type: "nvarchar(1000)", maxLength: 1000, nullable: true), |
||||
|
ClientUri = table.Column<string>(type: "nvarchar(2000)", maxLength: 2000, nullable: true), |
||||
|
LogoUri = table.Column<string>(type: "nvarchar(2000)", maxLength: 2000, nullable: true), |
||||
|
Enabled = table.Column<bool>(type: "bit", nullable: false), |
||||
|
ProtocolType = table.Column<string>(type: "nvarchar(200)", maxLength: 200, nullable: false), |
||||
|
RequireClientSecret = table.Column<bool>(type: "bit", nullable: false), |
||||
|
RequireConsent = table.Column<bool>(type: "bit", nullable: false), |
||||
|
AllowRememberConsent = table.Column<bool>(type: "bit", nullable: false), |
||||
|
AlwaysIncludeUserClaimsInIdToken = table.Column<bool>(type: "bit", nullable: false), |
||||
|
RequirePkce = table.Column<bool>(type: "bit", nullable: false), |
||||
|
AllowPlainTextPkce = table.Column<bool>(type: "bit", nullable: false), |
||||
|
RequireRequestObject = table.Column<bool>(type: "bit", nullable: false), |
||||
|
AllowAccessTokensViaBrowser = table.Column<bool>(type: "bit", nullable: false), |
||||
|
FrontChannelLogoutUri = table.Column<string>(type: "nvarchar(2000)", maxLength: 2000, nullable: true), |
||||
|
FrontChannelLogoutSessionRequired = table.Column<bool>(type: "bit", nullable: false), |
||||
|
BackChannelLogoutUri = table.Column<string>(type: "nvarchar(2000)", maxLength: 2000, nullable: true), |
||||
|
BackChannelLogoutSessionRequired = table.Column<bool>(type: "bit", nullable: false), |
||||
|
AllowOfflineAccess = table.Column<bool>(type: "bit", nullable: false), |
||||
|
IdentityTokenLifetime = table.Column<int>(type: "int", nullable: false), |
||||
|
AllowedIdentityTokenSigningAlgorithms = table.Column<string>(type: "nvarchar(100)", maxLength: 100, nullable: true), |
||||
|
AccessTokenLifetime = table.Column<int>(type: "int", nullable: false), |
||||
|
AuthorizationCodeLifetime = table.Column<int>(type: "int", nullable: false), |
||||
|
ConsentLifetime = table.Column<int>(type: "int", nullable: true), |
||||
|
AbsoluteRefreshTokenLifetime = table.Column<int>(type: "int", nullable: false), |
||||
|
SlidingRefreshTokenLifetime = table.Column<int>(type: "int", nullable: false), |
||||
|
RefreshTokenUsage = table.Column<int>(type: "int", nullable: false), |
||||
|
UpdateAccessTokenClaimsOnRefresh = table.Column<bool>(type: "bit", nullable: false), |
||||
|
RefreshTokenExpiration = table.Column<int>(type: "int", nullable: false), |
||||
|
AccessTokenType = table.Column<int>(type: "int", nullable: false), |
||||
|
EnableLocalLogin = table.Column<bool>(type: "bit", nullable: false), |
||||
|
IncludeJwtId = table.Column<bool>(type: "bit", nullable: false), |
||||
|
AlwaysSendClientClaims = table.Column<bool>(type: "bit", nullable: false), |
||||
|
ClientClaimsPrefix = table.Column<string>(type: "nvarchar(200)", maxLength: 200, nullable: true), |
||||
|
PairWiseSubjectSalt = table.Column<string>(type: "nvarchar(200)", maxLength: 200, nullable: true), |
||||
|
UserSsoLifetime = table.Column<int>(type: "int", nullable: true), |
||||
|
UserCodeType = table.Column<string>(type: "nvarchar(100)", maxLength: 100, nullable: true), |
||||
|
DeviceCodeLifetime = table.Column<int>(type: "int", nullable: false), |
||||
|
ExtraProperties = table.Column<string>(type: "nvarchar(max)", nullable: true), |
||||
|
ConcurrencyStamp = table.Column<string>(type: "nvarchar(40)", maxLength: 40, nullable: true), |
||||
|
CreationTime = table.Column<DateTime>(type: "datetime2", nullable: false), |
||||
|
CreatorId = table.Column<Guid>(type: "uniqueidentifier", nullable: true), |
||||
|
LastModificationTime = table.Column<DateTime>(type: "datetime2", nullable: true), |
||||
|
LastModifierId = table.Column<Guid>(type: "uniqueidentifier", nullable: true), |
||||
|
IsDeleted = table.Column<bool>(type: "bit", nullable: false, defaultValue: false), |
||||
|
DeleterId = table.Column<Guid>(type: "uniqueidentifier", nullable: true), |
||||
|
DeletionTime = table.Column<DateTime>(type: "datetime2", nullable: true) |
||||
|
}, |
||||
|
constraints: table => |
||||
|
{ |
||||
|
table.PrimaryKey("PK_IdentityServerClients", x => x.Id); |
||||
|
}); |
||||
|
|
||||
|
migrationBuilder.CreateTable( |
||||
|
name: "IdentityServerDeviceFlowCodes", |
||||
|
columns: table => new |
||||
|
{ |
||||
|
Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false), |
||||
|
DeviceCode = table.Column<string>(type: "nvarchar(200)", maxLength: 200, nullable: false), |
||||
|
UserCode = table.Column<string>(type: "nvarchar(200)", maxLength: 200, nullable: false), |
||||
|
SubjectId = table.Column<string>(type: "nvarchar(200)", maxLength: 200, nullable: true), |
||||
|
SessionId = table.Column<string>(type: "nvarchar(100)", maxLength: 100, nullable: true), |
||||
|
ClientId = table.Column<string>(type: "nvarchar(200)", maxLength: 200, nullable: false), |
||||
|
Description = table.Column<string>(type: "nvarchar(200)", maxLength: 200, nullable: true), |
||||
|
Expiration = table.Column<DateTime>(type: "datetime2", nullable: false), |
||||
|
Data = table.Column<string>(type: "nvarchar(max)", maxLength: 50000, nullable: false), |
||||
|
ExtraProperties = table.Column<string>(type: "nvarchar(max)", nullable: true), |
||||
|
ConcurrencyStamp = table.Column<string>(type: "nvarchar(40)", maxLength: 40, nullable: true), |
||||
|
CreationTime = table.Column<DateTime>(type: "datetime2", nullable: false), |
||||
|
CreatorId = table.Column<Guid>(type: "uniqueidentifier", nullable: true) |
||||
|
}, |
||||
|
constraints: table => |
||||
|
{ |
||||
|
table.PrimaryKey("PK_IdentityServerDeviceFlowCodes", x => x.Id); |
||||
|
}); |
||||
|
|
||||
|
migrationBuilder.CreateTable( |
||||
|
name: "IdentityServerIdentityResources", |
||||
|
columns: table => new |
||||
|
{ |
||||
|
Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false), |
||||
|
Name = table.Column<string>(type: "nvarchar(200)", maxLength: 200, nullable: false), |
||||
|
DisplayName = table.Column<string>(type: "nvarchar(200)", maxLength: 200, nullable: true), |
||||
|
Description = table.Column<string>(type: "nvarchar(1000)", maxLength: 1000, nullable: true), |
||||
|
Enabled = table.Column<bool>(type: "bit", nullable: false), |
||||
|
Required = table.Column<bool>(type: "bit", nullable: false), |
||||
|
Emphasize = table.Column<bool>(type: "bit", nullable: false), |
||||
|
ShowInDiscoveryDocument = table.Column<bool>(type: "bit", nullable: false), |
||||
|
ExtraProperties = table.Column<string>(type: "nvarchar(max)", nullable: true), |
||||
|
ConcurrencyStamp = table.Column<string>(type: "nvarchar(40)", maxLength: 40, nullable: true), |
||||
|
CreationTime = table.Column<DateTime>(type: "datetime2", nullable: false), |
||||
|
CreatorId = table.Column<Guid>(type: "uniqueidentifier", nullable: true), |
||||
|
LastModificationTime = table.Column<DateTime>(type: "datetime2", nullable: true), |
||||
|
LastModifierId = table.Column<Guid>(type: "uniqueidentifier", nullable: true), |
||||
|
IsDeleted = table.Column<bool>(type: "bit", nullable: false, defaultValue: false), |
||||
|
DeleterId = table.Column<Guid>(type: "uniqueidentifier", nullable: true), |
||||
|
DeletionTime = table.Column<DateTime>(type: "datetime2", nullable: true) |
||||
|
}, |
||||
|
constraints: table => |
||||
|
{ |
||||
|
table.PrimaryKey("PK_IdentityServerIdentityResources", x => x.Id); |
||||
|
}); |
||||
|
|
||||
|
migrationBuilder.CreateTable( |
||||
|
name: "IdentityServerPersistedGrants", |
||||
|
columns: table => new |
||||
|
{ |
||||
|
Key = table.Column<string>(type: "nvarchar(200)", maxLength: 200, nullable: false), |
||||
|
Type = table.Column<string>(type: "nvarchar(50)", maxLength: 50, nullable: false), |
||||
|
SubjectId = table.Column<string>(type: "nvarchar(200)", maxLength: 200, nullable: true), |
||||
|
SessionId = table.Column<string>(type: "nvarchar(100)", maxLength: 100, nullable: true), |
||||
|
ClientId = table.Column<string>(type: "nvarchar(200)", maxLength: 200, nullable: false), |
||||
|
Description = table.Column<string>(type: "nvarchar(200)", maxLength: 200, nullable: true), |
||||
|
CreationTime = table.Column<DateTime>(type: "datetime2", nullable: false), |
||||
|
Expiration = table.Column<DateTime>(type: "datetime2", nullable: true), |
||||
|
ConsumedTime = table.Column<DateTime>(type: "datetime2", nullable: true), |
||||
|
Data = table.Column<string>(type: "nvarchar(max)", maxLength: 50000, nullable: false), |
||||
|
Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false), |
||||
|
ExtraProperties = table.Column<string>(type: "nvarchar(max)", nullable: true), |
||||
|
ConcurrencyStamp = table.Column<string>(type: "nvarchar(40)", maxLength: 40, nullable: true) |
||||
|
}, |
||||
|
constraints: table => |
||||
|
{ |
||||
|
table.PrimaryKey("PK_IdentityServerPersistedGrants", x => x.Key); |
||||
|
}); |
||||
|
|
||||
|
migrationBuilder.CreateTable( |
||||
|
name: "IdentityServerApiResourceClaims", |
||||
|
columns: table => new |
||||
|
{ |
||||
|
Type = table.Column<string>(type: "nvarchar(200)", maxLength: 200, nullable: false), |
||||
|
ApiResourceId = table.Column<Guid>(type: "uniqueidentifier", nullable: false) |
||||
|
}, |
||||
|
constraints: table => |
||||
|
{ |
||||
|
table.PrimaryKey("PK_IdentityServerApiResourceClaims", x => new { x.ApiResourceId, x.Type }); |
||||
|
table.ForeignKey( |
||||
|
name: "FK_IdentityServerApiResourceClaims_IdentityServerApiResources_ApiResourceId", |
||||
|
column: x => x.ApiResourceId, |
||||
|
principalTable: "IdentityServerApiResources", |
||||
|
principalColumn: "Id", |
||||
|
onDelete: ReferentialAction.Cascade); |
||||
|
}); |
||||
|
|
||||
|
migrationBuilder.CreateTable( |
||||
|
name: "IdentityServerApiResourceProperties", |
||||
|
columns: table => new |
||||
|
{ |
||||
|
ApiResourceId = table.Column<Guid>(type: "uniqueidentifier", nullable: false), |
||||
|
Key = table.Column<string>(type: "nvarchar(250)", maxLength: 250, nullable: false), |
||||
|
Value = table.Column<string>(type: "nvarchar(2000)", maxLength: 2000, nullable: false) |
||||
|
}, |
||||
|
constraints: table => |
||||
|
{ |
||||
|
table.PrimaryKey("PK_IdentityServerApiResourceProperties", x => new { x.ApiResourceId, x.Key, x.Value }); |
||||
|
table.ForeignKey( |
||||
|
name: "FK_IdentityServerApiResourceProperties_IdentityServerApiResources_ApiResourceId", |
||||
|
column: x => x.ApiResourceId, |
||||
|
principalTable: "IdentityServerApiResources", |
||||
|
principalColumn: "Id", |
||||
|
onDelete: ReferentialAction.Cascade); |
||||
|
}); |
||||
|
|
||||
|
migrationBuilder.CreateTable( |
||||
|
name: "IdentityServerApiResourceScopes", |
||||
|
columns: table => new |
||||
|
{ |
||||
|
ApiResourceId = table.Column<Guid>(type: "uniqueidentifier", nullable: false), |
||||
|
Scope = table.Column<string>(type: "nvarchar(200)", maxLength: 200, nullable: false) |
||||
|
}, |
||||
|
constraints: table => |
||||
|
{ |
||||
|
table.PrimaryKey("PK_IdentityServerApiResourceScopes", x => new { x.ApiResourceId, x.Scope }); |
||||
|
table.ForeignKey( |
||||
|
name: "FK_IdentityServerApiResourceScopes_IdentityServerApiResources_ApiResourceId", |
||||
|
column: x => x.ApiResourceId, |
||||
|
principalTable: "IdentityServerApiResources", |
||||
|
principalColumn: "Id", |
||||
|
onDelete: ReferentialAction.Cascade); |
||||
|
}); |
||||
|
|
||||
|
migrationBuilder.CreateTable( |
||||
|
name: "IdentityServerApiResourceSecrets", |
||||
|
columns: table => new |
||||
|
{ |
||||
|
Type = table.Column<string>(type: "nvarchar(250)", maxLength: 250, nullable: false), |
||||
|
Value = table.Column<string>(type: "nvarchar(4000)", maxLength: 4000, nullable: false), |
||||
|
ApiResourceId = table.Column<Guid>(type: "uniqueidentifier", nullable: false), |
||||
|
Description = table.Column<string>(type: "nvarchar(1000)", maxLength: 1000, nullable: true), |
||||
|
Expiration = table.Column<DateTime>(type: "datetime2", nullable: true) |
||||
|
}, |
||||
|
constraints: table => |
||||
|
{ |
||||
|
table.PrimaryKey("PK_IdentityServerApiResourceSecrets", x => new { x.ApiResourceId, x.Type, x.Value }); |
||||
|
table.ForeignKey( |
||||
|
name: "FK_IdentityServerApiResourceSecrets_IdentityServerApiResources_ApiResourceId", |
||||
|
column: x => x.ApiResourceId, |
||||
|
principalTable: "IdentityServerApiResources", |
||||
|
principalColumn: "Id", |
||||
|
onDelete: ReferentialAction.Cascade); |
||||
|
}); |
||||
|
|
||||
|
migrationBuilder.CreateTable( |
||||
|
name: "IdentityServerApiScopeClaims", |
||||
|
columns: table => new |
||||
|
{ |
||||
|
Type = table.Column<string>(type: "nvarchar(200)", maxLength: 200, nullable: false), |
||||
|
ApiScopeId = table.Column<Guid>(type: "uniqueidentifier", nullable: false) |
||||
|
}, |
||||
|
constraints: table => |
||||
|
{ |
||||
|
table.PrimaryKey("PK_IdentityServerApiScopeClaims", x => new { x.ApiScopeId, x.Type }); |
||||
|
table.ForeignKey( |
||||
|
name: "FK_IdentityServerApiScopeClaims_IdentityServerApiScopes_ApiScopeId", |
||||
|
column: x => x.ApiScopeId, |
||||
|
principalTable: "IdentityServerApiScopes", |
||||
|
principalColumn: "Id", |
||||
|
onDelete: ReferentialAction.Cascade); |
||||
|
}); |
||||
|
|
||||
|
migrationBuilder.CreateTable( |
||||
|
name: "IdentityServerApiScopeProperties", |
||||
|
columns: table => new |
||||
|
{ |
||||
|
ApiScopeId = table.Column<Guid>(type: "uniqueidentifier", nullable: false), |
||||
|
Key = table.Column<string>(type: "nvarchar(250)", maxLength: 250, nullable: false), |
||||
|
Value = table.Column<string>(type: "nvarchar(2000)", maxLength: 2000, nullable: false) |
||||
|
}, |
||||
|
constraints: table => |
||||
|
{ |
||||
|
table.PrimaryKey("PK_IdentityServerApiScopeProperties", x => new { x.ApiScopeId, x.Key, x.Value }); |
||||
|
table.ForeignKey( |
||||
|
name: "FK_IdentityServerApiScopeProperties_IdentityServerApiScopes_ApiScopeId", |
||||
|
column: x => x.ApiScopeId, |
||||
|
principalTable: "IdentityServerApiScopes", |
||||
|
principalColumn: "Id", |
||||
|
onDelete: ReferentialAction.Cascade); |
||||
|
}); |
||||
|
|
||||
|
migrationBuilder.CreateTable( |
||||
|
name: "IdentityServerClientClaims", |
||||
|
columns: table => new |
||||
|
{ |
||||
|
ClientId = table.Column<Guid>(type: "uniqueidentifier", nullable: false), |
||||
|
Type = table.Column<string>(type: "nvarchar(250)", maxLength: 250, nullable: false), |
||||
|
Value = table.Column<string>(type: "nvarchar(250)", maxLength: 250, nullable: false) |
||||
|
}, |
||||
|
constraints: table => |
||||
|
{ |
||||
|
table.PrimaryKey("PK_IdentityServerClientClaims", x => new { x.ClientId, x.Type, x.Value }); |
||||
|
table.ForeignKey( |
||||
|
name: "FK_IdentityServerClientClaims_IdentityServerClients_ClientId", |
||||
|
column: x => x.ClientId, |
||||
|
principalTable: "IdentityServerClients", |
||||
|
principalColumn: "Id", |
||||
|
onDelete: ReferentialAction.Cascade); |
||||
|
}); |
||||
|
|
||||
|
migrationBuilder.CreateTable( |
||||
|
name: "IdentityServerClientCorsOrigins", |
||||
|
columns: table => new |
||||
|
{ |
||||
|
ClientId = table.Column<Guid>(type: "uniqueidentifier", nullable: false), |
||||
|
Origin = table.Column<string>(type: "nvarchar(150)", maxLength: 150, nullable: false) |
||||
|
}, |
||||
|
constraints: table => |
||||
|
{ |
||||
|
table.PrimaryKey("PK_IdentityServerClientCorsOrigins", x => new { x.ClientId, x.Origin }); |
||||
|
table.ForeignKey( |
||||
|
name: "FK_IdentityServerClientCorsOrigins_IdentityServerClients_ClientId", |
||||
|
column: x => x.ClientId, |
||||
|
principalTable: "IdentityServerClients", |
||||
|
principalColumn: "Id", |
||||
|
onDelete: ReferentialAction.Cascade); |
||||
|
}); |
||||
|
|
||||
|
migrationBuilder.CreateTable( |
||||
|
name: "IdentityServerClientGrantTypes", |
||||
|
columns: table => new |
||||
|
{ |
||||
|
ClientId = table.Column<Guid>(type: "uniqueidentifier", nullable: false), |
||||
|
GrantType = table.Column<string>(type: "nvarchar(250)", maxLength: 250, nullable: false) |
||||
|
}, |
||||
|
constraints: table => |
||||
|
{ |
||||
|
table.PrimaryKey("PK_IdentityServerClientGrantTypes", x => new { x.ClientId, x.GrantType }); |
||||
|
table.ForeignKey( |
||||
|
name: "FK_IdentityServerClientGrantTypes_IdentityServerClients_ClientId", |
||||
|
column: x => x.ClientId, |
||||
|
principalTable: "IdentityServerClients", |
||||
|
principalColumn: "Id", |
||||
|
onDelete: ReferentialAction.Cascade); |
||||
|
}); |
||||
|
|
||||
|
migrationBuilder.CreateTable( |
||||
|
name: "IdentityServerClientIdPRestrictions", |
||||
|
columns: table => new |
||||
|
{ |
||||
|
ClientId = table.Column<Guid>(type: "uniqueidentifier", nullable: false), |
||||
|
Provider = table.Column<string>(type: "nvarchar(200)", maxLength: 200, nullable: false) |
||||
|
}, |
||||
|
constraints: table => |
||||
|
{ |
||||
|
table.PrimaryKey("PK_IdentityServerClientIdPRestrictions", x => new { x.ClientId, x.Provider }); |
||||
|
table.ForeignKey( |
||||
|
name: "FK_IdentityServerClientIdPRestrictions_IdentityServerClients_ClientId", |
||||
|
column: x => x.ClientId, |
||||
|
principalTable: "IdentityServerClients", |
||||
|
principalColumn: "Id", |
||||
|
onDelete: ReferentialAction.Cascade); |
||||
|
}); |
||||
|
|
||||
|
migrationBuilder.CreateTable( |
||||
|
name: "IdentityServerClientPostLogoutRedirectUris", |
||||
|
columns: table => new |
||||
|
{ |
||||
|
ClientId = table.Column<Guid>(type: "uniqueidentifier", nullable: false), |
||||
|
PostLogoutRedirectUri = table.Column<string>(type: "nvarchar(2000)", maxLength: 2000, nullable: false) |
||||
|
}, |
||||
|
constraints: table => |
||||
|
{ |
||||
|
table.PrimaryKey("PK_IdentityServerClientPostLogoutRedirectUris", x => new { x.ClientId, x.PostLogoutRedirectUri }); |
||||
|
table.ForeignKey( |
||||
|
name: "FK_IdentityServerClientPostLogoutRedirectUris_IdentityServerClients_ClientId", |
||||
|
column: x => x.ClientId, |
||||
|
principalTable: "IdentityServerClients", |
||||
|
principalColumn: "Id", |
||||
|
onDelete: ReferentialAction.Cascade); |
||||
|
}); |
||||
|
|
||||
|
migrationBuilder.CreateTable( |
||||
|
name: "IdentityServerClientProperties", |
||||
|
columns: table => new |
||||
|
{ |
||||
|
ClientId = table.Column<Guid>(type: "uniqueidentifier", nullable: false), |
||||
|
Key = table.Column<string>(type: "nvarchar(250)", maxLength: 250, nullable: false), |
||||
|
Value = table.Column<string>(type: "nvarchar(2000)", maxLength: 2000, nullable: false) |
||||
|
}, |
||||
|
constraints: table => |
||||
|
{ |
||||
|
table.PrimaryKey("PK_IdentityServerClientProperties", x => new { x.ClientId, x.Key, x.Value }); |
||||
|
table.ForeignKey( |
||||
|
name: "FK_IdentityServerClientProperties_IdentityServerClients_ClientId", |
||||
|
column: x => x.ClientId, |
||||
|
principalTable: "IdentityServerClients", |
||||
|
principalColumn: "Id", |
||||
|
onDelete: ReferentialAction.Cascade); |
||||
|
}); |
||||
|
|
||||
|
migrationBuilder.CreateTable( |
||||
|
name: "IdentityServerClientRedirectUris", |
||||
|
columns: table => new |
||||
|
{ |
||||
|
ClientId = table.Column<Guid>(type: "uniqueidentifier", nullable: false), |
||||
|
RedirectUri = table.Column<string>(type: "nvarchar(2000)", maxLength: 2000, nullable: false) |
||||
|
}, |
||||
|
constraints: table => |
||||
|
{ |
||||
|
table.PrimaryKey("PK_IdentityServerClientRedirectUris", x => new { x.ClientId, x.RedirectUri }); |
||||
|
table.ForeignKey( |
||||
|
name: "FK_IdentityServerClientRedirectUris_IdentityServerClients_ClientId", |
||||
|
column: x => x.ClientId, |
||||
|
principalTable: "IdentityServerClients", |
||||
|
principalColumn: "Id", |
||||
|
onDelete: ReferentialAction.Cascade); |
||||
|
}); |
||||
|
|
||||
|
migrationBuilder.CreateTable( |
||||
|
name: "IdentityServerClientScopes", |
||||
|
columns: table => new |
||||
|
{ |
||||
|
ClientId = table.Column<Guid>(type: "uniqueidentifier", nullable: false), |
||||
|
Scope = table.Column<string>(type: "nvarchar(200)", maxLength: 200, nullable: false) |
||||
|
}, |
||||
|
constraints: table => |
||||
|
{ |
||||
|
table.PrimaryKey("PK_IdentityServerClientScopes", x => new { x.ClientId, x.Scope }); |
||||
|
table.ForeignKey( |
||||
|
name: "FK_IdentityServerClientScopes_IdentityServerClients_ClientId", |
||||
|
column: x => x.ClientId, |
||||
|
principalTable: "IdentityServerClients", |
||||
|
principalColumn: "Id", |
||||
|
onDelete: ReferentialAction.Cascade); |
||||
|
}); |
||||
|
|
||||
|
migrationBuilder.CreateTable( |
||||
|
name: "IdentityServerClientSecrets", |
||||
|
columns: table => new |
||||
|
{ |
||||
|
Type = table.Column<string>(type: "nvarchar(250)", maxLength: 250, nullable: false), |
||||
|
Value = table.Column<string>(type: "nvarchar(4000)", maxLength: 4000, nullable: false), |
||||
|
ClientId = table.Column<Guid>(type: "uniqueidentifier", nullable: false), |
||||
|
Description = table.Column<string>(type: "nvarchar(2000)", maxLength: 2000, nullable: true), |
||||
|
Expiration = table.Column<DateTime>(type: "datetime2", nullable: true) |
||||
|
}, |
||||
|
constraints: table => |
||||
|
{ |
||||
|
table.PrimaryKey("PK_IdentityServerClientSecrets", x => new { x.ClientId, x.Type, x.Value }); |
||||
|
table.ForeignKey( |
||||
|
name: "FK_IdentityServerClientSecrets_IdentityServerClients_ClientId", |
||||
|
column: x => x.ClientId, |
||||
|
principalTable: "IdentityServerClients", |
||||
|
principalColumn: "Id", |
||||
|
onDelete: ReferentialAction.Cascade); |
||||
|
}); |
||||
|
|
||||
|
migrationBuilder.CreateTable( |
||||
|
name: "IdentityServerIdentityResourceClaims", |
||||
|
columns: table => new |
||||
|
{ |
||||
|
Type = table.Column<string>(type: "nvarchar(200)", maxLength: 200, nullable: false), |
||||
|
IdentityResourceId = table.Column<Guid>(type: "uniqueidentifier", nullable: false) |
||||
|
}, |
||||
|
constraints: table => |
||||
|
{ |
||||
|
table.PrimaryKey("PK_IdentityServerIdentityResourceClaims", x => new { x.IdentityResourceId, x.Type }); |
||||
|
table.ForeignKey( |
||||
|
name: "FK_IdentityServerIdentityResourceClaims_IdentityServerIdentityResources_IdentityResourceId", |
||||
|
column: x => x.IdentityResourceId, |
||||
|
principalTable: "IdentityServerIdentityResources", |
||||
|
principalColumn: "Id", |
||||
|
onDelete: ReferentialAction.Cascade); |
||||
|
}); |
||||
|
|
||||
|
migrationBuilder.CreateTable( |
||||
|
name: "IdentityServerIdentityResourceProperties", |
||||
|
columns: table => new |
||||
|
{ |
||||
|
IdentityResourceId = table.Column<Guid>(type: "uniqueidentifier", nullable: false), |
||||
|
Key = table.Column<string>(type: "nvarchar(250)", maxLength: 250, nullable: false), |
||||
|
Value = table.Column<string>(type: "nvarchar(2000)", maxLength: 2000, nullable: false) |
||||
|
}, |
||||
|
constraints: table => |
||||
|
{ |
||||
|
table.PrimaryKey("PK_IdentityServerIdentityResourceProperties", x => new { x.IdentityResourceId, x.Key, x.Value }); |
||||
|
table.ForeignKey( |
||||
|
name: "FK_IdentityServerIdentityResourceProperties_IdentityServerIdentityResources_IdentityResourceId", |
||||
|
column: x => x.IdentityResourceId, |
||||
|
principalTable: "IdentityServerIdentityResources", |
||||
|
principalColumn: "Id", |
||||
|
onDelete: ReferentialAction.Cascade); |
||||
|
}); |
||||
|
|
||||
|
migrationBuilder.CreateIndex( |
||||
|
name: "IX_IdentityServerClients_ClientId", |
||||
|
table: "IdentityServerClients", |
||||
|
column: "ClientId"); |
||||
|
|
||||
|
migrationBuilder.CreateIndex( |
||||
|
name: "IX_IdentityServerDeviceFlowCodes_DeviceCode", |
||||
|
table: "IdentityServerDeviceFlowCodes", |
||||
|
column: "DeviceCode", |
||||
|
unique: true); |
||||
|
|
||||
|
migrationBuilder.CreateIndex( |
||||
|
name: "IX_IdentityServerDeviceFlowCodes_Expiration", |
||||
|
table: "IdentityServerDeviceFlowCodes", |
||||
|
column: "Expiration"); |
||||
|
|
||||
|
migrationBuilder.CreateIndex( |
||||
|
name: "IX_IdentityServerDeviceFlowCodes_UserCode", |
||||
|
table: "IdentityServerDeviceFlowCodes", |
||||
|
column: "UserCode"); |
||||
|
|
||||
|
migrationBuilder.CreateIndex( |
||||
|
name: "IX_IdentityServerPersistedGrants_Expiration", |
||||
|
table: "IdentityServerPersistedGrants", |
||||
|
column: "Expiration"); |
||||
|
|
||||
|
migrationBuilder.CreateIndex( |
||||
|
name: "IX_IdentityServerPersistedGrants_SubjectId_ClientId_Type", |
||||
|
table: "IdentityServerPersistedGrants", |
||||
|
columns: new[] { "SubjectId", "ClientId", "Type" }); |
||||
|
|
||||
|
migrationBuilder.CreateIndex( |
||||
|
name: "IX_IdentityServerPersistedGrants_SubjectId_SessionId_Type", |
||||
|
table: "IdentityServerPersistedGrants", |
||||
|
columns: new[] { "SubjectId", "SessionId", "Type" }); |
||||
|
} |
||||
|
|
||||
|
protected override void Down(MigrationBuilder migrationBuilder) |
||||
|
{ |
||||
|
migrationBuilder.DropTable( |
||||
|
name: "IdentityServerApiResourceClaims"); |
||||
|
|
||||
|
migrationBuilder.DropTable( |
||||
|
name: "IdentityServerApiResourceProperties"); |
||||
|
|
||||
|
migrationBuilder.DropTable( |
||||
|
name: "IdentityServerApiResourceScopes"); |
||||
|
|
||||
|
migrationBuilder.DropTable( |
||||
|
name: "IdentityServerApiResourceSecrets"); |
||||
|
|
||||
|
migrationBuilder.DropTable( |
||||
|
name: "IdentityServerApiScopeClaims"); |
||||
|
|
||||
|
migrationBuilder.DropTable( |
||||
|
name: "IdentityServerApiScopeProperties"); |
||||
|
|
||||
|
migrationBuilder.DropTable( |
||||
|
name: "IdentityServerClientClaims"); |
||||
|
|
||||
|
migrationBuilder.DropTable( |
||||
|
name: "IdentityServerClientCorsOrigins"); |
||||
|
|
||||
|
migrationBuilder.DropTable( |
||||
|
name: "IdentityServerClientGrantTypes"); |
||||
|
|
||||
|
migrationBuilder.DropTable( |
||||
|
name: "IdentityServerClientIdPRestrictions"); |
||||
|
|
||||
|
migrationBuilder.DropTable( |
||||
|
name: "IdentityServerClientPostLogoutRedirectUris"); |
||||
|
|
||||
|
migrationBuilder.DropTable( |
||||
|
name: "IdentityServerClientProperties"); |
||||
|
|
||||
|
migrationBuilder.DropTable( |
||||
|
name: "IdentityServerClientRedirectUris"); |
||||
|
|
||||
|
migrationBuilder.DropTable( |
||||
|
name: "IdentityServerClientScopes"); |
||||
|
|
||||
|
migrationBuilder.DropTable( |
||||
|
name: "IdentityServerClientSecrets"); |
||||
|
|
||||
|
migrationBuilder.DropTable( |
||||
|
name: "IdentityServerDeviceFlowCodes"); |
||||
|
|
||||
|
migrationBuilder.DropTable( |
||||
|
name: "IdentityServerIdentityResourceClaims"); |
||||
|
|
||||
|
migrationBuilder.DropTable( |
||||
|
name: "IdentityServerIdentityResourceProperties"); |
||||
|
|
||||
|
migrationBuilder.DropTable( |
||||
|
name: "IdentityServerPersistedGrants"); |
||||
|
|
||||
|
migrationBuilder.DropTable( |
||||
|
name: "IdentityServerApiResources"); |
||||
|
|
||||
|
migrationBuilder.DropTable( |
||||
|
name: "IdentityServerApiScopes"); |
||||
|
|
||||
|
migrationBuilder.DropTable( |
||||
|
name: "IdentityServerClients"); |
||||
|
|
||||
|
migrationBuilder.DropTable( |
||||
|
name: "IdentityServerIdentityResources"); |
||||
|
} |
||||
|
} |
||||
|
} |
File diff suppressed because it is too large
@ -0,0 +1,9 @@ |
|||||
|
export default function html(strings, ...values) { |
||||
|
let output = ""; |
||||
|
let index; |
||||
|
for (index = 0; index < values.length; index += 1) { |
||||
|
output += strings[index] + values[index]; |
||||
|
} |
||||
|
output += strings[index]; |
||||
|
return output; |
||||
|
} |
@ -0,0 +1,85 @@ |
|||||
|
<!DOCTYPE html> |
||||
|
<html> |
||||
|
|
||||
|
<head> |
||||
|
<meta charset="utf-8" /> |
||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> |
||||
|
<base href="./" /> |
||||
|
<title></title> |
||||
|
<style> |
||||
|
body { |
||||
|
margin: 0; |
||||
|
padding: 0; |
||||
|
} |
||||
|
|
||||
|
body * { |
||||
|
box-sizing: border-box; |
||||
|
} |
||||
|
|
||||
|
#app { |
||||
|
width: 100vw; |
||||
|
height: 100vh; |
||||
|
overflow-y: scroll; |
||||
|
display: flex; |
||||
|
} |
||||
|
|
||||
|
#app>ul { |
||||
|
margin: 0; |
||||
|
padding: 0; |
||||
|
list-style: none; |
||||
|
width: 200px; |
||||
|
border: 1px solid gray; |
||||
|
} |
||||
|
|
||||
|
#app>ul>li { |
||||
|
padding: .5em; |
||||
|
} |
||||
|
|
||||
|
#app>iframe { |
||||
|
width: calc(100vw - 200px); |
||||
|
} |
||||
|
</style> |
||||
|
</head> |
||||
|
|
||||
|
<body> |
||||
|
<div id="app"></div> |
||||
|
<script type="importmap"> |
||||
|
{ |
||||
|
"imports": { |
||||
|
"vue": "./lib/vue.esm-browser.js", |
||||
|
"vue-router": "./lib/vue-router.esm-browser.js", |
||||
|
"pinia": "./lib/pinia.esm-browser.js" |
||||
|
} |
||||
|
} |
||||
|
</script> |
||||
|
<script> |
||||
|
window.process = { env: { NODE_ENV: 'production' } }; |
||||
|
</script> |
||||
|
<script type="module"> |
||||
|
import { createApp, ref } from "vue"; |
||||
|
|
||||
|
const app = createApp({ |
||||
|
template: `<ul> |
||||
|
<li v-for="item in links"><a href="javascript:;" @click="load(item.href)">{{item.text}}</a></li> |
||||
|
</ul> |
||||
|
<iframe :src="src" frameborder="0" />`, |
||||
|
setup() { |
||||
|
const links = [ |
||||
|
{ text: "组件基础", href: "./pages/component.html" } |
||||
|
]; |
||||
|
const src = ref(""); |
||||
|
function load(href) { |
||||
|
src.value = href; |
||||
|
} |
||||
|
return { |
||||
|
links, |
||||
|
src, |
||||
|
load |
||||
|
} |
||||
|
} |
||||
|
}); |
||||
|
app.mount("#app"); |
||||
|
</script> |
||||
|
</body> |
||||
|
|
||||
|
</html> |
File diff suppressed because it is too large
File diff suppressed because it is too large
File diff suppressed because it is too large
@ -0,0 +1,96 @@ |
|||||
|
<!DOCTYPE html> |
||||
|
<html> |
||||
|
|
||||
|
<head> |
||||
|
<meta charset="utf-8" /> |
||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> |
||||
|
<base href="./" /> |
||||
|
<title>双向绑定</title> |
||||
|
</head> |
||||
|
|
||||
|
<body> |
||||
|
<div id="app"></div> |
||||
|
<script type="importmap"> |
||||
|
{ |
||||
|
"imports": { |
||||
|
"vue": "../lib/vue.esm-browser.js", |
||||
|
"vue-router": "../lib/vue-router.esm-browser.js", |
||||
|
"pinia": "../lib/pinia.esm-browser.js" |
||||
|
} |
||||
|
} |
||||
|
</script> |
||||
|
<script> |
||||
|
window.process = { env: { NODE_ENV: 'production' } }; |
||||
|
</script> |
||||
|
<script type="module"> |
||||
|
import { createApp, ref, reactive, watch, onMounted } from "vue"; |
||||
|
|
||||
|
const simpleComponent = { |
||||
|
components: {},//组件注册 |
||||
|
template: `<label>子组件:<input type="text" v-model="model.value"></label> |
||||
|
<button @click="onClick">click</button>`, |
||||
|
props: ['modelValue'], |
||||
|
emit: ["update:modelValue"], |
||||
|
setup(props, context) { |
||||
|
const model = reactive(props.modelValue); |
||||
|
watch(model, (value) => context.emit('update:modelValue', value)); |
||||
|
|
||||
|
const childMethod = () => { |
||||
|
alert('child method'); |
||||
|
} |
||||
|
|
||||
|
const callback = (result) => { |
||||
|
alert(`paretn method callback: ${result}`); |
||||
|
} |
||||
|
const onClick = () => { |
||||
|
context.emit('click', 'call parent method from child', callback) |
||||
|
}; |
||||
|
|
||||
|
context.expose({ childMethod }); |
||||
|
return { |
||||
|
model, |
||||
|
childMethod, |
||||
|
onClick |
||||
|
}; |
||||
|
} |
||||
|
}; |
||||
|
|
||||
|
const appComponent = { |
||||
|
components: { simpleComponent }, |
||||
|
template: `<label>父组件:<input type="text" v-model="model.value" /></label> |
||||
|
<button @click="onClick">click</button> |
||||
|
<simple-component ref="childRef" v-model="model" @click="parentMethod" />`, |
||||
|
props: ['modelValue'], |
||||
|
setup(props, context) { |
||||
|
const childRef = ref(null); |
||||
|
const model = reactive({ |
||||
|
value: "test" |
||||
|
}); |
||||
|
const onClick = () => { |
||||
|
console.log(props, context); |
||||
|
childRef.value.childMethod(); |
||||
|
}; |
||||
|
const parentMethod = (o, callback) => { |
||||
|
alert(o); |
||||
|
callback('from parent'); |
||||
|
}; |
||||
|
|
||||
|
onMounted(() => { |
||||
|
console.log(childRef.value) |
||||
|
}); |
||||
|
|
||||
|
return { |
||||
|
model, |
||||
|
childRef, |
||||
|
onClick, |
||||
|
parentMethod |
||||
|
}; |
||||
|
} |
||||
|
}; |
||||
|
|
||||
|
const app = createApp(appComponent); |
||||
|
app.mount("#app"); |
||||
|
</script> |
||||
|
</body> |
||||
|
|
||||
|
</html> |
@ -0,0 +1,6 @@ |
|||||
|
# vue 3 |
||||
|
|
||||
|
```javascript |
||||
|
import { createApp } from "vue"; |
||||
|
createApp().mount("#app"); |
||||
|
``` |
@ -0,0 +1,126 @@ |
|||||
|
const schema = { |
||||
|
title: "可结算单明细", |
||||
|
type: "object", |
||||
|
properties: { |
||||
|
settleBillNum: { |
||||
|
title: "关联结算单号", |
||||
|
type: "int", |
||||
|
}, |
||||
|
site: { |
||||
|
title: "工厂地点", |
||||
|
type: "string", |
||||
|
}, |
||||
|
version: { |
||||
|
title: "版本", |
||||
|
type: "int", |
||||
|
}, |
||||
|
price: { |
||||
|
title: "单价", |
||||
|
type: "decimal", |
||||
|
}, |
||||
|
billNum: { |
||||
|
title: "结算单号", |
||||
|
type: "string", |
||||
|
}, |
||||
|
settleDate: { |
||||
|
title: "结算日期", |
||||
|
type: "DateTime", |
||||
|
}, |
||||
|
settleInvGroupNumDate: { |
||||
|
title: "发票组号", |
||||
|
type: "string", |
||||
|
}, |
||||
|
lu: { |
||||
|
title: "零件号", |
||||
|
type: "string", |
||||
|
}, |
||||
|
materialDesc: { |
||||
|
title: "物料描述", |
||||
|
type: "string", |
||||
|
}, |
||||
|
pn: { |
||||
|
title: "生产号", |
||||
|
type: "string", |
||||
|
}, |
||||
|
qty: { |
||||
|
title: "结算数量", |
||||
|
type: "decimal", |
||||
|
}, |
||||
|
groupNumy: { |
||||
|
title: "结算分组号", |
||||
|
type: "string", |
||||
|
}, |
||||
|
}, |
||||
|
}; |
||||
|
|
||||
|
const baseUrl = "settleaccount/hbpo_can_sa_detail_service"; |
||||
|
const queryUrl = `${baseUrl}/get-list`; |
||||
|
const detailsUrl = `${baseUrl}/get/%s`; |
||||
|
const queryMethod = "POST"; |
||||
|
const detailsMethod = "POST"; |
||||
|
|
||||
|
export default function () { |
||||
|
return { |
||||
|
query: { |
||||
|
url: queryUrl, |
||||
|
method: queryMethod, |
||||
|
hasFilter: true, |
||||
|
schema: { |
||||
|
title: "发票分组号明细", |
||||
|
type: "object", |
||||
|
properties: { |
||||
|
filters: { |
||||
|
title: "项目", |
||||
|
type: "array", |
||||
|
hidden: true, |
||||
|
items: { |
||||
|
type: "object", |
||||
|
properties: { |
||||
|
logic: { |
||||
|
type: "int", |
||||
|
}, |
||||
|
column: { |
||||
|
type: "string", |
||||
|
}, |
||||
|
action: { |
||||
|
type: "int", |
||||
|
}, |
||||
|
value: { |
||||
|
type: "string", |
||||
|
}, |
||||
|
}, |
||||
|
}, |
||||
|
default: [ |
||||
|
{ |
||||
|
logic: "and", |
||||
|
column: "billNum", |
||||
|
action: "like", |
||||
|
value: null, |
||||
|
readOnly: true, |
||||
|
}, |
||||
|
], |
||||
|
}, |
||||
|
skipCount: { |
||||
|
hidden: true, |
||||
|
default: 0, |
||||
|
}, |
||||
|
maxResultCount: { |
||||
|
hidden: true, |
||||
|
default: 10, |
||||
|
}, |
||||
|
sorting: { |
||||
|
hidden: true, |
||||
|
}, |
||||
|
}, |
||||
|
}, |
||||
|
}, |
||||
|
table: { |
||||
|
schema: schema, |
||||
|
}, |
||||
|
edit: { |
||||
|
detailsUrl, |
||||
|
detailsMethod, |
||||
|
schema: schema, |
||||
|
}, |
||||
|
}; |
||||
|
} |
@ -0,0 +1,103 @@ |
|||||
|
import version from "../../version.js"; |
||||
|
import { state2, state3 } from "../../state.js"; |
||||
|
|
||||
|
const schema = { |
||||
|
title: "寄售库库存扣减审批", |
||||
|
type: "object", |
||||
|
properties: { |
||||
|
version, |
||||
|
state3, |
||||
|
billNum: { |
||||
|
title: "结算单号", |
||||
|
type: "string", |
||||
|
}, |
||||
|
settleBillNum: { |
||||
|
title: "关联结算单号", |
||||
|
type: "string", |
||||
|
}, |
||||
|
invGroupNum: { |
||||
|
title: "发票分组号", |
||||
|
type: "string", |
||||
|
}, |
||||
|
site: { |
||||
|
title: "地点", |
||||
|
type: "string", |
||||
|
}, |
||||
|
}, |
||||
|
}; |
||||
|
|
||||
|
const baseUrl = "settleaccount/bbac_pd_service"; |
||||
|
const queryUrl = `${baseUrl}/main-query`; |
||||
|
const detailsUrl = `${baseUrl}/get/%s`; |
||||
|
const exportUrl = `${baseUrl}/export`; |
||||
|
const queryMethod = "POST"; |
||||
|
const detailsMethod = "POST"; |
||||
|
const exportMethod = "POST"; |
||||
|
|
||||
|
export default function () { |
||||
|
return { |
||||
|
query: { |
||||
|
url: queryUrl, |
||||
|
method: queryMethod, |
||||
|
hasFilter: true, |
||||
|
schema: { |
||||
|
title: "不可结算单", |
||||
|
type: "object", |
||||
|
properties: { |
||||
|
filters: { |
||||
|
title: "项目", |
||||
|
type: "array", |
||||
|
hidden: true, |
||||
|
items: { |
||||
|
type: "object", |
||||
|
properties: { |
||||
|
logic: { |
||||
|
type: "int", |
||||
|
}, |
||||
|
column: { |
||||
|
type: "string", |
||||
|
}, |
||||
|
action: { |
||||
|
type: "int", |
||||
|
}, |
||||
|
value: { |
||||
|
type: "string", |
||||
|
}, |
||||
|
}, |
||||
|
}, |
||||
|
default: [ |
||||
|
{ |
||||
|
logic: "and", |
||||
|
column: "version", |
||||
|
action: "equal", |
||||
|
value: null, |
||||
|
readOnly: true, |
||||
|
}, |
||||
|
], |
||||
|
}, |
||||
|
skipCount: { |
||||
|
hidden: true, |
||||
|
default: 0, |
||||
|
}, |
||||
|
maxResultCount: { |
||||
|
hidden: true, |
||||
|
default: 10, |
||||
|
}, |
||||
|
sorting: { |
||||
|
hidden: true, |
||||
|
}, |
||||
|
}, |
||||
|
}, |
||||
|
}, |
||||
|
table: { |
||||
|
schema: schema, |
||||
|
}, |
||||
|
edit: { |
||||
|
detailsUrl, |
||||
|
exportUrl, |
||||
|
detailsMethod, |
||||
|
exportMethod, |
||||
|
schema: schema, |
||||
|
}, |
||||
|
}; |
||||
|
} |
@ -0,0 +1,128 @@ |
|||||
|
import version from "../../version.js"; |
||||
|
import { state2, state3 } from "../../state.js"; |
||||
|
|
||||
|
const schema = { |
||||
|
title: "商务审批", |
||||
|
type: "object", |
||||
|
properties: { |
||||
|
settleBillNum: { |
||||
|
title: "关联结算单号", |
||||
|
type: "string", |
||||
|
}, |
||||
|
site: { |
||||
|
title: "工厂地点", |
||||
|
type: "string", |
||||
|
}, |
||||
|
version, |
||||
|
state2, |
||||
|
price: { |
||||
|
title: "单价", |
||||
|
type: "decimal", |
||||
|
}, |
||||
|
billNum: { |
||||
|
title: "结算单号", |
||||
|
type: "string", |
||||
|
}, |
||||
|
|
||||
|
settleDate: { |
||||
|
title: "结算日期", |
||||
|
type: "DateTime", |
||||
|
}, |
||||
|
invGroupNum: { |
||||
|
title: "发票分组号", |
||||
|
type: "string", |
||||
|
}, |
||||
|
lu: { |
||||
|
title: "零件号", |
||||
|
type: "string", |
||||
|
}, |
||||
|
pn: { |
||||
|
title: "生产号", |
||||
|
type: "string", |
||||
|
}, |
||||
|
qty: { |
||||
|
title: "结算数量", |
||||
|
type: "decimal", |
||||
|
}, |
||||
|
groupNum: { |
||||
|
title: "结算分组号", |
||||
|
type: "string", |
||||
|
}, |
||||
|
}, |
||||
|
}; |
||||
|
|
||||
|
const baseUrl = "settleaccount/bbac_ba_service"; |
||||
|
const queryUrl = `${baseUrl}/main-query`; |
||||
|
const detailsUrl = `${baseUrl}/get/%s`; |
||||
|
const exportUrl = `${baseUrl}/export`; |
||||
|
const queryMethod = "POST"; |
||||
|
const detailsMethod = "POST"; |
||||
|
const exportMethod = "POST"; |
||||
|
|
||||
|
export default function () { |
||||
|
return { |
||||
|
query: { |
||||
|
url: queryUrl, |
||||
|
method: queryMethod, |
||||
|
hasFilter: true, |
||||
|
schema: { |
||||
|
title: "商务审批", |
||||
|
type: "object", |
||||
|
properties: { |
||||
|
filters: { |
||||
|
title: "项目", |
||||
|
type: "array", |
||||
|
hidden: true, |
||||
|
items: { |
||||
|
type: "object", |
||||
|
properties: { |
||||
|
logic: { |
||||
|
type: "int", |
||||
|
}, |
||||
|
column: { |
||||
|
type: "string", |
||||
|
}, |
||||
|
action: { |
||||
|
type: "int", |
||||
|
}, |
||||
|
value: { |
||||
|
type: "string", |
||||
|
}, |
||||
|
}, |
||||
|
}, |
||||
|
default: [ |
||||
|
{ |
||||
|
logic: "and", |
||||
|
column: "version", |
||||
|
action: "equal", |
||||
|
value: null, |
||||
|
readOnly: true, |
||||
|
}, |
||||
|
], |
||||
|
}, |
||||
|
skipCount: { |
||||
|
hidden: true, |
||||
|
default: 0, |
||||
|
}, |
||||
|
maxResultCount: { |
||||
|
hidden: true, |
||||
|
default: 10, |
||||
|
}, |
||||
|
sorting: { |
||||
|
hidden: true, |
||||
|
}, |
||||
|
}, |
||||
|
}, |
||||
|
}, |
||||
|
table: { |
||||
|
schema: schema, |
||||
|
}, |
||||
|
edit: { |
||||
|
detailsUrl, |
||||
|
exportUrl, |
||||
|
detailsMethod, |
||||
|
exportMethod, |
||||
|
schema: schema, |
||||
|
}, |
||||
|
}; |
||||
|
} |
@ -0,0 +1,103 @@ |
|||||
|
import version from "../../version.js"; |
||||
|
import { state2, state3 } from "../../state.js"; |
||||
|
|
||||
|
const schema = { |
||||
|
title: "寄售库库存扣减审批", |
||||
|
type: "object", |
||||
|
properties: { |
||||
|
version, |
||||
|
state3, |
||||
|
billNum: { |
||||
|
title: "结算单号", |
||||
|
type: "string", |
||||
|
}, |
||||
|
settleBillNum: { |
||||
|
title: "关联结算单号", |
||||
|
type: "string", |
||||
|
}, |
||||
|
invGroupNum: { |
||||
|
title: "发票分组号", |
||||
|
type: "string", |
||||
|
}, |
||||
|
site: { |
||||
|
title: "地点", |
||||
|
type: "string", |
||||
|
}, |
||||
|
}, |
||||
|
}; |
||||
|
|
||||
|
const baseUrl = "settleaccount/bbac_pd_service"; |
||||
|
const queryUrl = `${baseUrl}/main-query`; |
||||
|
const detailsUrl = `${baseUrl}/get/%s`; |
||||
|
const exportUrl = `${baseUrl}/export`; |
||||
|
const queryMethod = "POST"; |
||||
|
const detailsMethod = "POST"; |
||||
|
const exportMethod = "POST"; |
||||
|
|
||||
|
export default function () { |
||||
|
return { |
||||
|
query: { |
||||
|
url: queryUrl, |
||||
|
method: queryMethod, |
||||
|
hasFilter: true, |
||||
|
schema: { |
||||
|
title: "不可结算单", |
||||
|
type: "object", |
||||
|
properties: { |
||||
|
filters: { |
||||
|
title: "项目", |
||||
|
type: "array", |
||||
|
hidden: true, |
||||
|
items: { |
||||
|
type: "object", |
||||
|
properties: { |
||||
|
logic: { |
||||
|
type: "int", |
||||
|
}, |
||||
|
column: { |
||||
|
type: "string", |
||||
|
}, |
||||
|
action: { |
||||
|
type: "int", |
||||
|
}, |
||||
|
value: { |
||||
|
type: "string", |
||||
|
}, |
||||
|
}, |
||||
|
}, |
||||
|
default: [ |
||||
|
{ |
||||
|
logic: "and", |
||||
|
column: "version", |
||||
|
action: "equal", |
||||
|
value: null, |
||||
|
readOnly: true, |
||||
|
}, |
||||
|
], |
||||
|
}, |
||||
|
skipCount: { |
||||
|
hidden: true, |
||||
|
default: 0, |
||||
|
}, |
||||
|
maxResultCount: { |
||||
|
hidden: true, |
||||
|
default: 10, |
||||
|
}, |
||||
|
sorting: { |
||||
|
hidden: true, |
||||
|
}, |
||||
|
}, |
||||
|
}, |
||||
|
}, |
||||
|
table: { |
||||
|
schema: schema, |
||||
|
}, |
||||
|
edit: { |
||||
|
detailsUrl, |
||||
|
exportUrl, |
||||
|
detailsMethod, |
||||
|
exportMethod, |
||||
|
schema: schema, |
||||
|
}, |
||||
|
}; |
||||
|
} |
@ -0,0 +1,119 @@ |
|||||
|
import version from "../../version.js"; |
||||
|
import { state2, state3 } from "../../state.js"; |
||||
|
|
||||
|
const schema = { |
||||
|
title: "商务审批", |
||||
|
type: "object", |
||||
|
properties: { |
||||
|
settleBillNum: { |
||||
|
title: "关联结算单号", |
||||
|
type: "string", |
||||
|
}, |
||||
|
site: { |
||||
|
title: "工厂地点", |
||||
|
type: "string", |
||||
|
}, |
||||
|
version, |
||||
|
state2, |
||||
|
price: { |
||||
|
title: "单价", |
||||
|
type: "decimal", |
||||
|
}, |
||||
|
billNum: { |
||||
|
title: "结算单号", |
||||
|
type: "string", |
||||
|
}, |
||||
|
|
||||
|
settleDate: { |
||||
|
title: "结算日期", |
||||
|
type: "DateTime", |
||||
|
}, |
||||
|
invGroupNum: { |
||||
|
title: "发票分组号", |
||||
|
type: "string", |
||||
|
}, |
||||
|
lu: { |
||||
|
title: "零件号", |
||||
|
type: "string", |
||||
|
}, |
||||
|
pn: { |
||||
|
title: "生产号", |
||||
|
type: "string", |
||||
|
}, |
||||
|
qty: { |
||||
|
title: "结算数量", |
||||
|
type: "decimal", |
||||
|
}, |
||||
|
groupNum: { |
||||
|
title: "结算分组号", |
||||
|
type: "string", |
||||
|
}, |
||||
|
}, |
||||
|
}; |
||||
|
|
||||
|
const queryUrl = "settleaccount/b-bAC_BA_SERVICE/detail-query"; |
||||
|
const queryMethod = "POST"; |
||||
|
|
||||
|
export default function () { |
||||
|
return { |
||||
|
query: { |
||||
|
url: queryUrl, |
||||
|
method: queryMethod, |
||||
|
hasFilter: true, |
||||
|
schema: { |
||||
|
title: "商务审批", |
||||
|
type: "object", |
||||
|
properties: { |
||||
|
filters: { |
||||
|
title: "项目", |
||||
|
type: "array", |
||||
|
hidden: true, |
||||
|
items: { |
||||
|
type: "object", |
||||
|
properties: { |
||||
|
logic: { |
||||
|
type: "int", |
||||
|
}, |
||||
|
column: { |
||||
|
type: "string", |
||||
|
}, |
||||
|
action: { |
||||
|
type: "int", |
||||
|
}, |
||||
|
value: { |
||||
|
type: "string", |
||||
|
}, |
||||
|
}, |
||||
|
}, |
||||
|
default: [ |
||||
|
{ |
||||
|
logic: "and", |
||||
|
column: "version", |
||||
|
action: "equal", |
||||
|
value: null, |
||||
|
readOnly: true, |
||||
|
}, |
||||
|
], |
||||
|
}, |
||||
|
skipCount: { |
||||
|
hidden: true, |
||||
|
default: 0, |
||||
|
}, |
||||
|
maxResultCount: { |
||||
|
hidden: true, |
||||
|
default: 10, |
||||
|
}, |
||||
|
sorting: { |
||||
|
hidden: true, |
||||
|
}, |
||||
|
}, |
||||
|
}, |
||||
|
}, |
||||
|
table: { |
||||
|
schema: schema, |
||||
|
}, |
||||
|
edit: { |
||||
|
schema: schema, |
||||
|
}, |
||||
|
}; |
||||
|
} |
@ -0,0 +1,95 @@ |
|||||
|
import version from "../../version.js"; |
||||
|
import { state2, state3 } from "../../state.js"; |
||||
|
|
||||
|
const schema = { |
||||
|
title: "寄售库库存扣减审批", |
||||
|
type: "object", |
||||
|
properties: { |
||||
|
version, |
||||
|
state3, |
||||
|
billNum: { |
||||
|
title: "结算单号", |
||||
|
type: "string", |
||||
|
}, |
||||
|
settleBillNum: { |
||||
|
title: "关联结算单号", |
||||
|
type: "string", |
||||
|
}, |
||||
|
invGroupNum: { |
||||
|
title: "发票分组号", |
||||
|
type: "string", |
||||
|
}, |
||||
|
site: { |
||||
|
title: "地点", |
||||
|
type: "string", |
||||
|
}, |
||||
|
}, |
||||
|
}; |
||||
|
|
||||
|
const baseUrl = "settleaccount/bbac_pd_service"; |
||||
|
const queryUrl = `${baseUrl}/detail-query`; |
||||
|
const queryMethod = "POST"; |
||||
|
|
||||
|
export default function () { |
||||
|
return { |
||||
|
query: { |
||||
|
url: queryUrl, |
||||
|
method: queryMethod, |
||||
|
hasFilter: true, |
||||
|
schema: { |
||||
|
title: "不可结算单", |
||||
|
type: "object", |
||||
|
properties: { |
||||
|
filters: { |
||||
|
title: "项目", |
||||
|
type: "array", |
||||
|
hidden: true, |
||||
|
items: { |
||||
|
type: "object", |
||||
|
properties: { |
||||
|
logic: { |
||||
|
type: "int", |
||||
|
}, |
||||
|
column: { |
||||
|
type: "string", |
||||
|
}, |
||||
|
action: { |
||||
|
type: "int", |
||||
|
}, |
||||
|
value: { |
||||
|
type: "string", |
||||
|
}, |
||||
|
}, |
||||
|
}, |
||||
|
default: [ |
||||
|
{ |
||||
|
logic: "and", |
||||
|
column: "version", |
||||
|
action: "equal", |
||||
|
value: null, |
||||
|
readOnly: true, |
||||
|
}, |
||||
|
], |
||||
|
}, |
||||
|
skipCount: { |
||||
|
hidden: true, |
||||
|
default: 0, |
||||
|
}, |
||||
|
maxResultCount: { |
||||
|
hidden: true, |
||||
|
default: 10, |
||||
|
}, |
||||
|
sorting: { |
||||
|
hidden: true, |
||||
|
}, |
||||
|
}, |
||||
|
}, |
||||
|
}, |
||||
|
table: { |
||||
|
schema: schema, |
||||
|
}, |
||||
|
edit: { |
||||
|
schema: schema, |
||||
|
}, |
||||
|
}; |
||||
|
} |
@ -0,0 +1,124 @@ |
|||||
|
import version from "../../version.js"; |
||||
|
import { state2, state3 } from "../../state.js"; |
||||
|
|
||||
|
const schema = { |
||||
|
title: "不可结算单", |
||||
|
type: "object", |
||||
|
properties: { |
||||
|
state2, |
||||
|
settleBillNum: { |
||||
|
title: "关联结算单号", |
||||
|
type: "string", |
||||
|
}, |
||||
|
site: { |
||||
|
title: "工厂地点", |
||||
|
type: "string", |
||||
|
}, |
||||
|
version, |
||||
|
price: { |
||||
|
title: "单价", |
||||
|
type: "decimal", |
||||
|
}, |
||||
|
billNum: { |
||||
|
title: "结算单号", |
||||
|
type: "string", |
||||
|
}, |
||||
|
|
||||
|
settleDate: { |
||||
|
title: "结算日期", |
||||
|
type: "DateTime", |
||||
|
}, |
||||
|
invGroupNum: { |
||||
|
title: "发票分组号", |
||||
|
type: "string", |
||||
|
}, |
||||
|
lu: { |
||||
|
title: "零件号", |
||||
|
type: "string", |
||||
|
}, |
||||
|
pn: { |
||||
|
title: "生产号", |
||||
|
type: "string", |
||||
|
}, |
||||
|
qty: { |
||||
|
title: "结算数量", |
||||
|
type: "decimal", |
||||
|
}, |
||||
|
groupNum: { |
||||
|
title: "结算分组号", |
||||
|
type: "string", |
||||
|
}, |
||||
|
}, |
||||
|
}; |
||||
|
|
||||
|
const baseUrl = "settleaccount/hbpo_ba_service"; |
||||
|
const queryUrl = `${baseUrl}/detail-query`; |
||||
|
|
||||
|
const queryMethod = "POST"; |
||||
|
|
||||
|
|
||||
|
export default function () { |
||||
|
return { |
||||
|
query: { |
||||
|
url: queryUrl, |
||||
|
method: queryMethod, |
||||
|
hasFilter: true, |
||||
|
schema: { |
||||
|
title: "不可结算单", |
||||
|
type: "object", |
||||
|
properties: { |
||||
|
filters: { |
||||
|
title: "项目", |
||||
|
type: "array", |
||||
|
hidden: true, |
||||
|
items: { |
||||
|
type: "object", |
||||
|
properties: { |
||||
|
logic: { |
||||
|
type: "int", |
||||
|
}, |
||||
|
column: { |
||||
|
type: "string", |
||||
|
}, |
||||
|
action: { |
||||
|
type: "int", |
||||
|
}, |
||||
|
value: { |
||||
|
type: "string", |
||||
|
}, |
||||
|
}, |
||||
|
}, |
||||
|
default: [ |
||||
|
{ |
||||
|
logic: "and", |
||||
|
column: "version", |
||||
|
action: "equal", |
||||
|
value: null, |
||||
|
readOnly: true, |
||||
|
}, |
||||
|
], |
||||
|
}, |
||||
|
skipCount: { |
||||
|
hidden: true, |
||||
|
default: 0, |
||||
|
}, |
||||
|
maxResultCount: { |
||||
|
hidden: true, |
||||
|
default: 10, |
||||
|
}, |
||||
|
sorting: { |
||||
|
hidden: true, |
||||
|
}, |
||||
|
}, |
||||
|
}, |
||||
|
}, |
||||
|
table: { |
||||
|
schema: schema, |
||||
|
}, |
||||
|
edit: { |
||||
|
queryUrl, |
||||
|
queryMethod, |
||||
|
schema: schema, |
||||
|
}, |
||||
|
}; |
||||
|
} |
@ -0,0 +1,97 @@ |
|||||
|
import version from "../../version.js"; |
||||
|
import { state2, state3 } from "../../state.js"; |
||||
|
|
||||
|
const schema = { |
||||
|
title: "寄售库库存扣减审批", |
||||
|
type: "object", |
||||
|
properties: { |
||||
|
version, |
||||
|
state3, |
||||
|
billNum: { |
||||
|
title: "结算单号", |
||||
|
type: "string", |
||||
|
}, |
||||
|
settleBillNum: { |
||||
|
title: "关联结算单号", |
||||
|
type: "string", |
||||
|
}, |
||||
|
invGroupNum: { |
||||
|
title: "发票分组号", |
||||
|
type: "string", |
||||
|
}, |
||||
|
site: { |
||||
|
title: "地点", |
||||
|
type: "string", |
||||
|
}, |
||||
|
}, |
||||
|
}; |
||||
|
|
||||
|
const baseUrl = "settleaccount/hbpo_pd_service"; |
||||
|
const queryUrl = `${baseUrl}/detail_query`; |
||||
|
const queryMethod = "POST"; |
||||
|
|
||||
|
export default function () { |
||||
|
return { |
||||
|
query: { |
||||
|
url: queryUrl, |
||||
|
method: queryMethod, |
||||
|
hasFilter: true, |
||||
|
schema: { |
||||
|
title: "不可结算单", |
||||
|
type: "object", |
||||
|
properties: { |
||||
|
filters: { |
||||
|
title: "项目", |
||||
|
type: "array", |
||||
|
hidden: true, |
||||
|
items: { |
||||
|
type: "object", |
||||
|
properties: { |
||||
|
logic: { |
||||
|
type: "int", |
||||
|
}, |
||||
|
column: { |
||||
|
type: "string", |
||||
|
}, |
||||
|
action: { |
||||
|
type: "int", |
||||
|
}, |
||||
|
value: { |
||||
|
type: "string", |
||||
|
}, |
||||
|
}, |
||||
|
}, |
||||
|
default: [ |
||||
|
{ |
||||
|
logic: "and", |
||||
|
column: "version", |
||||
|
action: "equal", |
||||
|
value: null, |
||||
|
readOnly: true, |
||||
|
}, |
||||
|
], |
||||
|
}, |
||||
|
skipCount: { |
||||
|
hidden: true, |
||||
|
default: 0, |
||||
|
}, |
||||
|
maxResultCount: { |
||||
|
hidden: true, |
||||
|
default: 10, |
||||
|
}, |
||||
|
sorting: { |
||||
|
hidden: true, |
||||
|
}, |
||||
|
}, |
||||
|
}, |
||||
|
}, |
||||
|
table: { |
||||
|
schema: schema, |
||||
|
}, |
||||
|
edit: { |
||||
|
queryUrl, |
||||
|
queryMethod, |
||||
|
schema: schema, |
||||
|
}, |
||||
|
}; |
||||
|
} |
@ -0,0 +1,126 @@ |
|||||
|
const schema = { |
||||
|
title: "可结算单明细", |
||||
|
type: "object", |
||||
|
properties: { |
||||
|
settleBillNum: { |
||||
|
title: "关联结算单号", |
||||
|
type: "int", |
||||
|
}, |
||||
|
site: { |
||||
|
title: "工厂地点", |
||||
|
type: "string", |
||||
|
}, |
||||
|
version: { |
||||
|
title: "版本", |
||||
|
type: "int", |
||||
|
}, |
||||
|
price: { |
||||
|
title: "单价", |
||||
|
type: "decimal", |
||||
|
}, |
||||
|
billNum: { |
||||
|
title: "结算单号", |
||||
|
type: "string", |
||||
|
}, |
||||
|
settleDate: { |
||||
|
title: "结算日期", |
||||
|
type: "DateTime", |
||||
|
}, |
||||
|
settleInvGroupNumDate: { |
||||
|
title: "发票组号", |
||||
|
type: "string", |
||||
|
}, |
||||
|
lu: { |
||||
|
title: "零件号", |
||||
|
type: "string", |
||||
|
}, |
||||
|
materialDesc: { |
||||
|
title: "物料描述", |
||||
|
type: "string", |
||||
|
}, |
||||
|
pn: { |
||||
|
title: "生产号", |
||||
|
type: "string", |
||||
|
}, |
||||
|
qty: { |
||||
|
title: "结算数量", |
||||
|
type: "decimal", |
||||
|
}, |
||||
|
groupNumy: { |
||||
|
title: "结算分组号", |
||||
|
type: "string", |
||||
|
}, |
||||
|
}, |
||||
|
}; |
||||
|
|
||||
|
const baseUrl = "settleaccount/hbpo_can_sa_detail_service"; |
||||
|
const queryUrl = `${baseUrl}/get-list`; |
||||
|
const detailsUrl = `${baseUrl}/get/%s`; |
||||
|
const queryMethod = "POST"; |
||||
|
const detailsMethod = "POST"; |
||||
|
|
||||
|
export default function () { |
||||
|
return { |
||||
|
query: { |
||||
|
url: queryUrl, |
||||
|
method: queryMethod, |
||||
|
hasFilter: true, |
||||
|
schema: { |
||||
|
title: "发票分组号明细", |
||||
|
type: "object", |
||||
|
properties: { |
||||
|
filters: { |
||||
|
title: "项目", |
||||
|
type: "array", |
||||
|
hidden: true, |
||||
|
items: { |
||||
|
type: "object", |
||||
|
properties: { |
||||
|
logic: { |
||||
|
type: "int", |
||||
|
}, |
||||
|
column: { |
||||
|
type: "string", |
||||
|
}, |
||||
|
action: { |
||||
|
type: "int", |
||||
|
}, |
||||
|
value: { |
||||
|
type: "string", |
||||
|
}, |
||||
|
}, |
||||
|
}, |
||||
|
default: [ |
||||
|
{ |
||||
|
logic: "and", |
||||
|
column: "billNum", |
||||
|
action: "like", |
||||
|
value: null, |
||||
|
readOnly: true, |
||||
|
}, |
||||
|
], |
||||
|
}, |
||||
|
skipCount: { |
||||
|
hidden: true, |
||||
|
default: 0, |
||||
|
}, |
||||
|
maxResultCount: { |
||||
|
hidden: true, |
||||
|
default: 10, |
||||
|
}, |
||||
|
sorting: { |
||||
|
hidden: true, |
||||
|
}, |
||||
|
}, |
||||
|
}, |
||||
|
}, |
||||
|
table: { |
||||
|
schema: schema, |
||||
|
}, |
||||
|
edit: { |
||||
|
detailsUrl, |
||||
|
detailsMethod, |
||||
|
schema: schema, |
||||
|
}, |
||||
|
}; |
||||
|
} |
@ -0,0 +1,103 @@ |
|||||
|
import version from "../../version.js"; |
||||
|
import { state2, state3 } from "../../state.js"; |
||||
|
|
||||
|
const schema = { |
||||
|
title: "寄售库库存扣减审批", |
||||
|
type: "object", |
||||
|
properties: { |
||||
|
version, |
||||
|
state3, |
||||
|
billNum: { |
||||
|
title: "结算单号", |
||||
|
type: "string", |
||||
|
}, |
||||
|
settleBillNum: { |
||||
|
title: "关联结算单号", |
||||
|
type: "string", |
||||
|
}, |
||||
|
invGroupNum: { |
||||
|
title: "发票分组号", |
||||
|
type: "string", |
||||
|
}, |
||||
|
site: { |
||||
|
title: "地点", |
||||
|
type: "string", |
||||
|
}, |
||||
|
}, |
||||
|
}; |
||||
|
|
||||
|
const baseUrl = "settleaccount/bbac_pd_service"; |
||||
|
const queryUrl = `${baseUrl}/main-query`; |
||||
|
const detailsUrl = `${baseUrl}/get/%s`; |
||||
|
const exportUrl = `${baseUrl}/export`; |
||||
|
const queryMethod = "POST"; |
||||
|
const detailsMethod = "POST"; |
||||
|
const exportMethod = "POST"; |
||||
|
|
||||
|
export default function () { |
||||
|
return { |
||||
|
query: { |
||||
|
url: queryUrl, |
||||
|
method: queryMethod, |
||||
|
hasFilter: true, |
||||
|
schema: { |
||||
|
title: "不可结算单", |
||||
|
type: "object", |
||||
|
properties: { |
||||
|
filters: { |
||||
|
title: "项目", |
||||
|
type: "array", |
||||
|
hidden: true, |
||||
|
items: { |
||||
|
type: "object", |
||||
|
properties: { |
||||
|
logic: { |
||||
|
type: "int", |
||||
|
}, |
||||
|
column: { |
||||
|
type: "string", |
||||
|
}, |
||||
|
action: { |
||||
|
type: "int", |
||||
|
}, |
||||
|
value: { |
||||
|
type: "string", |
||||
|
}, |
||||
|
}, |
||||
|
}, |
||||
|
default: [ |
||||
|
{ |
||||
|
logic: "and", |
||||
|
column: "version", |
||||
|
action: "equal", |
||||
|
value: null, |
||||
|
readOnly: true, |
||||
|
}, |
||||
|
], |
||||
|
}, |
||||
|
skipCount: { |
||||
|
hidden: true, |
||||
|
default: 0, |
||||
|
}, |
||||
|
maxResultCount: { |
||||
|
hidden: true, |
||||
|
default: 10, |
||||
|
}, |
||||
|
sorting: { |
||||
|
hidden: true, |
||||
|
}, |
||||
|
}, |
||||
|
}, |
||||
|
}, |
||||
|
table: { |
||||
|
schema: schema, |
||||
|
}, |
||||
|
edit: { |
||||
|
detailsUrl, |
||||
|
exportUrl, |
||||
|
detailsMethod, |
||||
|
exportMethod, |
||||
|
schema: schema, |
||||
|
}, |
||||
|
}; |
||||
|
} |
@ -0,0 +1,139 @@ |
|||||
|
import version from "./version.js"; |
||||
|
import { state2, state3 } from "./state.js"; |
||||
|
|
||||
|
const schema = { |
||||
|
title: "结算数据", |
||||
|
type: "object", |
||||
|
properties: { |
||||
|
settleBillNum: { |
||||
|
title: "关联结算单号", |
||||
|
type: "string", |
||||
|
}, |
||||
|
site: { |
||||
|
title: "工厂地点", |
||||
|
type: "string", |
||||
|
}, |
||||
|
businessType: { |
||||
|
title: "业务分类", |
||||
|
type: "EnumBusinessType", |
||||
|
}, |
||||
|
version, |
||||
|
state2, |
||||
|
price: { |
||||
|
title: "价格", |
||||
|
type: "decimal", |
||||
|
}, |
||||
|
billNum: { |
||||
|
title: "结算单号", |
||||
|
type: "string", |
||||
|
}, |
||||
|
settleDate: { |
||||
|
title: "下线日期", |
||||
|
type: "DateTime", |
||||
|
}, |
||||
|
invGroupNum: { |
||||
|
title: "发票分组号", |
||||
|
type: "string", |
||||
|
}, |
||||
|
lu: { |
||||
|
title: "零件号", |
||||
|
type: "string", |
||||
|
}, |
||||
|
pn: { |
||||
|
title: "发货单号", |
||||
|
type: "string", |
||||
|
}, |
||||
|
keycode: { |
||||
|
title: "键值", |
||||
|
type: "string", |
||||
|
}, |
||||
|
qty: { |
||||
|
title: "结算数量", |
||||
|
type: "decimal", |
||||
|
}, |
||||
|
groupNum: { |
||||
|
title: "结算分组号", |
||||
|
type: "decimal", |
||||
|
}, |
||||
|
entend1: { |
||||
|
title: "扩展1", |
||||
|
type: "string", |
||||
|
}, |
||||
|
entend2: { |
||||
|
title: "扩展2", |
||||
|
type: "string", |
||||
|
}, |
||||
|
entend3: { |
||||
|
title: "扩展3", |
||||
|
type: "string", |
||||
|
}, |
||||
|
}, |
||||
|
}; |
||||
|
|
||||
|
const queryUrl = "settleaccount/p-uB_BA_SERVICE/detail-query"; |
||||
|
|
||||
|
const queryMethod = "POST"; |
||||
|
|
||||
|
export default function () { |
||||
|
return { |
||||
|
query: { |
||||
|
url: queryUrl, |
||||
|
method: queryMethod, |
||||
|
hasFilter: true, |
||||
|
schema: { |
||||
|
title: "结算数据", |
||||
|
type: "object", |
||||
|
properties: { |
||||
|
filters: { |
||||
|
title: "项目", |
||||
|
type: "array", |
||||
|
hidden: true, |
||||
|
items: { |
||||
|
type: "object", |
||||
|
properties: { |
||||
|
logic: { |
||||
|
type: "int", |
||||
|
}, |
||||
|
column: { |
||||
|
type: "string", |
||||
|
}, |
||||
|
action: { |
||||
|
type: "int", |
||||
|
}, |
||||
|
value: { |
||||
|
type: "string", |
||||
|
}, |
||||
|
}, |
||||
|
}, |
||||
|
default: [ |
||||
|
{ |
||||
|
logic: "and", |
||||
|
column: "version", |
||||
|
action: "equal", |
||||
|
value: null, |
||||
|
readOnly: true, |
||||
|
}, |
||||
|
], |
||||
|
}, |
||||
|
skipCount: { |
||||
|
hidden: true, |
||||
|
default: 0, |
||||
|
}, |
||||
|
maxResultCount: { |
||||
|
hidden: true, |
||||
|
default: 10, |
||||
|
}, |
||||
|
sorting: { |
||||
|
hidden: true, |
||||
|
}, |
||||
|
}, |
||||
|
}, |
||||
|
}, |
||||
|
table: { |
||||
|
schema: schema, |
||||
|
}, |
||||
|
edit: { |
||||
|
schema: schema, |
||||
|
}, |
||||
|
}; |
||||
|
} |
@ -0,0 +1,154 @@ |
|||||
|
import version from "./version.js"; |
||||
|
import { state2, state3 } from "./state.js"; |
||||
|
|
||||
|
const schema = { |
||||
|
title: "结算数据", |
||||
|
type: "object", |
||||
|
properties: { |
||||
|
settleBillNum: { |
||||
|
title: "关联结算单号", |
||||
|
type: "string", |
||||
|
}, |
||||
|
site: { |
||||
|
title: "工厂地点", |
||||
|
type: "string", |
||||
|
}, |
||||
|
businessType: { |
||||
|
title: "业务分类", |
||||
|
type: "EnumBusinessType", |
||||
|
}, |
||||
|
version, |
||||
|
state2, |
||||
|
price: { |
||||
|
title: "价格", |
||||
|
type: "decimal", |
||||
|
}, |
||||
|
billNum: { |
||||
|
title: "结算单号", |
||||
|
type: "string", |
||||
|
}, |
||||
|
settleDate: { |
||||
|
title: "下线日期", |
||||
|
type: "DateTime", |
||||
|
}, |
||||
|
invGroupNum: { |
||||
|
title: "发票分组号", |
||||
|
type: "string", |
||||
|
}, |
||||
|
lu: { |
||||
|
title: "零件号", |
||||
|
type: "string", |
||||
|
}, |
||||
|
pn: { |
||||
|
title: "发货单号", |
||||
|
type: "string", |
||||
|
}, |
||||
|
keycode: { |
||||
|
title: "键值", |
||||
|
type: "string", |
||||
|
}, |
||||
|
qty: { |
||||
|
title: "结算数量", |
||||
|
type: "decimal", |
||||
|
}, |
||||
|
groupNum: { |
||||
|
title: "结算分组号", |
||||
|
type: "decimal", |
||||
|
}, |
||||
|
entend1: { |
||||
|
title: "扩展1", |
||||
|
type: "string", |
||||
|
}, |
||||
|
entend2: { |
||||
|
title: "扩展2", |
||||
|
type: "string", |
||||
|
}, |
||||
|
entend3: { |
||||
|
title: "扩展3", |
||||
|
type: "string", |
||||
|
}, |
||||
|
}, |
||||
|
}; |
||||
|
|
||||
|
const queryUrl = "settleaccount/p-uB_BA_SERVICE/main-query"; |
||||
|
const exportUrl = "settleaccount/p-uB_BA_SERVICE/export"; |
||||
|
const invoiceUrl = "settleaccount/p-uB_BA_SERVICE/generate-invoice"; |
||||
|
const rejectUrl = "settleaccount/p-uB_BA_SERVICE/reject"; |
||||
|
const receivedUrl = "settleaccount/p-uB_BA_SERVICE/received"; |
||||
|
const queryMethod = "POST"; |
||||
|
const exportMethod = "POST"; |
||||
|
const invoiceMethod = "POST"; |
||||
|
const rejectMethod = "POST"; |
||||
|
const receivedMethod = "POST"; |
||||
|
|
||||
|
export default function () { |
||||
|
return { |
||||
|
query: { |
||||
|
url: queryUrl, |
||||
|
method: queryMethod, |
||||
|
hasFilter: true, |
||||
|
schema: { |
||||
|
title: "结算数据", |
||||
|
type: "object", |
||||
|
properties: { |
||||
|
filters: { |
||||
|
title: "项目", |
||||
|
type: "array", |
||||
|
hidden: true, |
||||
|
items: { |
||||
|
type: "object", |
||||
|
properties: { |
||||
|
logic: { |
||||
|
type: "int", |
||||
|
}, |
||||
|
column: { |
||||
|
type: "string", |
||||
|
}, |
||||
|
action: { |
||||
|
type: "int", |
||||
|
}, |
||||
|
value: { |
||||
|
type: "string", |
||||
|
}, |
||||
|
}, |
||||
|
}, |
||||
|
default: [ |
||||
|
{ |
||||
|
logic: "and", |
||||
|
column: "version", |
||||
|
action: "equal", |
||||
|
value: null, |
||||
|
readOnly: true, |
||||
|
}, |
||||
|
], |
||||
|
}, |
||||
|
skipCount: { |
||||
|
hidden: true, |
||||
|
default: 0, |
||||
|
}, |
||||
|
maxResultCount: { |
||||
|
hidden: true, |
||||
|
default: 10, |
||||
|
}, |
||||
|
sorting: { |
||||
|
hidden: true, |
||||
|
}, |
||||
|
}, |
||||
|
}, |
||||
|
}, |
||||
|
table: { |
||||
|
schema: schema, |
||||
|
}, |
||||
|
edit: { |
||||
|
exportUrl, |
||||
|
invoiceUrl, |
||||
|
rejectUrl, |
||||
|
receivedUrl, |
||||
|
exportMethod, |
||||
|
invoiceMethod, |
||||
|
rejectMethod, |
||||
|
receivedMethod, |
||||
|
schema: schema, |
||||
|
}, |
||||
|
}; |
||||
|
} |
@ -0,0 +1,126 @@ |
|||||
|
import version from "./version.js"; |
||||
|
import state from "./state.js"; |
||||
|
|
||||
|
const schema = { |
||||
|
title: "结算数据", |
||||
|
type: "object", |
||||
|
properties: { |
||||
|
state, |
||||
|
settleBillNum: { |
||||
|
title: "关联结算单号", |
||||
|
type: "string", |
||||
|
}, |
||||
|
site: { |
||||
|
title: "工厂地点", |
||||
|
type: "string", |
||||
|
}, |
||||
|
businessType: { |
||||
|
title: "业务分类", |
||||
|
type: "EnumBusinessType", |
||||
|
}, |
||||
|
version, |
||||
|
price: { |
||||
|
title: "价格", |
||||
|
type: "decimal", |
||||
|
}, |
||||
|
billNum: { |
||||
|
title: "结算单号", |
||||
|
type: "string", |
||||
|
}, |
||||
|
settleDate: { |
||||
|
title: "下线日期", |
||||
|
type: "DateTime", |
||||
|
}, |
||||
|
invGroupNum: { |
||||
|
title: "发票分组号", |
||||
|
type: "string", |
||||
|
}, |
||||
|
lu: { |
||||
|
title: "零件号", |
||||
|
type: "string", |
||||
|
}, |
||||
|
pn: { |
||||
|
title: "发货单号", |
||||
|
type: "string", |
||||
|
}, |
||||
|
keycode: { |
||||
|
title: "键值", |
||||
|
type: "string", |
||||
|
}, |
||||
|
qty: { |
||||
|
title: "结算数量", |
||||
|
type: "decimal", |
||||
|
}, |
||||
|
groupNum: { |
||||
|
title: "结算分组号", |
||||
|
type: "decimal", |
||||
|
}, |
||||
|
}, |
||||
|
}; |
||||
|
|
||||
|
const queryUrl = "settleaccount/pub_can_sa_service/detail-query"; |
||||
|
const queryMethod = "POST"; |
||||
|
|
||||
|
export default function () { |
||||
|
return { |
||||
|
query: { |
||||
|
url: queryUrl, |
||||
|
method: queryMethod, |
||||
|
hasFilter: true, |
||||
|
schema: { |
||||
|
title: "结算数据", |
||||
|
type: "object", |
||||
|
properties: { |
||||
|
filters: { |
||||
|
title: "项目", |
||||
|
type: "array", |
||||
|
hidden: true, |
||||
|
items: { |
||||
|
type: "object", |
||||
|
properties: { |
||||
|
logic: { |
||||
|
type: "int", |
||||
|
}, |
||||
|
column: { |
||||
|
type: "string", |
||||
|
}, |
||||
|
action: { |
||||
|
type: "int", |
||||
|
}, |
||||
|
value: { |
||||
|
type: "string", |
||||
|
}, |
||||
|
}, |
||||
|
}, |
||||
|
default: [ |
||||
|
{ |
||||
|
logic: "and", |
||||
|
column: "version", |
||||
|
action: "equal", |
||||
|
value: null, |
||||
|
readOnly: true, |
||||
|
}, |
||||
|
], |
||||
|
}, |
||||
|
skipCount: { |
||||
|
hidden: true, |
||||
|
default: 0, |
||||
|
}, |
||||
|
maxResultCount: { |
||||
|
hidden: true, |
||||
|
default: 10, |
||||
|
}, |
||||
|
sorting: { |
||||
|
hidden: true, |
||||
|
}, |
||||
|
}, |
||||
|
}, |
||||
|
}, |
||||
|
table: { |
||||
|
schema: schema, |
||||
|
}, |
||||
|
edit: { |
||||
|
schema: schema, |
||||
|
}, |
||||
|
}; |
||||
|
} |
@ -0,0 +1,102 @@ |
|||||
|
import version from "./version.js"; |
||||
|
import state from "./state.js"; |
||||
|
|
||||
|
const schema = { |
||||
|
title: "结算数据", |
||||
|
type: "object", |
||||
|
properties: { |
||||
|
version, |
||||
|
state, |
||||
|
settleBillNum: { |
||||
|
title: "关联结算单号", |
||||
|
type: "string", |
||||
|
}, |
||||
|
billNum: { |
||||
|
title: "结算单号", |
||||
|
type: "string", |
||||
|
}, |
||||
|
invGroupNum: { |
||||
|
title: "发票分组号", |
||||
|
type: "string", |
||||
|
}, |
||||
|
businessType: { |
||||
|
title: "业务分类", |
||||
|
type: "EnumBusinessType", |
||||
|
}, |
||||
|
}, |
||||
|
}; |
||||
|
|
||||
|
const queryUrl = "settleaccount/pub_can_sa_service/main-query"; |
||||
|
const exportUrl = "settleaccount/pub_can_sa_service/export"; |
||||
|
const invoiceUrl = "settleaccount/pub_can_sa_service/generate-invoice"; |
||||
|
const queryMethod = "POST"; |
||||
|
const exportMethod = "POST"; |
||||
|
const invoiceMethod = "POST"; |
||||
|
|
||||
|
export default function () { |
||||
|
return { |
||||
|
query: { |
||||
|
url: queryUrl, |
||||
|
method: queryMethod, |
||||
|
hasFilter: true, |
||||
|
schema: { |
||||
|
title: "结算数据", |
||||
|
type: "object", |
||||
|
properties: { |
||||
|
filters: { |
||||
|
title: "项目", |
||||
|
type: "array", |
||||
|
hidden: true, |
||||
|
items: { |
||||
|
type: "object", |
||||
|
properties: { |
||||
|
logic: { |
||||
|
type: "int", |
||||
|
}, |
||||
|
column: { |
||||
|
type: "string", |
||||
|
}, |
||||
|
action: { |
||||
|
type: "int", |
||||
|
}, |
||||
|
value: { |
||||
|
type: "string", |
||||
|
}, |
||||
|
}, |
||||
|
}, |
||||
|
default: [ |
||||
|
{ |
||||
|
logic: "and", |
||||
|
column: "version", |
||||
|
action: "equal", |
||||
|
value: null, |
||||
|
readOnly: true, |
||||
|
}, |
||||
|
], |
||||
|
}, |
||||
|
skipCount: { |
||||
|
hidden: true, |
||||
|
default: 0, |
||||
|
}, |
||||
|
maxResultCount: { |
||||
|
hidden: true, |
||||
|
default: 10, |
||||
|
}, |
||||
|
sorting: { |
||||
|
hidden: true, |
||||
|
}, |
||||
|
}, |
||||
|
}, |
||||
|
}, |
||||
|
table: { |
||||
|
schema: schema, |
||||
|
}, |
||||
|
edit: { |
||||
|
exportUrl, |
||||
|
invoiceUrl, |
||||
|
exportMethod, |
||||
|
invoiceMethod, |
||||
|
schema: schema, |
||||
|
}, |
||||
|
}; |
||||
|
} |
@ -0,0 +1,144 @@ |
|||||
|
import version from "./version.js"; |
||||
|
|
||||
|
const schema = { |
||||
|
title: "结算数据", |
||||
|
type: "object", |
||||
|
properties: { |
||||
|
settleBillNum: { |
||||
|
title: "关联结算单号", |
||||
|
type: "string", |
||||
|
}, |
||||
|
site: { |
||||
|
title: "工厂地点", |
||||
|
type: "string", |
||||
|
}, |
||||
|
businessType: { |
||||
|
title: "业务分类", |
||||
|
type: "EnumBusinessType", |
||||
|
}, |
||||
|
version, |
||||
|
price: { |
||||
|
title: "价格", |
||||
|
type: "decimal", |
||||
|
}, |
||||
|
billNum: { |
||||
|
title: "结算单号", |
||||
|
type: "string", |
||||
|
}, |
||||
|
settleDate: { |
||||
|
title: "下线日期", |
||||
|
type: "DateTime", |
||||
|
}, |
||||
|
invGroupNum: { |
||||
|
title: "发票分组号", |
||||
|
type: "string", |
||||
|
}, |
||||
|
lu: { |
||||
|
title: "零件号", |
||||
|
type: "string", |
||||
|
}, |
||||
|
pn: { |
||||
|
title: "发货单号", |
||||
|
type: "string", |
||||
|
}, |
||||
|
keycode: { |
||||
|
title: "键值", |
||||
|
type: "string", |
||||
|
}, |
||||
|
qty: { |
||||
|
title: "结算数量", |
||||
|
type: "decimal", |
||||
|
}, |
||||
|
groupNum: { |
||||
|
title: "结算分组号", |
||||
|
type: "decimal", |
||||
|
}, |
||||
|
entend1: { |
||||
|
title: "扩展1", |
||||
|
type: "string", |
||||
|
}, |
||||
|
entend2: { |
||||
|
title: "扩展2", |
||||
|
type: "string", |
||||
|
}, |
||||
|
entend3: { |
||||
|
title: "扩展3", |
||||
|
type: "string", |
||||
|
}, |
||||
|
}, |
||||
|
}; |
||||
|
|
||||
|
const queryUrl = "settleaccount/pub_not_sa_service/detail-query"; |
||||
|
const exportUrl = "settleaccount/pub_not_sa_service/export"; |
||||
|
const settlementUrl = "settleaccount/pub_not_sa_service/generate-settlement-order"; |
||||
|
const queryMethod = "POST"; |
||||
|
const exportMethod = "POST"; |
||||
|
const settlementMethod = "POST"; |
||||
|
|
||||
|
export default function () { |
||||
|
return { |
||||
|
query: { |
||||
|
url: queryUrl, |
||||
|
method: queryMethod, |
||||
|
hasFilter: true, |
||||
|
schema: { |
||||
|
title: "结算数据", |
||||
|
type: "object", |
||||
|
properties: { |
||||
|
filters: { |
||||
|
title: "项目", |
||||
|
type: "array", |
||||
|
hidden: true, |
||||
|
items: { |
||||
|
type: "object", |
||||
|
properties: { |
||||
|
logic: { |
||||
|
type: "int", |
||||
|
}, |
||||
|
column: { |
||||
|
type: "string", |
||||
|
}, |
||||
|
action: { |
||||
|
type: "int", |
||||
|
}, |
||||
|
value: { |
||||
|
type: "string", |
||||
|
}, |
||||
|
}, |
||||
|
}, |
||||
|
default: [ |
||||
|
{ |
||||
|
logic: "and", |
||||
|
column: "version", |
||||
|
action: "equal", |
||||
|
value: null, |
||||
|
readOnly: true, |
||||
|
}, |
||||
|
], |
||||
|
}, |
||||
|
skipCount: { |
||||
|
hidden: true, |
||||
|
default: 0, |
||||
|
}, |
||||
|
maxResultCount: { |
||||
|
hidden: true, |
||||
|
default: 10, |
||||
|
}, |
||||
|
sorting: { |
||||
|
hidden: true, |
||||
|
}, |
||||
|
}, |
||||
|
}, |
||||
|
}, |
||||
|
table: { |
||||
|
schema: schema, |
||||
|
}, |
||||
|
edit: { |
||||
|
exportUrl, |
||||
|
settlementUrl, |
||||
|
exportMethod, |
||||
|
settlementMethod, |
||||
|
schema: schema, |
||||
|
}, |
||||
|
}; |
||||
|
} |
@ -0,0 +1,99 @@ |
|||||
|
import version from "./version.js"; |
||||
|
import { state2, state3 } from "./state.js"; |
||||
|
|
||||
|
const schema = { |
||||
|
title: "结算数据", |
||||
|
type: "object", |
||||
|
properties: { |
||||
|
site: { |
||||
|
title: "工厂地点", |
||||
|
type: "string", |
||||
|
}, |
||||
|
version, |
||||
|
billNum: { |
||||
|
title: "结算单号", |
||||
|
type: "string", |
||||
|
}, |
||||
|
qty: { |
||||
|
title: "结算单号", |
||||
|
type: "decimal", |
||||
|
}, |
||||
|
price: { |
||||
|
title: "结算单号", |
||||
|
type: "decimal", |
||||
|
}, |
||||
|
invGroupNum: { |
||||
|
title: "结算单号", |
||||
|
type: "string", |
||||
|
}, |
||||
|
|
||||
|
}, |
||||
|
}; |
||||
|
|
||||
|
const queryUrl = "settleaccount/p-uB_PD_SERVICE/detail-query"; |
||||
|
const queryMethod = "POST"; |
||||
|
|
||||
|
|
||||
|
export default function () { |
||||
|
return { |
||||
|
query: { |
||||
|
url: queryUrl, |
||||
|
method: queryMethod, |
||||
|
hasFilter: true, |
||||
|
schema: { |
||||
|
title: "结算数据", |
||||
|
type: "object", |
||||
|
properties: { |
||||
|
filters: { |
||||
|
title: "项目", |
||||
|
type: "array", |
||||
|
hidden: true, |
||||
|
items: { |
||||
|
type: "object", |
||||
|
properties: { |
||||
|
logic: { |
||||
|
type: "int", |
||||
|
}, |
||||
|
column: { |
||||
|
type: "string", |
||||
|
}, |
||||
|
action: { |
||||
|
type: "int", |
||||
|
}, |
||||
|
value: { |
||||
|
type: "string", |
||||
|
}, |
||||
|
}, |
||||
|
}, |
||||
|
default: [ |
||||
|
{ |
||||
|
logic: "and", |
||||
|
column: "version", |
||||
|
action: "equal", |
||||
|
value: null, |
||||
|
readOnly: true, |
||||
|
}, |
||||
|
], |
||||
|
}, |
||||
|
skipCount: { |
||||
|
hidden: true, |
||||
|
default: 0, |
||||
|
}, |
||||
|
maxResultCount: { |
||||
|
hidden: true, |
||||
|
default: 10, |
||||
|
}, |
||||
|
sorting: { |
||||
|
hidden: true, |
||||
|
}, |
||||
|
}, |
||||
|
}, |
||||
|
}, |
||||
|
table: { |
||||
|
schema: schema, |
||||
|
}, |
||||
|
edit: { |
||||
|
schema: schema, |
||||
|
}, |
||||
|
}; |
||||
|
} |
@ -0,0 +1,110 @@ |
|||||
|
import version from "./version.js"; |
||||
|
import { state2, state3 } from "./state.js"; |
||||
|
|
||||
|
const schema = { |
||||
|
title: "结算数据", |
||||
|
type: "object", |
||||
|
properties: { |
||||
|
version, |
||||
|
state3, |
||||
|
billNum: { |
||||
|
title: "结算单号", |
||||
|
type: "string", |
||||
|
}, |
||||
|
settleBillNum: { |
||||
|
title: "关联结算单号", |
||||
|
type: "string", |
||||
|
}, |
||||
|
invGroupNum: { |
||||
|
title: "发票分组号", |
||||
|
type: "string", |
||||
|
}, |
||||
|
site: { |
||||
|
title: "地点", |
||||
|
type: "string", |
||||
|
}, |
||||
|
businessType: { |
||||
|
title: "业务类型", |
||||
|
type: "EnumBusinessType", |
||||
|
}, |
||||
|
}, |
||||
|
}; |
||||
|
|
||||
|
const queryUrl = "settleaccount/p-uB_PD_SERVICE/main-query"; |
||||
|
const exportUrl = "settleaccount/p-uB_PD_SERVICE/export"; |
||||
|
const passedUrl = "settleaccount/p-uB_PD_SERVICE/approval-passed"; |
||||
|
const rejectUrl = "settleaccount/p-uB_BA_SERVICE/reject"; |
||||
|
const queryMethod = "POST"; |
||||
|
const exportMethod = "POST"; |
||||
|
const passedMethod = "POST"; |
||||
|
const rejectMethod = "POST"; |
||||
|
|
||||
|
export default function () { |
||||
|
return { |
||||
|
query: { |
||||
|
url: queryUrl, |
||||
|
method: queryMethod, |
||||
|
hasFilter: true, |
||||
|
schema: { |
||||
|
title: "结算数据", |
||||
|
type: "object", |
||||
|
properties: { |
||||
|
filters: { |
||||
|
title: "项目", |
||||
|
type: "array", |
||||
|
hidden: true, |
||||
|
items: { |
||||
|
type: "object", |
||||
|
properties: { |
||||
|
logic: { |
||||
|
type: "int", |
||||
|
}, |
||||
|
column: { |
||||
|
type: "string", |
||||
|
}, |
||||
|
action: { |
||||
|
type: "int", |
||||
|
}, |
||||
|
value: { |
||||
|
type: "string", |
||||
|
}, |
||||
|
}, |
||||
|
}, |
||||
|
default: [ |
||||
|
{ |
||||
|
logic: "and", |
||||
|
column: "version", |
||||
|
action: "equal", |
||||
|
value: null, |
||||
|
readOnly: true, |
||||
|
}, |
||||
|
], |
||||
|
}, |
||||
|
skipCount: { |
||||
|
hidden: true, |
||||
|
default: 0, |
||||
|
}, |
||||
|
maxResultCount: { |
||||
|
hidden: true, |
||||
|
default: 10, |
||||
|
}, |
||||
|
sorting: { |
||||
|
hidden: true, |
||||
|
}, |
||||
|
}, |
||||
|
}, |
||||
|
}, |
||||
|
table: { |
||||
|
schema: schema, |
||||
|
}, |
||||
|
edit: { |
||||
|
exportUrl, |
||||
|
passedUrl, |
||||
|
rejectUrl, |
||||
|
exportMethod, |
||||
|
passedMethod, |
||||
|
rejectMethod, |
||||
|
schema: schema, |
||||
|
}, |
||||
|
}; |
||||
|
} |
@ -0,0 +1,136 @@ |
|||||
|
import version from "./version.js"; |
||||
|
import state from "./state.js"; |
||||
|
|
||||
|
const schema = { |
||||
|
title: "结算数据", |
||||
|
type: "object", |
||||
|
properties: { |
||||
|
version, |
||||
|
state, |
||||
|
keyCode: { |
||||
|
title: "LU+ASN单号", |
||||
|
type: "string", |
||||
|
}, |
||||
|
billNum: { |
||||
|
title: "关联结算单号", |
||||
|
type: "string", |
||||
|
}, |
||||
|
lu: { |
||||
|
title: "零件号", |
||||
|
type: "string", |
||||
|
}, |
||||
|
pn: { |
||||
|
title: "发货单号", |
||||
|
type: "string", |
||||
|
}, |
||||
|
site: { |
||||
|
title: "工厂地点", |
||||
|
type: "string", |
||||
|
}, |
||||
|
qty: { |
||||
|
title: "结算数量", |
||||
|
type: "decimal", |
||||
|
}, |
||||
|
price: { |
||||
|
title: "单价", |
||||
|
type: "decimal", |
||||
|
}, |
||||
|
invGroupNum: { |
||||
|
title: "发票分组号", |
||||
|
type: "string", |
||||
|
}, |
||||
|
settleDate: { |
||||
|
title: "结算日期(收货日期", |
||||
|
type: "Datetime", |
||||
|
}, |
||||
|
extend1: { |
||||
|
title: "扩展字段1", |
||||
|
type: "string", |
||||
|
}, |
||||
|
extend2: { |
||||
|
title: "扩展字段2", |
||||
|
type: "string", |
||||
|
}, |
||||
|
extend3: { |
||||
|
title: "扩展字段3", |
||||
|
type: "string", |
||||
|
}, |
||||
|
groupNum: { |
||||
|
title: "结算分组", |
||||
|
type: "string", |
||||
|
}, |
||||
|
}, |
||||
|
}; |
||||
|
|
||||
|
const queryUrl = "settleaccount/pub_sa_detail_service/get-list"; |
||||
|
const exportUrl = "settleaccount/pub_sa_detail_service/export"; |
||||
|
const queryMethod = "POST"; |
||||
|
const exportMethod = "POST"; |
||||
|
|
||||
|
export default function () { |
||||
|
return { |
||||
|
query: { |
||||
|
url: queryUrl, |
||||
|
method: queryMethod, |
||||
|
hasFilter: true, |
||||
|
schema: { |
||||
|
title: "结算数据", |
||||
|
type: "object", |
||||
|
properties: { |
||||
|
filters: { |
||||
|
title: "项目", |
||||
|
type: "array", |
||||
|
hidden: true, |
||||
|
items: { |
||||
|
type: "object", |
||||
|
properties: { |
||||
|
logic: { |
||||
|
type: "int", |
||||
|
}, |
||||
|
column: { |
||||
|
type: "string", |
||||
|
}, |
||||
|
action: { |
||||
|
type: "int", |
||||
|
}, |
||||
|
value: { |
||||
|
type: "string", |
||||
|
}, |
||||
|
}, |
||||
|
}, |
||||
|
default: [ |
||||
|
{ |
||||
|
logic: "and", |
||||
|
column: "version", |
||||
|
action: "equal", |
||||
|
value: null, |
||||
|
readOnly: true, |
||||
|
}, |
||||
|
], |
||||
|
}, |
||||
|
skipCount: { |
||||
|
hidden: true, |
||||
|
default: 0, |
||||
|
}, |
||||
|
maxResultCount: { |
||||
|
hidden: true, |
||||
|
default: 10, |
||||
|
}, |
||||
|
sorting: { |
||||
|
hidden: true, |
||||
|
}, |
||||
|
}, |
||||
|
}, |
||||
|
}, |
||||
|
table: { |
||||
|
schema: schema, |
||||
|
}, |
||||
|
edit: { |
||||
|
deleteUrl, |
||||
|
exportUrl, |
||||
|
deleteMethod, |
||||
|
exportMethod, |
||||
|
schema: schema, |
||||
|
}, |
||||
|
}; |
||||
|
} |
@ -0,0 +1,90 @@ |
|||||
|
import version from "./version.js"; |
||||
|
import state from "./state.js"; |
||||
|
|
||||
|
const schema = { |
||||
|
title: "结算数据", |
||||
|
type: "object", |
||||
|
properties: { |
||||
|
version, |
||||
|
state, |
||||
|
billNum: { |
||||
|
title: "结算单号", |
||||
|
type: "string", |
||||
|
}, |
||||
|
}, |
||||
|
}; |
||||
|
|
||||
|
const queryUrl = "settleaccount/pub_sa_service/get-list"; |
||||
|
const deleteUrl = "settleaccount/pub_sa_service/delete"; |
||||
|
const importUrl = "settleaccount/pub_sa_service/import-by-business-type"; |
||||
|
const queryMethod = "POST"; |
||||
|
const deleteMethod = "POST"; |
||||
|
const importMethod = "POST"; |
||||
|
|
||||
|
export default function () { |
||||
|
return { |
||||
|
query: { |
||||
|
url: queryUrl, |
||||
|
method: queryMethod, |
||||
|
hasFilter: true, |
||||
|
schema: { |
||||
|
title: "结算数据", |
||||
|
type: "object", |
||||
|
properties: { |
||||
|
filters: { |
||||
|
title: "项目", |
||||
|
type: "array", |
||||
|
hidden: true, |
||||
|
items: { |
||||
|
type: "object", |
||||
|
properties: { |
||||
|
logic: { |
||||
|
type: "int", |
||||
|
}, |
||||
|
column: { |
||||
|
type: "string", |
||||
|
}, |
||||
|
action: { |
||||
|
type: "int", |
||||
|
}, |
||||
|
value: { |
||||
|
type: "string", |
||||
|
}, |
||||
|
}, |
||||
|
}, |
||||
|
default: [ |
||||
|
{ |
||||
|
logic: "and", |
||||
|
column: "version", |
||||
|
action: "equal", |
||||
|
value: null, |
||||
|
readOnly: true, |
||||
|
}, |
||||
|
], |
||||
|
}, |
||||
|
skipCount: { |
||||
|
hidden: true, |
||||
|
default: 0, |
||||
|
}, |
||||
|
maxResultCount: { |
||||
|
hidden: true, |
||||
|
default: 10, |
||||
|
}, |
||||
|
sorting: { |
||||
|
hidden: true, |
||||
|
}, |
||||
|
}, |
||||
|
}, |
||||
|
}, |
||||
|
table: { |
||||
|
schema: schema, |
||||
|
}, |
||||
|
edit: { |
||||
|
deleteUrl, |
||||
|
importUrl, |
||||
|
deleteMethod, |
||||
|
importMethod, |
||||
|
schema: schema, |
||||
|
}, |
||||
|
}; |
||||
|
} |
@ -0,0 +1,122 @@ |
|||||
|
import version from "./version.js"; |
||||
|
import state from "./state.js"; |
||||
|
|
||||
|
const schema = { |
||||
|
title: "结算数据", |
||||
|
type: "object", |
||||
|
properties: { |
||||
|
version, |
||||
|
state, |
||||
|
shippingDate: { |
||||
|
title: "发货时间", |
||||
|
type: "DateTime", |
||||
|
}, |
||||
|
wmsBillNum: { |
||||
|
title: "发运单号", |
||||
|
type: "string", |
||||
|
}, |
||||
|
lu: { |
||||
|
title: "零件号", |
||||
|
type: "string", |
||||
|
}, |
||||
|
pn: { |
||||
|
title: "生产号", |
||||
|
type: "string", |
||||
|
}, |
||||
|
keyCode: { |
||||
|
title: "组合键值(LU+PN)", |
||||
|
type: "string", |
||||
|
}, |
||||
|
qty: { |
||||
|
title: "数量", |
||||
|
type: "decimal", |
||||
|
}, |
||||
|
seqNumber: { |
||||
|
title: "日顺序号", |
||||
|
type: "string", |
||||
|
}, |
||||
|
assemblyCode: { |
||||
|
title: "小总成号", |
||||
|
type: "string", |
||||
|
}, |
||||
|
injectionCode: { |
||||
|
title: "注塑码", |
||||
|
type: "string", |
||||
|
}, |
||||
|
beginDate: { |
||||
|
title: "订单时间", |
||||
|
type: "DateTime", |
||||
|
}, |
||||
|
}, |
||||
|
}; |
||||
|
|
||||
|
const queryUrl = "settleaccount/pub_se_detail_service/get-list"; |
||||
|
const exportUrl = "settleaccount/pub_se_detail_service/export"; |
||||
|
const queryMethod = "POST"; |
||||
|
const exportMethod = "POST"; |
||||
|
|
||||
|
export default function () { |
||||
|
return { |
||||
|
query: { |
||||
|
url: queryUrl, |
||||
|
method: queryMethod, |
||||
|
hasFilter: true, |
||||
|
schema: { |
||||
|
title: "结算数据", |
||||
|
type: "object", |
||||
|
properties: { |
||||
|
filters: { |
||||
|
title: "项目", |
||||
|
type: "array", |
||||
|
hidden: true, |
||||
|
items: { |
||||
|
type: "object", |
||||
|
properties: { |
||||
|
logic: { |
||||
|
type: "int", |
||||
|
}, |
||||
|
column: { |
||||
|
type: "string", |
||||
|
}, |
||||
|
action: { |
||||
|
type: "int", |
||||
|
}, |
||||
|
value: { |
||||
|
type: "string", |
||||
|
}, |
||||
|
}, |
||||
|
}, |
||||
|
default: [ |
||||
|
{ |
||||
|
logic: "and", |
||||
|
column: "version", |
||||
|
action: "equal", |
||||
|
value: null, |
||||
|
readOnly: true, |
||||
|
}, |
||||
|
], |
||||
|
}, |
||||
|
skipCount: { |
||||
|
hidden: true, |
||||
|
default: 0, |
||||
|
}, |
||||
|
maxResultCount: { |
||||
|
hidden: true, |
||||
|
default: 10, |
||||
|
}, |
||||
|
sorting: { |
||||
|
hidden: true, |
||||
|
}, |
||||
|
}, |
||||
|
}, |
||||
|
}, |
||||
|
table: { |
||||
|
schema: schema, |
||||
|
}, |
||||
|
edit: { |
||||
|
exportUrl, |
||||
|
exportMethod, |
||||
|
schema: schema, |
||||
|
}, |
||||
|
}; |
||||
|
} |
@ -0,0 +1,15 @@ |
|||||
|
import AppList from "../../../components/list/index.js"; |
||||
|
import html from "html"; |
||||
|
import useConfig from "../../../models/pub_ba_detail_service.js"; |
||||
|
|
||||
|
export default { |
||||
|
components: { AppList }, |
||||
|
template: html`<app-list :config="config" @command="onCommand" />`, |
||||
|
setup() { |
||||
|
const config = useConfig(); |
||||
|
const onCommand = async (item, rows) => { |
||||
|
console.log(item.path, item, rows); |
||||
|
}; |
||||
|
return { config, onCommand }; |
||||
|
}, |
||||
|
}; |
@ -0,0 +1,15 @@ |
|||||
|
import AppList from "../../../components/list/index.js"; |
||||
|
import html from "html"; |
||||
|
import useConfig from "../../../models/pub_pd_detail_service.js"; |
||||
|
|
||||
|
export default { |
||||
|
components: { AppList }, |
||||
|
template: html`<app-list :config="config" @command="onCommand" />`, |
||||
|
setup() { |
||||
|
const config = useConfig(); |
||||
|
const onCommand = async (item, rows) => { |
||||
|
console.log(item.path, item, rows); |
||||
|
}; |
||||
|
return { config, onCommand }; |
||||
|
}, |
||||
|
}; |
@ -0,0 +1,15 @@ |
|||||
|
import AppList from "../../../components/list/index.js"; |
||||
|
import html from "html"; |
||||
|
import useConfig from "../../../models/pub_ba_detail_service.js"; |
||||
|
|
||||
|
export default { |
||||
|
components: { AppList }, |
||||
|
template: html`<app-list :config="config" @command="onCommand" />`, |
||||
|
setup() { |
||||
|
const config = useConfig(); |
||||
|
const onCommand = async (item, rows) => { |
||||
|
console.log(item.path, item, rows); |
||||
|
}; |
||||
|
return { config, onCommand }; |
||||
|
}, |
||||
|
}; |
@ -0,0 +1,15 @@ |
|||||
|
import AppList from "../../../components/list/index.js"; |
||||
|
import html from "html"; |
||||
|
import useConfig from "../../../models/pub_pd_detail_service.js"; |
||||
|
|
||||
|
export default { |
||||
|
components: { AppList }, |
||||
|
template: html`<app-list :config="config" @command="onCommand" />`, |
||||
|
setup() { |
||||
|
const config = useConfig(); |
||||
|
const onCommand = async (item, rows) => { |
||||
|
console.log(item.path, item, rows); |
||||
|
}; |
||||
|
return { config, onCommand }; |
||||
|
}, |
||||
|
}; |
@ -0,0 +1,15 @@ |
|||||
|
import AppList from "../../../components/list/index.js"; |
||||
|
import html from "html"; |
||||
|
import useConfig from "../../../models/jis-bbac/settlement/bbac_ba_detail_service.js"; |
||||
|
|
||||
|
export default { |
||||
|
components: { AppList }, |
||||
|
template: html`<app-list :config="config" @command="onCommand" />`, |
||||
|
setup() { |
||||
|
const config = useConfig(); |
||||
|
const onCommand = async (item, rows) => { |
||||
|
console.log(item.path, item, rows); |
||||
|
}; |
||||
|
return { config, onCommand }; |
||||
|
}, |
||||
|
}; |
@ -0,0 +1,15 @@ |
|||||
|
import AppList from "../../../components/list/index.js"; |
||||
|
import html from "html"; |
||||
|
import useConfig from "../../../models/jis-bbac/settlement/bbac_pd_detail_service.js"; |
||||
|
|
||||
|
export default { |
||||
|
components: { AppList }, |
||||
|
template: html`<app-list :config="config" @command="onCommand" />`, |
||||
|
setup() { |
||||
|
const config = useConfig(); |
||||
|
const onCommand = async (item, rows) => { |
||||
|
console.log(item.path, item, rows); |
||||
|
}; |
||||
|
return { config, onCommand }; |
||||
|
}, |
||||
|
}; |
Some files were not shown because too many files changed in this diff
Loading…
Reference in new issue