Дипломная работа: Автоматизация процесса взаимодействия с клиентами (CRM) в компьютерном сервисе ООО "Спектра"

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
121
$this->smarty->assign('theTikets', $this->getTikets('default'));
$this->smarty->display('work/workspace.tpl');
$this->smarty->display('work/footer.tpl');
}
}
public function getInternContent(){
if(isset($_GET['param_1']) && $_GET['param_1'] == 'bolt'){
$this->smarty->assign('title', "Болты и ждуны - рабочая зона");
$this->smarty->display('header.tpl');
$this->smarty->assign('logined', $_SESSION['logined']);
$this->smarty->display('work/navbar.tpl');
$this->json = json_decode(file_get_contents('config.json'), true);
$this->smarty->assign('config', $this->json);
$this->smarty->display('work/workspace_waiting+bolt.tpl');
$this->smarty->display('work/footer.tpl');
}else{
$this->smarty->assign('title', "Рабочая зона");
$this->smarty->display('header.tpl');
$this->smarty->assign('logined', $_SESSION['logined']);
$this->smarty->display('work/navbar.tpl');
$this->json = json_decode(file_get_contents('config.json'), true);
$this->smarty->assign('config', $this->json);
$this->smarty->assign('masters', $this->getArrFromTableBYQuery("SELECT mng.id,
mng.synonym, mng.rights FROM managers as mng WHERE mng.rights <> 'noAccess'"));
$this->smarty->assign('newUserPassword', $this->getPassword());
$clients['data'] = $this->getArrFromTableBYQuery("
SELECT
cl.id,cl.surname,cl.firstname,cl.middlename,cl.email,cl.phone,cl.password,cls.id as
clientStatus
FROM clients as cl
join clientStatuses as cls on cl.clientStatus = cls.id");
foreach ($this->json['clients']['columns'] as $jsnKey => $jsnVal){
if(!isset($clients['refs'][$jsnKey]) && $jsnVal['colType'] == 'select'){
$clients['refs'][$jsnKey] = $this->getArrFromTableBYQuery("SELECT
".$jsnVal['selectColumns']." FROM ".$jsnVal['relatedTable']);
}
}
$this->smarty->assign('clients', $clients);
unset($clients);
$this->smarty->assign('toDoListArr', $this->getArrFromTableBYQuery("
SELECT
tdl.id,tdl.taskText,tdl.authorId,tdl.taskDate,tdl.target,mg.synonym as taskAuthor
FROM toDoList as tdl join managers as mg on tdl.authorID =
mg.id
WHERE tdl.target = 'main' ORDER BY tdl.taskDate ASC"));
$this->smarty->assign('tasksListArr', $this->getArrFromTableBYQuery("
SELECT
tdl.id,tdl.taskText,tdl.authorId,tdl.taskDate,tdl.target,mg.synonym as taskAuthor
122
FROM tasksList as tdl join managers as mg on tdl.authorID =
mg.id
WHERE tdl.target = 'main' ORDER BY tdl.taskDate ASC"));
$this->smarty->assign('theTikets', $this->getTikets('default'));
$this->smarty->display('work/workspace.tpl');
$this->smarty->display('work/footer.tpl');
}
}
}
?>
Скрипт JS.
function fixUserByPhone(id){
$.ajax({
url: '/create/',
type: 'POST',
data: {
userDataFinder: 'Get user info',
id: id
},
beforeSend: function(){
$('#loader').fadeIn();
},
success: function(data){
res = $.parseJSON(data);
$.each(res,function(key,value){
if(key == 'clientStatus'){
$('#' + key + '_new').attr('value', (value == "0") ? "Не проверен" : (value == "1") ?
"Молодец" : "Нe молодец");
$('#' + key + '_new').attr("style", (value == "0") ? "background-color:#fff
!important; padding-left: 5px;padding-right: 5px;" : (value == "1") ? "background-
color:rgb(13,255,0) !important; padding-left: 5px;padding-right: 5px;" : "background-
color:rgb(216, 0, 40) !important; color: #fff; padding-left: 5px;padding-right: 5px;");
}else if(key == 'creditCardNum'){
$('#haveIlliCard_new').attr('value', (value == "") ? "Нет карты" : value);
$('#haveIlliCard_new').attr("style", (value == "") ? "background-color:rgb(216, 0,
40) !important; color: #fff; padding-left: 5px;padding-right: 5px;" : "background-
color:rgb(13,255,0) !important;padding-left: 5px;padding-right: 5px;");
}else if(key!='id'){
$('#'+key+'_new').attr('value',value);
}else{
$("select#clientFinder").val(value);
$("#clientFinder").trigger("liszt:updated");
$("#clientFinder").trigger("chosen:updated");
$("select#clientFinder").val(value);
}
123
});
},
error: function(data){
res = $.parseJSON(data);
},
complete: function(){
$('#loader').delay(500).fadeOut();
}
});
}
function dateTimeToTiketDate(theDate){
var timestamp = new Date(Date.parse(theDate));
var date = new Date();
var restDate = '';
var monthNames = ["Января", "Февраля", "Марта", "Апреля", "Мая", "Июня",
"Июля", "Августа", "Сентября", "Октября", "Ноября", "Декабря"
];
date.setTime(timestamp);
restDate += date.getDay();
restDate += ' '+monthNames[date.getMonth()];
restDate += ' '+date.getFullYear()+'г.';
return restDate;
}
function getTableColColor(valData){
switch(valData) {
case '1':
return 'background-color: #20c600 !important';
case '3':
return 'background-color: #38761d !important';
case '4':
return 'background-color: #0075c6 !important';
case '6':
return 'background-color: #939393 !important';
case '8':
return 'background-color: #ef0000 !important';
case '9':
return 'background-color: #90c9d6 !important';
case '10':
return 'background-color: #ffb900 !important';
case '11':
return 'background-color: #f7630c !important';
case '14':
return 'background-color: #e2008c !important';
case '15':
return 'background-color: #c22000 !important';
case '16':
return 'background-color: #f7630c !important';
124
case '17':
return 'background-color: #ef0000 !important';
case '18':
return 'background-color: #20c600 !important';
case '19':
return 'background-color: #38761d !important';
case '20':
return 'background-color: #f7630c !important';
}
}
function getClientTableRowColor(valData){
switch(valData) {
case '0':
return 'background-color:rgb(255, 255, 255) !important';
case '1':
return 'background-color:rgb(13,255,0) !important';
case '2':
return 'background-color:rgb(216, 0, 40) !important';
}
}
$(document).ready(function(){
$("input[name=stagePrice]").on('keyup', function(){
console.log('awdawd');
$(this).siblings('select[name=serviceTypeId]').removeAttr('required');
if($(this).val() > 0){
$(this).siblings('select[name=serviceTypeId]').attr('required', 'required');
}
});
$(document).on("submit", ".addNewStage, .addSystemStage", function (e){
e.preventDefault();
e.stopPropagation();
var data = new FormData();
var thisForm = $(this);
var formData = thisForm.serializeArray();
var formButton = $(document).find(thisForm.find("button[type='submit']")[0]);
formData.push({'name': formButton.attr('name'), 'value': formButton.val()});
$.each(formData, function(i, datas){
data.append(datas.name, datas.value);
});
var formFileInput = $($(this).find("input[type='file']")[0].files);
console.log(formFileInput);
var ins = formFileInput.length;
if(ins != 0){
for (var x = 0; x < ins; x++) {
data.append("files[]", formFileInput[x]);
}
}
125
$.ajax({
url: '/contentEditor/',
type: 'POST',
data : data,
cache : false,
dataType : 'html',
processData : false,
contentType : false,
beforeSend: function(){
$('#loader').fadeIn();
},
success: function(data){
if(data != 'Не получилосъ'){
$("#"+$(document).find(thisForm).attr('stpsTblID')).empty();
$("#"+$(document).find(thisForm).attr('stpsTblID')).append(data);
$(document).find('.prev').empty();
$(document).find(thisForm)[0].reset();
$("select[name=serviceTypeId]").removeAttr('required');
}else{
console.log('Хз, что могло пойти не так. Но что-то пошло не так. ');
}
},
error: function(data){
console.log(data);
},
complete: function(){
$('#loader').delay(500).fadeOut();
}
});
return false;
});
$(document).on("submit", ".addPayment", function (e){
e.preventDefault();
e.stopPropagation();
let thisForm = $(this);
$.ajax({
url: '/contentEditor/',
type: 'POST',
data : thisForm.serializeArray(),
cache : false,
dataType : 'html',
processData : false,
contentType : false,
beforeSend: function(){
$('#loader').fadeIn();
},
success: function(data){
if(data !== 'Не получилосъ'){
Источник: https://baza.diplomsite.ru/previewfile/2063