WIP Сделала валидацию на страховках

This commit is contained in:
Daria Golova
2023-08-24 15:24:05 +03:00
parent cb41a00ae1
commit d1c5dc5683
5 changed files with 336 additions and 270 deletions

View File

@@ -46,7 +46,7 @@
v-if="field.type === 'date'",
v-model="docData[data.dataKey][field.key]",
:name="data.dataKey + ':' + field.key",
@update:model-value="checkChangeDocData",
@update:model-value="checkChangeDocData(data.dataKey)",
:readonly="!isEdit",
:width="302",
:mask="field?.inputMask",
@@ -57,12 +57,12 @@
v-if="field.type === 'text'",
v-model="docData[data.dataKey][field.key]",
:name="data.dataKey + ':' + field.key",
@update:model-value="checkChangeDocData",
@update:model-value="checkChangeDocData(data.dataKey)",
:readonly="!isEdit",
:type="field.type",
:width="302",
:mask="field?.inputMask",
:rule="[(val) => !personDataField.includes(data.dataKey + ':' + field.key) ? checkPassportFields(val, field.rules) : field.rules(val)]",
:rule="[(val) => !personDataField.includes(data.dataKey + ':' + field.key) ? checkPassportFields(val, field.rules) : field.rules(val, initialDocData?.[data.dataKey]?.id)]",
size="M"
)
.icon-copy.my-auto.text-lg.label-field.cursor-pointer(
@@ -146,13 +146,6 @@ export default {
},
computed: {
initialDocData() {
// const { passport, insurance_number, tax_identification_number } =
// this.$store.state.medical.documents;
// return {
// passport: passport,
// insurance_number: insurance_number,
// tax_identification_number: tax_identification_number,
// };
return this.$store.state.medical.documents;
},
passportFields() {
@@ -205,8 +198,11 @@ export default {
openEdit() {
this.isEdit = true;
},
checkChangeDocData() {
this.isCheckChange = checkChangeData(this.initialDocData, this.docData);
checkChangeDocData(key) {
this.isCheckChange = checkChangeData(
this.initialDocData?.[key],
this.docData?.[key]
);
},
openModal(id) {
this.photoId = id;
@@ -235,6 +231,7 @@ export default {
Object.keys(this.docData).forEach((elem) => {
this.checkChangePhoto(elem, "attachments");
let newData = JSON.parse(JSON.stringify(this.docData[elem]));
console.log("prep", newData);
newData.attachments = {};
if (!checkChangeData(this.initialDocData?.[elem], newData)) return;
delete newData.id;
@@ -247,17 +244,20 @@ export default {
}
delete newData.attachments;
if (!this.initialDocData?.[elem]?.id) {
console.log("post", newData);
newData.person_id =
this.$store.state.medical?.basicData?.personalData?.id;
console.log("create", newData);
request.push(this.createData("documents/", newData));
} else console.log("create", newData);
request.push(
this.updateData(
`documents/${this.initialDocData?.[elem]?.id}`,
newData
)
);
//request.push(this.createData("documents/", newData));
} else {
console.log("create", newData);
// request.push(
// this.updateData(
// `documents/${this.initialDocData?.[elem]?.id}`,
// newData
// )
// );
}
});
Promise.allSettled(request).then(() => {
this.getMedicalCardData(this.$route.params.id);
@@ -310,6 +310,7 @@ export default {
JSON.stringify(tax_identification_number)
),
};
console.log(this.docData);
} else this.docData = this.initializationData;
},
},