From a563672808bbd03c02ee4b47f9120e00972860dd Mon Sep 17 00:00:00 2001
From: "p.belezov"
Date: Sat, 2 Nov 2024 16:13:08 +0800
Subject: [PATCH] =?UTF-8?q?=D0=97=D0=B0=D0=BF=D0=B8=D0=BB=D0=B8=D0=BB=20?=
=?UTF-8?q?=D1=80=D0=B5=D0=B4=D0=B0=D0=BA=D1=82=D0=B8=D1=80=D0=BE=D0=B2?=
=?UTF-8?q?=D0=B0=D0=BD=D0=B8=D0=B5?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/Http/Controllers/ComputerController.php | 3 +-
resources/store/computers.js | 45 +++++++++
resources/views/Computers/EditForm.vue | 102 ++++++++++++++++++++
resources/views/ComputersList.vue | 19 +++-
routes/api.php | 1 +
5 files changed, 164 insertions(+), 6 deletions(-)
create mode 100644 resources/views/Computers/EditForm.vue
diff --git a/app/Http/Controllers/ComputerController.php b/app/Http/Controllers/ComputerController.php
index fd780f7..ae92266 100644
--- a/app/Http/Controllers/ComputerController.php
+++ b/app/Http/Controllers/ComputerController.php
@@ -13,7 +13,7 @@ class ComputerController extends Controller
}
public function getById(Request $request){
- return Computer::find($request->get('id'));
+ return response()->json(Computer::find($request->get('id')), 200);;
}
public function getByUserId(Request $request){
@@ -51,6 +51,7 @@ class ComputerController extends Controller
$computer = Computer::find($request->get('id'));
$computer->name = $request->get('name');
$computer->cpu = $request->get('cpu');
+ $computer->ram = $request->get('ram');
$computer->motherboard = $request->get('motherboard');
$computer->gpu = $request->get('gpu');
$computer->additional_info = $request->get('additional_info');
diff --git a/resources/store/computers.js b/resources/store/computers.js
index ab7cd9e..19f45bf 100644
--- a/resources/store/computers.js
+++ b/resources/store/computers.js
@@ -15,6 +15,27 @@ export const useComputersStore = defineStore('computers', {
checkToken(){
this.token = useUserStore().token;
},
+ async getById(id){
+ if (this.token === null){
+ this.checkToken();
+ }
+ let result = null;
+ await axios.get(
+ '/api/data/computers/byId',
+ {
+ headers: {
+ Authorization: `Bearer ${this.token}`,
+ token: this.token
+ },
+ params: {
+ id: id
+ }
+ }
+ ).then((response)=>{
+ result = response.data;
+ });
+ return result;
+ },
async getComputerList(user_id){
if (this.token === null){
this.checkToken();
@@ -58,6 +79,30 @@ export const useComputersStore = defineStore('computers', {
return false;
});
},
+ async update(id, name, cpu, ram, motherboard, gpu, additional_info){
+ if (this.token === null){
+ this.checkToken();
+ }
+ await axios.post('/api/data/computers/save', {
+ id: id,
+ name: name,
+ cpu: cpu,
+ ram: ram,
+ motherboard: motherboard,
+ gpu: gpu,
+ additional_info: additional_info,
+ }, {
+ headers: {
+ Authorization: `Bearer ${this.token}`,
+ token: this.token
+ },
+ }).then(()=>{
+ this.getComputerList(useUserStore().user['id']);
+ return true;
+ }).catch(()=>{
+ return false;
+ });
+ },
async delete(id){
if (this.token === null){
this.checkToken();
diff --git a/resources/views/Computers/EditForm.vue b/resources/views/Computers/EditForm.vue
new file mode 100644
index 0000000..b9e594c
--- /dev/null
+++ b/resources/views/Computers/EditForm.vue
@@ -0,0 +1,102 @@
+
+
+
+
+
+ Создание нового компьютера
+
+
+
+
+
+
+
+
+
+
+
+
+ Сохранить
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/resources/views/ComputersList.vue b/resources/views/ComputersList.vue
index 505b337..ff4cf28 100644
--- a/resources/views/ComputersList.vue
+++ b/resources/views/ComputersList.vue
@@ -1,11 +1,12 @@