280 lines
19 KiB
PHP
280 lines
19 KiB
PHP
<!-- Заявки -->
|
||
<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">«</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">»</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>
|
||
|