WIP Закончила валидацию
This commit is contained in:
@@ -53,11 +53,11 @@
|
||||
:standout="!isEdit",
|
||||
:outlined="isEdit",
|
||||
:mask="field?.inputMask",
|
||||
:rule="field.rules",
|
||||
:rule="[(val) => !personDataField.includes(field.key) ? checkPassportFields(val, field.rules) : field.rules(val)]",
|
||||
:autogrow="field.key === 'issued_by_org'"
|
||||
)
|
||||
.icon-copy.my-auto.text-lg.label-field(
|
||||
v-if="checkCopiedFields(field.key)",
|
||||
v-if="checkCopiedFields(field.key) && !!docData[data.dataKey][field.key]",
|
||||
@click="copyValue(docData[data.dataKey][field.key])"
|
||||
)
|
||||
</template>
|
||||
@@ -127,8 +127,24 @@ export default {
|
||||
initialDocData() {
|
||||
return this.$store.state.medical?.documents;
|
||||
},
|
||||
passportFields() {
|
||||
let excludedFields = ["photo", "id"];
|
||||
return Object.keys(this.docData.passport).filter(
|
||||
(key) => !excludedFields.includes(key)
|
||||
);
|
||||
},
|
||||
},
|
||||
methods: {
|
||||
checkPassportFields(val, defaultRule) {
|
||||
if (this.passportFields.every((elem) => !this.docData.passport[elem])) {
|
||||
this.$refs.documentForm
|
||||
.getValidationComponents()
|
||||
.filter((elem) => !this.personDataField.includes(elem.name))
|
||||
.forEach((elem) => elem.resetValidation());
|
||||
return true;
|
||||
}
|
||||
return defaultRule(val);
|
||||
},
|
||||
removeImage(docKey, field) {
|
||||
this.docData[docKey][field] = {};
|
||||
this.isCheckChange = true;
|
||||
@@ -145,6 +161,7 @@ export default {
|
||||
this.initialDocData?.passport?.issued_by_date;
|
||||
this.isEdit = false;
|
||||
this.isCheckChange = false;
|
||||
this.$refs.documentForm.resetValidation();
|
||||
},
|
||||
openEdit() {
|
||||
this.isEdit = true;
|
||||
@@ -172,7 +189,6 @@ export default {
|
||||
});
|
||||
this.addErrorNotification(error?.title, error?.message);
|
||||
});
|
||||
this.cancelEdit();
|
||||
} else {
|
||||
let passportFormData = new FormData();
|
||||
let documentsFormData = new FormData();
|
||||
@@ -222,6 +238,7 @@ export default {
|
||||
this.$store.dispatch("getMedicalCardData");
|
||||
this.isEdit = false;
|
||||
this.isCheckChange = false;
|
||||
this.$refs.form.resetValidation();
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
@@ -376,7 +376,7 @@ export const documentForm = [
|
||||
title: "Ошибка валидации",
|
||||
message: "Серия паспорта менее 4 цифр или не заполнена",
|
||||
},
|
||||
rules: [(val) => ruleLengthValue(val, 4)],
|
||||
rules: (val) => ruleLengthValue(val, 4),
|
||||
},
|
||||
{
|
||||
key: "number",
|
||||
@@ -387,7 +387,7 @@ export const documentForm = [
|
||||
title: "Ошибка валидации",
|
||||
message: "Номер паспорта менее 6 цифр или не заполнен",
|
||||
},
|
||||
rules: [(val) => ruleLengthValue(val, 6)],
|
||||
rules: (val) => ruleLengthValue(val, 6),
|
||||
},
|
||||
{
|
||||
key: "issued_by_org",
|
||||
@@ -397,7 +397,7 @@ export const documentForm = [
|
||||
title: "Ошибка валидации",
|
||||
message: "Поле 'Кем выдан' не заполнено",
|
||||
},
|
||||
rules: [(val) => ruleNotValue(val)],
|
||||
rules: (val) => ruleNotValue(val),
|
||||
},
|
||||
{
|
||||
key: "issued_by_org_code",
|
||||
@@ -408,13 +408,13 @@ export const documentForm = [
|
||||
title: "Ошибка валидации",
|
||||
message: "Код подразделения менее 6 цифр или не заполнен",
|
||||
},
|
||||
rules: [(val) => ruleLengthValue(val, 7)],
|
||||
rules: (val) => ruleLengthValue(val, 7),
|
||||
},
|
||||
{
|
||||
key: "issued_by_date",
|
||||
label: "Дата выдачи",
|
||||
type: "date",
|
||||
rules: [(val) => ruleDateValue(val)],
|
||||
rules: (val) => ruleDateValue(val),
|
||||
errorMessage: {
|
||||
title: "Ошибка валидации",
|
||||
message: "Дата выдачи паспорта позднее текущего дня",
|
||||
@@ -440,7 +440,7 @@ export const documentForm = [
|
||||
title: "Ошибка валидации",
|
||||
message: "СНИЛС содержит менее 11 цифр",
|
||||
},
|
||||
rules: [(val) => ruleOptionalFields(val, 14)],
|
||||
rules: (val) => ruleOptionalFields(val, 14),
|
||||
},
|
||||
{
|
||||
key: "photo_insurance_number",
|
||||
@@ -462,7 +462,7 @@ export const documentForm = [
|
||||
title: "Ошибка валидации",
|
||||
message: "ИНН содержит менее 12 цифр",
|
||||
},
|
||||
rules: [(val) => ruleOptionalFields(val, 12)],
|
||||
rules: (val) => ruleOptionalFields(val, 12),
|
||||
},
|
||||
{
|
||||
key: "photo_tax_identification_number",
|
||||
|
||||
Reference in New Issue
Block a user