mirror of
https://git.meshkee.com/cssd/cssd-back.git
synced 2026-10-13 12:21:07 +03:30
change pack to label
This commit is contained in:
+35
-30
@@ -3,14 +3,15 @@
|
|||||||
namespace App\Http\Controllers;
|
namespace App\Http\Controllers;
|
||||||
|
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
use App\Http\Requests\StorePackRequest;
|
use App\Http\Requests\StoreLabelRequest;
|
||||||
use App\Pack;
|
use App\Label;
|
||||||
|
use App\Package;
|
||||||
|
|
||||||
class PackController extends Controller
|
class LabelController extends Controller
|
||||||
{
|
{
|
||||||
public function index(Request $request)
|
public function index(Request $request)
|
||||||
{
|
{
|
||||||
$Packs = Pack::when($request->has('name') && $request->name != '', function($query) use($request){
|
$Labels = Label::when($request->has('name') && $request->name != '', function($query) use($request){
|
||||||
$query->where('name', 'LIKE', '%'.$request->name.'%');
|
$query->where('name', 'LIKE', '%'.$request->name.'%');
|
||||||
})
|
})
|
||||||
->when($request->has('sterilizer_id') && $request->sterilizer_id != '', function($query) use($request){
|
->when($request->has('sterilizer_id') && $request->sterilizer_id != '', function($query) use($request){
|
||||||
@@ -31,20 +32,20 @@ class PackController extends Controller
|
|||||||
});
|
});
|
||||||
})
|
})
|
||||||
->with('user', 'user.medical_center')->paginate(10);
|
->with('user', 'user.medical_center')->paginate(10);
|
||||||
return \MessageResponse::data($Packs);
|
return \MessageResponse::data($Labels);
|
||||||
}
|
}
|
||||||
public function create()
|
public function create()
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
public function show(Pack $Pack)
|
public function show(Label $Label)
|
||||||
{
|
{
|
||||||
$Pack->load('user', 'packages', 'user.medical_center');
|
$Label->load('user', 'packages', 'user.medical_center');
|
||||||
return \MessageResponse::data($Pack);
|
return \MessageResponse::data($Label);
|
||||||
}
|
}
|
||||||
public function store(StorePackRequest $request)
|
public function store(StoreLabelRequest $request)
|
||||||
{
|
{
|
||||||
$PackData = [
|
$LabelData = [
|
||||||
'name' => $request->name,
|
'name' => $request->name,
|
||||||
'sterile_date' => $request->sterile_date,
|
'sterile_date' => $request->sterile_date,
|
||||||
'expire_date' => $request->expire_date,
|
'expire_date' => $request->expire_date,
|
||||||
@@ -55,44 +56,48 @@ class PackController extends Controller
|
|||||||
'note' => $request->note,
|
'note' => $request->note,
|
||||||
'user_id' => auth('api')->user()->id,
|
'user_id' => auth('api')->user()->id,
|
||||||
];
|
];
|
||||||
$PackObj = Pack::create($PackData);
|
$LabelObj = Label::create($LabelData);
|
||||||
$PackObj->packages()->attach($request->packages);
|
Package::find($request->package_id)->update(['label_id' => $Label->id]);
|
||||||
return \MessageResponse::success(trans('messages.success'));
|
return \MessageResponse::success(trans('messages.success'));
|
||||||
}
|
}
|
||||||
public function edit(Pack $Pack)
|
public function edit(Label $Label)
|
||||||
{
|
{
|
||||||
$Packages = $Pack->packages->pluck('id')->toArray();
|
$Label->load('package');
|
||||||
unset($Pack->packages);
|
dd($Label);
|
||||||
$Pack->packages = $Packages;
|
// $Packages = $Label->packages->pluck('id')->toArray();
|
||||||
return \MessageResponse::data($Pack);
|
// unset($Label->packages);
|
||||||
|
// $Label->package_id = $Label->package->id;
|
||||||
|
return \MessageResponse::data($Label);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function update(StorePackRequest $request, Pack $Pack)
|
public function update(Request $request, Label $Label)
|
||||||
{
|
{
|
||||||
$Pack->update($request->except(['packages']));
|
$Label->update($request->except(['package_id']));
|
||||||
$Pack->packages()->sync($request->packages);
|
Package::find($request->package_id)->update(['label_id' => $Label->id]);
|
||||||
|
// $Label->package()->save($request->package_id);
|
||||||
|
// $Label->packages()->sync($request->packages);
|
||||||
return \MessageResponse::success(trans('messages.success'));
|
return \MessageResponse::success(trans('messages.success'));
|
||||||
}
|
}
|
||||||
public function destroy(Pack $Pack)
|
public function destroy(Label $Label)
|
||||||
{
|
{
|
||||||
if (auth('api')->user()->cant('delete', $Pack)) {
|
if (auth('api')->user()->cant('delete', $Label)) {
|
||||||
return \MessageResponse::error(trans('messages.access_denied'));
|
return \MessageResponse::error(trans('messages.access_denied'));
|
||||||
}
|
}
|
||||||
if(count($Pack->packages))
|
if(count($Label->packages))
|
||||||
{
|
{
|
||||||
$Pack->packages()->detach();
|
$Label->packages()->detach();
|
||||||
}
|
}
|
||||||
if(count($Pack->cycles))
|
if(count($Label->cycles))
|
||||||
{
|
{
|
||||||
$Pack->cycles()->detach();
|
$Label->cycles()->detach();
|
||||||
}
|
}
|
||||||
$Pack->delete();
|
$Label->delete();
|
||||||
return \MessageResponse::success(trans('messages.success'));
|
return \MessageResponse::success(trans('messages.success'));
|
||||||
}
|
}
|
||||||
public function getPacks()
|
public function getLabels()
|
||||||
{
|
{
|
||||||
$Packs = Pack::with('user')->get();
|
$Labels = Label::with('user')->get();
|
||||||
return \MessageResponse::data($Packs);
|
return \MessageResponse::data($Labels);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -39,20 +39,73 @@ class PackageController extends Controller
|
|||||||
'verified' => 'NotVerified',
|
'verified' => 'NotVerified',
|
||||||
];
|
];
|
||||||
$PackageObj = Package::create($PackageData);
|
$PackageObj = Package::create($PackageData);
|
||||||
|
$Items = [];
|
||||||
|
$count = 1;
|
||||||
|
foreach ($request->items as $key => $item) {
|
||||||
|
if (array_key_exists($item['id'], $Items)) {
|
||||||
|
$preCount = $Items[$item['id']];
|
||||||
|
$Items[$item['id']] = $preCount + 1;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$Items[$item['id']] = $count;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
foreach ($Items as $Item => $Count) {
|
||||||
|
$Package->items()->attach(array($Item), ['count' => $Count]);
|
||||||
|
}
|
||||||
$PackageObj->items()->attach($request->items);
|
$PackageObj->items()->attach($request->items);
|
||||||
return \MessageResponse::success(trans('messages.success'));
|
return \MessageResponse::success(trans('messages.success'));
|
||||||
}
|
}
|
||||||
public function edit(Package $Package)
|
public function edit(Package $Package)
|
||||||
{
|
{
|
||||||
$Items = $Package->items->pluck('id')->toArray();
|
$Items = [];
|
||||||
|
$Package->load('items');
|
||||||
|
// dd($Package);
|
||||||
|
foreach ($Package->items as $item) {
|
||||||
|
for ($i=0; $i < $item->pivot->count ; $i++) {
|
||||||
|
$Items[] = (object) array('id' => $item->id, 'name' => $item->name);
|
||||||
|
}
|
||||||
|
}
|
||||||
unset($Package->items);
|
unset($Package->items);
|
||||||
$Package->items = $Items;
|
$Package->items = $Items;
|
||||||
return \MessageResponse::data($Package);
|
return \MessageResponse::data($Package);
|
||||||
}
|
}
|
||||||
public function update(StorePackageRequest $request, Package $Package)
|
public function update(StorePackageRequest $request, Package $Package)
|
||||||
{
|
{
|
||||||
|
// dd($request->items);
|
||||||
$Package->update($request->except(['items']));
|
$Package->update($request->except(['items']));
|
||||||
$Package->items()->sync($request->items);
|
$Items = [];
|
||||||
|
$count = 1;
|
||||||
|
foreach ($request->items as $key => $item) {
|
||||||
|
// dump(in_array($item['id'], array_column($Items, 'id')));
|
||||||
|
// if (in_array($item['id'], array_column($Items, 'id'))) {
|
||||||
|
// $index = array_search($item['id'], array_column($Items));
|
||||||
|
// dump(array_search($item['id'], $Items));
|
||||||
|
// $Items[$index]['count'] += 1;
|
||||||
|
// // dump($Items);
|
||||||
|
// }
|
||||||
|
// else {
|
||||||
|
// $Item1 = ['id' => $item['id'], 'count' => $count];
|
||||||
|
// $Items[] = $Item1;
|
||||||
|
// }
|
||||||
|
|
||||||
|
if (array_key_exists($item['id'], $Items)) {
|
||||||
|
$preCount = $Items[$item['id']];
|
||||||
|
$Items[$item['id']] = $preCount + 1;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$Items[$item['id']] = $count;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// dd($Items);
|
||||||
|
$Package->items()->detach();
|
||||||
|
// foreach ($Items as $Item) {
|
||||||
|
// $Package->items()->attach(array($Item['id']), ['count' => $Item['count']]);
|
||||||
|
// }
|
||||||
|
foreach ($Items as $Item => $Count) {
|
||||||
|
$Package->items()->attach(array($Item), ['count' => $Count]);
|
||||||
|
}
|
||||||
|
// $Package->items()->sync($request->items);
|
||||||
return \MessageResponse::success(trans('messages.success'));
|
return \MessageResponse::success(trans('messages.success'));
|
||||||
}
|
}
|
||||||
public function destroy(Package $Package)
|
public function destroy(Package $Package)
|
||||||
|
|||||||
@@ -41,12 +41,10 @@ class TestResultController extends Controller
|
|||||||
}
|
}
|
||||||
|
|
||||||
$TestResult = TestResult::with('test_type', 'user', 'user.medical_center')
|
$TestResult = TestResult::with('test_type', 'user', 'user.medical_center')
|
||||||
->when($request->has('verified'), function ($query) use ($request)
|
->when($request->has('verified'), function ($query) use ($request){
|
||||||
{
|
|
||||||
return $query->where('verified', $request->verified);
|
return $query->where('verified', $request->verified);
|
||||||
})
|
})
|
||||||
->when(($request->has('fromPicker') && $request->fromPicker) || ($request->has('upToPicker') && $request->upToPicker), function ($query) use ($request)
|
->when(($request->has('fromPicker') && $request->fromPicker) || ($request->has('upToPicker') && $request->upToPicker), function ($query) use ($request){
|
||||||
{
|
|
||||||
$from = ($request->fromPicker) ? date($request->fromPicker . ' 00:00:00') : date('2010-01-01' . ' 00:00:00');
|
$from = ($request->fromPicker) ? date($request->fromPicker . ' 00:00:00') : date('2010-01-01' . ' 00:00:00');
|
||||||
$upTo = ($request->upToPicker) ? date($request->upToPicker . ' 23:59:59') : date('Y-m-d' . ' 23:59:59');
|
$upTo = ($request->upToPicker) ? date($request->upToPicker . ' 23:59:59') : date('Y-m-d' . ' 23:59:59');
|
||||||
return $query->whereBetween('created_at', [$from, $upTo]);
|
return $query->whereBetween('created_at', [$from, $upTo]);
|
||||||
|
|||||||
@@ -2,21 +2,21 @@
|
|||||||
|
|
||||||
namespace App\Http\Requests;
|
namespace App\Http\Requests;
|
||||||
|
|
||||||
use App\Pack;
|
use App\Label;
|
||||||
use Illuminate\Validation\Rule;
|
use Illuminate\Validation\Rule;
|
||||||
use Illuminate\Foundation\Http\FormRequest;
|
use Illuminate\Foundation\Http\FormRequest;
|
||||||
use Illuminate\Contracts\Validation\Validator;
|
use Illuminate\Contracts\Validation\Validator;
|
||||||
|
|
||||||
|
|
||||||
class StorePackRequest extends FormRequest
|
class StoreLabelRequest extends FormRequest
|
||||||
{
|
{
|
||||||
public function authorize()
|
public function authorize()
|
||||||
{
|
{
|
||||||
if ($this->method() == 'POST') {
|
if ($this->method() == 'POST') {
|
||||||
return auth('api')->check() && auth('api')->user()->can('store', Pack::class);
|
return auth('api')->check() && auth('api')->user()->can('store', Label::class);
|
||||||
} else {
|
} else {
|
||||||
$Pack = $this->route('Pack');
|
$Label = $this->route('Label');
|
||||||
return auth('api')->check() && $Pack && auth('api')->user()->can('update', $Pack);
|
return auth('api')->check() && $Label && auth('api')->user()->can('update', $Label);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -25,7 +25,7 @@ class StorePackRequest extends FormRequest
|
|||||||
switch ($this->method()) {
|
switch ($this->method()) {
|
||||||
case 'POST': {
|
case 'POST': {
|
||||||
return [
|
return [
|
||||||
'name' => 'required|max:100|unique:packs',
|
'name' => 'required|max:100|unique:labels',
|
||||||
'sterile_date' => 'required',
|
'sterile_date' => 'required',
|
||||||
'expire_date' => 'required',
|
'expire_date' => 'required',
|
||||||
'sterilizer_id' => 'required',
|
'sterilizer_id' => 'required',
|
||||||
@@ -33,15 +33,15 @@ class StorePackRequest extends FormRequest
|
|||||||
'lot_number' => 'required',
|
'lot_number' => 'required',
|
||||||
'department' => 'required',
|
'department' => 'required',
|
||||||
'note' => 'nullable',
|
'note' => 'nullable',
|
||||||
'packages' => 'required',
|
'package_id' => 'required',
|
||||||
];
|
];
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case 'PUT':
|
case 'PUT':
|
||||||
case 'PATCH': {
|
case 'PATCH': {
|
||||||
$Pack = $this->route('Pack');
|
$Label = $this->route('Label');
|
||||||
return [
|
return [
|
||||||
'name' => 'required|max:100|unique:packs,id,'.$Pack->id,
|
'name' => 'required|max:100|unique:labels,id,'.$Label->id,
|
||||||
'sterile_date' => 'required',
|
'sterile_date' => 'required',
|
||||||
'expire_date' => 'required',
|
'expire_date' => 'required',
|
||||||
'sterilizer_id' => 'required',
|
'sterilizer_id' => 'required',
|
||||||
@@ -49,7 +49,7 @@ class StorePackRequest extends FormRequest
|
|||||||
'lot_number' => 'required',
|
'lot_number' => 'required',
|
||||||
'department' => 'required',
|
'department' => 'required',
|
||||||
'note' => 'nullable',
|
'note' => 'nullable',
|
||||||
'packages' => 'required',
|
'package_id' => 'required',
|
||||||
];
|
];
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@@ -4,17 +4,21 @@ namespace App;
|
|||||||
|
|
||||||
use Illuminate\Database\Eloquent\Model;
|
use Illuminate\Database\Eloquent\Model;
|
||||||
|
|
||||||
class Pack extends Model
|
class Label extends Model
|
||||||
{
|
{
|
||||||
public $fillable = ['name', 'sterile_date', 'expire_date', 'sterilizer_id', 'cycle_number', 'lot_number', 'department', 'user_id', 'note'];
|
public $fillable = ['name', 'sterile_date', 'expire_date', 'sterilizer_id', 'cycle_number', 'lot_number', 'department', 'user_id', 'note'];
|
||||||
public function user()
|
public function user()
|
||||||
{
|
{
|
||||||
return $this->belongsTo('App\User');
|
return $this->belongsTo('App\User');
|
||||||
}
|
}
|
||||||
public function packages()
|
public function package()
|
||||||
{
|
{
|
||||||
return $this->belongsToMany('App\Package', 'pack_package');
|
return $this->belongsTo('App\Package');
|
||||||
}
|
}
|
||||||
|
// public function packages()
|
||||||
|
// {
|
||||||
|
// return $this->belongsToMany('App\Package', 'pack_package');
|
||||||
|
// }
|
||||||
public function cycles()
|
public function cycles()
|
||||||
{
|
{
|
||||||
return $this->belongsToMany('App\Cycle', 'cycle_pack');
|
return $this->belongsToMany('App\Cycle', 'cycle_pack');
|
||||||
+8
-4
@@ -6,18 +6,22 @@ use Illuminate\Database\Eloquent\Model;
|
|||||||
|
|
||||||
class Package extends Model
|
class Package extends Model
|
||||||
{
|
{
|
||||||
public $fillable = ['name', 'unique_id', 'user_id', 'note', 'verified'];
|
public $fillable = ['name', 'unique_id', 'user_id', 'note', 'verified', 'label_id'];
|
||||||
public function user()
|
public function user()
|
||||||
{
|
{
|
||||||
return $this->belongsTo('App\User');
|
return $this->belongsTo('App\User');
|
||||||
}
|
}
|
||||||
public function items()
|
public function items()
|
||||||
{
|
{
|
||||||
return $this->belongsToMany('App\Item', 'item_package');
|
return $this->belongsToMany('App\Item', 'item_package')->withPivot('count');
|
||||||
}
|
}
|
||||||
public function packs()
|
// public function packs()
|
||||||
|
// {
|
||||||
|
// return $this->belongsToMany('App\Pack', 'pack_package');
|
||||||
|
// }
|
||||||
|
public function labels()
|
||||||
{
|
{
|
||||||
return $this->belongsToMany('App\Pack', 'pack_package');
|
return $this->hasMany('App\Label');
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,18 +3,18 @@
|
|||||||
namespace App\Policies;
|
namespace App\Policies;
|
||||||
|
|
||||||
use App\User;
|
use App\User;
|
||||||
use App\Pack;
|
use App\Label;
|
||||||
use Doctrine\Tests\Common\Inflector\InflectorTest;
|
use Doctrine\Tests\Common\Inflector\InflectorTest;
|
||||||
|
|
||||||
class PackPolicy
|
class LabelPolicy
|
||||||
{
|
{
|
||||||
public function delete(User $User, Pack $Pack)
|
public function delete(User $User, Label $Label)
|
||||||
{
|
{
|
||||||
// if($User->hasRole('Admin') && $Pack->users->count() == 0)
|
// if($User->hasRole('Admin') && $Label->users->count() == 0)
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function update(User $User, Pack $Pack)
|
public function update(User $User, Label $Label)
|
||||||
{
|
{
|
||||||
// if($User->hasRole('Admin'))
|
// if($User->hasRole('Admin'))
|
||||||
return true;
|
return true;
|
||||||
@@ -56,6 +56,34 @@
|
|||||||
<div class v-for="(pack, key) in data.packs" :key="key">
|
<div class v-for="(pack, key) in data.packs" :key="key">
|
||||||
<span class="headline ml-2" style="letter-spacing:0 !important">{{ key+1 + ": " + pack.name }}</span>
|
<span class="headline ml-2" style="letter-spacing:0 !important">{{ key+1 + ": " + pack.name }}</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- <v-row justify="center mt-5">
|
||||||
|
<v-expansion-panels accordion class="WM-Relative WM-Panel">
|
||||||
|
<v-expansion-panel class="WM-PanelCategories"
|
||||||
|
v-for="(pack, key) in data.packs"
|
||||||
|
:key="key"
|
||||||
|
>
|
||||||
|
<v-expansion-panel-header>
|
||||||
|
<span class="headline ml-2">{{key+1}}</span>
|
||||||
|
<h2 style="margin-right:20px">{{ pack.name }}</h2>
|
||||||
|
<div class="ml-3" align="left">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</v-expansion-panel-header>
|
||||||
|
<v-expansion-panel-content>
|
||||||
|
<v-card-text style="padding:5px 30px">
|
||||||
|
|
||||||
|
<producer-category-item v-if="pack.children" :items="pack.children" @clicked="onClickChild"/>
|
||||||
|
|
||||||
|
</v-card-text>
|
||||||
|
</v-expansion-panel-content>
|
||||||
|
|
||||||
|
</v-expansion-panel>
|
||||||
|
</v-expansion-panels>
|
||||||
|
</v-row> -->
|
||||||
|
|
||||||
|
|
||||||
</v-flex>
|
</v-flex>
|
||||||
</v-layout>
|
</v-layout>
|
||||||
</v-layout>
|
</v-layout>
|
||||||
|
|||||||
+1
-1
@@ -1,7 +1,7 @@
|
|||||||
|
|
||||||
<template>
|
<template>
|
||||||
<v-container grid-list-xs>
|
<v-container grid-list-xs>
|
||||||
<material-card color="black" title="Show Package">
|
<material-card color="black" title="Show Label">
|
||||||
<v-layout align-left justify-left wrap class="px-5 my-3">
|
<v-layout align-left justify-left wrap class="px-5 my-3">
|
||||||
<h3 class="ml-3">Info</h3>
|
<h3 class="ml-3">Info</h3>
|
||||||
<v-flex xs12>
|
<v-flex xs12>
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
|
|
||||||
<template>
|
<template>
|
||||||
<v-container grid-list-xs>
|
<v-container grid-list-xs>
|
||||||
<material-card color="black" id="printMe" title="Show Label">
|
<material-card color="black" id="printMe" title="Show Package">
|
||||||
<v-layout align-left justify-left wrap class="px-5 my-3">
|
<v-layout align-left justify-left wrap class="px-5 my-3">
|
||||||
<h3 class="ml-3">Info</h3>
|
<h3 class="ml-3">Info</h3>
|
||||||
<v-flex xs12>
|
<v-flex xs12>
|
||||||
@@ -46,13 +46,25 @@
|
|||||||
<hr class="v-divider theme--light">
|
<hr class="v-divider theme--light">
|
||||||
</v-flex>
|
</v-flex>
|
||||||
<v-layout row wrap class="ml-4">
|
<v-layout row wrap class="ml-4">
|
||||||
<v-flex xs12 md6 sm6>
|
<template>
|
||||||
<div class v-for="(item, key) in data.items" :key="key">
|
<v-expansion-panel>
|
||||||
<span class="headline ml-2" style="letter-spacing:0 !important">{{ key+1 + ": " + item.name }}</span>
|
<v-expansion-panel-content
|
||||||
</div>
|
v-for="(item, key) in data.items" :key="key"
|
||||||
</v-flex>
|
>
|
||||||
|
<template v-slot:header>
|
||||||
|
<div>{{ key+1 + ": " + item.name }}</div>
|
||||||
|
</template>
|
||||||
|
<v-card>
|
||||||
|
<v-card-text>count : {{ item.pivot.count }}</v-card-text>
|
||||||
|
<v-card-text>note : {{ item.note }}</v-card-text>
|
||||||
|
</v-card>
|
||||||
|
</v-expansion-panel-content>
|
||||||
|
</v-expansion-panel>
|
||||||
|
</template>
|
||||||
|
|
||||||
</v-layout>
|
</v-layout>
|
||||||
</v-layout>
|
</v-layout>
|
||||||
|
|
||||||
<v-layout id="printMe" align-left justify-left wrap class="px-5 my-3">
|
<v-layout id="printMe" align-left justify-left wrap class="px-5 my-3">
|
||||||
<h3 class="ml-3">Barcode And QRCode Image</h3>
|
<h3 class="ml-3">Barcode And QRCode Image</h3>
|
||||||
<v-flex xs12>
|
<v-flex xs12>
|
||||||
|
|||||||
Vendored
+13
-13
@@ -9,7 +9,7 @@ const urls = {
|
|||||||
statistics: `/TestResults/chart`,
|
statistics: `/TestResults/chart`,
|
||||||
storeTestType: "/TestTypes",
|
storeTestType: "/TestTypes",
|
||||||
storePackage: "/Packages",
|
storePackage: "/Packages",
|
||||||
storePack: "/Packs",
|
storeLabel: "/Labels",
|
||||||
storeCycle: "/Cycles",
|
storeCycle: "/Cycles",
|
||||||
storeItem: "/Items",
|
storeItem: "/Items",
|
||||||
listTestTypeName: "/TestTypes/ListNames",
|
listTestTypeName: "/TestTypes/ListNames",
|
||||||
@@ -111,20 +111,20 @@ const urls = {
|
|||||||
verifyPackage: function(id) {
|
verifyPackage: function(id) {
|
||||||
return `/Package/Verify/${id}`;
|
return `/Package/Verify/${id}`;
|
||||||
},
|
},
|
||||||
listPack: function(filter) {
|
listLabel: function(filter) {
|
||||||
return "/Packs" + filter;
|
return "/Labels" + filter;
|
||||||
},
|
},
|
||||||
showPack: function(id) {
|
showLabel: function(id) {
|
||||||
return `/Packs/${id}`;
|
return `/Labels/${id}`;
|
||||||
},
|
},
|
||||||
editPack: function(id) {
|
editLabel: function(id) {
|
||||||
return `/Packs/${id}/edit`;
|
return `/Labels/${id}/edit`;
|
||||||
},
|
},
|
||||||
updatePack: function(id) {
|
updateLabel: function(id) {
|
||||||
return `/Packs/${id}`;
|
return `/Labels/${id}`;
|
||||||
},
|
},
|
||||||
removePack: function(id) {
|
removeLabel: function(id) {
|
||||||
return `Packs/${id}`;
|
return `Labels/${id}`;
|
||||||
},
|
},
|
||||||
listCycle: function(filter) {
|
listCycle: function(filter) {
|
||||||
return "/Cycles" + filter;
|
return "/Cycles" + filter;
|
||||||
@@ -153,8 +153,8 @@ const urls = {
|
|||||||
listAllPackage: function() {
|
listAllPackage: function() {
|
||||||
return "/GetPackages";
|
return "/GetPackages";
|
||||||
},
|
},
|
||||||
listAllPack: function() {
|
listAllLabel: function() {
|
||||||
return "/GetPacks";
|
return "/GetLabels";
|
||||||
},
|
},
|
||||||
showItem: function(id) {
|
showItem: function(id) {
|
||||||
return `/Items/${id}`;
|
return `/Items/${id}`;
|
||||||
|
|||||||
Vendored
+7
-7
@@ -160,19 +160,19 @@ export default [
|
|||||||
view: 'Package/AddEdit'
|
view: 'Package/AddEdit'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: '/add-pack',
|
path: '/add-label',
|
||||||
name: 'AddPack',
|
name: 'AddLabel',
|
||||||
view: 'Pack/AddEdit'
|
view: 'Label/AddEdit'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: '/labels',
|
path: '/labels',
|
||||||
name: 'AllLabels',
|
name: 'AllLabels',
|
||||||
view: 'Pack/List'
|
view: 'Label/List'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: '/pack/:pack/edit',
|
path: '/label/:label/edit',
|
||||||
name: 'EditPack',
|
name: 'EditLabel',
|
||||||
view: 'Pack/AddEdit'
|
view: 'Label/AddEdit'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: '/add-cycle',
|
path: '/add-cycle',
|
||||||
|
|||||||
@@ -48,13 +48,12 @@
|
|||||||
<v-flex xs12 sm6 md3 class="WM-FlexCenter">
|
<v-flex xs12 sm6 md3 class="WM-FlexCenter">
|
||||||
<v-icon class="fas fa-check mr-2 WM-Margin-B-8"></v-icon>
|
<v-icon class="fas fa-check mr-2 WM-Margin-B-8"></v-icon>
|
||||||
<v-autocomplete
|
<v-autocomplete
|
||||||
multiple
|
|
||||||
color="black"
|
color="black"
|
||||||
:items="items"
|
:items="items"
|
||||||
item-text="name"
|
item-text="name"
|
||||||
v-model="formData.packages"
|
v-model="formData.package_id"
|
||||||
item-value="id"
|
item-value="id"
|
||||||
label="Select Package For Pack"
|
label="Select Package For Label"
|
||||||
class="py-3 pr-3"
|
class="py-3 pr-3"
|
||||||
></v-autocomplete>
|
></v-autocomplete>
|
||||||
</v-flex>
|
</v-flex>
|
||||||
@@ -162,7 +161,7 @@ export default {
|
|||||||
name: "",
|
name: "",
|
||||||
result: "",
|
result: "",
|
||||||
note: "",
|
note: "",
|
||||||
packages: []
|
package_id: ""
|
||||||
},
|
},
|
||||||
items: [],
|
items: [],
|
||||||
rules: {
|
rules: {
|
||||||
@@ -176,14 +175,14 @@ export default {
|
|||||||
};
|
};
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
if (this.$route.params.pack) {
|
if (this.$route.params.label) {
|
||||||
this.load(this.$route.params.pack);
|
this.load(this.$route.params.label);
|
||||||
}
|
}
|
||||||
this.loadItems();
|
this.loadItems();
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
async load(id) {
|
async load(id) {
|
||||||
const result = await ApiService.get(urls.editPack(id));
|
const result = await ApiService.get(urls.editLabel(id));
|
||||||
if (result.status == 200) {
|
if (result.status == 200) {
|
||||||
this.formData = result.data.data;
|
this.formData = result.data.data;
|
||||||
}
|
}
|
||||||
@@ -196,14 +195,14 @@ export default {
|
|||||||
},
|
},
|
||||||
async submitForm() {
|
async submitForm() {
|
||||||
let result;
|
let result;
|
||||||
if (this.$route.params.pack) {
|
if (this.$route.params.label) {
|
||||||
result = await ApiService.put(
|
result = await ApiService.put(
|
||||||
urls.updatePack(this.$route.params.pack),
|
urls.updateLabel(this.$route.params.label),
|
||||||
this.formData
|
this.formData
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
result = await ApiService.post(
|
result = await ApiService.post(
|
||||||
urls.storePack,
|
urls.storeLabel,
|
||||||
this.formData
|
this.formData
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@@ -48,7 +48,7 @@
|
|||||||
</v-flex>
|
</v-flex>
|
||||||
<v-spacer></v-spacer>
|
<v-spacer></v-spacer>
|
||||||
<v-flex xs12 md2 sm2 class="text-xs-right">
|
<v-flex xs12 md2 sm2 class="text-xs-right">
|
||||||
<router-link :to="{name: 'AddPack'}">
|
<router-link :to="{name: 'AddLabel'}">
|
||||||
<v-btn class="WM-NoShadow WM-Outline-Btn WM-Border WM-Border-Black">
|
<v-btn class="WM-NoShadow WM-Outline-Btn WM-Border WM-Border-Black">
|
||||||
<v-icon class="black--text mr-2 caption">fas fa-plus</v-icon>
|
<v-icon class="black--text mr-2 caption">fas fa-plus</v-icon>
|
||||||
<span class="black--text">Add</span>
|
<span class="black--text">Add</span>
|
||||||
@@ -78,7 +78,7 @@
|
|||||||
</v-btn>
|
</v-btn>
|
||||||
<router-link
|
<router-link
|
||||||
v-if="$hasRole('Admin') || item.user_id == $store.state.user.id"
|
v-if="$hasRole('Admin') || item.user_id == $store.state.user.id"
|
||||||
:to="{name: 'EditPack', params: {pack: item.id}}"
|
:to="{name: 'EditLabel', params: {label: item.id}}"
|
||||||
>
|
>
|
||||||
<v-btn color="orange" class="mr-2">
|
<v-btn color="orange" class="mr-2">
|
||||||
<v-icon class="white--text mr-1 caption">fas fa-pen</v-icon>
|
<v-icon class="white--text mr-1 caption">fas fa-pen</v-icon>
|
||||||
@@ -175,7 +175,7 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
filter += page ? `page=${page}` : `page=1`;
|
filter += page ? `page=${page}` : `page=1`;
|
||||||
const result = await ApiService.get(urls.listPack(filter));
|
const result = await ApiService.get(urls.listLabel(filter));
|
||||||
if (result && result.status == 200) {
|
if (result && result.status == 200) {
|
||||||
this.items = result.data.data.data;
|
this.items = result.data.data.data;
|
||||||
this.currentPage = result.data.data.current_page;
|
this.currentPage = result.data.data.current_page;
|
||||||
@@ -198,17 +198,17 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
async show(testResultId) {
|
async show(testResultId) {
|
||||||
const result = await ApiService.get(urls.showPack(testResultId));
|
const result = await ApiService.get(urls.showLabel(testResultId));
|
||||||
if (result && result.status == 200) {
|
if (result && result.status == 200) {
|
||||||
this.changeCurrentModal({
|
this.changeCurrentModal({
|
||||||
modal: "modal-pack-show",
|
modal: "modal-label-show",
|
||||||
properties: { result }
|
properties: { result }
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
async remove(testResultId) {
|
async remove(testResultId) {
|
||||||
const result = await ApiService.delete(
|
const result = await ApiService.delete(
|
||||||
urls.removePack(testResultId)
|
urls.removeLabel(testResultId)
|
||||||
);
|
);
|
||||||
if (result && result.status == 200) {
|
if (result && result.status == 200) {
|
||||||
for (const key in this.items) {
|
for (const key in this.items) {
|
||||||
@@ -14,19 +14,44 @@
|
|||||||
class="py-3 pr-3"
|
class="py-3 pr-3"
|
||||||
></v-text-field>
|
></v-text-field>
|
||||||
</v-flex>
|
</v-flex>
|
||||||
<v-flex xs12 md3 sm3 class="WM-FlexCenter pl-3">
|
<!-- <v-row style="position: relative" v-for="(item, key) in formData.items" :key="key"> -->
|
||||||
<v-icon class="fas fa-check mr-2 WM-Margin-B-8"></v-icon>
|
<v-flex xs12 md3 sm3 class="WM-FlexCenter pl-3" style="position: relative" v-for="(item, key) in formData.items" :key="key">
|
||||||
<v-autocomplete
|
<v-icon class="fas fa-check mr-2 WM-Margin-B-8"></v-icon>
|
||||||
multiple
|
<v-autocomplete
|
||||||
|
|
||||||
class="py-3 pr-3"
|
class="py-3 pr-3"
|
||||||
:items="items"
|
:items="items"
|
||||||
item-text="name"
|
item-text="name"
|
||||||
v-model="formData.items"
|
v-model="item.id"
|
||||||
item-value="id"
|
item-value="id"
|
||||||
label="Select Items For Package"
|
label="Select Items For Package"
|
||||||
color="black"
|
color="black"
|
||||||
></v-autocomplete>
|
></v-autocomplete>
|
||||||
</v-flex>
|
|
||||||
|
<v-btn
|
||||||
|
absolute
|
||||||
|
small
|
||||||
|
right
|
||||||
|
bottom
|
||||||
|
color="cyan"
|
||||||
|
@click="duplicateForm(key)"
|
||||||
|
>
|
||||||
|
<v-icon class="white--text mr-2 caption">fas fa-plus</v-icon>ADD
|
||||||
|
</v-btn>
|
||||||
|
<v-btn
|
||||||
|
absolute
|
||||||
|
small
|
||||||
|
left
|
||||||
|
bottom
|
||||||
|
color="red"
|
||||||
|
@click="removeForm(key)"
|
||||||
|
>
|
||||||
|
<v-icon class="white--text mr-2 caption">fas fa-remove</v-icon>REMOVE
|
||||||
|
</v-btn>
|
||||||
|
</v-flex>
|
||||||
|
<!-- </v-row> -->
|
||||||
|
|
||||||
|
|
||||||
</v-layout>
|
</v-layout>
|
||||||
<v-layout align-center justify-center wrap class="px-5 mb-3">
|
<v-layout align-center justify-center wrap class="px-5 mb-3">
|
||||||
<v-flex xs12 sm12 md12>
|
<v-flex xs12 sm12 md12>
|
||||||
@@ -69,7 +94,11 @@ export default {
|
|||||||
name: "",
|
name: "",
|
||||||
result: "",
|
result: "",
|
||||||
note: "",
|
note: "",
|
||||||
items: []
|
items: [
|
||||||
|
{
|
||||||
|
name:''
|
||||||
|
}
|
||||||
|
]
|
||||||
},
|
},
|
||||||
items: [],
|
items: [],
|
||||||
result: ["Pass", "Fail"],
|
result: ["Pass", "Fail"],
|
||||||
@@ -119,7 +148,17 @@ export default {
|
|||||||
if (result && result.status == 200) {
|
if (result && result.status == 200) {
|
||||||
this.$router.push({ name: "AllPackage" });
|
this.$router.push({ name: "AllPackage" });
|
||||||
}
|
}
|
||||||
}
|
},
|
||||||
|
|
||||||
|
duplicateForm(infoIndex) {
|
||||||
|
this.formData.items.push({
|
||||||
|
name: "",
|
||||||
|
});
|
||||||
|
|
||||||
|
},
|
||||||
|
removeForm(infoIndex) {
|
||||||
|
this.formData.items.splice(infoIndex, 1);
|
||||||
|
},
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
+2
-2
@@ -51,14 +51,14 @@ Route::middleware('auth:api')->group(function () {
|
|||||||
|
|
||||||
Route::resource('Items', 'ItemController');
|
Route::resource('Items', 'ItemController');
|
||||||
Route::resource('Packages', 'PackageController');
|
Route::resource('Packages', 'PackageController');
|
||||||
Route::resource('Packs', 'PackController');
|
Route::resource('Labels', 'LabelController');
|
||||||
|
|
||||||
Route::resource('Messages', 'MessageController');
|
Route::resource('Messages', 'MessageController');
|
||||||
Route::delete('Messages/User/{User}', 'MessageController@destroyUserMessages');
|
Route::delete('Messages/User/{User}', 'MessageController@destroyUserMessages');
|
||||||
Route::post('/Package/Verify/{Package}', 'PackageController@verifyPackage');
|
Route::post('/Package/Verify/{Package}', 'PackageController@verifyPackage');
|
||||||
Route::get('/GetItems', 'ItemController@getItems');
|
Route::get('/GetItems', 'ItemController@getItems');
|
||||||
Route::get('/GetPackages', 'PackageController@getPackages');
|
Route::get('/GetPackages', 'PackageController@getPackages');
|
||||||
Route::get('/GetPacks', 'PackController@getPacks');
|
Route::get('/GetLabels', 'LabelController@getLabels');
|
||||||
|
|
||||||
Route::resource('Cycles', 'CycleController');
|
Route::resource('Cycles', 'CycleController');
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user