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 @@