Bläddra i källkod

添加Material编辑

ajun 5 år sedan
förälder
incheckning
8e62c0a1d0

+ 8 - 2
app/Http/Controllers/MaterialController.php

@@ -21,9 +21,15 @@ class MaterialController extends Controller
 
     }
 
-    public function updateApi(Request $request)
+    public function updateApi(Request $request):array
     {
-
+        $material = Material::query()->find($request['id']);
+        try {
+            $material->update($request->all(['code', 'name']));
+            return ['success' => true,'date'=>$material];
+        } catch (WarningException $e) {
+            return ['success'=>false,'message'=>$e->getMessage()];
+        }
     }
 
     public function destroyApi($id):array

+ 29 - 0
resources/views/maintenance/material/_edit.blade.php

@@ -0,0 +1,29 @@
+<div class="modal fade " id="editModal" tabindex="1" aria-labelledby="title" >
+    <div class="modal-dialog modal-dialog-centered">
+        <div class="modal-content">
+            <div class="modal-header">
+                <h5 class="modal-title" id="edit-title" >修改耗材类型</h5>
+                <button type="button" class="close"  data-dismiss="modal" @click="material={}">
+                    <span>&times;</span>
+                </button>
+
+            </div>
+            <div class="modal-body">
+                <form>
+                    <div class="form-group">
+                        <label for="material-code">编号</label>
+                        <input type="text" id="material-code" class="form-control" v-model="material.code">
+                    </div>
+                    <div class="form-group">
+                        <label for="material-name">名称</label>
+                        <input type="text" id="material-name" class="form-control" v-model="material.name">
+                    </div>
+                </form>
+            </div>
+            <div class="modal-footer">
+                <button type="button" class="btn btn-secondary"  data-dismiss="modal" @click="material={}">关闭</button>
+                <button type="button" class="btn btn-primary" @click="update">提交</button>
+            </div>
+        </div>
+    </div>
+</div>

+ 1 - 1
resources/views/maintenance/material/_table.blade.php

@@ -10,7 +10,7 @@
         <td>@{{ material.code }}</td>
         <td>@{{ material.name }}</td>
         <td>
-            <button class="btn btn-sm btn-outline-primary" @click="edit(material)">编辑</button>
+            <button class="btn btn-sm btn-outline-primary" @click="edit(material,i)">编辑</button>
             <button class="btn btn-sm btn-outline-danger" @click="destroy(material.id,i)">删除</button>
         </td>
     </tr>

+ 27 - 3
resources/views/maintenance/material/index.blade.php

@@ -8,12 +8,12 @@
     <div class="container-fluid" id="material_div">
         <div class="card">
             <div class="card_header">
-
             </div>
             <div class="card_body">
                 @component('maintenance.material._table')@endcomponent
             </div>
         </div>
+       @component('maintenance.material._edit')@endcomponent
     </div>
 
 @endsection
@@ -22,7 +22,9 @@
     let vue = new Vue({
         el:'#material_div',
         data:{
-            materials:{!! $materials->toJson() !!}['data']
+            materials:{!! $materials->toJson() !!}['data'],
+            material:{},
+            index:'',
         },
         methods:{
             destroy(id,index){
@@ -40,7 +42,29 @@
                     tempTip.show(err);
                 });
             },
-
+            edit(material,i){
+                this.material = material;
+                this.index = i;
+                $('#editModal').modal('show');
+            },
+            update(index){
+                axios.post('{{url('apiLocal/material/update')}}',this.material)
+                    .then(res=>{
+                        if(res.data.success){
+                            $('#editModal').modal('hide');
+                            tempTip.setDuration(3000);
+                            tempTip.showSuccess('修改成功');
+                            this.$set(this.materials,index,res.data.data);
+                            this.index = '';
+                            return;
+                        }
+                        tempTip.setDuration(3000);
+                        tempTip.show(res.data.message);
+                    }).catch(err=>{
+                    tempTip.setDuration(3000);
+                    tempTip.show(err);
+                });
+            }
         }
     });
 </script>

+ 1 - 1
routes/apiLocal.php

@@ -112,6 +112,6 @@ Route::group(['prefix'=>'control'],function () {
 /** 耗材 */
 Route::group(['prefix' => 'material'],function(){
     Route::get('store','MaterialController@storeApi');
-    Route::get('update','MaterialController@updateApi');
+    Route::post('update','MaterialController@updateApi');
     Route::delete('destroy/{id}','MaterialController@destroyApi');
 });