Joywork/templates/modals/req_info.php
2026-05-22 21:21:54 +03:00

616 lines
43 KiB
PHP
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<div id="req_info" class="hidden">
<div class="full_modal-bg" style="z-index: 99998;" v-show="is_show">
<span class="pseudo-link closer"><i class="ti-close" @click="closes()"></i></span>
<div class="full_modal edit-modal new-client__modal" style="max-width: 1050px;">
<div class="form-validate">
<div class="modal-inner">
<div v-if="errorMes" class="error_msg" v-html="errorText"></div>
<h2>Информация о заявке</h2>
<div class="jv-tabs">
<div class="form-block">
<div class="label">Тип заявки</div>
<div class="inputs">
<span v-if="!isEmpty(type_req)" class="span_from_block" v-html="type_req"></span>
<span class="span_from_block_small" v-else>Не установлено</span>
</div>
</div>
<div class="form-block">
<div class="label">Название</div>
<div class="inputs">
<span class="span_from_block" v-html="req.name"></span>
</div>
<div v-if="req.hot==1" class="form-block__hot-req active" title="Горячий клиент">
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" id="Capa_1" x="0px" y="0px" viewBox="0 0 512 512" style="enable-background:new 0 0 512 512;" xml:space="preserve" width="24px" height="24px" class=""><g><g transform="matrix(1.25 0 0 -1.25 0 45)"><path style="fill:#F4511E" d="M398.448-179.952c0,23.5-4.18,46.008-11.847,66.843c-5.24-61.375-37.967-92.917-72.162-78.234 c-32.043,13.761-10.445,67.401-8.851,92.996C308.277-54.958,305.451-5.293,226.637,36c32.749-62.651,3.793-101.563-26.586-103.943 c-33.683-2.62-64.542,28.956-53.151,80.216c-36.884-27.179-37.967-72.925-26.586-102.52c11.869-30.847-0.467-56.477-29.423-59.325 c-32.339-3.189-50.314,34.641-33.74,94.922c-28.683-33.775-45.997-77.516-45.997-125.302C11.152-286.902,97.85-373.6,204.8-373.6 S398.448-286.902,398.448-179.952z" data-original="#F4900C" class="active-path" data-old_color="#FF7043"></path>
<path style="fill:#FFB74D" d="M277.418-279.146c-23.978,9.603-17.554,26.097-23.728,60.27 c-6.174,34.173-29.902,57.912-65.031,68.346c25.63-72.14-14.204-98.726-35.084-103.476c-21.324-4.853-42.751,0.012-45.2,45.644 c-24.867-24.764-40.267-59.028-40.267-96.893c0-4.186,0.199-8.325,0.567-12.415C103.652-352.245,151.729-373.6,204.8-373.6 s101.148,21.355,136.126,55.932c0.369,4.09,0.567,8.229,0.567,12.415c0,24.901-6.652,48.253-18.283,68.358 C324.885-272.026,294.026-285.798,277.418-279.146z" data-original="#FFCC4D" class="" data-old_color="#FFCC4D"></path></g></g></svg>
</div>
<div v-if="req.priority==1" class="form-block__p1-client active" title="Категория заявки">
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 512 512" style="enable-background:new 0 0 512 512;" xml:space="preserve" width="24px" height="24px" class="">
<ellipse cx="256" cy="256" rx="240" ry="240" class="priority1"/></svg>
</div>
<div v-if="req.priority==2" class="form-block__p2-client active" title="Категория заявки">
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 512 512" style="enable-background:new 0 0 512 512;" xml:space="preserve" width="24px" height="24px" class="">
<ellipse cx="256" cy="256" rx="240" ry="240" class="priority2"/></svg>
</div>
<div v-if="req.priority==3" class="form-block__p3-client active" title="Категория заявки">
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 512 512" style="enable-background:new 0 0 512 512;" xml:space="preserve" width="24px" height="24px" class="">
<ellipse cx="256" cy="256" rx="240" ry="240" class="priority3"/></svg>
</div>
<div v-if="req.priority==4" class="form-block__p4-client active" title="Категория заявки">
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 512 512" style="enable-background:new 0 0 512 512;" xml:space="preserve" width="24px" height="24px" class="">
<ellipse cx="256" cy="256" rx="240" ry="240" class="priority4"/></svg>
</div>
<div class="clear"></div>
</div>
<div v-show="req.see_client" class="form-block">
<div class="label">Клиент</div>
<div class="inputs">
<span v-if="!isEmpty(req.client)" class="span_from_block" v-html="req.client.text"></span>
<span class="span_from_block_small" v-else>Не установлено</span>
</div>
<div class="clear"></div>
</div>
<div class="form-block">
<div class="label">Воронка</div>
<div class="inputs">
<span class="span_from_block" v-html="req.name_funnel"></span>
</div>
<div class="clear"></div>
</div>
<div v-if="!isEmpty(req.steps)" class="form-block stepsTable">
<div class="label">Этап</div>
<div class="inputs">
<div class="stagebar">
<div v-if="req.funnel_id == 0" class="crm__small-stagebar">
<table>
<tbody>
<tr>
<td v-for="(step, id) in req.steps.bar" class="stage" :class="[{ active: step.id <= req.steps.stageId }, step.classF]" :title="step.title">
<div class="crm__small-stage"></div>
<span class="next-stage" v-html="step.name"></span>
</td>
</tr>
</tbody>
</table>
</div>
<div v-else-if="req.funnel_id > 0" class="crm__small-stagebar">
<table>
<tbody>
<tr>
<td v-for="(step, id) in req.steps.bar" class="stage stage-funnel" :class="[step.classF]" :title="step.name">
<div class="crm__small-stage"></div>
<span class="next-stage" v-html="step.name"></span>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="" style="clear: both; padding-top: 8px; margin-left: 23%;">
<span v-html="req.steps.stage"></span>
<div class="clear"></div>
</div>
<div class="clear"></div>
</div>
<template v-if="req.object_id > 0">
<div class="form-block">
<div class="label zz">Объект</div>
<!-- --><?php //if ($_SESSION['id'] == 15817) { ?>
<!-- <a style="word-break: normal; border: none; text-decoration: none; white-space: normal; display: inline-block;" href="javascript:{}" @click="openObject(req.object_id)">-->
<!-- {{ req.object.nazv }}-->
<!-- </a>-->
<!-- --><?php //} ?>
<div class="inputs">
<span v-if="!isEmpty(req.object)" style="cursor: pointer;" class="span_from_block open_object_req_info" v-html="req.object.nazv+' '+req.object.adres" @click="openObjectReqInfo(req.object_id)"></span>
<span class="span_from_block_small" v-else>Не установлено</span>
</div>
<div class="clear"></div>
</div>
</template>
<div v-if="!isEmpty(req.activities_name)" class="form-block proactivities">
<div class="label">Теги</div>
<div class="inputs">
<span class="span_from_block" v-html="req.activities_name"></span>
</div>
<div class="clear"></div>
</div>
<div v-if="!isEmpty(req.contracts)" class="form-block">
<div class="label">Договоры</div>
<div class="inputs">
<div v-for="(contract, index) in req.contracts">
<span class="span_from_block" v-html="contract.name"></span>
</div>
</div>
<div class="clear"></div>
</div>
<div v-if="!isEmpty(req.description)" class="form-block">
<div class="label">Описание</div>
<div class="inputs">
<span class="span_from_block" v-html="req.description"></span>
</div>
<div class="clear"></div>
</div>
<template v-if="!isEmpty(reqFields)">
<div v-for="(field, index) in reqFields">
<div v-show="field.req_type == 0 || JSON.parse(field.req_type).indexOf(req.type_id) > -1">
<template v-if="field.is_podgroup > 0">
<div class="form-block">
<div class="label" v-html="field.title"></div>
<div class="inputs">
<v-select v-model="fieldModels['model_'+field.id]" :components="{OpenIndicator}" :id="'custom_req_'+field.id" transition="" class="vue_select" style="width: 400px; border: none;" :options="field.podgroups_select" :reduce="title => title.id" label="title" />
</div>
</div>
<div class="clear"></div>
<template v-if="!isEmpty(field.podgroups)">
<div v-for="(pg, in_pd) in field.podgroups" v-if="fieldModels['model_'+field.id] == pg.id" class="form-block">
<div class="label" v-html="pg.title"></div>
<div class="inputs">
<template v-if="pg.type==0">
<input class="text" v-model="fieldModels['modelp_'+pg.id]" style="width:400px;" :id="'custom_req_p'+pg.id"/>
</template>
<template v-else-if="pg.type==1">
<input class="number" v-model="fieldModels['modelp_'+pg.id]" style="width:400px;" :id="'custom_req_p'+pg.id"/>
</template>
<template v-else-if="pg.type==2">
<v-select :components="{OpenIndicator}" v-model="fieldModels['modelp_'+pg.id]" :id="'custom_req_p'+pg.id" transition="" class="vue_select" style="width: 400px; border: none;" :options="pg.params.items" :reduce="name => name.value" label="name" />
</template>
<template v-else-if="pg.type==3">
<v-select :components="{OpenIndicator}" v-model="fieldModels['modelp_'+pg.id]" :id="'custom_req_p'+pg.id" transition="" class="vue_select" style="width: 400px; border: none;" multiple :options="pg.params.items" :reduce="name => name.value" label="name" />
</template>
<template v-else-if="pg.type==4">
<div class="checkbox small">
<input v-model="fieldModels['modelp_'+pg.id]" type="checkbox" :checked="Boolean(fieldModels['modelp_'+pg.id])" :id="'custom_req_p'+pg.id" />
<label :for="'custom_req_p'+pg.id"></label>
</div>
</template>
<template v-else-if="pg.type==5">
<textarea class="text" v-model="fieldModels['modelp_'+pg.id]" :id="'custom_req_p'+pg.id" ></textarea>
</template>
</div>
</div>
<div class="clear"></div>
</template>
</template>
<template v-else-if="field.type==0">
<div v-if="!isEmpty(fieldModels['model_'+field.id])" class="form-block">
<div class="label" v-html="field.title"></div>
<div class="inputs">
<span class="span_from_block" v-html="fieldModels['model_'+field.id]"></span>
</div>
</div>
<div class="clear"></div>
</template>
<template v-else-if="field.type==1">
<div class="form-block" v-if="!isEmpty(fieldModels['model_'+field.id])">
<div class="label" v-html="field.title"></div>
<div class="inputs">
<span class="span_from_block" v-html="fieldModels['model_'+field.id]"></span>
</div>
</div>
<div class="clear"></div>
</template>
<template v-else-if="field.type==2">
<div class="form-block" v-if="!isEmpty(fieldModels['model_'+field.id]) && field.params.items.find((el, idx) => el.value == fieldModels['model_'+field.id])">
<div class="label" v-html="field.title"></div>
<div class="inputs">
<span v-if="field.params.items.find((el, idx) => el.value == fieldModels['model_'+field.id])" class="span_from_block" v-html="field.params.items.find((el, idx) => el.value == fieldModels['model_'+field.id]).name"></span>
</div>
</div>
<div class="clear"></div>
</template>
<template v-else-if="field.type==3">
<div class="form-block" v-if="!isEmpty(fieldModels['model_'+field.id])">
<div class="label" v-html="field.title"></div>
<div class="inputs">
<span class="span_from_block">
<template v-for="(val, ind) in fieldModels['model_'+field.id]">
<span v-if="ind > 0">, </span>
<span v-html="field.params.items.find((el, idx) => el.value == val).name"></span>
</template>
</span>
</div>
</div>
<div class="clear"></div>
</template>
<template v-else-if="field.type==4">
<div class="form-block">
<div class="label" v-html="field.title"></div>
<div class="inputs">
<div class="checkbox small">
<input type="checkbox" v-model="fieldModels['model_'+field.id]" :checked="Boolean(fieldModels['model_'+field.id])" />
<label></label>
</div>
</div>
</div>
<div class="clear"></div>
</template>
<template v-else-if="field.type==5" >
<div class="form-block" v-if="!isEmpty(fieldModels['model_'+field.id])">
<div class="label" v-html="field.title"></div>
<div class="inputs">
<span class="span_from_block" v-html="fieldModels['model_'+field.id]"></span>
</div>
</div>
<div class="clear"></div>
</template>
</div>
</div>
</template>
<div v-if="!isEmpty(req.master_work)" class="form-block">
<div class="label">Ответственный</div>
<div class="inputs">
<span class="span_from_block" v-html="req.master_work"></span>
</div>
<div class="clear"></div>
</div>
<div class="form-block" v-if="!isEmpty(req.source_name)">
<div class="label">Источник</div>
<div class="inputs">
<span class="span_from_block" v-html="req.source_name"></span>
</div>
<div class="clear"></div>
</div>
<div class="form-block" v-if="!isEmpty(req.employe_name)">
<div class="label">Партнёр</div>
<div class="inputs">
<span class="span_from_block" v-html="req.employe_name"></span>
</div>
<div class="clear"></div>
</div>
</div>
</div>
</div>
<div class="modal-submit">
<button @click="closes" type="button">Закрыть&nbsp;<i class="ti-angle-right"></i></button>
</div>
</div>
</div>
</div>
<div id="client_info" class="hidden">
<div class="full_modal-bg" style="z-index: 99998;" v-show="is_show">
<span class="pseudo-link closer"><i class="ti-close" @click="closes()"></i></span>
<div class="full_modal edit-modal new-client__modal" style="max-width: 1050px;">
<div class="form-validate">
<div class="modal-inner">
<h2>Информация о клиенте</h2>
<div class="jv-tabs">
<div class="form-block" v-if="!isEmpty(client.fio)">
<div class="label">Клиент</div>
<div class="inputs">
<span class="span_from_block" v-html="client.fio"></span>
</div>
<div class="clear"></div>
</div>
<div class="form-block">
<div class="label">Воронка</div>
<div class="inputs">
<span class="span_from_block" v-html="client.name_funnel"></span>
</div>
<div class="clear"></div>
</div>
<div v-if="!isEmpty(client.steps)" class="form-block stepsTable">
<div class="label">Этап</div>
<div class="inputs">
<div class="stagebar">
<div v-if="client.funnel_id == 0" class="crm__small-stagebar">
<table>
<tbody>
<tr>
<td v-for="(step, id) in client.steps.bar" class="stage" :class="[{ active: step.id <= client.steps.stageId }, step.classF]" :title="step.title">
<div class="crm__small-stage"></div>
<span class="next-stage" v-html="step.name"></span>
</td>
</tr>
</tbody>
</table>
</div>
<div v-else-if="client.funnel_id > 0" class="crm__small-stagebar">
<table>
<tbody>
<tr>
<td v-for="(step, id) in client.steps.bar" class="stage stage-funnel" :class="[step.classF]" :title="step.name">
<div class="crm__small-stage"></div>
<span class="next-stage" v-html="step.name"></span>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="" style="clear: both; padding-top: 8px; margin-left: 23%;">
<span v-html="client.steps.stage"></span>
<div class="clear"></div>
</div>
<div class="clear"></div>
</div>
<div class="form-block" v-if="!isEmpty(client.email)">
<div class="label">Эл. почта</div>
<div class="inputs">
<span class="span_from_block" v-html="client.email"></span>
</div>
<div class="clear"></div>
</div>
<div class="form-block" v-if="!isEmpty(client.phone)">
<div class="label">Телефон</div>
<div class="inputs">
<span class="span_from_block" v-html="client.phone"></span>
</div>
<div class="clear"></div>
</div>
<div class="form-block" v-if="!isEmpty(client.work_type)">
<div class="label">Тип клиента</div>
<div class="inputs">
<span class="span_from_block" v-html="client.work_type"></span>
</div>
<div class="clear"></div>
</div>
<div class="form-block" v-if="!isEmpty(client.activities_name)">
<div class="label">Теги</div>
<div class="inputs">
<span class="span_from_block" v-html="client.activities_name"></span>
</div>
<div class="clear"></div>
</div>
<div class="form-block" v-if="!isEmpty(client.contracts)">
<div class="label">Договоры</div>
<div class="inputs">
<div v-for="(contract, index) in client.contracts">
<span class="span_from_block" v-html="contract.name"></span>
</div>
</div>
<div class="clear"></div>
</div>
<div class="form-block" v-if="!isEmpty(client.role_name)">
<div class="label">Роль клиента</div>
<div class="inputs">
<span class="span_from_block" v-html="client.role_name"></span>
</div>
<div class="clear"></div>
</div>
<div class="form-block" v-if="!isEmpty(client.type_name)">
<div class="label">Тип недвижимости</div>
<div class="inputs">
<span class="span_from_block" v-html="client.type_name"></span>
</div>
<div class="clear"></div>
</div>
<div class="form-block" v-if="!isEmpty(objects)">
<div class="label">Объекты</div>
<div class="inputs">
<div v-for="(object, index) in objects">
<span class="span_from_block" v-html="object.nazv+' '+object.adres"></span>
</div>
</div>
<div class="clear"></div>
</div>
<div class="form-block" v-if="!isEmpty(client.budget)">
<div class="label">Бюджет</div>
<div class="inputs">
<span class="span_from_block" v-html="client.budget"></span>
</div>
<div class="clear"></div>
</div>
<div class="form-block" v-if="!isEmpty(client.opis)">
<div class="label">Описание</div>
<div class="inputs">
<span class="span_from_block" v-html="client.opis"></span>
</div>
<div class="clear"></div>
</div>
<template v-if="!isEmpty(clientFields)">
<div v-for="(field, index) in clientFields">
<template v-if="field.is_podgroup > 0">
<div class="form-block">
<div class="label" v-html="field.title"></div>
<div class="inputs">
<v-select v-model="fieldModels['model_'+field.id]" :components="{OpenIndicator}" :id="'custom_req_'+field.id" transition="" class="vue_select" style="width: 400px; border: none;" :options="field.podgroups_select" :reduce="title => title.id" label="title" />
</div>
</div>
<div class="clear"></div>
<template v-if="!isEmpty(field.podgroups)">
<div v-for="(pg, in_pd) in field.podgroups" v-if="fieldModels['model_'+field.id] == pg.id" class="form-block">
<div class="label" v-html="pg.title"></div>
<div class="inputs">
<template v-if="pg.type==0">
<input class="text" v-model="fieldModels['modelp_'+pg.id]" style="width:400px;" :id="'custom_req_p'+pg.id"/>
</template>
<template v-else-if="pg.type==1">
<input class="number" v-model="fieldModels['modelp_'+pg.id]" style="width:400px;" :id="'custom_req_p'+pg.id"/>
</template>
<template v-else-if="pg.type==2">
<v-select :components="{OpenIndicator}" v-model="fieldModels['modelp_'+pg.id]" :id="'custom_req_p'+pg.id" transition="" class="vue_select" style="width: 400px; border: none;" :options="pg.params.items" :reduce="name => name.value" label="name" />
</template>
<template v-else-if="pg.type==3">
<v-select :components="{OpenIndicator}" v-model="fieldModels['modelp_'+pg.id]" :id="'custom_req_p'+pg.id" transition="" class="vue_select" style="width: 400px; border: none;" multiple :options="pg.params.items" :reduce="name => name.value" label="name" />
</template>
<template v-else-if="pg.type==4">
<div class="checkbox small">
<input v-model="fieldModels['modelp_'+pg.id]" type="checkbox" :checked="Boolean(fieldModels['modelp_'+pg.id])" :id="'custom_req_p'+pg.id" />
<label :for="'custom_req_p'+pg.id"></label>
</div>
</template>
<template v-else-if="pg.type==5">
<textarea class="text" v-model="fieldModels['modelp_'+pg.id]" :id="'custom_req_p'+pg.id" ></textarea>
</template>
</div>
</div>
<div class="clear"></div>
</template>
</template>
<template v-else-if="field.type==0">
<div class="form-block" v-if="!isEmpty(fieldModels['model_'+field.id])">
<div class="label" v-html="field.title"></div>
<div class="inputs">
<span class="span_from_block" v-html="fieldModels['model_'+field.id]"></span>
</div>
</div>
<div class="clear"></div>
</template>
<template v-else-if="field.type==1">
<div class="form-block" v-if="!isEmpty(fieldModels['model_'+field.id])">
<div class="label" v-html="field.title"></div>
<div class="inputs">
<span class="span_from_block" v-html="fieldModels['model_'+field.id]"></span>
</div>
</div>
<div class="clear"></div>
</template>
<template v-else-if="field.type==2">
<div class="form-block" v-if="!isEmpty(fieldModels['model_'+field.id])">
<div class="label" v-html="field.title"></div>
<div class="inputs">
<span v-if="field.params.items.find((el, idx) => el.value == fieldModels['model_'+field.id])" class="span_from_block" v-html="field.params.items.find((el, idx) => el.value == fieldModels['model_'+field.id]).name"></span>
</div>
</div>
<div class="clear"></div>
</template>
<template v-else-if="field.type==3">
<div class="form-block" v-if="!isEmpty(fieldModels['model_'+field.id])">
<div class="label" v-html="field.title"></div>
<div class="inputs">
<span class="span_from_block">
<template v-for="(val, ind) in fieldModels['model_'+field.id]">
<span v-if="ind > 0">, </span>
<span v-html="field.params.items.find((el, idx) => el.value == val).name"></span>
</template>
</span>
</div>
</div>
<div class="clear"></div>
</template>
<template v-else-if="field.type==4">
<div class="form-block" v-if="!isEmpty(fieldModels['model_'+field.id])">
<div class="label" v-html="field.title"></div>
<div class="inputs">
<div class="checkbox small">
<input type="checkbox" v-model="fieldModels['model_'+field.id]" :checked="Boolean(fieldModels['model_'+field.id])" />
<label></label>
</div>
</div>
</div>
<div class="clear"></div>
</template>
<template v-else-if="field.type==5">
<div class="form-block" v-if="!isEmpty(fieldModels['model_'+field.id])">
<div class="label" v-html="field.title"></div>
<div class="inputs">
<span class="span_from_block" v-html="fieldModels['model_'+field.id]"></span>
</div>
</div>
<div class="clear"></div>
</template>
</div>
</template>
<div class="form-block" v-if="!isEmpty(client.master_work)">
<div class="label">Ответственный</div>
<div class="inputs">
<span class="span_from_block" v-html="client.master_work"></span>
</div>
<div class="clear"></div>
</div>
<div class="form-block" v-if="!isEmpty(client.employe_name)">
<div class="label">Партнёр</div>
<div class="inputs">
<span class="span_from_block" v-html="client.employe_name"></span>
</div>
<div class="clear"></div>
</div>
</div>
</div>
</div>
<div class="modal-submit">
<button @click="closes" type="button">Закрыть&nbsp;<i class="ti-angle-right"></i></button>
</div>
</div>
</div>
</div>
<script type="text/javascript" src="/js/vue_scripts/req_info_vue.js?<?=filemtime($_SERVER['DOCUMENT_ROOT'].'/js/vue_scripts/req_info_vue.js')?>"></script>