wip - sales report
This commit is contained in:
parent
14e8eba4f0
commit
40f9334e2d
11 changed files with 49 additions and 28 deletions
|
@ -140,9 +140,8 @@
|
|||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
@* Leverings adresse *@
|
||||
<div class="accordion-item">
|
||||
<div class="accordion-item" style="@(_poDraft.ActivityStatusEnum == "order" ? "display: block" : "display:none")">
|
||||
<h2 class="accordion-header" id="deliveryHeader">
|
||||
<button class="accordion-button collapsed bg-light" type="button"
|
||||
data-bs-toggle="collapse" data-bs-target="#deliveryBody"
|
||||
|
@ -187,8 +186,8 @@
|
|||
</div>
|
||||
</div>
|
||||
|
||||
@* Ordder lines *@
|
||||
<div class="accordion-item">
|
||||
@* Order lines *@
|
||||
<div class="accordion-item" style="@(_poDraft.ActivityStatusEnum is "order" or "quote" ? "display: block" : "display:none")">
|
||||
<h2 class="accordion-header" id="catalogHeader">
|
||||
<button class="accordion-button collapsed bg-light" type="button"
|
||||
data-bs-toggle="collapse" data-bs-target="#catalogBody"
|
||||
|
|
|
@ -27,7 +27,7 @@
|
|||
</div>
|
||||
<div class="col">
|
||||
<h5>Browservalg</h5>
|
||||
Bruge en Chrome baseret browser f.eks. Edge, Safari, Vivaldi, Chrome eller Chromium
|
||||
Det anbefales at bruge en Chrome baseret browser f.eks. Edge, Safari, Vivaldi, Chrome eller Chromium
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
|
|
|
@ -35,7 +35,8 @@
|
|||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<select id="dayType" class="col-md-3 form-select" @bind-Value="_reportDto.DayTypeEnum" @bind-Value:event="oninput" @onchange="CheckDayType">
|
||||
<select id="dayType" class="col-md-3 form-select"
|
||||
@bind-Value="_reportDto.DayTypeEnum" @bind-Value:event="oninput" @onchange="CheckDayType">
|
||||
<option value="" selected disabled="">"IKKE VALGT"</option>
|
||||
<option value="sales">Salgsdag</option>
|
||||
<option value="meeting">Salgsmøde</option>
|
||||
|
@ -43,7 +44,6 @@
|
|||
<option value="supervisor">Supervisor</option>
|
||||
<option value="sickLeave">Sygdom</option>
|
||||
<option value="leave">Ferie</option>
|
||||
<option value="noReport">Ingen Rapport</option>
|
||||
</select>
|
||||
<ValidationMessage For="@(() => _reportDto.DayTypeEnum)"></ValidationMessage>
|
||||
</td>
|
||||
|
@ -59,6 +59,26 @@
|
|||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="row">
|
||||
<div class="form-group row mb-1">
|
||||
<label for="supervisedBy" class="col-form-label col-md-2">Supervisor</label>
|
||||
<div class="col-md-4">
|
||||
<InputText id="supervisedBy" class="form-control" @bind-Value="_reportDto.SupervisedBy"/>
|
||||
<ValidationMessage For="@(() => _reportDto.SupervisedBy)"></ValidationMessage>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="form-group row mb-1">
|
||||
<label for="description" class="col-form-label col-md-2">Beskrivelse</label>
|
||||
<div class="col-md-4">
|
||||
<InputTextArea id="description" class="form-control" @bind-Value="_reportDto.Description"/>
|
||||
<ValidationMessage For="@(() => _reportDto.Description)"></ValidationMessage>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<table class="table">
|
||||
<thead>
|
||||
|
|
|
@ -30,7 +30,7 @@ public partial class SalesReport
|
|||
[Inject] private UserPreferenceService UserPrefs { get; set; }
|
||||
[Inject] private IActivityHttpRepository ActivityRepo { get; set; }
|
||||
private EditContext _editContext { get; set; }
|
||||
private ActivityReportDto _reportDto = new();
|
||||
private ReportDto _reportDto = new();
|
||||
private Preferences _prefs { get; set; } = new();
|
||||
private bool _formInvalid = true;
|
||||
private List<ReportActivity>? Activities { get; set; } = new();
|
||||
|
@ -72,13 +72,13 @@ public partial class SalesReport
|
|||
{
|
||||
|
||||
}
|
||||
|
||||
private async Task GetActivities()
|
||||
{
|
||||
Activities = null;
|
||||
await UserPrefs.SetWorkDate(_reportDto.CheckIn);
|
||||
Activities = await ActivityRepo
|
||||
.GetActivities($"{_reportDto.CheckIn:yyyy-MM-dd}")
|
||||
;
|
||||
.GetActivities($"{_reportDto.CheckIn:yyyy-MM-dd}");
|
||||
}
|
||||
|
||||
public void Dispose()
|
||||
|
|
|
@ -51,7 +51,7 @@ public class VatInfoLookupService
|
|||
["houseNumber"] = $"{query.HouseNumber}",
|
||||
["zipCode"] = $"{query.ZipCode}"
|
||||
};
|
||||
var endpoint = QueryHelpers.AddQueryString(_config.BrRegEndpoint, queryString);
|
||||
var endpoint = QueryHelpers.AddQueryString(_config.VirkEndpoint, queryString);
|
||||
var response = await _client.GetAsync(endpoint);
|
||||
var content = await response.Content.ReadAsStringAsync();
|
||||
var jsonResult = JsonSerializer.Deserialize<List<VirkRegInfo>>(content, _options);
|
||||
|
@ -64,7 +64,7 @@ public class VatInfoLookupService
|
|||
return result.Count == 0 ? _noData : result;
|
||||
}
|
||||
|
||||
public async Task<List<VirkRegInfo>> QueryNoVatRegistry(string vatNumber)
|
||||
public async Task<List<VirkRegInfo>> QueryBrRegistry(string vatNumber)
|
||||
{
|
||||
var queryString = new Dictionary<string, string>
|
||||
{
|
||||
|
@ -85,7 +85,7 @@ public class VatInfoLookupService
|
|||
return result.Count == 0 ? _noData : result;
|
||||
}
|
||||
|
||||
public async Task<List<VirkRegInfo>> QueryViesVatRegistry(string vatNumber)
|
||||
public async Task<List<VirkRegInfo>> QueryViesRegistry(string vatNumber)
|
||||
{
|
||||
var queryString = new Dictionary<string, string>
|
||||
{
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
},
|
||||
"appInfo": {
|
||||
"name": "Wonky Client",
|
||||
"version": "0.3.8",
|
||||
"version": "0.4.3",
|
||||
"isBeta": true,
|
||||
"image": "grumpy-coder.png"
|
||||
},
|
||||
|
@ -18,11 +18,12 @@
|
|||
"userInfo": "api/auth/userinfo",
|
||||
"customerEndpoint": "api/v2/crm/companies",
|
||||
"catalogEndpoint": "api/v2/crm/catalog",
|
||||
"dkEndpointVat": "api/v2/services/virk",
|
||||
"noEndpointVat": "api/v2/services/brReg",
|
||||
"seEndpointVat": "api/v2/services/vies",
|
||||
"virkEndpoint": "api/v2/services/virk",
|
||||
"brRegEndpoint": "api/v2/services/brReg",
|
||||
"viesEndpoint": "api/v2/services/vies",
|
||||
"glsTrackUrl": "https://www.gls-group.eu/276-I-PORTAL-WEB/content/GLS/DK01/DA/5004.htm?txtAction=71000&txtRefNo=",
|
||||
"glsId": "",
|
||||
"activityEndpoint": "api/v2/crm/salesReps/sales"
|
||||
"activityEndpoint": "api/v2/crm/salesReps/sales",
|
||||
"reportEndpoint": "api/v2/crm/salesReps/reports"
|
||||
}
|
||||
}
|
|
@ -24,11 +24,12 @@ public class ApiConfig
|
|||
public string ImageUpload { get; set; } = "";
|
||||
public string UserRegistration { get; set; } = "";
|
||||
public string UserInfo { get; set; } = "";
|
||||
public string VirkEndpoint { get; set; } = "";
|
||||
public string BrRegEndpoint { get; set; } = "";
|
||||
public string NoEndpointVat { get; set; } = "";
|
||||
public string ViesEndpoint { get; set; } = "";
|
||||
public string TokenPath { get; set; } = "";
|
||||
public string GlsTrackUrl { get; set; } = "";
|
||||
public string GlsId { get; set; } = "";
|
||||
public string ActivityEndpoint { get; set; } = "";
|
||||
public string ReportEndpoint { get; set; } = "";
|
||||
}
|
|
@ -35,6 +35,7 @@ namespace Wonky.Entity.DTO
|
|||
public string SalesRep { get; set; } = "";
|
||||
[Required(ErrorMessage = "Vælg aktivitetstype")] public string ActivityTypeEnum { get; set; } = "";
|
||||
[Required(ErrorMessage = "Vælg status for besøg ")] public string ActivityStatusEnum { get; set; } = "";
|
||||
public string VisitTypeEnum { get; set; } = "recall";
|
||||
public bool CheckDate { get; set; }
|
||||
[Required] public string ActivityDate { get; set; } = "";
|
||||
[MaxLength(50, ErrorMessage = "Du kan højst bruge 50 tegn")] public string Demo { get; set; } = "";
|
||||
|
|
|
@ -2,13 +2,12 @@ using System.ComponentModel.DataAnnotations;
|
|||
|
||||
namespace Wonky.Entity.DTO;
|
||||
|
||||
public class ActivityReportDto
|
||||
public class ReportDto
|
||||
{
|
||||
[Required(ErrorMessage = "Dato skal angives")] public DateTime ActivityDate { get; set; }
|
||||
[Required(ErrorMessage = "Dagtype skal angives")] public string DayTypeEnum { get; set; } = "";
|
||||
[MaxLength(100, ErrorMessage = "Du kan højst bruge 100 tegn")] public string SupervisedBy { get; set; } = "";
|
||||
[MaxLength(1000, ErrorMessage = "Du kan højst bruge 1000 tegn")] public string Description { get; set; } = "";
|
||||
//
|
||||
[MaxLength(100, ErrorMessage = "Du kan højst bruge 100 tegn")] public string SupervisedBy { get; set; } = "";
|
||||
// Date interval (used for leave, sickLeave and work hours
|
||||
public DateTime CheckIn { get; set; }
|
||||
public DateTime CheckOut { get; set; }
|
||||
// workday
|
|
@ -2,7 +2,7 @@ namespace Wonky.Entity.Models;
|
|||
|
||||
public class ReportActivity
|
||||
{
|
||||
public Visitcompany Company { get; set; }
|
||||
public VisitCompany Company { get; set; }
|
||||
public string SalesHeadId { get; set; } = "";
|
||||
public bool Closed { get; set; }
|
||||
public string OrderDate { get; set; } = "";
|
||||
|
@ -14,7 +14,7 @@ public class ReportActivity
|
|||
public string SalesResume { get; set; } = "";
|
||||
}
|
||||
|
||||
public class Visitcompany
|
||||
public class VisitCompany
|
||||
{
|
||||
public string CompanyId { get; set; } = "";
|
||||
public string Account { get; set; } = "";
|
||||
|
|
Loading…
Reference in a new issue