[WIP] Фикс запросов, добавил валидацию основных данных
This commit is contained in:
@@ -4,7 +4,7 @@
|
||||
:is-check-change="isCheckChange"
|
||||
:is-loading-data="isLoadingData"
|
||||
:is-edit="isEdit"
|
||||
:save="updateBasicData"
|
||||
:save="saveChange"
|
||||
:cancel="cancelEdit"
|
||||
:open-edit="openEdit"
|
||||
)
|
||||
@@ -121,7 +121,6 @@ export default {
|
||||
...mapActions({
|
||||
createAddress: "postCreateAddress",
|
||||
updateAddress: "postUpdateAddress",
|
||||
deleteAddress: "deleteAddress",
|
||||
}),
|
||||
updateBasicData() {
|
||||
const photoFormData = new FormData();
|
||||
@@ -152,8 +151,6 @@ export default {
|
||||
postAdresses(updateData, initData, key) {
|
||||
let isInitDataEmpty = [...Object.keys(removeEmptyFields(initData))]
|
||||
.length;
|
||||
let isUpdateDataEmpty = [...Object.keys(removeEmptyFields(updateData))]
|
||||
.length;
|
||||
if (Object.keys(removeEmptyFields(updateData)).length) {
|
||||
if (!isInitDataEmpty)
|
||||
return this.createAddress({
|
||||
@@ -168,8 +165,6 @@ export default {
|
||||
category: key,
|
||||
});
|
||||
}
|
||||
if (isInitDataEmpty && !isUpdateDataEmpty)
|
||||
return this.deleteAddress({ id: this.basic.personalData.id });
|
||||
},
|
||||
checkChangeInput() {
|
||||
this.isCheckChange = checkChangeData(this.initDataBasic, this.basic);
|
||||
@@ -187,22 +182,10 @@ export default {
|
||||
const form = this.$refs.formBasicData;
|
||||
form.validate().then((validate) => {
|
||||
if (validate) {
|
||||
let person = this.basic.personalData;
|
||||
this.$store.dispatch("setMedicalCardData", {
|
||||
...this.medicalCard,
|
||||
person: {
|
||||
...this.medicalCard.person,
|
||||
...person,
|
||||
},
|
||||
});
|
||||
//let updateBasic = this.updateBasicData();
|
||||
// Promise.allSettled(updateBasic)
|
||||
// .then(() => this.$store.dispatch("getMedicalCardData"))
|
||||
// .then(() => {
|
||||
// this.isLoadingData = false;
|
||||
// this.isEdit = false;
|
||||
// this.isCheckChange = false;
|
||||
// });
|
||||
this.updateBasicData();
|
||||
this.isLoadingData = false;
|
||||
this.isEdit = false;
|
||||
this.isCheckChange = false;
|
||||
} else {
|
||||
getFieldsNameUnvalidated(form).forEach((errorKey) => {
|
||||
addNotification(
|
||||
|
||||
@@ -109,7 +109,7 @@ export default {
|
||||
...mapActions({
|
||||
createContact: "postCreateContact",
|
||||
updateContact: "postUpdateContact",
|
||||
deleteContacts: "deleteContact",
|
||||
delContacts: "deleteContact",
|
||||
}),
|
||||
checkNetworksField(index) {
|
||||
if (this.contacts.networks[index].kind)
|
||||
@@ -130,16 +130,16 @@ export default {
|
||||
...this.contacts.emails,
|
||||
...this.contacts.networks,
|
||||
];
|
||||
const notEmptyContacts = allNewContacts.filter((el) => el.kind);
|
||||
return this.getRequestArrayData(this.initAllContacts, notEmptyContacts);
|
||||
const notEmptyContacts = allNewContacts.filter((el) => !el.id);
|
||||
return this.changeContacts(this.initAllContacts, notEmptyContacts);
|
||||
},
|
||||
getRequestArrayData(initData, notEmptyContacts) {
|
||||
changeContacts(initData, notEmptyContacts) {
|
||||
const deleteRequests = initData
|
||||
.filter((el) => !notEmptyContacts.find((data) => data.id === el.id))
|
||||
.map((el) => this.deleteContacts({ id: el.id }));
|
||||
.map((el) => this.delContacts({ id: el.id }));
|
||||
const requests = notEmptyContacts.map((el) => {
|
||||
const requestObj = {
|
||||
category: el.kind,
|
||||
category: el.category || el.kind,
|
||||
value: el.value,
|
||||
};
|
||||
delete requestObj.id;
|
||||
|
||||
@@ -61,22 +61,28 @@ export const baseDataForm = [
|
||||
key: "region",
|
||||
label: "Регион",
|
||||
type: "text",
|
||||
rules: [(val) => ruleNotValue(val)],
|
||||
error: "Поле 'Регион' должны быть заполнены",
|
||||
},
|
||||
{
|
||||
key: "city",
|
||||
label: "Город",
|
||||
type: "text",
|
||||
rules: [(val) => ruleNotValue(val)],
|
||||
error: "Поле 'Город' должны быть заполнены",
|
||||
},
|
||||
{
|
||||
key: "street",
|
||||
label: "Улица",
|
||||
type: "text",
|
||||
rules: [(val) => ruleNotValue(val)],
|
||||
error: "Поле 'Улица' должны быть заполнены",
|
||||
},
|
||||
{
|
||||
key: "house",
|
||||
label: "Дом",
|
||||
type: "text",
|
||||
rules: [(val) => !/^[\W0]/.test(val)],
|
||||
rules: [(val) => ruleNotValue(val)],
|
||||
error:
|
||||
"Номер дома должен начинатся не с нуля и только с цифробуквенного символа",
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user