ow
This commit is contained in:
1 parent
f2f5807372
commit
5d0b0c751a
16 files changed
+746
-10
No files matched your search
File renamed without changes.
@@ -6,6 +6,7 @@ using CloudBuilder.Master.Data;
|
||||
using CloudBuilder.Master.Entity;
|
||||
using CloudBuilder.Master.Policy;
|
||||
using CloudBuilder.Master.SearchCriteria;
|
||||
using CloudBuilder.Master.Service.FamilyTreeUtility;
|
||||
using CloudBuilder.Security.Data;
|
||||
using CloudBuilder.Security.Entity;
|
||||
using CloudBuilder.Security.Policy;
|
||||
@@ -48,6 +49,8 @@ namespace CloudBuilder.Master.Service
|
||||
data.FamilyPerson = new FamilyPersonDisplayData(fp);
|
||||
// AvatarFilename 保存的是文件名(如 xxxx-3-3.jpg),AvatarUrl 才是带路径的访问地址
|
||||
|
||||
data.FamilyPerson.IsCanAmend = new FamilyTreePermissionHelper(service).HasPermission(data.FamilyPerson.TreeId, data.FamilyPerson.PersonId);
|
||||
|
||||
data.FamilyPerson.AvatarUrl = FileTypePolicy.PackAvatarUrl(service, AVATAR_FOLDER_NAME, data.FamilyPerson.AvatarFilename);
|
||||
|
||||
return data;
|
||||
|
||||
@@ -6,6 +6,7 @@ using CloudBuilder.Master.Data;
|
||||
using CloudBuilder.Master.Entity;
|
||||
using CloudBuilder.Master.Policy;
|
||||
using CloudBuilder.Master.SearchCriteria;
|
||||
using CloudBuilder.Master.Service.FamilyTreeUtility;
|
||||
using CloudBuilder.Security.Data;
|
||||
using CloudBuilder.Security.Entity;
|
||||
using CloudBuilder.Security.Policy;
|
||||
@@ -128,9 +129,11 @@ namespace CloudBuilder.Master.Service
|
||||
if (data.FamilyTreePermissions.Any())
|
||||
{
|
||||
data.IsManager = data.FamilyTreePermissions.Where(x => x.UserName == service.UserId && x.ManagerIndc == YesNoPolicy.YES).Any();
|
||||
|
||||
if (data.IsManager) data.IsCanAmend = true;
|
||||
}
|
||||
|
||||
if(!data.IsManager && data.FamilyTreePermissions.Any())
|
||||
if (!data.IsManager && data.FamilyTreePermissions.Any())
|
||||
{
|
||||
data.FamilyTreePermissions = data.FamilyTreePermissions.Where(x => x.UserName == service.UserId && x.ValidIndc == YesNoPolicy.NO).ToArray();
|
||||
}
|
||||
@@ -186,6 +189,9 @@ namespace CloudBuilder.Master.Service
|
||||
FillAvatarUrl(data.CurrentPerson.FamilyTreePersons);
|
||||
}
|
||||
|
||||
if (!data.IsCanAmend)
|
||||
data.IsCanAmend = new FamilyTreePermissionHelper(service).HasPermission(data.FamilyTree.TreeId, currentPerson);
|
||||
|
||||
return data;
|
||||
}
|
||||
|
||||
|
||||
+87
@@ -0,0 +1,87 @@
|
||||
using CloudBuilder.Core.DatabaseAccessor.Entity;
|
||||
using CloudBuilder.Master.Entity;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace CloudBuilder.Master.Service.FamilyTreeUtility
|
||||
{
|
||||
public class FamilyTreePermissionHelper
|
||||
{
|
||||
private readonly IApplicationService service;
|
||||
|
||||
public FamilyTreePermissionHelper(IApplicationService service)
|
||||
{
|
||||
this.service = service;
|
||||
}
|
||||
|
||||
private FamilyTreeChildrenMapEntity[] childrens = null;
|
||||
private FamilyTreeSpouseMapEntity[] spouses = null;
|
||||
|
||||
public bool HasPermission(string treeId, string personId)
|
||||
{
|
||||
return GetPersonId(treeId).Where(x => x == personId).Any();
|
||||
}
|
||||
|
||||
public List<string> GetPersonId(string treeId)
|
||||
{
|
||||
List<string> ps = new List<string>();
|
||||
IRepository<FamilyTreePermissionEntity> repositoryPermission = service.GetRepository<IRepository<FamilyTreePermissionEntity>>();
|
||||
FamilyTreePermissionEntity[] permissions = repositoryPermission.DetachedEntities.Where(x => x.TreeId == treeId && x.UserName == service.UserId && x.ValidIndc == YesNoPolicy.YES).ToArray();
|
||||
if (permissions == null || permissions.Length == 0) return ps;
|
||||
|
||||
IRepository<FamilyTreeChildrenMapEntity> repositoryChildrenMap = service.GetRepository<IRepository<FamilyTreeChildrenMapEntity>>();
|
||||
if (childrens == null || childrens.Length == 0)
|
||||
childrens = repositoryChildrenMap.DetachedEntities.Where(x => x.TreeId == treeId).ToArray();
|
||||
|
||||
IRepository<FamilyTreeSpouseMapEntity> repositorySpouseMap = service.GetRepository<IRepository<FamilyTreeSpouseMapEntity>>();
|
||||
|
||||
if (childrens == null || childrens.Length == 0)
|
||||
spouses = repositorySpouseMap.DetachedEntities.Where(x => x.TreeId == treeId).ToArray();
|
||||
|
||||
foreach (var permission in permissions)
|
||||
{
|
||||
PackPersonIdByChildrenMaps(childrens, spouses, permission.PersonId, ps);
|
||||
}
|
||||
|
||||
return ps;
|
||||
}
|
||||
|
||||
public void PackPersonIdByChildrenMaps(FamilyTreeChildrenMapEntity[] childrens, FamilyTreeSpouseMapEntity[] spouses, string personId, List<string> ps)
|
||||
{
|
||||
if (!ps.Contains(personId))
|
||||
ps.Add(personId);
|
||||
|
||||
//所有下级都有权限
|
||||
if (childrens != null && childrens.Where(x => x.PersonId == personId).Any())
|
||||
{
|
||||
foreach (FamilyTreeChildrenMapEntity child in childrens.Where(x => x.PersonId == personId))
|
||||
PackPersonIdByChildrenMaps(childrens, spouses, child.ChildrenId, ps);
|
||||
}
|
||||
//父亲ID也有权限
|
||||
if (childrens != null && childrens.Where(x => x.ChildrenId == personId).Any())
|
||||
{
|
||||
var p = childrens.Where(x => x.ChildrenId == personId).Select(x => x.PersonId).FirstOrDefault();
|
||||
if (!ps.Contains(p))
|
||||
ps.Add(p);
|
||||
}
|
||||
//配偶都有权限
|
||||
PackPersonIdBySpouseMaps(spouses, personId, ps);
|
||||
}
|
||||
|
||||
public void PackPersonIdBySpouseMaps(FamilyTreeSpouseMapEntity[] spouses, string personId, List<string> ps)
|
||||
{
|
||||
if (spouses == null) return;
|
||||
if (spouses.Where(x => x.PersonId == personId).Any())
|
||||
{
|
||||
foreach (FamilyTreeSpouseMapEntity s in spouses.Where(x => x.PersonId == personId))
|
||||
{
|
||||
if (!ps.Contains(s.SpouseId))
|
||||
ps.Add(s.SpouseId);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -25,5 +25,7 @@ namespace CloudBuilder.Master.Data
|
||||
}
|
||||
|
||||
public string? AvatarUrl { get; set; }
|
||||
|
||||
public bool? IsCanAmend { get; set; } = false;
|
||||
}
|
||||
}
|
||||
@@ -17,6 +17,8 @@ namespace CloudBuilder.Master.Data
|
||||
public FamilyPersonData? CurrentPerson { get; set; }
|
||||
public bool IsManager { get; set; } = false;
|
||||
|
||||
public bool IsCanAmend { get; set; } = false;
|
||||
|
||||
public FamilyTreePermissionUserViewEntity[]? FamilyTreePermissions { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,164 @@
|
||||
|
||||
using CloudBuilder.Core.DependencyInjection.Request;
|
||||
using CloudBuilder.Core.Request;
|
||||
using CloudBuilder.Core.Service;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using CloudBuilder.Master.Service;
|
||||
using CloudBuilder.Core.DatabaseAccessor.Entity;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using CloudBuilder.Master.Entity;
|
||||
using System;
|
||||
using CloudBuilder.Master.Data;
|
||||
using CloudBuilder.Master.SearchCriteria;
|
||||
|
||||
namespace CloudBuilder.Request.Master
|
||||
{
|
||||
|
||||
public class DmsFileRequest : IRequest
|
||||
{
|
||||
|
||||
private readonly IServiceRequest serviceRequest;
|
||||
public DmsFileRequest(IServiceRequest serviceRequest)
|
||||
{
|
||||
this.serviceRequest = serviceRequest;
|
||||
}
|
||||
|
||||
public DmsFileEntity FindByKey(Int64 key)
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<DmsFileEntity>("/DmsFile/FindByKey?key=" + key.ToString())).GetAwaiter().GetResult(); }
|
||||
|
||||
public DmsFileResultData FindBySearchCriteria(DmsFileSearchCriteria criteria)
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<DmsFileSearchCriteria,DmsFileResultData>("/DmsFile/FindBySearchCriteria" , criteria)).GetAwaiter().GetResult(); }
|
||||
|
||||
public DmsFileResultData FindDatasBySearchCriteria(DmsFileSearchCriteria criteria)
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<DmsFileSearchCriteria,DmsFileResultData>("/DmsFile/FindDatasBySearchCriteria" , criteria)).GetAwaiter().GetResult(); }
|
||||
|
||||
public DmsFileResultData FindDeleteLogBySearchCriteria(DmsFileSearchCriteria criteria)
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<DmsFileSearchCriteria,DmsFileResultData>("/DmsFile/FindDeleteLogBySearchCriteria" , criteria)).GetAwaiter().GetResult(); }
|
||||
|
||||
public DmsFileResultData FindFamilyBySearchCriteria(DmsFileSearchCriteria criteria)
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<DmsFileSearchCriteria,DmsFileResultData>("/DmsFile/FindFamilyBySearchCriteria" , criteria)).GetAwaiter().GetResult(); }
|
||||
|
||||
public DmsFileDeleteLogEntity FindDmsFileDeleteLogByKey(Int64 key)
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<DmsFileDeleteLogEntity>("/DmsFile/FindDmsFileDeleteLogByKey?key=" + key.ToString())).GetAwaiter().GetResult(); }
|
||||
|
||||
public dynamic PrintBySearchCriteria(DmsFileSearchCriteria criteria)
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<DmsFileSearchCriteria,dynamic>("/DmsFile/PrintBySearchCriteria" , criteria)).GetAwaiter().GetResult(); }
|
||||
|
||||
public DmsFileEntity Insert(DmsFileEntity data)
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<DmsFileEntity,DmsFileEntity>("/DmsFile/Insert" , data)).GetAwaiter().GetResult(); }
|
||||
|
||||
public DmsFileEntity Update(DmsFileEntity data)
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<DmsFileEntity,DmsFileEntity>("/DmsFile/Update" , data)).GetAwaiter().GetResult(); }
|
||||
|
||||
public void Delete(Int64 key)
|
||||
{
|
||||
Task.Run(() => serviceRequest.PostAsync("/DmsFile/Delete?key=" + key.ToString())).GetAwaiter().GetResult(); }
|
||||
|
||||
public void RestoreDmsFile(Int64 key)
|
||||
{
|
||||
Task.Run(() => serviceRequest.PostAsync("/DmsFile/RestoreDmsFile?key=" + key.ToString())).GetAwaiter().GetResult(); }
|
||||
|
||||
public void DeleteLog(Int64 key)
|
||||
{
|
||||
Task.Run(() => serviceRequest.PostAsync("/DmsFile/DeleteLog?key=" + key.ToString())).GetAwaiter().GetResult(); }
|
||||
|
||||
public string CreateDmsFolder(DmsFileEntity dmsFile)
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<DmsFileEntity,string>("/DmsFile/CreateDmsFolder" , dmsFile)).GetAwaiter().GetResult(); }
|
||||
|
||||
public void DeleteFamilyDmsFolder(FamilyDmsFileViewEntity familyDmsFile)
|
||||
{
|
||||
Task.Run(() => serviceRequest.PostAsJsonAsync<FamilyDmsFileViewEntity,dynamic>("/DmsFile/DeleteFamilyDmsFolder" , familyDmsFile)).GetAwaiter().GetResult(); }
|
||||
|
||||
public void CreateFamilyDmsFolder(FamilyDmsFileViewEntity familyDmsFile)
|
||||
{
|
||||
Task.Run(() => serviceRequest.PostAsJsonAsync<FamilyDmsFileViewEntity,dynamic>("/DmsFile/CreateFamilyDmsFolder" , familyDmsFile)).GetAwaiter().GetResult(); }
|
||||
|
||||
public void UpdateDmsFolder(DmsFileEntity dmsFile)
|
||||
{
|
||||
Task.Run(() => serviceRequest.PostAsJsonAsync<DmsFileEntity,dynamic>("/DmsFile/UpdateDmsFolder" , dmsFile)).GetAwaiter().GetResult(); }
|
||||
|
||||
public SelectOption[] FindDmsFolders()
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<SelectOption[]> ("/DmsFile/FindDmsFolders")).GetAwaiter().GetResult(); }
|
||||
|
||||
public SelectOption[] FindDmsFolderDeleteLogs()
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<SelectOption[]> ("/DmsFile/FindDmsFolderDeleteLogs")).GetAwaiter().GetResult(); }
|
||||
|
||||
public DmsFolderData FindDmsFolderData()
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<DmsFolderData> ("/DmsFile/FindDmsFolderData")).GetAwaiter().GetResult(); }
|
||||
|
||||
public void MoveDmsFolder(DmsFileEntity dmsFile)
|
||||
{
|
||||
Task.Run(() => serviceRequest.PostAsJsonAsync<DmsFileEntity,dynamic>("/DmsFile/MoveDmsFolder" , dmsFile)).GetAwaiter().GetResult(); }
|
||||
|
||||
public void UploadFile()
|
||||
{
|
||||
Task.Run(() => serviceRequest.PostAsync("/DmsFile/UploadFile")).GetAwaiter().GetResult(); }
|
||||
|
||||
public void UploadDmsFile()
|
||||
{
|
||||
Task.Run(() => serviceRequest.PostAsync("/DmsFile/UploadDmsFile")).GetAwaiter().GetResult(); }
|
||||
|
||||
public string FindM3u8Path(Int64 fileId)
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<string>("/DmsFile/FindM3u8Path?fileId=" + fileId.ToString())).GetAwaiter().GetResult(); }
|
||||
|
||||
public string FindSourceVideoPath(Int64 fileId)
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<string>("/DmsFile/FindSourceVideoPath?fileId=" + fileId.ToString())).GetAwaiter().GetResult(); }
|
||||
|
||||
public string FindDeleteLogM3u8Path(Int64 fileId)
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<string>("/DmsFile/FindDeleteLogM3u8Path?fileId=" + fileId.ToString())).GetAwaiter().GetResult(); }
|
||||
|
||||
public dynamic DownloadFile(Int64 fileId)
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<dynamic>("/DmsFile/DownloadFile?fileId=" + fileId.ToString())).GetAwaiter().GetResult(); }
|
||||
|
||||
public dynamic DownloadFilePreview(DmsFileEntity dmsFile)
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<DmsFileEntity,dynamic>("/DmsFile/DownloadFilePreview" , dmsFile)).GetAwaiter().GetResult(); }
|
||||
|
||||
public dynamic DownloadFileCombine(string fileName)
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<dynamic>("/DmsFile/DownloadFileCombine?fileName=" + fileName.ToString())).GetAwaiter().GetResult(); }
|
||||
|
||||
public SelectOption[] FindFamilyDmsFolders()
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<SelectOption[]> ("/DmsFile/FindFamilyDmsFolders")).GetAwaiter().GetResult(); }
|
||||
|
||||
public SelectOption[] FindFamilyDmsFoldersByFamilyName(string familyName)
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<SelectOption[]>("/DmsFile/FindFamilyDmsFoldersByFamilyName?familyName=" + familyName.ToString())).GetAwaiter().GetResult(); }
|
||||
|
||||
public Int32 FindDmsFolderMapByFolderName(string folderName)
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<Int32>("/DmsFile/FindDmsFolderMapByFolderName?folderName=" + folderName.ToString())).GetAwaiter().GetResult(); }
|
||||
|
||||
public string FindFolderNameParentByFolderName(string folderName)
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<string>("/DmsFile/FindFolderNameParentByFolderName?folderName=" + folderName.ToString())).GetAwaiter().GetResult(); }
|
||||
|
||||
public void CreateFamilyGroupFolder(FamilyGroupFolderEntity[] familyGroupFolder)
|
||||
{
|
||||
Task.Run(() => serviceRequest.PostAsJsonAsync<FamilyGroupFolderEntity[],dynamic>("/DmsFile/CreateFamilyGroupFolder" , familyGroupFolder)).GetAwaiter().GetResult(); }
|
||||
|
||||
public void DeleteFamilyGroupFolder(FamilyGroupFolderEntity[] familyGroupFolder)
|
||||
{
|
||||
Task.Run(() => serviceRequest.PostAsJsonAsync<FamilyGroupFolderEntity[],dynamic>("/DmsFile/DeleteFamilyGroupFolder" , familyGroupFolder)).GetAwaiter().GetResult(); }
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,88 @@
|
||||
|
||||
using CloudBuilder.Core.DependencyInjection.Request;
|
||||
using CloudBuilder.Core.Request;
|
||||
using CloudBuilder.Core.Service;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using CloudBuilder.Master.Service;
|
||||
using CloudBuilder.Core.DatabaseAccessor.Entity;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using CloudBuilder.Master.Entity;
|
||||
using System;
|
||||
using CloudBuilder.Master.Data;
|
||||
using CloudBuilder.Master.SearchCriteria;
|
||||
|
||||
namespace CloudBuilder.Request.Master
|
||||
{
|
||||
|
||||
public class FamilyGroupRequest : IRequest
|
||||
{
|
||||
|
||||
private readonly IServiceRequest serviceRequest;
|
||||
public FamilyGroupRequest(IServiceRequest serviceRequest)
|
||||
{
|
||||
this.serviceRequest = serviceRequest;
|
||||
}
|
||||
|
||||
public FamilyGroupData FindByKey(string key)
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<FamilyGroupData>("/FamilyGroup/FindByKey?key=" + key.ToString())).GetAwaiter().GetResult(); }
|
||||
|
||||
public FamilyGroupResultData FindBySearchCriteria(FamilyGroupSearchCriteria criteria)
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<FamilyGroupSearchCriteria,FamilyGroupResultData>("/FamilyGroup/FindBySearchCriteria" , criteria)).GetAwaiter().GetResult(); }
|
||||
|
||||
public FamilyGroupResultData FindFamilyUserBySearchCriteria(FamilyGroupManagerUserSearchCriteria criteria)
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<FamilyGroupManagerUserSearchCriteria,FamilyGroupResultData>("/FamilyGroup/FindFamilyUserBySearchCriteria" , criteria)).GetAwaiter().GetResult(); }
|
||||
|
||||
public FamilyGroupResultData FamilyFolderFavoriteBySearchCriteria(FamilyGroupManagerUserSearchCriteria criteria)
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<FamilyGroupManagerUserSearchCriteria,FamilyGroupResultData>("/FamilyGroup/FamilyFolderFavoriteBySearchCriteria" , criteria)).GetAwaiter().GetResult(); }
|
||||
|
||||
public dynamic PrintBySearchCriteria(FamilyGroupSearchCriteria criteria)
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<FamilyGroupSearchCriteria,dynamic>("/FamilyGroup/PrintBySearchCriteria" , criteria)).GetAwaiter().GetResult(); }
|
||||
|
||||
public FamilyGroupData Insert(FamilyGroupData data)
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<FamilyGroupData,FamilyGroupData>("/FamilyGroup/Insert" , data)).GetAwaiter().GetResult(); }
|
||||
|
||||
public FamilyGroupData Update(FamilyGroupData data)
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<FamilyGroupData,FamilyGroupData>("/FamilyGroup/Update" , data)).GetAwaiter().GetResult(); }
|
||||
|
||||
public void Delete(string key)
|
||||
{
|
||||
Task.Run(() => serviceRequest.PostAsync("/FamilyGroup/Delete?key=" + key.ToString())).GetAwaiter().GetResult(); }
|
||||
|
||||
public void InsertFamilyGroupManager(FamilyGroupManagerEntity manager)
|
||||
{
|
||||
Task.Run(() => serviceRequest.PostAsJsonAsync<FamilyGroupManagerEntity,dynamic>("/FamilyGroup/InsertFamilyGroupManager" , manager)).GetAwaiter().GetResult(); }
|
||||
|
||||
public void InsertFamilyGroupPermission(FamilyGroupPermissionEntity[] managers)
|
||||
{
|
||||
Task.Run(() => serviceRequest.PostAsJsonAsync<FamilyGroupPermissionEntity[],dynamic>("/FamilyGroup/InsertFamilyGroupPermission" , managers)).GetAwaiter().GetResult(); }
|
||||
|
||||
public void UpdateFamilyGroupManager(FamilyGroupManagerEntity manager)
|
||||
{
|
||||
Task.Run(() => serviceRequest.PostAsJsonAsync<FamilyGroupManagerEntity,dynamic>("/FamilyGroup/UpdateFamilyGroupManager" , manager)).GetAwaiter().GetResult(); }
|
||||
|
||||
public void DeleteFamilyGroupManager(FamilyGroupManagerEntity manager)
|
||||
{
|
||||
Task.Run(() => serviceRequest.PostAsJsonAsync<FamilyGroupManagerEntity,dynamic>("/FamilyGroup/DeleteFamilyGroupManager" , manager)).GetAwaiter().GetResult(); }
|
||||
|
||||
public void InsertFamilyFolderFavorite(string folderName)
|
||||
{
|
||||
Task.Run(() => serviceRequest.PostAsync("/FamilyGroup/InsertFamilyFolderFavorite?folderName=" + folderName.ToString())).GetAwaiter().GetResult(); }
|
||||
|
||||
public void DeleteFamilyFolderFavorite(string folderName)
|
||||
{
|
||||
Task.Run(() => serviceRequest.PostAsync("/FamilyGroup/DeleteFamilyFolderFavorite?folderName=" + folderName.ToString())).GetAwaiter().GetResult(); }
|
||||
|
||||
public void DeleteFamilyFolderFavorites(FamilyFolderFavoriteEntity[] familyFolderFavorites)
|
||||
{
|
||||
Task.Run(() => serviceRequest.PostAsJsonAsync<FamilyFolderFavoriteEntity[],dynamic>("/FamilyGroup/DeleteFamilyFolderFavorites" , familyFolderFavorites)).GetAwaiter().GetResult(); }
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,60 @@
|
||||
|
||||
using CloudBuilder.Core.DependencyInjection.Request;
|
||||
using CloudBuilder.Core.Request;
|
||||
using CloudBuilder.Core.Service;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using CloudBuilder.Master.Service;
|
||||
using CloudBuilder.Core.DatabaseAccessor.Entity;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using CloudBuilder.Master.Entity;
|
||||
using System;
|
||||
using CloudBuilder.Master.Data;
|
||||
using CloudBuilder.Master.SearchCriteria;
|
||||
|
||||
namespace CloudBuilder.Request.Master
|
||||
{
|
||||
|
||||
public class FamilyPersonRequest : IRequest
|
||||
{
|
||||
|
||||
private readonly IServiceRequest serviceRequest;
|
||||
public FamilyPersonRequest(IServiceRequest serviceRequest)
|
||||
{
|
||||
this.serviceRequest = serviceRequest;
|
||||
}
|
||||
|
||||
public FamilyPersonEntity[] FindAll()
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<FamilyPersonEntity[]> ("/FamilyPerson/FindAll")).GetAwaiter().GetResult(); }
|
||||
|
||||
public FamilyPersonData FindByKey(string key)
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<FamilyPersonData>("/FamilyPerson/FindByKey?key=" + key.ToString())).GetAwaiter().GetResult(); }
|
||||
|
||||
public FamilyPersonResultData FindBySearchCriteria(FamilyPersonSearchCriteria criteria)
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<FamilyPersonSearchCriteria,FamilyPersonResultData>("/FamilyPerson/FindBySearchCriteria" , criteria)).GetAwaiter().GetResult(); }
|
||||
|
||||
public dynamic PrintBySearchCriteria(FamilyPersonSearchCriteria criteria)
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<FamilyPersonSearchCriteria,dynamic>("/FamilyPerson/PrintBySearchCriteria" , criteria)).GetAwaiter().GetResult(); }
|
||||
|
||||
public FamilyPersonData Insert(FamilyPersonData data)
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<FamilyPersonData,FamilyPersonData>("/FamilyPerson/Insert" , data)).GetAwaiter().GetResult(); }
|
||||
|
||||
public FamilyPersonData Update(FamilyPersonData data)
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<FamilyPersonData,FamilyPersonData>("/FamilyPerson/Update" , data)).GetAwaiter().GetResult(); }
|
||||
|
||||
public void Delete(string key)
|
||||
{
|
||||
Task.Run(() => serviceRequest.PostAsync("/FamilyPerson/Delete?key=" + key.ToString())).GetAwaiter().GetResult(); }
|
||||
|
||||
public void Deletes(string[] keys)
|
||||
{
|
||||
Task.Run(() => serviceRequest.PostAsJsonAsync<string[],dynamic>("/FamilyPerson/Deletes" , keys)).GetAwaiter().GetResult(); }
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,99 @@
|
||||
|
||||
using CloudBuilder.Core.DependencyInjection.Request;
|
||||
using CloudBuilder.Core.Request;
|
||||
using CloudBuilder.Core.Service;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using CloudBuilder.Master.Service;
|
||||
using CloudBuilder.Core.DatabaseAccessor.Entity;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using CloudBuilder.Master.Entity;
|
||||
using System;
|
||||
using CloudBuilder.Master.Data;
|
||||
using CloudBuilder.Master.SearchCriteria;
|
||||
|
||||
namespace CloudBuilder.Request.Master
|
||||
{
|
||||
|
||||
public class FamilyTreeRequest : IRequest
|
||||
{
|
||||
|
||||
private readonly IServiceRequest serviceRequest;
|
||||
public FamilyTreeRequest(IServiceRequest serviceRequest)
|
||||
{
|
||||
this.serviceRequest = serviceRequest;
|
||||
}
|
||||
|
||||
public FamilyTreeData FindAllByTreeId(string treeId)
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<FamilyTreeData>("/FamilyTree/FindAllByTreeId?treeId=" + treeId.ToString())).GetAwaiter().GetResult(); }
|
||||
|
||||
public FamilyTreeData FindByKey(string key)
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<FamilyTreeData>("/FamilyTree/FindByKey?key=" + key.ToString())).GetAwaiter().GetResult(); }
|
||||
|
||||
|
||||
public class FindByCurrentPersonCompositionData2 {
|
||||
public string key { get; set; }
|
||||
public string personId { get; set; }
|
||||
|
||||
}
|
||||
public FamilyTreeData FindByCurrentPerson(string key, string personId)
|
||||
{
|
||||
var compositionData = new FindByCurrentPersonCompositionData2{ ␍key = key, ␍personId = personId }; ␍return Task.Run(() => serviceRequest.PostAsJsonAsync<FindByCurrentPersonCompositionData2, FamilyTreeData>("/FamilyTree/FindByCurrentPerson", compositionData)).GetAwaiter().GetResult(); }
|
||||
|
||||
public FamilyTreeResultData FindBySearchCriteria(FamilyTreeSearchCriteria criteria)
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<FamilyTreeSearchCriteria,FamilyTreeResultData>("/FamilyTree/FindBySearchCriteria" , criteria)).GetAwaiter().GetResult(); }
|
||||
|
||||
public FamilyTreeData Insert(FamilyTreeData data)
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<FamilyTreeData,FamilyTreeData>("/FamilyTree/Insert" , data)).GetAwaiter().GetResult(); }
|
||||
|
||||
|
||||
public class RequestFamilyTreePermissionCompositionData2 {
|
||||
public string treeId { get; set; }
|
||||
public string currentPersonId { get; set; }
|
||||
|
||||
}
|
||||
public void RequestFamilyTreePermission(string treeId, string currentPersonId)
|
||||
{
|
||||
var compositionData = new RequestFamilyTreePermissionCompositionData2{ ␍treeId = treeId, ␍currentPersonId = currentPersonId }; ␍ Task.Run(() => serviceRequest.PostAsJsonAsync<RequestFamilyTreePermissionCompositionData2, dynamic>("/FamilyTree/RequestFamilyTreePermission", compositionData)).GetAwaiter().GetResult(); }
|
||||
|
||||
|
||||
public class ApproveFamilyTreePermissionCompositionData4 {
|
||||
public string treeId { get; set; }
|
||||
public string currentPersonId { get; set; }
|
||||
public string userName { get; set; }
|
||||
public string managerIndc { get; set; }
|
||||
|
||||
}
|
||||
public void ApproveFamilyTreePermission(string treeId, string currentPersonId, string userName, string managerIndc)
|
||||
{
|
||||
var compositionData = new ApproveFamilyTreePermissionCompositionData4{ ␍treeId = treeId, ␍currentPersonId = currentPersonId, ␍userName = userName, ␍managerIndc = managerIndc }; ␍ Task.Run(() => serviceRequest.PostAsJsonAsync<ApproveFamilyTreePermissionCompositionData4, dynamic>("/FamilyTree/ApproveFamilyTreePermission", compositionData)).GetAwaiter().GetResult(); }
|
||||
|
||||
|
||||
public class RejectFamilyTreePermissionCompositionData3 {
|
||||
public string treeId { get; set; }
|
||||
public string currentPersonId { get; set; }
|
||||
public string userName { get; set; }
|
||||
|
||||
}
|
||||
public void RejectFamilyTreePermission(string treeId, string currentPersonId, string userName)
|
||||
{
|
||||
var compositionData = new RejectFamilyTreePermissionCompositionData3{ ␍treeId = treeId, ␍currentPersonId = currentPersonId, ␍userName = userName }; ␍ Task.Run(() => serviceRequest.PostAsJsonAsync<RejectFamilyTreePermissionCompositionData3, dynamic>("/FamilyTree/RejectFamilyTreePermission", compositionData)).GetAwaiter().GetResult(); }
|
||||
|
||||
public FamilyTreeData Update(FamilyTreeData data)
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<FamilyTreeData,FamilyTreeData>("/FamilyTree/Update" , data)).GetAwaiter().GetResult(); }
|
||||
|
||||
public void Delete(string key)
|
||||
{
|
||||
Task.Run(() => serviceRequest.PostAsync("/FamilyTree/Delete?key=" + key.ToString())).GetAwaiter().GetResult(); }
|
||||
|
||||
public void Deletes(string[] keys)
|
||||
{
|
||||
Task.Run(() => serviceRequest.PostAsJsonAsync<string[],dynamic>("/FamilyTree/Deletes" , keys)).GetAwaiter().GetResult(); }
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
|
||||
using CloudBuilder.Core.DependencyInjection.Request;
|
||||
using CloudBuilder.Core.Request;
|
||||
using CloudBuilder.Core.Service;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using CloudBuilder.Master.Service;
|
||||
using CloudBuilder.Core.DatabaseAccessor.Entity;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using CloudBuilder.Master.Entity;
|
||||
using System;
|
||||
using CloudBuilder.Master.Data;
|
||||
using CloudBuilder.Master.SearchCriteria;
|
||||
|
||||
namespace CloudBuilder.Request.Master
|
||||
{
|
||||
|
||||
public class FileTypePolicyRequest : IRequest
|
||||
{
|
||||
|
||||
private readonly IServiceRequest serviceRequest;
|
||||
public FileTypePolicyRequest(IServiceRequest serviceRequest)
|
||||
{
|
||||
this.serviceRequest = serviceRequest;
|
||||
}
|
||||
|
||||
public SelectOption[] FindSelectOption(bool blank)
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<SelectOption[]>("/FileTypePolicy/FindSelectOption?blank=" + blank.ToString())).GetAwaiter().GetResult(); }
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,60 @@
|
||||
|
||||
using CloudBuilder.Core.DependencyInjection.Request;
|
||||
using CloudBuilder.Core.Request;
|
||||
using CloudBuilder.Core.Service;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using CloudBuilder.Master.Service;
|
||||
using CloudBuilder.Core.DatabaseAccessor.Entity;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using CloudBuilder.Master.Entity;
|
||||
using System;
|
||||
using CloudBuilder.Master.Data;
|
||||
using CloudBuilder.Master.SearchCriteria;
|
||||
|
||||
namespace CloudBuilder.Request.Master
|
||||
{
|
||||
|
||||
public class PublishAudioRequest : IRequest
|
||||
{
|
||||
|
||||
private readonly IServiceRequest serviceRequest;
|
||||
public PublishAudioRequest(IServiceRequest serviceRequest)
|
||||
{
|
||||
this.serviceRequest = serviceRequest;
|
||||
}
|
||||
|
||||
public PublishAudioData FindByKey(string key)
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<PublishAudioData>("/PublishAudio/FindByKey?key=" + key.ToString())).GetAwaiter().GetResult(); }
|
||||
|
||||
public PublishAudioResultData FindBySearchCriteria(PublishAudioSearchCriteria criteria)
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<PublishAudioSearchCriteria,PublishAudioResultData>("/PublishAudio/FindBySearchCriteria" , criteria)).GetAwaiter().GetResult(); }
|
||||
|
||||
public PublishAudioData FindPublishAudioDefault()
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<PublishAudioData> ("/PublishAudio/FindPublishAudioDefault")).GetAwaiter().GetResult(); }
|
||||
|
||||
public dynamic PrintBySearchCriteria(PublishAudioSearchCriteria criteria)
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<PublishAudioSearchCriteria,dynamic>("/PublishAudio/PrintBySearchCriteria" , criteria)).GetAwaiter().GetResult(); }
|
||||
|
||||
public PublishAudioData Insert(PublishAudioData data)
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<PublishAudioData,PublishAudioData>("/PublishAudio/Insert" , data)).GetAwaiter().GetResult(); }
|
||||
|
||||
public PublishAudioData Update(PublishAudioData data)
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<PublishAudioData,PublishAudioData>("/PublishAudio/Update" , data)).GetAwaiter().GetResult(); }
|
||||
|
||||
public void Delete(string key)
|
||||
{
|
||||
Task.Run(() => serviceRequest.PostAsync("/PublishAudio/Delete?key=" + key.ToString())).GetAwaiter().GetResult(); }
|
||||
|
||||
public void InsertPublishAudioDetail(PublishData publishData)
|
||||
{
|
||||
Task.Run(() => serviceRequest.PostAsJsonAsync<PublishData,dynamic>("/PublishAudio/InsertPublishAudioDetail" , publishData)).GetAwaiter().GetResult(); }
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,68 @@
|
||||
|
||||
using CloudBuilder.Core.DependencyInjection.Request;
|
||||
using CloudBuilder.Core.Request;
|
||||
using CloudBuilder.Core.Service;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using CloudBuilder.Master.Service;
|
||||
using CloudBuilder.Core.DatabaseAccessor.Entity;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using CloudBuilder.Master.Entity;
|
||||
using System;
|
||||
using CloudBuilder.Master.Data;
|
||||
using CloudBuilder.Master.SearchCriteria;
|
||||
|
||||
namespace CloudBuilder.Request.Master
|
||||
{
|
||||
|
||||
public class PublishPhotoRequest : IRequest
|
||||
{
|
||||
|
||||
private readonly IServiceRequest serviceRequest;
|
||||
public PublishPhotoRequest(IServiceRequest serviceRequest)
|
||||
{
|
||||
this.serviceRequest = serviceRequest;
|
||||
}
|
||||
|
||||
public PublishPhotoData FindByKey(string key)
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<PublishPhotoData>("/PublishPhoto/FindByKey?key=" + key.ToString())).GetAwaiter().GetResult(); }
|
||||
|
||||
public PublishPhotoResultData FindBySearchCriteria(PublishPhotoSearchCriteria criteria)
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<PublishPhotoSearchCriteria,PublishPhotoResultData>("/PublishPhoto/FindBySearchCriteria" , criteria)).GetAwaiter().GetResult(); }
|
||||
|
||||
public dynamic PrintBySearchCriteria(PublishPhotoSearchCriteria criteria)
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<PublishPhotoSearchCriteria,dynamic>("/PublishPhoto/PrintBySearchCriteria" , criteria)).GetAwaiter().GetResult(); }
|
||||
|
||||
public PublishPhotoData Insert(PublishPhotoData data)
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<PublishPhotoData,PublishPhotoData>("/PublishPhoto/Insert" , data)).GetAwaiter().GetResult(); }
|
||||
|
||||
public PublishPhotoData Update(PublishPhotoData data)
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<PublishPhotoData,PublishPhotoData>("/PublishPhoto/Update" , data)).GetAwaiter().GetResult(); }
|
||||
|
||||
public void Delete(string key)
|
||||
{
|
||||
Task.Run(() => serviceRequest.PostAsync("/PublishPhoto/Delete?key=" + key.ToString())).GetAwaiter().GetResult(); }
|
||||
|
||||
public PublishPhotoDetailEntity[] FindPublishPhotoDetailByPublishName(string publishName)
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<PublishPhotoDetailEntity[]>("/PublishPhoto/FindPublishPhotoDetailByPublishName?publishName=" + publishName.ToString())).GetAwaiter().GetResult(); }
|
||||
|
||||
public PublishPhotoDetailEntity[] FindPublishPhotoDetail()
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<PublishPhotoDetailEntity[]> ("/PublishPhoto/FindPublishPhotoDetail")).GetAwaiter().GetResult(); }
|
||||
|
||||
public void InsertPublishPhotoDetail(PublishData publishData)
|
||||
{
|
||||
Task.Run(() => serviceRequest.PostAsJsonAsync<PublishData,dynamic>("/PublishPhoto/InsertPublishPhotoDetail" , publishData)).GetAwaiter().GetResult(); }
|
||||
|
||||
public void InsertPublishPhotoDetailByFamilyGroup(PublishData publishData)
|
||||
{
|
||||
Task.Run(() => serviceRequest.PostAsJsonAsync<PublishData,dynamic>("/PublishPhoto/InsertPublishPhotoDetailByFamilyGroup" , publishData)).GetAwaiter().GetResult(); }
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,60 @@
|
||||
|
||||
using CloudBuilder.Core.DependencyInjection.Request;
|
||||
using CloudBuilder.Core.Request;
|
||||
using CloudBuilder.Core.Service;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using CloudBuilder.Master.Service;
|
||||
using CloudBuilder.Core.DatabaseAccessor.Entity;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using CloudBuilder.Master.Entity;
|
||||
using System;
|
||||
using CloudBuilder.Master.Data;
|
||||
using CloudBuilder.Master.SearchCriteria;
|
||||
|
||||
namespace CloudBuilder.Request.Master
|
||||
{
|
||||
|
||||
public class PublishVideoRequest : IRequest
|
||||
{
|
||||
|
||||
private readonly IServiceRequest serviceRequest;
|
||||
public PublishVideoRequest(IServiceRequest serviceRequest)
|
||||
{
|
||||
this.serviceRequest = serviceRequest;
|
||||
}
|
||||
|
||||
public PublishVideoData FindByKey(string key)
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<PublishVideoData>("/PublishVideo/FindByKey?key=" + key.ToString())).GetAwaiter().GetResult(); }
|
||||
|
||||
public PublishVideoResultData FindBySearchCriteria(PublishVideoSearchCriteria criteria)
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<PublishVideoSearchCriteria,PublishVideoResultData>("/PublishVideo/FindBySearchCriteria" , criteria)).GetAwaiter().GetResult(); }
|
||||
|
||||
public PublishVideoData FindPublishVideoDefault()
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<PublishVideoData> ("/PublishVideo/FindPublishVideoDefault")).GetAwaiter().GetResult(); }
|
||||
|
||||
public dynamic PrintBySearchCriteria(PublishVideoSearchCriteria criteria)
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<PublishVideoSearchCriteria,dynamic>("/PublishVideo/PrintBySearchCriteria" , criteria)).GetAwaiter().GetResult(); }
|
||||
|
||||
public PublishVideoData Insert(PublishVideoData data)
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<PublishVideoData,PublishVideoData>("/PublishVideo/Insert" , data)).GetAwaiter().GetResult(); }
|
||||
|
||||
public PublishVideoData Update(PublishVideoData data)
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<PublishVideoData,PublishVideoData>("/PublishVideo/Update" , data)).GetAwaiter().GetResult(); }
|
||||
|
||||
public void Delete(string key)
|
||||
{
|
||||
Task.Run(() => serviceRequest.PostAsync("/PublishVideo/Delete?key=" + key.ToString())).GetAwaiter().GetResult(); }
|
||||
|
||||
public void InsertPublishVideoDetail(PublishData publishData)
|
||||
{
|
||||
Task.Run(() => serviceRequest.PostAsJsonAsync<PublishData,dynamic>("/PublishVideo/InsertPublishVideoDetail" , publishData)).GetAwaiter().GetResult(); }
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
@@ -123,7 +123,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<!-- 家庭与学业 -->
|
||||
<div class="fp-card">
|
||||
<div v-if="!readonlyBasicOnly" class="fp-card">
|
||||
<div class="fp-card-title">家庭与学业</div>
|
||||
<div class="fp-grid">
|
||||
<div class="fp-field">
|
||||
@@ -173,7 +173,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<!-- 任职与状态 -->
|
||||
<div class="fp-card">
|
||||
<div v-if="!readonlyBasicOnly" class="fp-card">
|
||||
<div class="fp-card-title">任职与状态</div>
|
||||
<div class="fp-grid">
|
||||
<div class="fp-field">
|
||||
@@ -232,7 +232,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<!-- 生平简介 -->
|
||||
<div class="fp-card">
|
||||
<div v-if="!readonlyBasicOnly" class="fp-card">
|
||||
<div class="fp-card-title">生平简介</div>
|
||||
<div class="fp-field">
|
||||
<div class="fp-label">简介</div>
|
||||
@@ -259,12 +259,12 @@
|
||||
</a-row>
|
||||
<a-row v-else :gutter="[16, 8]">
|
||||
<a-space>
|
||||
<a-button type="primary" v-if="canAmend" :icon="h(EditOutlined)" :disabled="!hasData"
|
||||
@click.prevent="onAmend">修改</a-button>
|
||||
<a-button type="primary" v-if="canAmend && data.FamilyPerson.IsCanAmend"
|
||||
:icon="h(EditOutlined)" :disabled="!hasData" @click.prevent="onAmend">修改</a-button>
|
||||
<a-popconfirm :disabled="!hasData" title="确定是否删除这条记录?" ok-text="是" cancel-text="否"
|
||||
@confirm="onDelete">
|
||||
<a-button type="primary" danger :icon="h(DeleteOutlined)" :disabled="!hasData"
|
||||
v-if="canDelete && data.FamilyPerson && data.FamilyPerson.TreeId.length == 0">删除</a-button>
|
||||
v-if="canDelete && data.FamilyPerson.IsCanAmend && data.FamilyPerson && data.FamilyPerson.TreeId.length == 0">删除</a-button>
|
||||
</a-popconfirm>
|
||||
</a-space>
|
||||
</a-row>
|
||||
@@ -359,6 +359,11 @@ const avatarUploadPercent = ref<number>(0);
|
||||
*/
|
||||
const avatarSrc = computed(() => data.value.FamilyPerson.AvatarUrl || "");
|
||||
|
||||
// 无修改权限且 Privacy=不公开(N) 时,只允许查看"基本资料"
|
||||
const readonlyBasicOnly = computed(
|
||||
() => !data.value.FamilyPerson.IsCanAmend && data.value.FamilyPerson.Privacy != "Y",
|
||||
);
|
||||
|
||||
/** 释放本地上传产生的 blob 预览地址,避免内存泄漏 */
|
||||
const revokeAvatarPreview = () => {
|
||||
const url = data.value.FamilyPerson.AvatarUrl;
|
||||
|
||||
@@ -396,12 +396,12 @@
|
||||
</a-row>
|
||||
<a-row v-else :gutter="[16, 8]">
|
||||
<a-space>
|
||||
<a-button type="primary" v-if="canAmend" :icon="h(EditOutlined)" :disabled="!hasData"
|
||||
@click.prevent="onAmend">修改</a-button>
|
||||
<a-button type="primary" v-if="canAmend && data.IsCanAmend" :icon="h(EditOutlined)"
|
||||
:disabled="!hasData" @click.prevent="onAmend">修改</a-button>
|
||||
<a-popconfirm :disabled="!hasData" title="确定是否删除这条记录?" ok-text="是" cancel-text="否"
|
||||
@confirm="onDelete">
|
||||
<a-button type="primary" danger :icon="h(DeleteOutlined)" :disabled="!hasData"
|
||||
v-if="canDelete">删除</a-button>
|
||||
v-if="canDelete && data.IsCanAmend">删除</a-button>
|
||||
</a-popconfirm>
|
||||
</a-space>
|
||||
</a-row>
|
||||
|
||||
Reference in new issue
Block a user