WIP добавил возможность редактирования детальной информации клиента

This commit is contained in:
DwCay
2022-10-21 20:43:17 +03:00
parent 7f03de6155
commit df32fa5da6
11 changed files with 423 additions and 162 deletions

352
server.js
View File

@@ -3,138 +3,260 @@ import { createServer } from "miragejs";
const dataClients = [
{
id: "1",
fullName: "Вильгейльм Арнольд Витальевич",
age: "34",
jobTitle: "Менеджер",
priority: "Высокий",
phone: "+7 (915) 6572114",
email: "Superboyband@yandex.ru",
networks: [],
meeting: {
date: "02.06.22",
time: "18:3019:30",
last_name: "Вильгейльм",
first_name: "Арнольд",
patronymic: "Витальевич",
identity_document_to_person: {
pass: {
number: {
value: "5261 918732",
copy: true,
},
issuedBy: {
value: "Отделом УФМС России по рязанской области",
},
divisionCode: {
value: "426234",
},
dateIssue: {
value: "02.04.2022",
},
},
},
note_to_person: {
basic_info: {
age: "34",
jobTitle: "Менеджер",
priority: "Высокий",
phone: "+7 (915) 6572114",
email: "Superboyband@yandex.ru",
networks: [],
meeting: {
date: "02.06.22",
time: "18:3019:30",
},
},
additional_info: {
snils: {
number: {
value: "812183139 21",
copy: true,
},
},
inn: {
number: {
value: "138291382731",
copy: true,
},
},
birthday: {
date: {
value: "21.04.1999",
},
},
addresses: {
registrationPlace: {
value:
"371311, Московская обл., г. Москва, ул. Комсомольская, д.6, кв. 13",
},
actualPlace: {
value:
"371311, Московская обл., г. Москва, ул. Комсомольская, д.6, кв. 13",
},
},
docs: [
{
name: "Договор оферты.pdf",
type: "application/pdf",
},
{
name: "Договор о долевом строительстве.pdf",
type: "application/pdf",
},
{
name: "Какое-то очень очень очень очень длинное название.doc",
type: "application/msword",
},
{
name: "Договор об оплате.doc",
type: "application/msword",
},
{
name: "Коммерческое предложение.xls",
type: "application/vnd.ms-excel",
},
{
name: "Таблица заказов.xls",
type: "application/vnd.ms-excel",
},
],
additional: [
{
header: "Предпочтения",
value: "Разговор на “Вы”\nТолько по делу\nТолько официальный стиль",
name: "",
type: "",
},
{
header: "Доп.документы",
value: "",
name: "Памятка с вопросами на созвоне.pdf",
type: "application/pdf",
},
{
header: "Его должность",
value: "Вроде бы важная шишка, пусть будет Гуру в дизайне",
name: "",
type: "",
},
{
header: "Чтобы не забыть",
value: "Не забудь!",
name: "",
type: "",
},
],
},
},
},
{
id: "2",
fullName: "Астафоркина Екатерина Геннадьевна",
age: "54",
jobTitle: "Менеджер",
priority: "-",
phone: "+7 (574) 3645336",
email: "antimag@gmail.com",
networks: [],
meeting: {
date: "14.07.22",
time: "17:3021:30",
},
},
];
const clientsDetail = [
{
id: "5",
idClient: "1",
pass: {
number: {
value: "5261 918732",
copy: true,
},
issuedBy: {
value: "Отделом УФМС России по рязанской области",
},
divisionCode: {
value: "426234",
},
dateIssue: {
value: "02.04.2022",
last_name: "Астафоркина",
first_name: "Екатерина",
patronymic: "Геннадьевна",
identity_document_to_person: {
pass: {
number: {
value: "1324 103496",
copy: true,
},
issuedBy: {
value: "Отделом УФМС России по владимирской области",
},
divisionCode: {
value: "675901",
},
dateIssue: {
value: "01.01.2011",
},
},
},
snils: {
number: {
value: "812183139 21",
copy: true,
note_to_person: {
basic_info: {
age: "54",
jobTitle: "Менеджер",
priority: "-",
phone: "+7 (574) 3645336",
email: "antimag@gmail.com",
networks: [],
meeting: {
date: "14.07.22",
time: "17:3021:30",
},
},
},
inn: {
number: {
value: "138291382731",
copy: true,
additional_info: {
snils: {
number: {
value: "834001555 35",
copy: true,
},
},
inn: {
number: {
value: "371942327342",
copy: true,
},
},
birthday: {
date: {
value: "07.12.1993",
},
},
addresses: {
registrationPlace: {
value:
"371311, Московская обл., г. Владимир, ул. Гагарина, д.12, кв. 24",
},
actualPlace: {
value:
"371311, Московская обл., г. Владимир, ул. Гагарина, д.12, кв. 24",
},
},
docs: [
{
name: "Договор покупки.pdf",
type: "application/pdf",
},
{
name: "Договор о оптовых поставках.pdf",
type: "application/pdf",
},
{
name: "Договор о предоставлении услуг.pdf",
type: "application/pdf",
},
{
name: "Какое-то очень очень очень очень короткое название.doc",
type: "application/msword",
},
{
name: "Документация.doc",
type: "application/msword",
},
{
name: "Отчет.xls",
type: "application/vnd.ms-excel",
},
{
name: "Заказы.xls",
type: "application/vnd.ms-excel",
},
],
additional: [
{
header: "По каким вопросам обращатся",
value: "Обращатся только по вопросам закупок",
name: "",
type: "",
},
{
header: "Доп.документы",
value: "Ответственные за работу",
name: "Список ответсвенных.xls",
type: "application/vnd.ms-excel",
},
{
header: "Портфолио",
value: "Информация о клиенте",
name: "Портфолио.doc",
type: "application/msword",
},
],
},
},
birthday: {
date: {
value: "21.04.1999",
},
},
addresses: {
registrationPlace: {
value:
"371311, Московская обл., г. Москва, ул. Комсомольская, д.6, кв. 13",
},
actualPlace: {
value:
"371311, Московская обл., г. Москва, ул. Комсомольская, д.6, кв. 13",
},
},
docs: {
info: [
{
value: "Договор оферты.pdf",
},
{
value: "Договор о долевом строительстве.pdf",
},
{
value: "Какое-то очень очень очень очень длинное название.doc",
},
{
value: "Договор об оплате.doc",
},
{
value: "Коммерческое предложение.xls",
},
{
value: "Таблица заказов.xls",
},
],
},
additional: {
info: [
{
name: "Предпочтения",
value: "Разговор на “Вы”\nТолько по делу\nТолько официальный стиль",
file: "",
},
{
name: "Доп.документы",
value: "",
file: "Памятка с вопросами на созвоне.pdf",
},
{
name: "Его должность",
value: "Вроде бы важная шишка, пусть будет Гуру в дизайне",
file: "",
},
{
name: "Чтобы не забыть",
value: "Не забудь!",
file: "",
},
],
},
},
];
export function clientsServer() {
createServer({
routes() {
this.get("/api/clients", () => ({
dataClients,
}));
this.get("/api/clients", () => {
return dataClients.map((el) => ({
...el.note_to_person.basic_info,
id: el.id,
last_name: el.last_name,
first_name: el.first_name,
patronymic: el.patronymic,
}));
});
this.passthrough("http://45.84.227.122:8080/**");
this.get("/api/detail/:id", (schema, request) => {
let id = request.params.id;
return clientsDetail.find((el) => el.idClient === id);
let client = dataClients.find((el) => el.id === id);
return {
...client.note_to_person.additional_info,
id: client.id,
pass: client.identity_document_to_person.pass,
};
});
},
});