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

280 lines
19 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.

<!-- Заявки -->
<style>
.main-contact-radio-label {
position: relative;
margin-right: 10px;
cursor: pointer;
font-size: 16px;
user-select: none;
height: 20px;
}
.main-contact-radio-label input {
position: absolute;
opacity: 0;
cursor: pointer;
}
.main-contact-radio-label .checkmark {
position: absolute;
top: 0;
left: 0;
height: 20px;
width: 20px;
background-color: #eee;
border-radius: 4px;
border: solid 1px #757575;
}
.main-contact-radio-label input:checked ~ .checkmark {
background-color: #4CAF50;
}
.main-contact-radio-label .checkmark:after {
content: "";
position: absolute;
display: none;
}
.main-contact-radio-label input:checked ~ .checkmark:after {
display: block;
}
.main-contact-radio-label .checkmark:after {
left: 7px;
top: 3px;
width: 5px;
height: 10px;
border: solid white;
border-width: 0 3px 3px 0;
transform: rotate(45deg);
}
</style>
<div class="full_modal-bg hidden" style="z-index: 99987" id="union_reqs_form" v-show="isShow">
<span class="pseudo-link closer"><i @click="closeForm" class="ti-close"></i></span>
<div class="full_modal edit-modal new-client__modal">
<div class="modal-inner">
<h2 v-if="is_list_joint" class="modal-title" style="float:left; color: #757575; font-size: 18px;">Список заявок присоединненых к заявке ID {{ main_id }}</h2>
<h2 v-else class="modal-title" style="float:left; color: #757575; font-size: 18px;">В этом окне вы можете объединить дубли заявок</h2>
<button v-if="!is_list_joint" @click="save_union" type="button" class="tab__controls-filter-btn tab__controls-filter-btn--green btn-default" style="padding: 6px; height: 40px; width: 250px; color:#fff; float:right;">Объединить</button>
<div class="tabs__content">
<div class="form-block">
<div>
<template v-if="isReqClient===0">
<div style="text-align:center; margin-top: 25px;">
<img src="../images/rocket-spinner.svg" width="96px">
</div>
</template>
<div v-else-if="isReqClient===1" class="clients">
<div v-for="(item, index) in req">
<div class="client " :id="'req__'+item.id">
<div class="client-inner">
<div class="additional-info">
<div class="date">{{ item.date_add }}</div>
<div class="type" v-html="item.name_type"></div>
<div class="stagebar">
<div v-if="item.funnel_id == 0" class="crm__small-stagebar">
<table>
<tbody>
<tr>
<td v-for="(step, id) in item.steps.bar" class="stage" :class="[{ active: step.id <= item.steps.stageId }, step.classF]" :title="step.title">
<div :data-stage="step.id" :data-req="item.id" class="crm__small-stage"></div>
<span class="next-stage" v-html="step.name"></span>
</td>
</tr>
</tbody>
</table>
</div>
<div v-else-if="item.funnel_id > 0" class="crm__small-stagebar">
<table>
<tbody>
<tr>
<td v-for="(step, id) in item.steps.bar" :class="'stage stage-funnel'+step.classF+' stageFunnel__'+step.id"
:title="step.name">
<div :data-stage="step.id"
:data-req="item.id"
:data-main="step.main"
class="crm__small-step">
</div>
<span class="next-stage">{{ step.name }}</span>
</td>
</tr>
<tr>
<td :colspan="item.steps.bar.length">
<span class="stepError" :id="'step_funnel_error'+index"></span>
</td>
</tr>
</tbody>
</table>
</div>
<?php
if(isset($_POST['funnel']) && $_POST['funnel'] == 'all'){
if($client['funnel_id'] == 0){
$name_funnel = "Обычные";
} else {
$sql_fun = "SELECT name FROM funnel WHERE id = ".$client['funnel_id'];
$name_funnel = mysql_fetch_assoc(mysql_query($sql_fun))['name'];
}
?>
<div style="padding-left: 5px;" class="client-added">
<div class="client-added__work"> <?=$name_funnel?></div>
</div>
<?php
}
?>
</div>
<div v-if="item.deleted == 1" class="stagebar-title" v-html="item.steps.stage+' (закрыт)'"></div>
<div v-else class="stagebar-title" v-html="item.steps.stage"></div>
<div class="type"></div>
<div class="actions" v-if="!is_list_joint">
<div v-if="main_id != item.id" style="display: flex;flex-wrap: nowrap; gap: 10px;">
<span style="color: #4CAF50;">Выбрать для объединения</span>
<label class="main-contact-radio-label">
<input type="checkbox" name="main_contact" value="0" @change="check_unions($event, item.id)" class="main-contact-radio">
<span class="checkmark"></span>
</label>
</div>
</div>
</div>
<div class="client-name">
<h2><a class="toggleClient" @click=toggleClient(index) href="javascript:{}">{{ item.name }}</a></h2>
<div v-if="item.priority>0" class="client-priority" title="Категория клиента">
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" id="Capa_2" 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="144" ry="144" :class="'priority'+item.priority"/></svg>
</div>
<div v-if="!is_list_joint">
<div v-if="item.id == main_id" class="checkbox small"><input name="is_main_union_req" :id="'is_main'+item.id" type="radio" value="1" checked="checked" @change="check_main(item.id)" > <label :for="'is_main'+item.id">Выбрать главной</label></div>
<div v-else class="checkbox small"><input :id="'is_main'+item.id" name="is_main_union_req" type="radio" value="0" @change="check_main(item.id)"> <label :for="'is_main'+item.id">Выбрать главной</label></div>
</div>
</div>
<!-- <div id="step_details_67314">
</div>-->
<div class="main-info" :class="{hidden: !item.isMainInfo}">
<div v-if="!isEmpty(item.client)" class="col client-object">
<p class="small">Клиент</p>
<p>
<b class="big">
<span v-html="item.client.fio"></span>
</b>
</p>
</div>
<div class="col">
<div class="jw__action-button">
<div class="jw__g-button req-events-new" :data-id="item.id">История и задачи</div>
</div>
</div>
<div class="clear"></div>
</div>
<div class="client-added">
<div class="client-added__by" v-html="'ID: '+item.id"></div>
<div class="client-added__by" v-html="'Добавил '+item.manager"></div>
<div class="client-added__work" v-if="item.confirm==0 && item.who_work > 0" v-html="'Должен принять в работу '+item.master_work"></div>
<template v-else-if="item.confirm>0 && item.who_work && item.deleted == 1">
<div class="client-added__work" v-html="'Был в работе у '+item.master_work"></div>
<div class="client-added__work" v-html="'Закрыл '+item.master_delete"></div>
</template>
<div v-else class="client-added__work" v-html="'В работе у '+item.master_work"></div>
<div v-if="!isEmpty(item.doer_yes)" class="client-added__work">Совместная работа:
<template v-for="doer_fio in item.doer_yes">
<span v-html="doer_fio"></span><br>
</template>
</div>
<div v-if="!isEmpty(item.doer_no)" class="client-added__work">Приглашен к совместной работе:
<template v-for="doer_fio in item.doer_no">
<span v-html="doer_fio"></span><br>
</template>
</div>
</div>
<div v-if="!isEmpty(item.description)" class="client_row row_line" :class="{hidden: !item.isMainInfo}">
<p class="small">Описание</p>
<p class="desc" v-html="item.description"></p>
</div>
<div v-if="item.deleted > 0" class="client_row row_line" :class="{hidden: !item.isMainInfo}">
<p class="small">Причина закрытия</p>
<p class="desc" v-html="item.reason"></p>
</div>
</div>
</div>
</div>
<div class="clear"></div>
<div v-show="all_pages > 1" class="f-system_pagination" style="float: left;">
<center><ul class="pagination" style="display: inline-flex;">
<template v-if="page==1">
<li class=active><a href='javascript:{}'>1</a></li>
</template>
<template v-else>
<li><a href="javascript:{}" @click="pagin(prevPage)" :data-page="prevPage">&laquo;</a></li>
<li><a href="javascript:{}" @click="pagin(1)" data-page="1">1</a></li>
</template>
<template v-if="all_pages > 8 && page > 4">
<li><a href="javascript:{}">...</a></li>
</template>
<template v-for="pp in pagePagin">
<li :class="{active:pp==page}"><a href="javascript:{}" @click="pagin(pp)" :data-page="pp">{{pp}}</a></li>
</template>
<template v-if="all_pages > 8 && page < all_pages - 4">
<li><a href="javascript:{}">...</a></li>
</template>
<template v-if="page == all_pages">
<li class="active"><a href="javascript:{}" @click="pagin(all_pages)" :data-page="all_pages">{{all_pages}}</a></li>
</template>
<template v-else>
<li><a href="javascript:{}" @click="pagin(all_pages)" :data-page="all_pages">{{all_pages}}</a></li>
<li><a href="javascript:{}" @click="pagin(page+1)" data-page="page+1">&raquo;</a></li>
</template>
</ul>
<span style="padding-left: 15px; float: none; border: none; height: 40px;" class="control-group kol_find">перейти на <input style="float:unset;" id="union_reqs_formPageNumberInputForManualGoToPage" type="number" maxlength="6" class="number text small-input no-mrg-left" placeholder="№ стр." @keypress="goToRequisitionsPage($event)"/></span>
</center></div>
<div class="clear"></div>
</div>
<div v-else class="empty-block">
<h1><i class="ti-na"></i></h1>
<h2>Заявок не найдено</h2>
</div>
</div>
<div class="clear"></div>
</div>
</div>
</div>
</div>
</div>
<script type="text/javascript" src="/js/vue_scripts/union_req_vue.js?<?=filemtime($_SERVER['DOCUMENT_ROOT'].'/js/vue_scripts/union_req_vue.js')?>"></script>