generated from liutk/owl-admin-base
Update
parent
5935145ce0
commit
dcdaa909c7
|
|
@ -4,10 +4,7 @@ namespace App\Admin\Controllers\Finance;
|
||||||
|
|
||||||
use App\Admin\Controllers\AdminController;
|
use App\Admin\Controllers\AdminController;
|
||||||
use App\Admin\Filters\LedgerFilter;
|
use App\Admin\Filters\LedgerFilter;
|
||||||
use App\Admin\Filters\LedgerItemFilter;
|
|
||||||
use App\Models\Keyword;
|
|
||||||
use App\Models\Ledger;
|
use App\Models\Ledger;
|
||||||
use App\Models\LedgerItem;
|
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
use Illuminate\Support\Facades\DB;
|
use Illuminate\Support\Facades\DB;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -4,12 +4,11 @@ namespace App\Admin\Controllers\Finance;
|
||||||
|
|
||||||
use App\Admin\Controllers\AdminController;
|
use App\Admin\Controllers\AdminController;
|
||||||
use App\Admin\Services\Finance\LedgerService;
|
use App\Admin\Services\Finance\LedgerService;
|
||||||
use App\Enums\LedgerStatus;
|
|
||||||
use App\Models\Ledger;
|
use App\Models\Ledger;
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
use Illuminate\Support\Facades\Validator;
|
use Illuminate\Support\Facades\Validator;
|
||||||
use Illuminate\Validation\Rule;
|
|
||||||
use Slowlyo\OwlAdmin\Admin;
|
use Slowlyo\OwlAdmin\Admin;
|
||||||
|
use Slowlyo\OwlAdmin\Renderers\DrawerAction;
|
||||||
use Slowlyo\OwlAdmin\Renderers\Form;
|
use Slowlyo\OwlAdmin\Renderers\Form;
|
||||||
use Slowlyo\OwlAdmin\Renderers\Page;
|
use Slowlyo\OwlAdmin\Renderers\Page;
|
||||||
|
|
||||||
|
|
@ -50,6 +49,9 @@ class LedgerController extends AdminController
|
||||||
return $this->response()->success($page);
|
return $this->response()->success($page);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改总账金额
|
||||||
|
*/
|
||||||
public function updateLedgerAmount($id, Request $request)
|
public function updateLedgerAmount($id, Request $request)
|
||||||
{
|
{
|
||||||
$validator = Validator::make(
|
$validator = Validator::make(
|
||||||
|
|
@ -62,15 +64,13 @@ class LedgerController extends AdminController
|
||||||
],
|
],
|
||||||
);
|
);
|
||||||
|
|
||||||
if ($validator->fails()) {
|
admin_abort_if($validator->fails(), $validator->errors()->first());
|
||||||
return $this->response()->fail($validator->errors()->first());
|
|
||||||
}
|
|
||||||
|
|
||||||
|
/** @var Ledger */
|
||||||
$ledger = Ledger::findOrFail($id);
|
$ledger = Ledger::findOrFail($id);
|
||||||
|
$ledger->forceFill([
|
||||||
$ledger->update([
|
|
||||||
'ledger_amount' => $request->input('ledger_amount'),
|
'ledger_amount' => $request->input('ledger_amount'),
|
||||||
]);
|
])->save();
|
||||||
|
|
||||||
return $this->response()->success(null, '修改成功');
|
return $this->response()->success(null, '修改成功');
|
||||||
}
|
}
|
||||||
|
|
@ -90,9 +90,10 @@ class LedgerController extends AdminController
|
||||||
->labelField('title')
|
->labelField('title')
|
||||||
->valueField('id')
|
->valueField('id')
|
||||||
->clearable()
|
->clearable()
|
||||||
->columnRatio(3),
|
->columnRatio(4),
|
||||||
amis()->DateRangeControl('date_range', __('finance.ledger.date'))
|
amis()->DateRangeControl('date_range', __('finance.ledger.date'))
|
||||||
->valueFormat('YYYY-MM-DD'),
|
->valueFormat('YYYY-MM-DD')
|
||||||
|
->columnRatio(4),
|
||||||
]),
|
]),
|
||||||
]))
|
]))
|
||||||
->columns([
|
->columns([
|
||||||
|
|
@ -113,9 +114,6 @@ class LedgerController extends AdminController
|
||||||
$this->rowActions([
|
$this->rowActions([
|
||||||
$this->rowEditLedgerAmountButton()
|
$this->rowEditLedgerAmountButton()
|
||||||
->visible(Admin::user()->can('admin.finance.ledgers.update_ledger_amount')),
|
->visible(Admin::user()->can('admin.finance.ledgers.update_ledger_amount')),
|
||||||
// $this->rowEditButton(true)
|
|
||||||
// ->visible(Admin::user()->can('admin.finance.ledgers.update'))
|
|
||||||
// ->visibleOn('${ledger_status == 1 || ledger_status == 4}'),
|
|
||||||
$this->rowShowButton()
|
$this->rowShowButton()
|
||||||
->visible(Admin::user()->can('admin.finance.ledgers.view')),
|
->visible(Admin::user()->can('admin.finance.ledgers.view')),
|
||||||
]),
|
]),
|
||||||
|
|
@ -165,19 +163,18 @@ class LedgerController extends AdminController
|
||||||
'span' => 3
|
'span' => 3
|
||||||
],
|
],
|
||||||
['label' => __('finance.ledger.photos'), 'content' => amis()->Images()->enlargeAble()->source('${photos}')->enlargeWithGallary(), 'span' => 3],
|
['label' => __('finance.ledger.photos'), 'content' => amis()->Images()->enlargeAble()->source('${photos}')->enlargeWithGallary(), 'span' => 3],
|
||||||
// ['label' => __('finance.ledger.ledger_status'), 'content' => amis()->Mapping()->map(LedgerStatus::labelMap())->value('${ledger_status}'), 'span' => 3],
|
|
||||||
]),
|
]),
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function rowEditLedgerAmountButton()
|
protected function rowEditLedgerAmountButton(): DrawerAction
|
||||||
{
|
{
|
||||||
return amis()->DialogAction()
|
return amis()->DrawerAction()
|
||||||
->icon('fa-regular fa-pen-to-square')
|
->icon('fa-regular fa-pen-to-square')
|
||||||
->label(__('finance.ledger.ledger_amount'))
|
->label(__('finance.ledger.ledger_amount'))
|
||||||
->level('link')
|
->level('link')
|
||||||
->dialog(
|
->drawer(
|
||||||
amis()->Dialog()->title(__('finance.ledger.ledger_amount'))->body([
|
amis()->Drawer()->title(__('finance.ledger.ledger_amount'))->body([
|
||||||
amis()->Form()->title('')
|
amis()->Form()->title('')
|
||||||
->api('post:'.admin_url('finance/ledgers/${id}/ledger-amount'))
|
->api('post:'.admin_url('finance/ledgers/${id}/ledger-amount'))
|
||||||
->body([
|
->body([
|
||||||
|
|
@ -188,7 +185,7 @@ class LedgerController extends AdminController
|
||||||
->showSteps(false)
|
->showSteps(false)
|
||||||
->required(),
|
->required(),
|
||||||
]),
|
]),
|
||||||
])
|
])->size('lg')
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -4,14 +4,7 @@ namespace App\Admin\Controllers\Finance;
|
||||||
|
|
||||||
use App\Admin\Controllers\AdminController;
|
use App\Admin\Controllers\AdminController;
|
||||||
use App\Admin\Services\Finance\ReimbursementService;
|
use App\Admin\Services\Finance\ReimbursementService;
|
||||||
use App\Enums\ReimbursementStatus;
|
|
||||||
use App\Models\Reimbursement;
|
|
||||||
use App\Traits\HasCheckActions;
|
|
||||||
use Illuminate\Http\Request;
|
|
||||||
use Illuminate\Support\Facades\Validator;
|
|
||||||
use Illuminate\Validation\Rule;
|
|
||||||
use Slowlyo\OwlAdmin\Admin;
|
use Slowlyo\OwlAdmin\Admin;
|
||||||
use Slowlyo\OwlAdmin\Renderers\DialogAction;
|
|
||||||
use Slowlyo\OwlAdmin\Renderers\Form;
|
use Slowlyo\OwlAdmin\Renderers\Form;
|
||||||
use Slowlyo\OwlAdmin\Renderers\Page;
|
use Slowlyo\OwlAdmin\Renderers\Page;
|
||||||
|
|
||||||
|
|
@ -20,8 +13,6 @@ use Slowlyo\OwlAdmin\Renderers\Page;
|
||||||
*/
|
*/
|
||||||
class ReimbursementController extends AdminController
|
class ReimbursementController extends AdminController
|
||||||
{
|
{
|
||||||
use HasCheckActions;
|
|
||||||
|
|
||||||
protected string $serviceName = ReimbursementService::class;
|
protected string $serviceName = ReimbursementService::class;
|
||||||
|
|
||||||
public function list(): Page
|
public function list(): Page
|
||||||
|
|
@ -40,16 +31,10 @@ class ReimbursementController extends AdminController
|
||||||
->source(admin_url('api/keywords/tree-list?parent_key=reimbursement_type'))
|
->source(admin_url('api/keywords/tree-list?parent_key=reimbursement_type'))
|
||||||
->labelField('name')
|
->labelField('name')
|
||||||
->valueField('key'),
|
->valueField('key'),
|
||||||
// amis()->SelectControl('status', __('finance.reimbursement.status'))
|
|
||||||
// ->multiple()
|
|
||||||
// ->options(ReimbursementStatus::options()),
|
|
||||||
]),
|
|
||||||
amis()->GroupControl()->mode('horizontal')->body([
|
|
||||||
amis()->InputDatetimeRange()
|
amis()->InputDatetimeRange()
|
||||||
->name('datetime_range')
|
->name('created_at')
|
||||||
->label(__('finance.reimbursement.created_at'))
|
->label(__('finance.reimbursement.created_at'))
|
||||||
->format('YYYY-MM-DD HH:mm:ss')
|
->format('YYYY-MM-DD HH:mm:ss'),
|
||||||
->columnRatio(4),
|
|
||||||
]),
|
]),
|
||||||
]))
|
]))
|
||||||
->columns([
|
->columns([
|
||||||
|
|
@ -58,11 +43,6 @@ class ReimbursementController extends AdminController
|
||||||
amis()->TableColumn()->name('expense')->label(__('finance.reimbursement.expense')),
|
amis()->TableColumn()->name('expense')->label(__('finance.reimbursement.expense')),
|
||||||
amis()->TableColumn()->name('reason')->label(__('finance.reimbursement.reason')),
|
amis()->TableColumn()->name('reason')->label(__('finance.reimbursement.reason')),
|
||||||
amis()->TableColumn()->name('type.name')->label(__('finance.reimbursement.type')),
|
amis()->TableColumn()->name('type.name')->label(__('finance.reimbursement.type')),
|
||||||
// amis()->TableColumn()
|
|
||||||
// ->name('reimbursement_status')
|
|
||||||
// ->label(__('finance.reimbursement.status'))
|
|
||||||
// ->type('mapping')
|
|
||||||
// ->map(ReimbursementStatus::labelMap()),
|
|
||||||
amis()->TableColumn()->name('created_at')->label(__('finance.reimbursement.created_at')),
|
amis()->TableColumn()->name('created_at')->label(__('finance.reimbursement.created_at')),
|
||||||
$this->rowActions([
|
$this->rowActions([
|
||||||
$this->rowShowButton()->visible(Admin::user()->can('admin.finance.reimbursements.view')),
|
$this->rowShowButton()->visible(Admin::user()->can('admin.finance.reimbursements.view')),
|
||||||
|
|
@ -80,7 +60,6 @@ class ReimbursementController extends AdminController
|
||||||
['label' => __('finance.reimbursement.expense'), 'content' => '${expense}'],
|
['label' => __('finance.reimbursement.expense'), 'content' => '${expense}'],
|
||||||
['label' => __('finance.reimbursement.reason'), 'content' => '${reason}'],
|
['label' => __('finance.reimbursement.reason'), 'content' => '${reason}'],
|
||||||
['label' => __('finance.reimbursement.type'), 'content' => '${type.name}'],
|
['label' => __('finance.reimbursement.type'), 'content' => '${type.name}'],
|
||||||
// ['label' => __('finance.reimbursement.status'), 'content' => amis()->Mapping()->map(ReimbursementStatus::labelMap())->value('${reimbursement_status}')],
|
|
||||||
['label' => __('finance.reimbursement.created_at'), 'content' => '${created_at}'],
|
['label' => __('finance.reimbursement.created_at'), 'content' => '${created_at}'],
|
||||||
['label' => __('finance.reimbursement.photos'), 'content' => amis()->Images()->enlargeAble()->source('${photos}')->enlargeWithGallary(), 'span' => 3],
|
['label' => __('finance.reimbursement.photos'), 'content' => amis()->Images()->enlargeAble()->source('${photos}')->enlargeWithGallary(), 'span' => 3],
|
||||||
]),
|
]),
|
||||||
|
|
|
||||||
|
|
@ -4,11 +4,6 @@ namespace App\Admin\Controllers\Finance;
|
||||||
|
|
||||||
use App\Admin\Controllers\AdminController;
|
use App\Admin\Controllers\AdminController;
|
||||||
use App\Admin\Services\Finance\StoreMasterCommissionService;
|
use App\Admin\Services\Finance\StoreMasterCommissionService;
|
||||||
use App\Enums\StoreMasterCommissionApprovalStatus;
|
|
||||||
use App\Models\StoreMasterCommission;
|
|
||||||
use Illuminate\Http\Request;
|
|
||||||
use Illuminate\Support\Facades\Validator;
|
|
||||||
use Illuminate\Validation\Rule;
|
|
||||||
use Slowlyo\OwlAdmin\Admin;
|
use Slowlyo\OwlAdmin\Admin;
|
||||||
use Slowlyo\OwlAdmin\Renderers\Form;
|
use Slowlyo\OwlAdmin\Renderers\Form;
|
||||||
use Slowlyo\OwlAdmin\Renderers\Page;
|
use Slowlyo\OwlAdmin\Renderers\Page;
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,6 @@
|
||||||
namespace App\Admin\Controllers\Finance;
|
namespace App\Admin\Controllers\Finance;
|
||||||
|
|
||||||
use App\Admin\Controllers\AdminController;
|
use App\Admin\Controllers\AdminController;
|
||||||
use App\Admin\Filters\LedgerFilter;
|
|
||||||
use App\Admin\Filters\LedgerItemFilter;
|
use App\Admin\Filters\LedgerItemFilter;
|
||||||
use App\Admin\Filters\StoreFilter;
|
use App\Admin\Filters\StoreFilter;
|
||||||
use App\Models\Ledger;
|
use App\Models\Ledger;
|
||||||
|
|
|
||||||
|
|
@ -17,11 +17,6 @@ class LedgerFilter extends ModelFilter
|
||||||
$this->whereBetween('date', explode(',', $dateRange));
|
$this->whereBetween('date', explode(',', $dateRange));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function status($status)
|
|
||||||
{
|
|
||||||
$this->whereIn('ledger_status', explode(',', $status));
|
|
||||||
}
|
|
||||||
|
|
||||||
public function region($region)
|
public function region($region)
|
||||||
{
|
{
|
||||||
if (array_key_exists('store_id', $this->input) || ! is_array($region)) {
|
if (array_key_exists('store_id', $this->input) || ! is_array($region)) {
|
||||||
|
|
|
||||||
|
|
@ -16,9 +16,9 @@ class ReimbursementFilter extends ModelFilter
|
||||||
$this->where('reimbursement_type_id', explode(',', $id));
|
$this->where('reimbursement_type_id', explode(',', $id));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function datetimeRange($datetimeRange)
|
public function createdAt($createdAt)
|
||||||
{
|
{
|
||||||
$this->whereBetween('created_at', explode(',', $datetimeRange));
|
$this->whereBetween('created_at', explode(',', $createdAt));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function status($status)
|
public function status($status)
|
||||||
|
|
|
||||||
|
|
@ -4,9 +4,7 @@ namespace App\Admin\Services\Finance;
|
||||||
|
|
||||||
use App\Admin\Filters\LedgerFilter;
|
use App\Admin\Filters\LedgerFilter;
|
||||||
use App\Admin\Services\BaseService;
|
use App\Admin\Services\BaseService;
|
||||||
use App\Enums\LedgerStatus;
|
|
||||||
use App\Models\Ledger;
|
use App\Models\Ledger;
|
||||||
use Illuminate\Support\Facades\Validator;
|
|
||||||
|
|
||||||
class LedgerService extends BaseService
|
class LedgerService extends BaseService
|
||||||
{
|
{
|
||||||
|
|
@ -16,32 +14,8 @@ class LedgerService extends BaseService
|
||||||
|
|
||||||
protected array $withRelationships = ['store'];
|
protected array $withRelationships = ['store'];
|
||||||
|
|
||||||
public function update($primaryKey, $data): bool
|
public function sortColumn()
|
||||||
{
|
{
|
||||||
Validator::validate($data, [
|
return 'id';
|
||||||
'actual_commission' => ['bail', 'required', 'numeric'],
|
|
||||||
'actual_income' => ['bail', 'required', 'numeric'],
|
|
||||||
], [], [
|
|
||||||
'actual_commission' => __('finance.ledger.actual_commission'),
|
|
||||||
'actual_income' => __('finance.ledger.actual_income'),
|
|
||||||
]);
|
|
||||||
|
|
||||||
$model = $this->query()->whereKey($primaryKey)->firstOrFail();
|
|
||||||
|
|
||||||
switch ($model->ledger_status) {
|
|
||||||
case LedgerStatus::Processing:
|
|
||||||
abort(400, '不能编辑待审核的上报数据');
|
|
||||||
break;
|
|
||||||
|
|
||||||
case LedgerStatus::Passed:
|
|
||||||
abort(400, '不能编辑已完成的上报数据');
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
return $model->update([
|
|
||||||
'actual_commission' => $data['actual_commission'],
|
|
||||||
'actual_income' => $data['actual_income'],
|
|
||||||
'ledger_status' => LedgerStatus::Processing,
|
|
||||||
]);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -13,4 +13,9 @@ class ReimbursementService extends BaseService
|
||||||
protected string $modelFilterName = ReimbursementFilter::class;
|
protected string $modelFilterName = ReimbursementFilter::class;
|
||||||
|
|
||||||
protected array $withRelationships = ['employee', 'type'];
|
protected array $withRelationships = ['employee', 'type'];
|
||||||
|
|
||||||
|
public function sortColumn()
|
||||||
|
{
|
||||||
|
return 'id';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,6 @@ namespace App\Admin\Services\Finance;
|
||||||
|
|
||||||
use App\Admin\Filters\StoreMasterCommissionFilter;
|
use App\Admin\Filters\StoreMasterCommissionFilter;
|
||||||
use App\Admin\Services\BaseService;
|
use App\Admin\Services\BaseService;
|
||||||
use App\Enums\StoreMasterCommissionApprovalStatus;
|
|
||||||
use App\Models\Store;
|
use App\Models\Store;
|
||||||
use App\Models\StoreMasterCommission;
|
use App\Models\StoreMasterCommission;
|
||||||
use Illuminate\Support\Facades\Validator;
|
use Illuminate\Support\Facades\Validator;
|
||||||
|
|
@ -19,59 +18,78 @@ class StoreMasterCommissionService extends BaseService
|
||||||
|
|
||||||
public function store($data): bool
|
public function store($data): bool
|
||||||
{
|
{
|
||||||
$validated = Validator::validate($data, [
|
$validator = Validator::make(
|
||||||
|
data: $data,
|
||||||
|
rules: [
|
||||||
'month' => ['bail', 'required', 'date_format:Y-m'],
|
'month' => ['bail', 'required', 'date_format:Y-m'],
|
||||||
'store_id' => ['bail', 'required', 'int'],
|
'store_id' => ['bail', 'required', 'int'],
|
||||||
'commission' => ['bail', 'required', 'numeric'],
|
'commission' => ['bail', 'required', 'numeric'],
|
||||||
'daily_expenses' => ['bail', 'required', 'numeric'],
|
'daily_expenses' => ['bail', 'required', 'numeric'],
|
||||||
'employee_expenses' => ['bail', 'required', 'numeric'],
|
'employee_expenses' => ['bail', 'required', 'numeric'],
|
||||||
'other_expenses' => ['bail', 'required', 'numeric'],
|
'other_expenses' => ['bail', 'required', 'numeric'],
|
||||||
], [], [
|
],
|
||||||
|
attributes: [
|
||||||
'month' => __('finance.store_master_commission.month'),
|
'month' => __('finance.store_master_commission.month'),
|
||||||
'store_id' => __('finance.store_master_commission.store'),
|
'store_id' => __('finance.store_master_commission.store'),
|
||||||
'commission' => __('finance.store_master_commission.commission'),
|
'commission' => __('finance.store_master_commission.commission'),
|
||||||
'daily_expenses' => __('finance.store_master_commission.daily_expenses'),
|
'daily_expenses' => __('finance.store_master_commission.daily_expenses'),
|
||||||
'employee_expenses' => __('finance.store_master_commission.employee_expenses'),
|
'employee_expenses' => __('finance.store_master_commission.employee_expenses'),
|
||||||
'other_expenses' => __('finance.store_master_commission.other_expenses'),
|
'other_expenses' => __('finance.store_master_commission.other_expenses'),
|
||||||
]);
|
],
|
||||||
|
|
||||||
$store = Store::findOrFail($validated['store_id']);
|
|
||||||
|
|
||||||
$this->modelName::create(
|
|
||||||
array_merge($validated, ['store_master_id' => $store->master_id])
|
|
||||||
);
|
);
|
||||||
|
|
||||||
|
admin_abort_if($validator->fails(), $validator->errors()->first());
|
||||||
|
|
||||||
|
$attributes = $validator->validated();
|
||||||
|
|
||||||
|
$store = Store::findOrFail($attributes['store_id']);
|
||||||
|
|
||||||
|
$attributes['store_master_id'] = $store->master_id;
|
||||||
|
|
||||||
|
$this->modelName::create($attributes);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function update($primaryKey, $data): bool
|
public function update($primaryKey, $data): bool
|
||||||
{
|
{
|
||||||
$validated = Validator::validate($data, [
|
$validator = Validator::make(
|
||||||
'month' => ['bail', 'required', 'date_format:Y-m'],
|
data: $data,
|
||||||
'store_id' => ['bail', 'required', 'int'],
|
rules: [
|
||||||
'commission' => ['bail', 'required', 'numeric'],
|
'month' => ['filled', 'required', 'date_format:Y-m'],
|
||||||
'daily_expenses' => ['bail', 'required', 'numeric'],
|
'store_id' => ['filled', 'required', 'int'],
|
||||||
'employee_expenses' => ['bail', 'required', 'numeric'],
|
'commission' => ['filled', 'required', 'numeric'],
|
||||||
'other_expenses' => ['bail', 'required', 'numeric'],
|
'daily_expenses' => ['filled', 'required', 'numeric'],
|
||||||
], [], [
|
'employee_expenses' => ['filled', 'required', 'numeric'],
|
||||||
|
'other_expenses' => ['filled', 'required', 'numeric'],
|
||||||
|
],
|
||||||
|
attributes: [
|
||||||
'month' => __('finance.store_master_commission.month'),
|
'month' => __('finance.store_master_commission.month'),
|
||||||
'store_id' => __('finance.store_master_commission.store'),
|
'store_id' => __('finance.store_master_commission.store'),
|
||||||
'commission' => __('finance.store_master_commission.commission'),
|
'commission' => __('finance.store_master_commission.commission'),
|
||||||
'daily_expenses' => __('finance.store_master_commission.daily_expenses'),
|
'daily_expenses' => __('finance.store_master_commission.daily_expenses'),
|
||||||
'employee_expenses' => __('finance.store_master_commission.employee_expenses'),
|
'employee_expenses' => __('finance.store_master_commission.employee_expenses'),
|
||||||
'other_expenses' => __('finance.store_master_commission.other_expenses'),
|
'other_expenses' => __('finance.store_master_commission.other_expenses'),
|
||||||
]);
|
],
|
||||||
|
);
|
||||||
|
|
||||||
|
admin_abort_if($validator->fails(), $validator->errors()->first());
|
||||||
|
|
||||||
|
$attributes = $validator->validated();
|
||||||
|
|
||||||
$model = $this->query()->whereKey($primaryKey)->firstOrFail();
|
$model = $this->query()->whereKey($primaryKey)->firstOrFail();
|
||||||
|
|
||||||
if ($model->approval_status !== StoreMasterCommissionApprovalStatus::Rejected) {
|
// 如果门店发生改变,则更新店长
|
||||||
abort(400, '只能编辑状态是“未通过”的店长提成');
|
if ($model->store_id != $attributes['store_id']) {
|
||||||
|
$store = Store::findOrFail($attributes['store_id']);
|
||||||
|
$attributes['store_master_id'] = $store->master_id;
|
||||||
}
|
}
|
||||||
|
|
||||||
$attributes = array_merge(
|
|
||||||
$validated, ['approval_status' => StoreMasterCommissionApprovalStatus::Pending]
|
|
||||||
);
|
|
||||||
|
|
||||||
return $model->update($attributes);
|
return $model->update($attributes);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function sortColumn()
|
||||||
|
{
|
||||||
|
return 'id';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue