hotfix for support request

This commit is contained in:
merelendor 2022-09-08 09:48:23 +03:00
parent bb20056ca9
commit 51c6b8bdf1
5 changed files with 136 additions and 126 deletions

View File

@ -22,128 +22,131 @@ export default class NotificationMessage extends React.Component
{
const { event } = this.props;
switch(event.event_type)
if(event !== undefined && event !== null)
{
case "kasko_prolong":
switch(event.event_type)
{
const days_left = moment(event.event_date).diff(moment().startOf("day"), 'days');
case "kasko_prolong":
{
const days_left = moment(event.event_date).diff(moment().startOf("day"), 'days');
return (
<li className="new">
<p className="name"><b>Внимание! { days_left === 0 ? "Сегодня последний день" : `${ pluralize(days_left, "Осталось", "Остался", "Осталось", "Осталось") } ${ days_left } ${ pluralize(days_left, "дней", "день", "дня", "дней") } до` } пролонгации КАСКО по договору { event.contract_number } (полис { event.add_info }).</b></p>
{ event.important && (<p className="type">Важное</p>) }
<p className="date">{ moment(event.event_date).format("DD.MM.YYYY") }</p>
<p className="action">
<a className="interactive" onClick={ () => this._handle_onLink(`/contract/${ event.contract_number }/services#insurance`) }>Подробнее</a>
</p>
</li>
)
}
return (
<li className="new">
<p className="name"><b>Внимание! { days_left === 0 ? "Сегодня последний день" : `${ pluralize(days_left, "Осталось", "Остался", "Осталось", "Осталось") } ${ days_left } ${ pluralize(days_left, "дней", "день", "дня", "дней") } до` } пролонгации КАСКО по договору { event.contract_number } (полис { event.add_info }).</b></p>
{ event.important && (<p className="type">Важное</p>) }
<p className="date">{ moment(event.event_date).format("DD.MM.YYYY") }</p>
<p className="action">
<a className="interactive" onClick={ () => this._handle_onLink(`/contract/${ event.contract_number }/services#insurance`) }>Подробнее</a>
</p>
</li>
)
}
case "osago_prolong":
{
const days_left = moment(event.event_date).diff(moment().startOf("day"), 'days');
case "osago_prolong":
{
const days_left = moment(event.event_date).diff(moment().startOf("day"), 'days');
return (
<li className="new">
<p className="name"><b>Внимание! { days_left === 0 ? "Сегодня последний день" : `${ pluralize(days_left, "Осталось", "Остался", "Осталось", "Осталось") } ${ days_left } ${ pluralize(days_left, "дней", "день", "дня", "дней") } до` } пролонгации ОСАГО по договору { event.contract_number } (полис { event.add_info }). Не забудьте самостоятельно продлить полис ОСАГО!</b></p>
{ event.important && (<p className="type">Важное</p>) }
<p className="date">{ moment(event.event_date).format("DD.MM.YYYY") }</p>
<p className="action">
<a className="interactive" onClick={ () => this._handle_onLink(`/contract/${ event.contract_number }/services#insurance`) }>Подробнее</a>
</p>
</li>
)
}
return (
<li className="new">
<p className="name"><b>Внимание! { days_left === 0 ? "Сегодня последний день" : `${ pluralize(days_left, "Осталось", "Остался", "Осталось", "Осталось") } ${ days_left } ${ pluralize(days_left, "дней", "день", "дня", "дней") } до` } пролонгации ОСАГО по договору { event.contract_number } (полис { event.add_info }). Не забудьте самостоятельно продлить полис ОСАГО!</b></p>
{ event.important && (<p className="type">Важное</p>) }
<p className="date">{ moment(event.event_date).format("DD.MM.YYYY") }</p>
<p className="action">
<a className="interactive" onClick={ () => this._handle_onLink(`/contract/${ event.contract_number }/services#insurance`) }>Подробнее</a>
</p>
</li>
)
}
case "fingap_prolong":
{
const days_left = moment(event.event_date).diff(moment().startOf("day"), 'days');
case "fingap_prolong":
{
const days_left = moment(event.event_date).diff(moment().startOf("day"), 'days');
return (
<li className="new">
<p className="name"><b>Внимание! { days_left === 0 ? "Сегодня последний день" : `${ pluralize(days_left, "Осталось", "Остался", "Осталось", "Осталось") } ${ days_left } ${ pluralize(days_left, "дней", "день", "дня", "дней") } до` } пролонгации Safe Finance по договору { event.contract_number }.</b></p>
{ event.important && (<p className="type">Важное</p>) }
<p className="date">{ moment(event.event_date).format("DD.MM.YYYY") }</p>
<p className="action">
<a className="interactive" onClick={ () => this._handle_onLink(`/contract/${ event.contract_number }/services#insurance`) }>Подробнее</a>
</p>
</li>
)
}
return (
<li className="new">
<p className="name"><b>Внимание! { days_left === 0 ? "Сегодня последний день" : `${ pluralize(days_left, "Осталось", "Остался", "Осталось", "Осталось") } ${ days_left } ${ pluralize(days_left, "дней", "день", "дня", "дней") } до` } пролонгации Safe Finance по договору { event.contract_number }.</b></p>
{ event.important && (<p className="type">Важное</p>) }
<p className="date">{ moment(event.event_date).format("DD.MM.YYYY") }</p>
<p className="action">
<a className="interactive" onClick={ () => this._handle_onLink(`/contract/${ event.contract_number }/services#insurance`) }>Подробнее</a>
</p>
</li>
)
}
case "fine_gibdd":
{
return (
<li className="new">
<p className="name"><b>Внимание! Получен штраф ГИБДД по договору { event.contract_number } на сумму { event.add_info }.</b></p>
{ event.important && (<p className="type">Важное</p>) }
<p className="date">{ moment(event.event_date).format("DD.MM.YYYY") }</p>
<p className="action">
<Link href={`/contract/${ event.contract_number }/fines`}>
<a>Подробнее</a>
</Link>
</p>
</li>
)
}
case "fine_gibdd":
{
return (
<li className="new">
<p className="name"><b>Внимание! Получен штраф ГИБДД по договору { event.contract_number } на сумму { event.add_info }.</b></p>
{ event.important && (<p className="type">Важное</p>) }
<p className="date">{ moment(event.event_date).format("DD.MM.YYYY") }</p>
<p className="action">
<Link href={`/contract/${ event.contract_number }/fines`}>
<a>Подробнее</a>
</Link>
</p>
</li>
)
}
case "end_contract":
{
const days_left = moment(event.event_date).diff(moment().startOf("day"), 'days');
case "end_contract":
{
const days_left = moment(event.event_date).diff(moment().startOf("day"), 'days');
return (
<li className="new">
<p className="name"><b>Внимание! { days_left === 0 ? "Сегодня дата" : `${ pluralize(days_left, "Осталось", "Остался", "Осталось", "Осталось") } ${ days_left } ${ pluralize(days_left, "дней", "день", "дня", "дней") } до даты` } окончания договора { event.contract_number }.</b></p>
{ event.important && (<p className="type">Важное</p>) }
<p className="date">{ moment(event.event_date).format("DD.MM.YYYY") }</p>
<p className="action">
<Link href={`/support/faq#68b86ac533992ce7db73d9b6f4e1bfc0`}>
<a>Посмотрите порядок оформления выкупа</a>
</Link>
</p>
</li>
)
}
return (
<li className="new">
<p className="name"><b>Внимание! { days_left === 0 ? "Сегодня дата" : `${ pluralize(days_left, "Осталось", "Остался", "Осталось", "Осталось") } ${ days_left } ${ pluralize(days_left, "дней", "день", "дня", "дней") } до даты` } окончания договора { event.contract_number }.</b></p>
{ event.important && (<p className="type">Важное</p>) }
<p className="date">{ moment(event.event_date).format("DD.MM.YYYY") }</p>
<p className="action">
<Link href={`/support/faq#68b86ac533992ce7db73d9b6f4e1bfc0`}>
<a>Посмотрите порядок оформления выкупа</a>
</Link>
</p>
</li>
)
}
case "graph_change":
{
return (
<li className="new">
<p className="name"><b>Сформировано новое ДС { event.add_info} от { moment(event.event_date).format("DD.MM.YYYY") } по договору { event.contract_number }.</b></p>
{ event.important && (<p className="type">Важное</p>) }
<p className="date">{ moment(event.event_date).format("DD.MM.YYYY") }</p>
<p className="action">
<Link href={`/contract/${ event.contract_number }/agreement`}>
<a>Посмотреть дополнительное соглашение</a>
</Link>
</p>
</li>
)
}
case "graph_change":
{
return (
<li className="new">
<p className="name"><b>Сформировано новое ДС { event.add_info} от { moment(event.event_date).format("DD.MM.YYYY") } по договору { event.contract_number }.</b></p>
{ event.important && (<p className="type">Важное</p>) }
<p className="date">{ moment(event.event_date).format("DD.MM.YYYY") }</p>
<p className="action">
<Link href={`/contract/${ event.contract_number }/agreement`}>
<a>Посмотреть дополнительное соглашение</a>
</Link>
</p>
</li>
)
}
case "return_pts":
{
return (
<li className="new">
{ event.important ? (
<p className="name"><b>Внимание! Просрочена дата возврата СТС по договору { event.contract_number }. Посмотрите порядок возврата СТС или загрузите скан СТС по ссылке.</b></p>
) : (
<p className="name"><b>Приближается дата возврата СТС по договору { event.contract_number }. Посмотрите порядок возврата СТС или загрузите скан СТС по ссылке.</b></p>
) }
{ event.important && (<p className="type">Важное</p>) }
<p className="date">{ moment(event.event_date).format("DD.MM.YYYY") }</p>
<p className="action">
<Link href="/support/faq#68249d3b3ef51d25ff5f9433e8a7d60a">
<a>Посмотрите порядок возврата СТС</a>
</Link>
&nbsp; или &nbsp;
<Link href="/support/request#68249d3b3ef51d25ff5f9433e8a7d60a">
<a>Загрузите скан СТС</a>
</Link>
</p>
</li>
)
case "return_pts":
{
return (
<li className="new">
{ event.important ? (
<p className="name"><b>Внимание! Просрочена дата возврата СТС по договору { event.contract_number }. Посмотрите порядок возврата СТС или загрузите скан СТС по ссылке.</b></p>
) : (
<p className="name"><b>Приближается дата возврата СТС по договору { event.contract_number }. Посмотрите порядок возврата СТС или загрузите скан СТС по ссылке.</b></p>
) }
{ event.important && (<p className="type">Важное</p>) }
<p className="date">{ moment(event.event_date).format("DD.MM.YYYY") }</p>
<p className="action">
<Link href="/support/faq#68249d3b3ef51d25ff5f9433e8a7d60a">
<a>Посмотрите порядок возврата СТС</a>
</Link>
&nbsp; или &nbsp;
<Link href="/support/request#68249d3b3ef51d25ff5f9433e8a7d60a">
<a>Загрузите скан СТС</a>
</Link>
</p>
</li>
)
}
}
}

View File

@ -350,12 +350,12 @@ export default class Comparison extends React.Component
<div className="compare_suscr">
<p className="block_title">
Подписанты
{ signatories.length > 3 && (
{ signatories !== undefined && signatories !== null && signatories.length > 3 && (
<a className="interactive" onClick={() => { this.setState({ signatories_show_all: true })}}>Все</a>
)}
</p>
<div className="feed static">
{ signatories.slice(0, signatories_show_all ? signatories.length : 3).map((person, index) => (
{ signatories !== undefined && signatories !== null && signatories.slice(0, signatories_show_all ? signatories.length : 3).map((person, index) => (
<div className="feed_item user" key={ person.signatoryid }>
<input type="radio" hidden id={ `user_${ person.signatoryid }` } name={ `user_${ person.signatoryid }` } checked={ person.signatoryid === signer } onChange={ () => this._handle_onSigner(person.signatoryid) }/>
<label htmlFor={ `user_${ person.signatoryid }` }></label>

View File

@ -94,7 +94,7 @@ export default class VariantsList extends React.Component
<p className="title">Варианты изменения графиков</p>
<div style={ loading ? { opacity: 0.5, } : {} }>
<form onSubmit={ (e) => e.preventDefault() }>
{ variants_types.map((variant, index) =>
{ variants_types !== undefined && variants_types !== null && variants_types.map((variant, index) =>
{
const disabled = this._checkVariant(variant.type);
const help = this._getVariantHelp(variant.type);

View File

@ -34,15 +34,20 @@ export default class TemplateFile extends React.Component
const { template } = this.props;
const { downloading } = this.state;
return (
<div className="row interactive" onClick={ this._handle_onDownloadFile }>
<p className="doc_name i-pdf extension" data-format={ template.extension } style={{ flexDirection: "column", display: "flex", alignItems: "flex-start", }}>
{ template.filename }
<span style={{ position: "relative", color: downloading ? "#8e94a780" : "#8e94a7", }}>
Скачать шаблон{ downloading ? (<SpinnerCircular size={ 20 } thickness={ 100 } speed={ 100 } color="rgba(236, 239, 244, 1)" secondaryColor="rgba(28, 1, 169, 1)" style={{ position: "absolute", right: 0, marginRight: "-26px", top: 0, }} />) : null }
</span>
</p>
</div>
)
if(template !== undefined && template !== null)
{
return (
<div className="row interactive" onClick={ this._handle_onDownloadFile }>
<p className="doc_name i-pdf extension" data-format={ template.extension } style={{ flexDirection: "column", display: "flex", alignItems: "flex-start", }}>
{ template.filename }
<span style={{ position: "relative", color: downloading ? "#8e94a780" : "#8e94a7", }}>
Скачать шаблон{ downloading ? (<SpinnerCircular size={ 20 } thickness={ 100 } speed={ 100 } color="rgba(236, 239, 244, 1)" secondaryColor="rgba(28, 1, 169, 1)" style={{ position: "absolute", right: 0, marginRight: "-26px", top: 0, }} />) : null }
</span>
</p>
</div>
)
}
return null;
}
}

View File

@ -204,15 +204,17 @@ class SupportRequestPage extends React.Component
const contract_numbers = [];
for(let i in selected_contracts)
{
contract_numbers.push(selected_contracts.value);
contract_numbers.push(selected_contracts[i].value);
}
sendNewAppeal({
const payload = {
phone: phone,
email: email,
description: question,
contract_numbers: contract_numbers
})
};
sendNewAppeal(payload)
.then((result) =>
{
console.log("SupportRequestPage", "_handle_onSendAppeal", result);