added info page on quote pictograms

This commit is contained in:
Frede Hundewadt 2023-01-10 14:58:14 +01:00
parent 8a5b5ecc3a
commit 94afd3e8c3
11 changed files with 90 additions and 26 deletions

View file

@ -1,6 +1,10 @@
<wpf:ResourceDictionary xml:space="preserve" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:ss="urn:shemas-jetbrains-com:settings-storage-xaml" xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
<s:Boolean x:Key="/Default/UserDictionary/Words/=Affero/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=Bestilling/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=Bes_00F8g/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=fejl/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=kontrolleres/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=opst_00E5et/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=Tilbud/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=Venligst/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=Virk/@EntryIndexedValue">True</s:Boolean></wpf:ResourceDictionary>

View file

@ -0,0 +1,33 @@
<table class="table">
<thead>
<tr>
<th>Symbol</th>
<th>Betydning</th>
</tr>
<tr>
<td><i class="bi-list"></i></td>
<td>Alle tilbud</td>
</tr>
<tr>
<td><i class="bi-trash-fill"></i></td>
<td>Tabte tilbud</td>
</tr>
<tr>
<td><i class="bi-archive-fill"></i></td>
<td>Ingen svar</td>
</tr>
<tr>
<td><i class="bi-question-circle-fill"></i></td>
<td>Åbne tilbud</td>
</tr>
<tr>
<td><i class="bi-tag-fill"></i></td>
<td>Aktive aftaler</td>
</tr>
<tr>
<td><i class="bi-activity"></i></td>
<td>Åbne tilbud / Aktive aftaler</td>
</tr>
</thead>
</table>

View file

@ -46,19 +46,19 @@
@switch (quote.QuoteStatusEnum)
{
case "None":
<i class="bi-question-circle-fill"></i>
<i class="bi-question-circle-fill"style="font-size: 1.2rem"></i>
break;
case "Lose":
<i class="bi-trash-fill"></i>
<i class="bi-trash-fill"style="font-size: 1.2rem"></i>
break;
case "Note":
<i class="bi-tag-fill"></i>
<i class="bi-tag-fill"style="font-size: 1.2rem"></i>
break;
case "Archive":
<i class="bi-archive-fill"></i>
<i class="bi-archive-fill"style="font-size: 1.2rem"></i>
break;
default:
<i class="bi-question-circle-fill"></i>
<i class="bi-question-circle-fill"style="font-size: 1.2rem"></i>
break;
}
</div>

View file

@ -104,8 +104,25 @@ public class AdvisorReportRepository : IAdvisorReportRepository
{
var response = await _client
.PostAsJsonAsync($"{_apiConfig.CrmReports}/{workDate}", reportDto, _options);
if (!response.IsSuccessStatusCode)
return new ApiResponseView
{
Code = (int) response.StatusCode,
Id = "",
Message = "Der er opstået en fejl.",
IsSuccess = false
};
var jsonDate = await response.Content.ReadAsStringAsync();
if(string.IsNullOrWhiteSpace(jsonDate))
return new ApiResponseView
{
Code = (int) response.StatusCode,
Id = "",
Message = "Response er tom",
IsSuccess = response.IsSuccessStatusCode
};
var result = JsonSerializer.Deserialize<ApiResponseView>(jsonDate);
return new ApiResponseView
{

View file

@ -317,7 +317,7 @@ else
<a class="btn btn-warning" href="/customers/@_company.CompanyId">Kundekort <i class="bi-arrow-left"></i></a>
</div>
<div class="col-sm-4 text-end">
<button type="button" class="btn btn-warning" @onclick="CallConfirmProductCheckModel" disabled="@(PoFormInvalid || Working)">Opret besøg <i class="bi-plus"></i></button>
<button type="button" class="btn btn-warning" @onclick="CallConfirmProductCheckModel" disabled="@(PoFormInvalid || Working)"><i class="bi-save-fill"></i> @ButtonText</button>
</div>
</div>
}

View file

@ -77,6 +77,7 @@ public partial class AdvisorCreateActivityPage : IDisposable
private ConfirmWorkDateModal ConfirmWorkDateModal { get; set; } = new();
private ConfirmProductCheckModal ConfirmProductCheckModal { get; set; } = new();
private List<ProductInventoryView> CheckList { get; set; } = new();
private string ButtonText { get; set; } = "Gem besøg";
/// <summary>
@ -444,10 +445,16 @@ public partial class AdvisorCreateActivityPage : IDisposable
{
Logger.LogDebug("ActivityNewPage => ActivityStatusEnum == 'noSale' <= remove items");
DraftProvider.Draft.Items = new List<DraftItem>();
}
ButtonText = Activity.ActivityStatusEnum switch
{
"noSale" => "Gem Besøg",
"order" => "Gem Bestilling",
"quote" => "Gem Tilbud",
_ => ButtonText
};
// InvalidCanvas = InvalidActivityType;
InvalidActivity = InvalidActivityType
|| PoFormInvalid

View file

@ -27,23 +27,23 @@
<div class="col-sm-4 text-end">
<div class="btn-group btn-group" role="group" aria-label="Filter tilbud">
<input type="radio" class="btn-check" name="btn-filter" id="btn-filter4" autocomplete="off" @onchange="() => FilterQuotes(QStatus.All)"/>
<label class="btn btn-dark" for="btn-filter4"><i class="bi-list"style="font-size: 1.3rem"></i></label>
<input type="radio" class="btn-check" name="btn-filter" id="btn-filter1" autocomplete="off" @onchange="() => FilterQuotes(QStatus.Lose)"/>
<label class="btn btn-dark" for="btn-filter1"><i class="bi-trash-fill"></i></label>
<label class="btn btn-dark" for="btn-filter1"><i class="bi-trash-fill"style="font-size: 1.3rem"></i></label>
<input type="radio" class="btn-check" name="btn-filter" id="btn-filter2" autocomplete="off" @onchange="() => FilterQuotes(QStatus.Archive)"/>
<label class="btn btn-dark" for="btn-filter2"><i class="bi-archive-fill"></i></label>
<input type="radio" class="btn-check" name="btn-filter" id="btn-filter3" autocomplete="off" @onchange="() => FilterQuotes(QStatus.Note)"/>
<label class="btn btn-dark" for="btn-filter3"><i class="bi-tag-fill"></i></label>
<input type="radio" class="btn-check" name="btn-filter" id="btn-filter4" autocomplete="off" @onchange="() => FilterQuotes(QStatus.All)"/>
<label class="btn btn-dark" for="btn-filter4"><i class="bi-list"></i></label>
<label class="btn btn-dark" for="btn-filter2"><i class="bi-archive-fill"style="font-size: 1.3rem"></i></label>
<input type="radio" class="btn-check" name="btn-filter" id="btn-filter5" autocomplete="off" @onchange="() => FilterQuotes(QStatus.None)"/>
<label class="btn btn-dark" for="btn-filter5"><i class="bi-question-circle-fill"></i></label>
<label class="btn btn-dark" for="btn-filter5"><i class="bi-question-circle-fill"style="font-size: 1.3rem"></i></label>
<input type="radio" class="btn-check" name="btn-filter" id="btn-filter3" autocomplete="off" @onchange="() => FilterQuotes(QStatus.Note)"/>
<label class="btn btn-dark" for="btn-filter3"><i class="bi-tag-fill"style="font-size: 1.3rem"></i></label>
<input type="radio" class="btn-check" name="btn-filter" id="btn-filter6" autocomplete="off" @onchange="() => FilterQuotes(QStatus.NoteOpen)" checked/>
<label class="btn btn-dark" for="btn-filter6"><i class="bi-activity"></i></label>
<label class="btn btn-dark" for="btn-filter6"><i class="bi-activity"style="font-size: 1.3rem"></i></label>
</div>
@*

View file

@ -69,8 +69,8 @@ public partial class AdvisorReportCreatePage : IDisposable
if (!string.IsNullOrWhiteSpace(Prefs.WorkDate))
_workDate = DateTime.Parse(Prefs.WorkDate);
// if(await CrmReportRepo.ReportExist(Prefs.WorkDate))
// Navigator.NavigateTo($"/sales-reports/view/{_workDate:yyyy-MM-dd}");
if(await AdvisorReportRepo.ReportExist(Prefs.WorkDate))
Navigator.NavigateTo($"/sales-reports/view/{_workDate:yyyy-MM-dd}");
BeginLeave = _workDate;
EndLeave = _workDate;
@ -131,7 +131,7 @@ public partial class AdvisorReportCreatePage : IDisposable
Working = true;
var result = await AdvisorReportRepo.CreateReport($"{_workDate:yyyy-MM-dd}", Report);
Toaster.ShowInfo($"{result.Message}", $"HTTP Status");
Logger.LogDebug("CreateReport.result => {}", JsonSerializer.Serialize(result));
// reset km and date confirmation
await ProfileService.SetKmMorning(0);

View file

@ -31,9 +31,12 @@
</div>
</div>
<div class="row mb-2">
<div class="col">
<h2 class="text-center">Piktogrammer</h2>
<ColorCodingComponent />
<h2 class="text-center">Piktogrammer</h2>
<div class="col-sm-12 col-md-8">
<InfoColorCodingComponent/>
</div>
<div class="col-sm-12 col-md-4">
<InfoQuoteToolbarComponent/>
</div>
</div>
<div class="row mb-2">