[WIP] Доработал отображение девектов: В, ИЗ, ИК

This commit is contained in:
DwCay
2023-06-16 20:14:13 +03:00
parent daad9d6a8d
commit 2476ce378e
7 changed files with 280 additions and 122 deletions

View File

@@ -8,7 +8,7 @@
:jaw-position="jawPosition", :jaw-position="jawPosition",
:oversized="20", :oversized="20",
:view="data.general === 'И' ? 'artificial': 'native'", :view="data.general === 'И' ? 'artificial': 'native'",
:data="data", :data="getToothImageConfig(data)",
editable editable
) )
detailed-tooth-svg( detailed-tooth-svg(
@@ -16,7 +16,7 @@
:click-part="clickPart", :click-part="clickPart",
:oversized="10", :oversized="10",
:view="data.general === 'И' ? 'artificial': 'native'", :view="data.general === 'И' ? 'artificial': 'native'",
:data="data", :data="getToothImageConfig(data)",
editable editable
) )
span.text-base.font-medium {{cellConfig.tooth_number}} span.text-base.font-medium {{cellConfig.tooth_number}}
@@ -82,7 +82,10 @@
</template> </template>
<script> <script>
import { getFilledConditions } from "@/pages/newMedicalCard/utils/gettersObjects"; import {
getFilledConditions,
getToothImageConfig,
} from "@/pages/newMedicalCard/utils/gettersObjects";
import { toothConditions } from "@/pages/newMedicalCard/utils/medicalConfig"; import { toothConditions } from "@/pages/newMedicalCard/utils/medicalConfig";
import DetailedToothSvg from "@/pages/newMedicalCard/components/InitialInspectionProtocol/Forms/ToothFormula/DetailedToothSvg.vue"; import DetailedToothSvg from "@/pages/newMedicalCard/components/InitialInspectionProtocol/Forms/ToothFormula/DetailedToothSvg.vue";
@@ -99,6 +102,7 @@ export default {
crown: false, crown: false,
}, },
getFilledConditions, getFilledConditions,
getToothImageConfig,
toothConditions, toothConditions,
}; };
}, },

View File

@@ -25,7 +25,7 @@
d="M31.1435 31.1174C29.5183 32.7413 27.5889 34.0294 25.4654 34.9082C23.342 35.787 21.066 36.2394 18.7676 36.2394C16.4691 36.2394 14.1932 35.787 12.0697 34.9082C9.94627 34.0294 8.01687 32.7413 6.39168 31.1174C4.7665 29.4936 3.47735 27.5659 2.59783 25.4443C1.71831 23.3227 1.26562 21.0488 1.26562 18.7525C1.26562 16.4561 1.7183 14.1823 2.59783 12.0607C3.47735 9.93912 4.7665 8.01138 6.39169 6.38756C8.01687 4.76373 9.94628 3.47562 12.0697 2.59679C14.1932 1.71796 16.4691 1.26562 18.7676 1.26562C21.066 1.26563 23.342 1.71796 25.4654 2.59679C27.5889 3.47562 29.5183 4.76373 31.1435 6.38756C32.7687 8.01138 34.0578 9.93912 34.9374 12.0607C35.8169 14.1823 36.2696 16.4561 36.2696 18.7525C36.2696 21.0488 35.8169 23.3227 34.9374 25.4443C34.0578 27.5659 32.7687 29.4936 31.1435 31.1174Z", d="M31.1435 31.1174C29.5183 32.7413 27.5889 34.0294 25.4654 34.9082C23.342 35.787 21.066 36.2394 18.7676 36.2394C16.4691 36.2394 14.1932 35.787 12.0697 34.9082C9.94627 34.0294 8.01687 32.7413 6.39168 31.1174C4.7665 29.4936 3.47735 27.5659 2.59783 25.4443C1.71831 23.3227 1.26562 21.0488 1.26562 18.7525C1.26562 16.4561 1.7183 14.1823 2.59783 12.0607C3.47735 9.93912 4.7665 8.01138 6.39169 6.38756C8.01687 4.76373 9.94628 3.47562 12.0697 2.59679C14.1932 1.71796 16.4691 1.26562 18.7676 1.26562C21.066 1.26563 23.342 1.71796 25.4654 2.59679C27.5889 3.47562 29.5183 4.76373 31.1435 6.38756C32.7687 8.01138 34.0578 9.93912 34.9374 12.0607C35.8169 14.1823 36.2696 16.4561 36.2696 18.7525C36.2696 21.0488 35.8169 23.3227 34.9374 25.4443C34.0578 27.5659 32.7687 29.4936 31.1435 31.1174Z",
stroke="#9294A7" stroke="#9294A7"
) )
g(v-else-if="['ИЗ','В','ИК'].includes(data.general)") g(v-else-if="['ИЗ','В','ИК'].includes(data.general)" transform="translate(2)")
path(d="M31.4796 31.4713C29.8079 33.1415 27.8234 34.4664 25.6393 35.3704C23.4552 36.2743 21.1143 36.7395 18.7503 36.7395C16.3862 36.7395 14.0453 36.2743 11.8612 35.3704C9.6771 34.4665 7.69258 33.1415 6.02095 31.4713C4.34931 29.8011 3.02329 27.8182 2.11861 25.636C1.21393 23.4537 0.748291 21.1147 0.748291 18.7527C0.748291 16.3906 1.21393 14.0517 2.11861 11.8694C3.02329 9.68713 4.34931 7.70427 6.02095 6.03404C7.69258 4.3638 9.67711 3.0389 11.8612 2.13498C14.0453 1.23105 16.3862 0.765808 18.7503 0.765808C21.1143 0.765809 23.4552 1.23105 25.6393 2.13498C27.8234 3.0389 29.8079 4.3638 31.4796 6.03404C33.1512 7.70427 34.4772 9.68713 35.3819 11.8694C36.2866 14.0517 36.7522 16.3906 36.7522 18.7527C36.7522 21.1147 36.2866 23.4537 35.3819 25.636C34.4772 27.8182 33.1512 29.8011 31.4796 31.4713Z" fill="#252850") path(d="M31.4796 31.4713C29.8079 33.1415 27.8234 34.4664 25.6393 35.3704C23.4552 36.2743 21.1143 36.7395 18.7503 36.7395C16.3862 36.7395 14.0453 36.2743 11.8612 35.3704C9.6771 34.4665 7.69258 33.1415 6.02095 31.4713C4.34931 29.8011 3.02329 27.8182 2.11861 25.636C1.21393 23.4537 0.748291 21.1147 0.748291 18.7527C0.748291 16.3906 1.21393 14.0517 2.11861 11.8694C3.02329 9.68713 4.34931 7.70427 6.02095 6.03404C7.69258 4.3638 9.67711 3.0389 11.8612 2.13498C14.0453 1.23105 16.3862 0.765808 18.7503 0.765808C21.1143 0.765809 23.4552 1.23105 25.6393 2.13498C27.8234 3.0389 29.8079 4.3638 31.4796 6.03404C33.1512 7.70427 34.4772 9.68713 35.3819 11.8694C36.2866 14.0517 36.7522 16.3906 36.7522 18.7527C36.7522 21.1147 36.2866 23.4537 35.3819 25.636C34.4772 27.8182 33.1512 29.8011 31.4796 31.4713Z" fill="#252850")
mask(id="mask0_4460_279697" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="37" height="37") mask(id="mask0_4460_279697" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="37" height="37")
path(d="M31.4796 31.4711C29.8079 33.1414 27.8234 34.4663 25.6393 35.3702C23.4552 36.2741 21.1143 36.7394 18.7503 36.7394C16.3862 36.7394 14.0453 36.2741 11.8612 35.3702C9.6771 34.4663 7.69258 33.1414 6.02095 31.4711C4.34931 29.8009 3.02329 27.818 2.11861 25.6358C1.21393 23.4535 0.748291 21.1146 0.748291 18.7525C0.748291 16.3904 1.21393 14.0515 2.11861 11.8692C3.02329 9.68695 4.34931 7.70409 6.02095 6.03386C7.69258 4.36362 9.67711 3.03872 11.8612 2.13479C14.0453 1.23087 16.3862 0.765625 18.7503 0.765625C21.1143 0.765625 23.4552 1.23087 25.6393 2.13479C27.8234 3.03872 29.8079 4.36362 31.4796 6.03386C33.1512 7.70409 34.4772 9.68695 35.3819 11.8692C36.2866 14.0515 36.7522 16.3904 36.7522 18.7525C36.7522 21.1146 36.2866 23.4535 35.3819 25.6358C34.4772 27.818 33.1512 29.8009 31.4796 31.4711Z" fill="#252850") path(d="M31.4796 31.4711C29.8079 33.1414 27.8234 34.4663 25.6393 35.3702C23.4552 36.2741 21.1143 36.7394 18.7503 36.7394C16.3862 36.7394 14.0453 36.2741 11.8612 35.3702C9.6771 34.4663 7.69258 33.1414 6.02095 31.4711C4.34931 29.8009 3.02329 27.818 2.11861 25.6358C1.21393 23.4535 0.748291 21.1146 0.748291 18.7525C0.748291 16.3904 1.21393 14.0515 2.11861 11.8692C3.02329 9.68695 4.34931 7.70409 6.02095 6.03386C7.69258 4.36362 9.67711 3.03872 11.8612 2.13479C14.0453 1.23087 16.3862 0.765625 18.7503 0.765625C21.1143 0.765625 23.4552 1.23087 25.6393 2.13479C27.8234 3.03872 29.8079 4.36362 31.4796 6.03386C33.1512 7.70409 34.4772 9.68695 35.3819 11.8692C36.2866 14.0515 36.7522 16.3904 36.7522 18.7525C36.7522 21.1146 36.2866 23.4535 35.3819 25.6358C34.4772 27.818 33.1512 29.8009 31.4796 31.4711Z" fill="#252850")
@@ -99,21 +99,21 @@
:view="view", :view="view",
:clickPart="clickPart", :clickPart="clickPart",
:editable="editable", :editable="editable",
:data="getToothImageConfig(data)" :data="data"
) )
pre-molars-fangs-tooth( pre-molars-fangs-tooth(
v-if="toothConfig.type === 'pre-molars' || toothConfig.type === 'fangs'", v-if="toothConfig.type === 'pre-molars' || toothConfig.type === 'fangs'",
:view="view", :view="view",
:clickPart="clickPart", :clickPart="clickPart",
:editable="editable", :editable="editable",
:data="getToothImageConfig(data)" :data="data"
) )
incors-tooth( incors-tooth(
v-if="toothConfig.type === 'incisors'", v-if="toothConfig.type === 'incisors'",
:view="view", :view="view",
:clickPart="clickPart", :clickPart="clickPart",
:editable="editable", :editable="editable",
:data="getToothImageConfig(data)" :data="data"
) )
</template> </template>
@@ -122,10 +122,7 @@ import { sizesDetailedSvg } from "@/pages/newMedicalCard/utils/medicalConfig";
import MolarsTooth from "@/pages/newMedicalCard/components/InitialInspectionProtocol/Forms/ToothFormula/tooths/MolarsTooth.vue"; import MolarsTooth from "@/pages/newMedicalCard/components/InitialInspectionProtocol/Forms/ToothFormula/tooths/MolarsTooth.vue";
import PreMolarsFangsTooth from "@/pages/newMedicalCard/components/InitialInspectionProtocol/Forms/ToothFormula/tooths/PreMolarsFangsTooth.vue"; import PreMolarsFangsTooth from "@/pages/newMedicalCard/components/InitialInspectionProtocol/Forms/ToothFormula/tooths/PreMolarsFangsTooth.vue";
import IncorsTooth from "@/pages/newMedicalCard/components/InitialInspectionProtocol/Forms/ToothFormula/tooths/IncorsTooth.vue"; import IncorsTooth from "@/pages/newMedicalCard/components/InitialInspectionProtocol/Forms/ToothFormula/tooths/IncorsTooth.vue";
import { import { getFilledConditions } from "@/pages/newMedicalCard/utils/gettersObjects";
getFilledConditions,
getToothImageConfig,
} from "@/pages/newMedicalCard/utils/gettersObjects";
export default { export default {
name: "SimpleToothSvg", name: "SimpleToothSvg",
@@ -134,7 +131,6 @@ export default {
return { return {
sizesDetailedSvg, sizesDetailedSvg,
getFilledConditions, getFilledConditions,
getToothImageConfig,
}; };
}, },
props: { props: {

View File

@@ -33,7 +33,7 @@
detailed-tooth-svg( detailed-tooth-svg(
part-tooth="crown", part-tooth="crown",
:tooth-config="cell", :tooth-config="cell",
:data="data.formula[cell.tooth_number].dental_condition" :data="getToothImageConfig(data.formula[cell.tooth_number].dental_condition)"
:view="data.formula[cell.tooth_number].dental_condition.general === 'И' ? 'artificial': 'native'", :view="data.formula[cell.tooth_number].dental_condition.general === 'И' ? 'artificial': 'native'",
) )
detailed-tooth-svg( detailed-tooth-svg(
@@ -41,14 +41,17 @@
:view="data.formula[cell.tooth_number].dental_condition.general === 'И' ? 'artificial': 'native'", :view="data.formula[cell.tooth_number].dental_condition.general === 'И' ? 'artificial': 'native'",
:tooth-config="cell", :tooth-config="cell",
:jaw-position="config.name", :jaw-position="config.name",
:data="data.formula[cell.tooth_number].dental_condition" :data="getToothImageConfig(data.formula[cell.tooth_number].dental_condition)"
) )
</template> </template>
<script> <script>
import ToothFormulaCell from "@/pages/newMedicalCard/components/InitialInspectionProtocol/Forms/ToothFormula/ToothFormulaCell.vue"; import ToothFormulaCell from "@/pages/newMedicalCard/components/InitialInspectionProtocol/Forms/ToothFormula/ToothFormulaCell.vue";
import DetailedToothSvg from "@/pages/newMedicalCard/components/InitialInspectionProtocol/Forms/ToothFormula/DetailedToothSvg.vue"; import DetailedToothSvg from "@/pages/newMedicalCard/components/InitialInspectionProtocol/Forms/ToothFormula/DetailedToothSvg.vue";
import { getFilledConditions } from "@/pages/newMedicalCard/utils/gettersObjects"; import {
getFilledConditions,
getToothImageConfig,
} from "@/pages/newMedicalCard/utils/gettersObjects";
export default { export default {
name: "ToothFormulaTable", name: "ToothFormulaTable",
@@ -56,6 +59,7 @@ export default {
data() { data() {
return { return {
getFilledConditions, getFilledConditions,
getToothImageConfig,
heightRow: { heightRow: {
tooth_mobility: "36px", tooth_mobility: "36px",
dental_condition: "64px", dental_condition: "64px",

View File

@@ -66,23 +66,12 @@
mask="url(#path-1-inside-1_4460_281688)" mask="url(#path-1-inside-1_4460_281688)"
) )
g(v-else) g(v-else)
g(v-if="data.general !== 'ИЗ'")
path( path(
d="M37.8045 21.8282C37.7267 24.3241 37.089 27.8166 36.0628 31.7134C34.9686 35.8679 33.4425 40.4466 31.7173 44.7036C29.9906 48.9641 28.072 52.8836 26.1978 55.7292C25.2598 57.1533 24.3453 58.2893 23.4856 59.0636C22.615 59.8478 21.8654 60.2031 21.25 60.2031C20.6346 60.2031 19.885 59.8478 19.0144 59.0636C18.1547 58.2892 17.2402 57.1533 16.3022 55.7291C14.428 52.8836 12.5094 48.9641 10.7827 44.7036C9.05748 40.4465 7.53135 35.8678 6.43725 31.7133C5.41102 27.8165 4.77328 24.3241 4.69554 21.8282L5.52833 21.8282L9.18497 21.8284L21.25 21.8286L33.315 21.8284L36.9717 21.8282L37.8045 21.8282Z", d="M37.8045 21.8282C37.7267 24.3241 37.089 27.8166 36.0628 31.7134C34.9686 35.8679 33.4425 40.4466 31.7173 44.7036C29.9906 48.9641 28.072 52.8836 26.1978 55.7292C25.2598 57.1533 24.3453 58.2893 23.4856 59.0636C22.615 59.8478 21.8654 60.2031 21.25 60.2031C20.6346 60.2031 19.885 59.8478 19.0144 59.0636C18.1547 58.2892 17.2402 57.1533 16.3022 55.7291C14.428 52.8836 12.5094 48.9641 10.7827 44.7036C9.05748 40.4465 7.53135 35.8678 6.43725 31.7133C5.41102 27.8165 4.77328 24.3241 4.69554 21.8282L5.52833 21.8282L9.18497 21.8284L21.25 21.8286L33.315 21.8284L36.9717 21.8282L37.8045 21.8282Z",
fill="white", fill="white",
stroke="#252850" stroke="#252850"
) )
path(
d="M38.7973 19.3594C38.7973 17.1778 38.8488 15.2799 38.8969 13.6327C38.9003 13.5151 38.9037 13.3989 38.9071 13.2839C38.9511 11.7848 38.9886 10.5089 38.9768 9.41334C38.951 7.01994 38.6835 5.6581 37.9037 4.8089C37.1244 3.96035 35.7199 3.50281 33.0292 3.29267C30.7528 3.11489 27.6757 3.11846 23.4964 3.1233C22.7807 3.12413 22.0326 3.125 21.2507 3.125C20.8514 3.125 20.461 3.12489 20.0791 3.12478C15.3488 3.12343 11.9416 3.12246 9.47669 3.33842C6.79044 3.57378 5.38278 4.05918 4.6005 4.92826C3.81627 5.7995 3.54946 7.17611 3.52364 9.55182C3.51178 10.6437 3.54948 11.9116 3.59365 13.3972C3.59688 13.5059 3.60015 13.6157 3.60343 13.7267C3.65149 15.3514 3.70294 17.2187 3.70294 19.3594C3.70294 22.7019 5.5742 26.0144 8.73114 28.508C11.8833 30.9978 16.2852 32.6406 21.2507 32.6406C26.2161 32.6406 30.6177 30.9978 33.7696 28.508C36.9263 26.0144 38.7973 22.702 38.7973 19.3594Z",
fill="white",
stroke="#252850"
)
path(
@click="(el) => clickPart(el.target.id)",
:id="editable && 'crown'",
:class="{'edit-part': editable}",
d="M36.1934 18.8948C36.1934 5.05857 38.9103 5.5807 21.2504 5.5807C3.59053 5.5807 6.3065 5.31963 6.3065 18.8948C6.3065 24.5178 12.8475 29.8594 21.2504 29.8594C29.6533 29.8594 36.1934 24.5178 36.1934 18.8948Z",
fill="#D3D4DC"
)
path( path(
@click="(el) => clickPart(el.target.id)", @click="(el) => clickPart(el.target.id)",
:id="editable && 'root_central'", :id="editable && 'root_central'",
@@ -90,7 +79,72 @@
d="M30.1106 33.75C30.4904 33.5726 31.0857 33.8793 31.0671 34.2981C30.693 42.7601 26.4204 56.7656 21.25 56.7656C16.0796 56.7656 11.807 42.7601 11.4329 34.2981C11.4143 33.8793 12.0096 33.5726 12.3894 33.75C13.6266 34.3282 16.2275 35.1094 21.25 35.1094C26.2725 35.1094 28.8734 34.3282 30.1106 33.75Z", d="M30.1106 33.75C30.4904 33.5726 31.0857 33.8793 31.0671 34.2981C30.693 42.7601 26.4204 56.7656 21.25 56.7656C16.0796 56.7656 11.807 42.7601 11.4329 34.2981C11.4143 33.8793 12.0096 33.5726 12.3894 33.75C13.6266 34.3282 16.2275 35.1094 21.25 35.1094C26.2725 35.1094 28.8734 34.3282 30.1106 33.75Z",
fill="#D3D4DC" fill="#D3D4DC"
) )
g(v-if="Object.values(data.crown).find((el) => el.injury)") g(v-if="['ИЗ','ИК'].includes(data.general)" transform="translate(-6.5)")
rect(y="14" width="56" height="4" rx="2" fill="#252850")
mask(id="mask0_4460_281614" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="14" width="56" height="4")
rect(y="14" width="56" height="4" rx="2" fill="#252850")
g(mask="url(#mask0_4460_281614)")
rect(width="2" height="32" transform="matrix(0.866025 -0.5 -0.5 -0.866025 9.42188 43.8603)" fill="white" fill-opacity="0.3")
rect(width="2" height="32" transform="matrix(0.866025 -0.5 -0.5 -0.866025 12.8855 41.8605)" fill="white" fill-opacity="0.3")
rect(width="2" height="32" transform="matrix(0.866025 -0.5 -0.5 -0.866025 16.3503 39.8605)" fill="white" fill-opacity="0.3")
rect(width="2" height="32" transform="matrix(0.866025 -0.5 -0.5 -0.866025 19.8135 37.8588)" fill="white" fill-opacity="0.3")
rect(width="2" height="32" transform="matrix(0.866025 -0.5 -0.5 -0.866025 23.2771 35.8591)" fill="white" fill-opacity="0.3")
rect(width="2" height="32" transform="matrix(0.866025 -0.5 -0.5 -0.866025 26.7419 33.8591)" fill="white" fill-opacity="0.3")
rect(width="2" height="32" transform="matrix(0.866025 -0.5 -0.5 -0.866025 30.2056 31.8593)" fill="white" fill-opacity="0.3")
rect(width="2" height="32" transform="matrix(0.866025 -0.5 -0.5 -0.866025 33.6702 29.8593)" fill="white" fill-opacity="0.3")
rect(width="2" height="32" transform="matrix(0.866025 -0.5 -0.5 -0.866025 37.1333 27.8577)" fill="white" fill-opacity="0.3")
rect(width="2" height="32" transform="matrix(0.866025 -0.5 -0.5 -0.866025 40.5974 25.8577)" fill="white" fill-opacity="0.3")
rect(width="2" height="32" transform="matrix(0.866025 -0.5 -0.5 -0.866025 44.0615 23.8577)" fill="white" fill-opacity="0.3")
rect(width="2" height="32" transform="matrix(0.866025 -0.5 -0.5 -0.866025 47.5254 21.8577)" fill="white" fill-opacity="0.3")
rect(width="2" height="32" transform="matrix(0.866025 -0.5 -0.5 -0.866025 50.9895 19.8577)" fill="white" fill-opacity="0.3")
rect(width="2" height="32" transform="matrix(0.866025 -0.5 -0.5 -0.866025 54.4536 17.8577)" fill="white" fill-opacity="0.3")
rect(width="2" height="32" transform="matrix(0.866025 -0.5 -0.5 -0.866025 57.9177 15.8577)" fill="white" fill-opacity="0.3")
path(d="M45.2973 19.3594C45.2973 17.1778 45.3488 15.2799 45.3969 13.6327C45.4003 13.5151 45.4037 13.3989 45.4071 13.2839C45.4511 11.7848 45.4886 10.5089 45.4768 9.41334C45.451 7.01994 45.1835 5.6581 44.4037 4.8089C43.6244 3.96035 42.2199 3.50281 39.5292 3.29267C37.2528 3.11489 34.1757 3.11846 29.9964 3.1233C29.2807 3.12413 28.5326 3.125 27.7507 3.125C27.3514 3.125 26.961 3.12489 26.5791 3.12478C21.8488 3.12343 18.4416 3.12246 15.9767 3.33842C13.2904 3.57378 11.8828 4.05918 11.1005 4.92826C10.3163 5.7995 10.0495 7.17611 10.0236 9.55182C10.0118 10.6437 10.0495 11.9116 10.0937 13.3972C10.0969 13.5059 10.1001 13.6157 10.1034 13.7267C10.1515 15.3514 10.2029 17.2187 10.2029 19.3594C10.2029 22.7019 12.0742 26.0144 15.2311 28.508C18.3833 30.9978 22.7852 32.6406 27.7507 32.6406C32.7161 32.6406 37.1177 30.9978 40.2696 28.508C43.4263 26.0144 45.2973 22.702 45.2973 19.3594Z" fill="#252850" stroke="#252850")
mask(id="mask1_4460_281614" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="10" y="3" width="35" height="30")
path(fill-rule="evenodd" clip-rule="evenodd" d="M44.9126 13.6186C44.8645 15.2665 44.8129 17.1704 44.8129 19.3594C44.8129 22.5168 43.0422 25.7005 39.9694 28.1279C36.9058 30.5479 32.6109 32.1562 27.7507 32.1562C22.8905 32.1562 18.5953 30.5479 15.5314 28.1278C12.4583 25.7004 10.6874 22.5167 10.6874 19.3594C10.6874 17.2111 10.6357 15.3378 10.5877 13.7124C10.5844 13.6026 10.5812 13.4941 10.578 13.3867C10.5337 11.8969 10.4963 10.6386 10.508 9.55708C10.5339 7.17454 10.8108 5.97422 11.4606 5.25231C12.1065 4.53466 13.3381 4.05585 16.019 3.82095C18.4616 3.60694 21.8471 3.60787 26.5921 3.60917C26.9697 3.60927 27.3558 3.60938 27.7507 3.60938C28.5345 3.60938 29.2836 3.60852 29.9996 3.6077C34.1822 3.60291 37.2359 3.59942 39.4915 3.77558C42.1813 3.98564 43.4067 4.43942 44.0469 5.13654C44.6882 5.8349 44.9666 7.01608 44.9924 9.41854C45.0041 10.504 44.9669 11.7704 44.9227 13.2737C44.9194 13.3873 44.916 13.5023 44.9126 13.6186Z" fill="#252850")
path(d="M44.8129 19.3594C44.8129 17.1704 44.8645 15.2665 44.9126 13.6186L44.9227 13.2737C44.9669 11.7704 45.0041 10.504 44.9924 9.41854C44.9666 7.01608 44.6882 5.8349 44.0469 5.13654C43.4067 4.43942 42.1813 3.98564 39.4915 3.77558C37.2359 3.59942 34.1822 3.60291 29.9996 3.6077C29.2836 3.60852 28.5345 3.60938 27.7507 3.60938L26.5921 3.60917C21.8471 3.60787 18.4616 3.60694 16.019 3.82095C13.3381 4.05585 12.1065 4.53466 11.4606 5.25231C10.8108 5.97422 10.5339 7.17454 10.508 9.55708C10.4963 10.6386 10.5337 11.8969 10.578 13.3867L10.5877 13.7124C10.6357 15.3378 10.6874 17.2111 10.6874 19.3594C10.6874 22.5167 12.4583 25.7004 15.5314 28.1278C18.5953 30.5479 22.8905 32.1562 27.7507 32.1562C32.6109 32.1562 36.9058 30.5479 39.9694 28.1279C43.0422 25.7005 44.8129 22.5168 44.8129 19.3594Z" fill="#252850")
g(mask="url(#mask1_4460_281614)")
rect(width="2" height="39.4976" transform="matrix(0.866025 -0.5 -0.5 -0.866025 18.7488 43)" fill="white" fill-opacity="0.3")
rect(width="2" height="39.4976" transform="matrix(0.866025 -0.5 -0.5 -0.866025 22.2126 41)" fill="white" fill-opacity="0.3")
rect(width="2" height="39.4976" transform="matrix(0.866025 -0.5 -0.5 -0.866025 25.6765 39)" fill="white" fill-opacity="0.3")
rect(width="2" height="39.4976" transform="matrix(0.866025 -0.5 -0.5 -0.866025 29.1404 37)" fill="white" fill-opacity="0.3")
rect(width="2" height="39.4976" transform="matrix(0.866025 -0.5 -0.5 -0.866025 32.6052 35)" fill="white" fill-opacity="0.3")
rect(width="2" height="39.4976" transform="matrix(0.866025 -0.5 -0.5 -0.866025 36.0691 33)" fill="white" fill-opacity="0.3")
rect(width="2" height="39.4976" transform="matrix(0.866025 -0.5 -0.5 -0.866025 39.533 31)" fill="white" fill-opacity="0.3")
rect(width="2" height="39.4976" transform="matrix(0.866025 -0.5 -0.5 -0.866025 42.9968 29)" fill="white" fill-opacity="0.3")
rect(width="2" height="39.4976" transform="matrix(0.866025 -0.5 -0.5 -0.866025 46.4617 27)" fill="white" fill-opacity="0.3")
rect(width="2" height="39.4976" transform="matrix(0.866025 -0.5 -0.5 -0.866025 49.9255 25)" fill="white" fill-opacity="0.3")
rect(width="2" height="39.4976" transform="matrix(0.866025 -0.5 -0.5 -0.866025 53.3894 23)" fill="white" fill-opacity="0.3")
g(v-else)
path(
d="M38.7973 19.3594C38.7973 17.1778 38.8488 15.2799 38.8969 13.6327C38.9003 13.5151 38.9037 13.3989 38.9071 13.2839C38.9511 11.7848 38.9886 10.5089 38.9768 9.41334C38.951 7.01994 38.6835 5.6581 37.9037 4.8089C37.1244 3.96035 35.7199 3.50281 33.0292 3.29267C30.7528 3.11489 27.6757 3.11846 23.4964 3.1233C22.7807 3.12413 22.0326 3.125 21.2507 3.125C20.8514 3.125 20.461 3.12489 20.0791 3.12478C15.3488 3.12343 11.9416 3.12246 9.47669 3.33842C6.79044 3.57378 5.38278 4.05918 4.6005 4.92826C3.81627 5.7995 3.54946 7.17611 3.52364 9.55182C3.51178 10.6437 3.54948 11.9116 3.59365 13.3972C3.59688 13.5059 3.60015 13.6157 3.60343 13.7267C3.65149 15.3514 3.70294 17.2187 3.70294 19.3594C3.70294 22.7019 5.5742 26.0144 8.73114 28.508C11.8833 30.9978 16.2852 32.6406 21.2507 32.6406C26.2161 32.6406 30.6177 30.9978 33.7696 28.508C36.9263 26.0144 38.7973 22.702 38.7973 19.3594Z",
fill="white",
stroke="#252850"
)
path(
v-if="data.general !== 'В'",
@click="(el) => clickPart(el.target.id)",
:id="editable && 'crown'",
:class="{'edit-part': editable}",
d="M36.1934 18.8948C36.1934 5.05857 38.9103 5.5807 21.2504 5.5807C3.59053 5.5807 6.3065 5.31963 6.3065 18.8948C6.3065 24.5178 12.8475 29.8594 21.2504 29.8594C29.6533 29.8594 36.1934 24.5178 36.1934 18.8948Z",
fill="#D3D4DC"
)
g(v-if="data.general === 'В'" transform="translate(2.5 2)")
path(d="M18.7505 31.1406C8.60226 31.1406 0.703384 24.2816 0.703125 17.4223C18.7497 17.4223 13.8937 0.828266 18.7505 0.828266C23.3064 0.828266 18.7505 17.3594 36.797 17.3594C36.797 24.7218 28.8987 31.1406 18.7505 31.1406Z" fill="#252850")
mask(id="mask0_4460_281524" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="37" height="32")
path(d="M18.7505 31.1406C8.60226 31.1406 0.703384 24.2816 0.703125 17.4223C18.7497 17.4223 13.8937 0.828266 18.7505 0.828266C23.3064 0.828266 18.7505 17.3594 36.797 17.3594C36.797 24.7218 28.8987 31.1406 18.7505 31.1406Z" fill="#252850")
g(mask="url(#mask0_4460_281524)")
rect(width="2" height="49" transform="matrix(-0.866025 0.5 0.5 0.866025 19.0129 -10.4325)" fill="white" fill-opacity="0.3")
rect(width="2" height="48" transform="matrix(-0.866025 0.5 0.5 0.866025 16.0488 -7.56647)" fill="white" fill-opacity="0.3")
rect(width="2" height="49" transform="matrix(-0.866025 0.5 0.5 0.866025 12.0847 -6.4325)" fill="white" fill-opacity="0.3")
rect(width="2" height="48" transform="matrix(-0.866025 0.5 0.5 0.866025 9.12061 -3.56647)" fill="white" fill-opacity="0.3")
rect(width="2" height="48" transform="matrix(-0.866025 0.5 0.5 0.866025 5.65649 -1.56647)" fill="white" fill-opacity="0.3")
rect(width="2" height="48" transform="matrix(-0.866025 0.5 0.5 0.866025 2.19238 0.433533)" fill="white" fill-opacity="0.3")
rect(width="2" height="48" transform="matrix(-0.866025 0.5 0.5 0.866025 -1.27173 2.43353)" fill="white" fill-opacity="0.3")
rect(width="2" height="48" transform="matrix(-0.866025 0.5 0.5 0.866025 -4.73584 4.43353)" fill="white" fill-opacity="0.3")
rect(width="2" height="48" transform="matrix(-0.866025 0.5 0.5 0.866025 -8.19995 6.43353)" fill="white" fill-opacity="0.3")
path(d="M10.7458 15.2351C8.56819 16.8046 5.53252 17.8416 1.21765 17.9178C1.39722 20.9921 3.23273 24.0833 6.23201 26.4619C9.38576 28.9631 13.7877 30.6406 18.7505 30.6406C28.509 30.6406 35.9373 24.6321 36.2843 17.8549C31.9674 17.7793 28.9144 16.7463 26.715 15.184C24.4306 13.5614 23.1171 11.4033 22.2518 9.28272C21.8197 8.22373 21.4976 7.16958 21.223 6.19433C21.1316 5.86978 21.0462 5.55694 20.9641 5.25603C20.7964 4.64144 20.6423 4.07664 20.4782 3.56353C20.2332 2.79724 19.9879 2.22215 19.697 1.84288C19.425 1.48818 19.1343 1.32827 18.7505 1.32827C18.3164 1.32827 17.9966 1.50101 17.7094 1.85587C17.4023 2.23532 17.1457 2.81036 16.8946 3.57676C16.7122 4.1334 16.5436 4.75425 16.3593 5.43291C16.2909 5.68489 16.2203 5.94483 16.146 6.21242C15.8747 7.19 15.5599 8.2476 15.1376 9.30995C14.2921 11.4373 13.0076 13.6049 10.7458 15.2351Z" stroke="#252850")
g(v-if="data.crown.general.injury")
mask( mask(
id="mask0_4460_281746", id="mask0_4460_281746",
style="mask-type:alpha", style="mask-type:alpha",

View File

@@ -61,6 +61,7 @@
) )
rect(x="1.9" y="12.5" width="34" height="11.418" fill="white") rect(x="1.9" y="12.5" width="34" height="11.418" fill="white")
g(v-else) g(v-else)
g(v-if="data.general !== 'ИЗ'")
path( path(
d="M36.2801 11.7305C36.7934 24.8374 35.8401 55.1414 32.5406 55.1426C27.5631 55.1444 30.5612 27.6442 25.5018 27.6424C20.3477 27.6406 22.4222 41.5053 18.6826 41.5053C14.9431 41.5053 17.0173 27.6372 11.8632 27.6389C6.80382 27.6407 9.80148 55.1426 4.82406 55.1408C1.5246 55.1396 0.571265 24.8384 1.08438 11.7305H18.6822H36.2801Z", d="M36.2801 11.7305C36.7934 24.8374 35.8401 55.1414 32.5406 55.1426C27.5631 55.1444 30.5612 27.6442 25.5018 27.6424C20.3477 27.6406 22.4222 41.5053 18.6826 41.5053C14.9431 41.5053 17.0173 27.6372 11.8632 27.6389C6.80382 27.6407 9.80148 55.1426 4.82406 55.1408C1.5246 55.1396 0.571265 24.8384 1.08438 11.7305H18.6822H36.2801Z",
fill="white" fill="white"
@@ -70,6 +71,27 @@
stroke="#252850", stroke="#252850",
stroke-linecap="square" stroke-linecap="square"
) )
path(
@click="(el) => clickPart(el.target.id)",
:id="editable && 'root_left'",
:class="{'edit-part': editable}",
d="M4.81804 51.5043C3.25298 49.9392 3.08382 32.4872 3.07204 22.6833C3.07152 22.2535 3.68699 22.002 4.03135 22.2593C4.96781 22.9589 6.28013 23.7063 7.28315 24.161C7.45558 24.2392 7.56669 24.4067 7.55941 24.5959C7.17711 34.5275 6.43755 53.1238 4.81804 51.5043Z",
fill="#D3D4DC"
)
path(
@click="(el) => clickPart(el.target.id)",
:id="editable && 'root_right'",
:class="{'edit-part': editable}",
d="M32.3199 51.5043C33.8853 49.9389 34.5356 31.7491 34.5891 21.8825C34.5915 21.4526 34.0164 21.2387 33.7092 21.5394C32.7619 22.4667 31.3903 23.6221 30.3561 24.1534C30.1877 24.2399 30.0761 24.4067 30.0831 24.5959C30.4552 34.5275 30.7004 53.1238 32.3199 51.5043Z",
fill="#D3D4DC"
)
path(
@click="(el) => clickPart(el.target.id)",
:id="editable && 'root_central'",
:class="{'edit-part': editable}",
d="M16.669 25.9951C17.4383 32.3528 16.9336 38.7773 18.6832 38.7773C20.4366 38.7773 20.1845 32.3251 20.9795 25.9541C21.0207 25.6243 20.7074 25.3586 20.3838 25.4346C18.9844 25.7636 18.0072 25.6611 17.2903 25.4763C16.9589 25.3908 16.6278 25.6553 16.669 25.9951Z",
fill="#D3D4DC"
)
g(v-if="['ИЗ','ИК'].includes(data.general)" transform="translate(-9 -4)") g(v-if="['ИЗ','ИК'].includes(data.general)" transform="translate(-9 -4)")
rect(y="14" width="56" height="4" rx="2" fill="#252850") rect(y="14" width="56" height="4" rx="2" fill="#252850")
mask(id="mask0_4460_278655" style="mask-type:alpha" maskUnits="userSpaceOnUse" y="14" width="56" height="4") mask(id="mask0_4460_278655" style="mask-type:alpha" maskUnits="userSpaceOnUse" y="14" width="56" height="4")
@@ -110,34 +132,29 @@
stroke="#252850" stroke="#252850"
) )
path( path(
v-if="data.general !== 'В'",
@click="(el) => clickPart(el.target.id)", @click="(el) => clickPart(el.target.id)",
:id="editable && 'crown'", :id="editable && 'crown'",
:class="{'edit-part': editable}", :class="{'edit-part': editable}",
d="M34.5713 13.3113C34.5713 17.2416 27.0496 20.4277 18.8213 20.4277C10.593 20.4277 3.07129 17.2416 3.07129 13.3113V10.8813C3.07129 6.56757 6.95639 3.07059 11.5848 3.07059C14.2175 3.07059 17.2849 5.80103 18.8213 7.57059C20.3577 5.80103 23.4251 3.07059 26.0578 3.07059C30.6862 3.07059 34.5713 6.56757 34.5713 10.8813V13.3113Z", d="M34.5713 13.3113C34.5713 17.2416 27.0496 20.4277 18.8213 20.4277C10.593 20.4277 3.07129 17.2416 3.07129 13.3113V10.8813C3.07129 6.56757 6.95639 3.07059 11.5848 3.07059C14.2175 3.07059 17.2849 5.80103 18.8213 7.57059C20.3577 5.80103 23.4251 3.07059 26.0578 3.07059C30.6862 3.07059 34.5713 6.56757 34.5713 10.8813V13.3113Z",
fill="#D3D4DC" fill="#D3D4DC"
) )
path( g(v-if="data.general === 'В'" transform="translate(0.5 5)")
@click="(el) => clickPart(el.target.id)", path(d="M18.1825 18.8691C28.2246 18.8691 36.3652 14.697 36.3652 9.55031V6.36827C33.0934 8.74995 22.9998 6.36827 18.1825 0.00195312C14.9998 6.36827 3.88781 8.62027 -0.000244141 6.36827V9.55031C-0.000244141 14.697 8.14045 18.8691 18.1825 18.8691Z" fill="#252850")
:id="editable && 'root_left'", mask(id="mask0_4459_278586" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="-1" y="0" width="38" height="19")
:class="{'edit-part': editable}", path(d="M18.1825 18.8691C28.2246 18.8691 36.3652 14.697 36.3652 9.55031V6.36827C33.0934 8.74995 22.9998 6.36827 18.1825 0.00195312C14.9998 6.36827 3.88781 8.62027 -0.000244141 6.36827V9.55031C-0.000244141 14.697 8.14045 18.8691 18.1825 18.8691Z" fill="#252850")
d="M4.81804 51.5043C3.25298 49.9392 3.08382 32.4872 3.07204 22.6833C3.07152 22.2535 3.68699 22.002 4.03135 22.2593C4.96781 22.9589 6.28013 23.7063 7.28315 24.161C7.45558 24.2392 7.56669 24.4067 7.55941 24.5959C7.17711 34.5275 6.43755 53.1238 4.81804 51.5043Z", g(mask="url(#mask0_4459_278586)")
fill="#D3D4DC" rect(width="2" height="32" transform="matrix(-0.866025 0.5 0.5 0.866025 22.7214 -11.8544)" fill="white" fill-opacity="0.3")
) rect(width="2" height="32" transform="matrix(-0.866025 0.5 0.5 0.866025 19.2578 -9.85468)" fill="white" fill-opacity="0.3")
path( rect(width="2" height="32" transform="matrix(-0.866025 0.5 0.5 0.866025 15.793 -7.85464)" fill="white" fill-opacity="0.3")
@click="(el) => clickPart(el.target.id)", rect(width="2" height="32" transform="matrix(-0.866025 0.5 0.5 0.866025 12.3298 -5.853)" fill="white" fill-opacity="0.3")
:id="editable && 'root_right'", rect(width="2" height="32" transform="matrix(-0.866025 0.5 0.5 0.866025 8.86621 -3.85321)" fill="white" fill-opacity="0.3")
:class="{'edit-part': editable}", rect(width="2" height="32" transform="matrix(-0.866025 0.5 0.5 0.866025 5.40137 -1.85318)" fill="white" fill-opacity="0.3")
d="M32.3199 51.5043C33.8853 49.9389 34.5356 31.7491 34.5891 21.8825C34.5915 21.4526 34.0164 21.2387 33.7092 21.5394C32.7619 22.4667 31.3903 23.6221 30.3561 24.1534C30.1877 24.2399 30.0761 24.4067 30.0831 24.5959C30.4552 34.5275 30.7004 53.1238 32.3199 51.5043Z", rect(width="2" height="32" transform="matrix(-0.866025 0.5 0.5 0.866025 1.93774 0.146591)" fill="white" fill-opacity="0.3")
fill="#D3D4DC" rect(width="2" height="32" transform="matrix(-0.866025 0.5 0.5 0.866025 -1.52686 2.14662)" fill="white" fill-opacity="0.3")
) rect(width="2" height="32" transform="matrix(-0.866025 0.5 0.5 0.866025 -4.99072 4.14639)" fill="white" fill-opacity="0.3")
path( path(d="M18.1825 18.3691C23.141 18.3691 27.6053 17.338 30.8116 15.6948C34.0444 14.0379 35.8652 11.8387 35.8652 9.55031V7.21686C34.9897 7.59189 33.8841 7.7642 32.6846 7.77356C31.0675 7.78617 29.2049 7.50335 27.3353 6.94468C23.8814 5.91263 20.3094 3.90907 18.2161 0.965481C16.3879 3.91356 12.9404 5.88355 9.49674 6.89666C7.62403 7.4476 5.72288 7.72514 4.03165 7.71886C2.71115 7.71395 1.48723 7.53582 0.499756 7.15613V9.55031C0.499756 11.8387 2.3206 14.0379 5.55341 15.6948C8.75971 17.338 13.224 18.3691 18.1825 18.3691Z" stroke="#252850")
@click="(el) => clickPart(el.target.id)", g(v-if="data.crown.general.injury")
:id="editable && 'root_central'",
:class="{'edit-part': editable}",
d="M16.669 25.9951C17.4383 32.3528 16.9336 38.7773 18.6832 38.7773C20.4366 38.7773 20.1845 32.3251 20.9795 25.9541C21.0207 25.6243 20.7074 25.3586 20.3838 25.4346C18.9844 25.7636 18.0072 25.6611 17.2903 25.4763C16.9589 25.3908 16.6278 25.6553 16.669 25.9951Z",
fill="#D3D4DC"
)
g(v-if="Object.values(data.crown).find((el) => el.injury)")
mask( mask(
id="mask0_4460_279217", id="mask0_4460_279217",
style="mask-type:alpha", style="mask-type:alpha",

View File

@@ -66,6 +66,7 @@
mask="url(#path-1-inside-1_4460_280116)" mask="url(#path-1-inside-1_4460_280116)"
) )
g(v-else) g(v-else)
g(v-if="data.general !== 'ИЗ'")
path( path(
d="M36.6163 19.8282C36.5326 22.3195 35.8468 25.8084 34.7419 29.7043C33.564 33.8575 31.9208 38.4352 30.0632 42.6914C28.2041 46.9511 26.1384 50.8698 24.1203 53.715C23.1104 55.1386 22.125 56.2756 21.1971 57.0517C20.2606 57.8351 19.4397 58.2032 18.75 58.2032C18.0603 58.2032 17.2394 57.8351 16.3029 57.0517C15.375 56.2756 14.3896 55.1386 13.3797 53.715C11.3616 50.8698 9.29587 46.9511 7.43677 42.6914C5.57916 38.4352 3.93603 33.8575 2.75813 29.7043C1.65321 25.8084 0.967415 22.3195 0.883675 19.8282L1.81897 19.8282L5.75689 19.8284L18.75 19.8286L31.7431 19.8284L35.681 19.8282L36.6163 19.8282Z", d="M36.6163 19.8282C36.5326 22.3195 35.8468 25.8084 34.7419 29.7043C33.564 33.8575 31.9208 38.4352 30.0632 42.6914C28.2041 46.9511 26.1384 50.8698 24.1203 53.715C23.1104 55.1386 22.125 56.2756 21.1971 57.0517C20.2606 57.8351 19.4397 58.2032 18.75 58.2032C18.0603 58.2032 17.2394 57.8351 16.3029 57.0517C15.375 56.2756 14.3896 55.1386 13.3797 53.715C11.3616 50.8698 9.29587 46.9511 7.43677 42.6914C5.57916 38.4352 3.93603 33.8575 2.75813 29.7043C1.65321 25.8084 0.967415 22.3195 0.883675 19.8282L1.81897 19.8282L5.75689 19.8284L18.75 19.8286L31.7431 19.8284L35.681 19.8282L36.6163 19.8282Z",
fill="white", fill="white",
@@ -78,19 +79,69 @@
d="M27.6106 31.75C27.9904 31.5726 28.5857 31.8793 28.5671 32.298C28.193 40.7601 23.9204 54.7656 18.75 54.7656C13.5545 54.7656 8.9633 40.6236 8.60111 32.175C8.58393 31.7742 9.10691 31.4947 9.47075 31.6638C10.7255 32.2471 13.473 33.1093 18.75 33.1093C23.7725 33.1093 26.3734 32.3282 27.6106 31.75Z", d="M27.6106 31.75C27.9904 31.5726 28.5857 31.8793 28.5671 32.298C28.193 40.7601 23.9204 54.7656 18.75 54.7656C13.5545 54.7656 8.9633 40.6236 8.60111 32.175C8.58393 31.7742 9.10691 31.4947 9.47075 31.6638C10.7255 32.2471 13.473 33.1093 18.75 33.1093C23.7725 33.1093 26.3734 32.3282 27.6106 31.75Z",
fill="#D3D4DC" fill="#D3D4DC"
) )
g(v-if="['ИЗ','ИК'].includes(data.general)" transform="translate(-9 -2)")
rect(y="14" width="56" height="4" rx="2" fill="#252850")
mask(id="mask0_4460_279731" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="14" width="56" height="4")
rect(y="14" width="56" height="4" rx="2" fill="#252850")
g(mask="url(#mask0_4460_279731)")
rect(width="2" height="32" transform="matrix(0.866025 -0.5 -0.5 -0.866025 9.42188 43.8603)" fill="white" fill-opacity="0.3")
rect(width="2" height="32" transform="matrix(0.866025 -0.5 -0.5 -0.866025 12.8855 41.8605)" fill="white" fill-opacity="0.3")
rect(width="2" height="32" transform="matrix(0.866025 -0.5 -0.5 -0.866025 16.3503 39.8605)" fill="white" fill-opacity="0.3")
rect(width="2" height="32" transform="matrix(0.866025 -0.5 -0.5 -0.866025 19.8135 37.8588)" fill="white" fill-opacity="0.3")
rect(width="2" height="32" transform="matrix(0.866025 -0.5 -0.5 -0.866025 23.2771 35.8591)" fill="white" fill-opacity="0.3")
rect(width="2" height="32" transform="matrix(0.866025 -0.5 -0.5 -0.866025 26.7419 33.8591)" fill="white" fill-opacity="0.3")
rect(width="2" height="32" transform="matrix(0.866025 -0.5 -0.5 -0.866025 30.2056 31.8593)" fill="white" fill-opacity="0.3")
rect(width="2" height="32" transform="matrix(0.866025 -0.5 -0.5 -0.866025 33.6702 29.8593)" fill="white" fill-opacity="0.3")
rect(width="2" height="32" transform="matrix(0.866025 -0.5 -0.5 -0.866025 37.1333 27.8577)" fill="white" fill-opacity="0.3")
rect(width="2" height="32" transform="matrix(0.866025 -0.5 -0.5 -0.866025 40.5974 25.8577)" fill="white" fill-opacity="0.3")
rect(width="2" height="32" transform="matrix(0.866025 -0.5 -0.5 -0.866025 44.0615 23.8577)" fill="white" fill-opacity="0.3")
rect(width="2" height="32" transform="matrix(0.866025 -0.5 -0.5 -0.866025 47.5254 21.8577)" fill="white" fill-opacity="0.3")
rect(width="2" height="32" transform="matrix(0.866025 -0.5 -0.5 -0.866025 50.9895 19.8577)" fill="white" fill-opacity="0.3")
rect(width="2" height="32" transform="matrix(0.866025 -0.5 -0.5 -0.866025 54.4536 17.8577)" fill="white" fill-opacity="0.3")
rect(width="2" height="32" transform="matrix(0.866025 -0.5 -0.5 -0.866025 57.9177 15.8577)" fill="white" fill-opacity="0.3")
path(d="M45.625 21.3281C45.625 19.6844 44.9524 17.7204 43.7882 15.6711C42.6289 13.6305 41.0063 11.5477 39.1651 9.67697C37.3239 7.80617 35.2763 6.15994 33.2749 4.98465C31.264 3.80382 29.3451 3.125 27.75 3.125C26.1549 3.125 24.236 3.80382 22.2251 4.98465C20.2237 6.15994 18.1761 7.80617 16.3349 9.67697C14.4937 11.5477 12.8711 13.6305 11.7118 15.6711C10.5476 17.7204 9.875 19.6844 9.875 21.3281C9.875 24.6414 11.7968 27.4533 15.0211 29.4602C18.2498 31.4698 22.7467 32.6406 27.75 32.6406C32.7533 32.6406 37.2502 31.4698 40.4789 29.4602C43.7032 27.4533 45.625 24.6414 45.625 21.3281Z" fill="#252850" stroke="#252850")
mask(id="mask1_4460_279731" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="10" y="3" width="36" height="30")
path(d="M45.1252 21.3282C45.1252 19.8076 44.4977 17.9321 43.3537 15.9182C42.2194 13.9217 40.6252 11.8731 38.809 10.0278C36.9927 8.18239 34.9791 6.56525 33.0219 5.41593C31.0459 4.25553 29.2178 3.62512 27.7502 3.62512C26.2827 3.62512 24.4546 4.25553 22.4785 5.41593C20.5214 6.56525 18.5077 8.18239 16.6915 10.0278C14.8753 11.8731 13.281 13.9217 12.1468 15.9182C11.0027 17.9321 10.3752 19.8076 10.3752 21.3282C10.3752 24.421 12.1621 27.0917 15.2856 29.0358C18.4178 30.9854 22.8177 32.1407 27.7502 32.1407C32.6828 32.1407 37.0827 30.9854 40.2149 29.0358C43.3384 27.0917 45.1252 24.421 45.1252 21.3282Z" fill="#252850")
g(mask="url(#mask1_4460_279731)")
rect(width="2" height="32" transform="matrix(0.866025 -0.5 -0.5 -0.866025 19.7776 41.8565)" fill="white" fill-opacity="0.3")
rect(width="2" height="32" transform="matrix(0.866025 -0.5 -0.5 -0.866025 23.2415 39.8585)" fill="white" fill-opacity="0.3")
rect(width="2" height="32" transform="matrix(0.866025 -0.5 -0.5 -0.866025 26.7063 37.8585)" fill="white" fill-opacity="0.3")
rect(width="2" height="32" transform="matrix(0.866025 -0.5 -0.5 -0.866025 30.1692 35.8565)" fill="white" fill-opacity="0.3")
rect(width="2" height="32" transform="matrix(0.866025 -0.5 -0.5 -0.866025 33.6331 33.8565)" fill="white" fill-opacity="0.3")
rect(width="2" height="32" transform="matrix(0.866025 -0.5 -0.5 -0.866025 37.0979 31.8565)" fill="white" fill-opacity="0.3")
rect(width="2" height="32" transform="matrix(0.866025 -0.5 -0.5 -0.866025 40.5618 29.8565)" fill="white" fill-opacity="0.3")
rect(width="2" height="32" transform="matrix(0.866025 -0.5 -0.5 -0.866025 44.0256 27.8565)" fill="white" fill-opacity="0.3")
rect(width="2" height="32" transform="matrix(0.866025 -0.5 -0.5 -0.866025 47.4895 25.8585)" fill="white" fill-opacity="0.3")
g(v-else)
path( path(
d="M36.625 19.3281C36.625 17.6844 35.9524 15.7204 34.7882 13.6711C33.6289 11.6305 32.0063 9.54771 30.1651 7.67697C28.3239 5.80617 26.2763 4.15994 24.2749 2.98465C22.264 1.80382 20.3451 1.125 18.75 1.125C17.1549 1.125 15.236 1.80382 13.2251 2.98465C11.2237 4.15994 9.17611 5.80617 7.33487 7.67697C5.49369 9.54771 3.87111 11.6305 2.71184 13.6711C1.54763 15.7204 0.875 17.6844 0.875 19.3281C0.875 22.6414 2.79677 25.4533 6.02112 27.4602C9.24982 29.4698 13.7467 30.6406 18.75 30.6406C23.7533 30.6406 28.2502 29.4698 31.4789 27.4602C34.7032 25.4533 36.625 22.6414 36.625 19.3281Z", d="M36.625 19.3281C36.625 17.6844 35.9524 15.7204 34.7882 13.6711C33.6289 11.6305 32.0063 9.54771 30.1651 7.67697C28.3239 5.80617 26.2763 4.15994 24.2749 2.98465C22.264 1.80382 20.3451 1.125 18.75 1.125C17.1549 1.125 15.236 1.80382 13.2251 2.98465C11.2237 4.15994 9.17611 5.80617 7.33487 7.67697C5.49369 9.54771 3.87111 11.6305 2.71184 13.6711C1.54763 15.7204 0.875 17.6844 0.875 19.3281C0.875 22.6414 2.79677 25.4533 6.02112 27.4602C9.24982 29.4698 13.7467 30.6406 18.75 30.6406C23.7533 30.6406 28.2502 29.4698 31.4789 27.4602C34.7032 25.4533 36.625 22.6414 36.625 19.3281Z",
fill="white", fill="white",
stroke="#252850" stroke="#252850"
) )
path( path(
v-if="data.general !== 'В'",
@click="(el) => clickPart(el.target.id)", @click="(el) => clickPart(el.target.id)",
:id="editable && 'crown'", :id="editable && 'crown'",
:class="{'edit-part': editable}", :class="{'edit-part': editable}",
d="M33.8438 18.8624C33.8438 13.0868 24.4102 3.57812 18.75 3.57812C13.0898 3.57812 3.65625 13.0868 3.65625 18.8624C3.65625 24.638 10.414 28.5156 18.75 28.5156C27.086 28.5156 33.8438 24.638 33.8438 18.8624Z", d="M33.8438 18.8624C33.8438 13.0868 24.4102 3.57812 18.75 3.57812C13.0898 3.57812 3.65625 13.0868 3.65625 18.8624C3.65625 24.638 10.414 28.5156 18.75 28.5156C27.086 28.5156 33.8438 24.638 33.8438 18.8624Z",
fill="#D3D4DC" fill="#D3D4DC"
) )
g(v-if="Object.values(data.crown).find((el) => el.injury)") g(v-if="data.general === 'В'")
path(d="M37.1252 19.3282C18.7502 19.3282 22.228 0.625122 18.7502 0.625122C15.2725 0.625122 18.7502 19.3282 0.375244 19.3282C0.375244 26.3958 8.60201 31.1407 18.7502 31.1407C28.8985 31.1407 37.1252 26.3958 37.1252 19.3282Z" fill="#252850")
mask(id="mask0_4460_279331" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="38" height="32")
path(d="M37.1252 19.3282C18.7502 19.3282 22.228 0.625122 18.7502 0.625122C15.2725 0.625122 18.7502 19.3282 0.375244 19.3282C0.375244 26.3958 8.60201 31.1407 18.7502 31.1407C28.8985 31.1407 37.1252 26.3958 37.1252 19.3282Z" fill="#252850")
g(mask="url(#mask0_4460_279331)")
rect(width="2" height="49" transform="matrix(-0.866025 0.5 0.5 0.866025 19.9963 -10.3542)" fill="white" fill-opacity="0.3")
rect(width="2" height="48" transform="matrix(-0.866025 0.5 0.5 0.866025 17.0322 -7.48822)" fill="white" fill-opacity="0.3")
rect(width="2" height="49" transform="matrix(-0.866025 0.5 0.5 0.866025 13.0681 -6.35425)" fill="white" fill-opacity="0.3")
rect(width="2" height="48" transform="matrix(-0.866025 0.5 0.5 0.866025 10.104 -3.48822)" fill="white" fill-opacity="0.3")
rect(width="2" height="48" transform="matrix(-0.866025 0.5 0.5 0.866025 6.63989 -1.48822)" fill="white" fill-opacity="0.3")
rect(width="2" height="48" transform="matrix(-0.866025 0.5 0.5 0.866025 3.17578 0.51178)" fill="white" fill-opacity="0.3")
rect(width="2" height="48" transform="matrix(-0.866025 0.5 0.5 0.866025 -0.28833 2.51178)" fill="white" fill-opacity="0.3")
rect(width="2" height="48" transform="matrix(-0.866025 0.5 0.5 0.866025 -3.75244 4.51178)" fill="white" fill-opacity="0.3")
rect(width="2" height="48" transform="matrix(-0.866025 0.5 0.5 0.866025 -7.21655 6.51178)" fill="white" fill-opacity="0.3")
path(d="M10.8114 16.8043C8.48682 18.567 5.30404 19.739 0.889695 19.8234C1.07147 22.9218 2.95887 25.5542 6.02137 27.4603C9.25006 29.4699 13.7469 30.6407 18.7502 30.6407C23.7536 30.6407 28.2504 29.4699 31.4791 27.4603C34.5416 25.5542 36.429 22.9218 36.6108 19.8234C32.1964 19.739 29.0137 18.567 26.6891 16.8043C24.2803 14.9777 22.8383 12.551 21.8867 10.1617C21.139 8.28409 20.6836 6.39721 20.3076 4.83934C20.2075 4.42474 20.1131 4.03343 20.0202 3.67181C19.7945 2.79254 19.5855 2.11653 19.3438 1.66465C19.1007 1.2104 18.9058 1.12512 18.7502 1.12512C18.5947 1.12512 18.3998 1.2104 18.1567 1.66465C17.915 2.11653 17.706 2.79254 17.4803 3.67181C17.3874 4.03344 17.293 4.42476 17.1929 4.83937C16.8169 6.39724 16.3615 8.2841 15.6137 10.1617C14.6622 12.551 13.2201 14.9777 10.8114 16.8043Z" stroke="#252850")
g(v-if="data.crown.general.injury")
mask( mask(
id="mask0_4460_280349", id="mask0_4460_280349",
style="mask-type:alpha", style="mask-type:alpha",

View File

@@ -81,37 +81,69 @@ export const getFilledConditions = (condition) => {
}; };
export function getToothImageConfig(data) { export function getToothImageConfig(data) {
let grey = "var(--border-light-grey-color grey)";
let yellow = "var(--bg-yellow-warning yellow)";
let red = "var(--border-red-color)";
let resulConfig = {}; let resulConfig = {};
Object.keys(data).forEach((key) => { Object.keys(data).forEach((key) => {
if (key === "general") { if (key === "general") {
resulConfig[key] = data[key]; resulConfig[key] = data[key];
} else { } else if (key === "crown") {
let crownParts = {}; let keyConfig = {
general: {
fill: grey,
injury: false,
seal: false,
},
};
Object.keys(data[key]).forEach((part) => { Object.keys(data[key]).forEach((part) => {
if (data[key][part].includes("П") || data[key][part].includes("Пт")) { let partConfig = {
crownParts[part] = { fill: grey,
fill: "#FF6565",
injury: true,
};
} else if (
data[key][part].includes("Д") ||
data[key][part].includes("Пл") ||
data[key][part].includes("Кз")
) {
crownParts[part] = {
fill: "##FFB931",
injury: false, injury: false,
}; };
if (part === "central" && data[key][part].includes("Пл")) {
partConfig.fill = yellow;
keyConfig.general.seal = true;
} else { } else {
crownParts[part] = { if (data[key][part].includes("П") || data[key][part].includes("Пт")) {
fill: "#D3D4DC", partConfig.grey = red;
partConfig.injury = true;
if (!keyConfig.general.seal) {
keyConfig.general.fill = red;
keyConfig.general.injury = true;
}
}
if (data[key][part].includes("Д")) {
partConfig.fill = yellow;
if (!keyConfig.general.seal && !keyConfig.general.injury) {
keyConfig.general.fill = yellow;
}
}
if (data[key][part].includes("К")) {
partConfig.injury = true;
keyConfig.general.injury = true;
}
}
keyConfig[part] = { ...partConfig };
});
resulConfig[key] = { ...keyConfig };
} else {
let keyConfig = {};
Object.keys(data[key]).forEach((part) => {
let partConfig = {
fill: grey,
injury: false, injury: false,
}; };
if (data[key][part].includes("Пт")) {
partConfig.fill = red;
partConfig.injury = true;
} }
if (data[key][part].includes("КЗ")) {
partConfig.fill = red;
}
keyConfig[part] = { ...partConfig };
}); });
resulConfig[key] = { resulConfig[key] = { ...keyConfig };
...crownParts,
};
} }
}); });
return resulConfig; return resulConfig;