Дипломная работа: Автоматизация процесса взаимодействия с клиентами (CRM) на примере агенства недвижимости

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
116
list: {
type: Array
},
add: Function,
pkey: String,
checkList: Function
}
}
</script>
Leads.js
import axios from 'axios'
export default {
state: {
leads: [],
states: [],
fullInfoLead: []
},
getters: {
getLeads(state) {
return state.leads;
},
getStates(state) {
return state.states;
},
getLead(state) {
return state.fullInfoLead;
}
},
mutations: {
setLeads(state, payload) {
state.leads = payload;
},
setStates(state, payload) {
state.states = payload;
},
setLead(state,payload) {
state.fullInfoLead = payload;
},
setComment(state, payload) {
state.fullInfoLead.comments.push(payload);
},
setObject(state,payload) {
state.fullInfoLead.objects.push(payload);
}
},
117
actions: {
async getLeads({commit}) {
commit('setError', "");
await axios.get('/lead/get')
.then(response => {
commit('setLeads', response.data);
})
.catch(error => {
commit('setError', error.response.data)
throw error
})
},
async getStates({commit}) {
commit('setError', "");
await axios.get('/lead/state')
.then(response => {
commit('setStates', response.data);
})
.catch(error => {
commit('setError', error.response.data)
throw error
})
},
async addLeads({commit, dispatch}, payload) {
commit('setError', "");
await axios.post('/lead/add', payload)
.then(response => {
if (response.data.success) {
dispatch('getLeads');
console.log(response.data.success);
} else {
commit('setError', response.data)
}
})
.catch(error => {
commit('setError', error.response.data)
throw error
})
},
async getLead({commit}, payload) {
await axios.post('/lead/getFull', payload)
.then(response => {
commit('setLead', response.data);
})
.catch(error => {
commit('setError', error.response.data)
118
throw error
})
},
async addComment({commit}, payload) {
await axios.post('/lead/addComment', payload)
.then(response => {
commit('setComment', response.data);
})
.catch(error => {
commit('setError', error.response.data);
throw error
})
},
async addObjectLead({commit}, payload) {
await axios.post('/lead/addObject', payload)
.then(response => {
commit('setObject', response.data);
})
.catch(error => {
commit('setError', error.response.data);
throw error
})
},
updLead({commit}, payload) {
commit('setError', "");
axios.post('/lead/update', payload)
.then(response => {
if (response.data.success) {
console.log(response.data.success);
} else {
commit('setError', response.data)
}
})
.catch(error => {
commit('setError', error.response.data)
throw error
})
}
}
}
LeadController.php
<?php
namespace controllers;
119
use BL\LeadRepository;
use core\Controller;
class LeadController extends Controller
{
private $leadRepository;
public function __construct()
{
parent::__construct();
$this->leadRepository = new LeadRepository();
}
public function Get()
{
Send($this->leadRepository->Get());
}
public function Add()
{
Send(["success" => true, "msg" => $this->leadRepository->Add()]);
}
public function State()
{
Send($this->leadRepository->GetState());
}
public function Update()
{
Send(["success" => true, $this->leadRepository->UpdateLead()]);
}
public function GetFull()
{
$request = $this->Request();
Send($this->leadRepository->GetFull($request));
}
public function AddComment()
{
$request = $this->Request();
Send($this->leadRepository->AddComment($request));
}
public function GetAddressObject()
{
120
$request = $this->Request();
Send($this->leadRepository->GetAddressObject($request->address));
}
public function AddObject()
{
$request = $this->Request();
Send($this->leadRepository->AddObject($request));
}
}
LeadRepository.php
<?php
namespace BL;
use core\BaseRepository;
class LeadRepository extends BaseRepository
{
public function Get()
{
$filepath = __DIR__ . "/sql/leads/getLeads.sql";
return $this->db->queryRowsFile($filepath);
}
public function Add()
{
$request = json_decode(file_get_contents('php://input'));
$clientReposity = new ClientRepository();
$clientNewId = $clientReposity->Add($request);
$params = [
"client_id" => $clientNewId
];
return $this->db->insert('ro_leads', $params);
}
public function GetState()
{
$fileparh = __DIR__. "/sql/leads/getState.sql";
return $this->db->queryRowsFile($fileparh);
}
public function UpdateLead()
{
Источник: https://baza.diplomsite.ru/previewfile/2068