1
0
Fork 0

admin patient_record update saler_id,inviter_id

master
panliang 2023-10-26 15:21:30 +08:00
parent bfe76cc928
commit c20c21fb2d
2 changed files with 51 additions and 24 deletions

View File

@ -32,7 +32,7 @@ class PatientRecordController extends AdminController
->filterTogglable(false) ->filterTogglable(false)
->columnsTogglable(false) ->columnsTogglable(false)
->headerToolbar([ ->headerToolbar([
$this->createButton(true, 'lg'), $this->createButton(),
$this->exportAction(), $this->exportAction(),
]) ])
->filter($this->baseFilter()->actions()->body([ ->filter($this->baseFilter()->actions()->body([
@ -78,10 +78,10 @@ class PatientRecordController extends AdminController
public function form($isEdit, $patient_id = null): Form public function form($isEdit, $patient_id = null): Form
{ {
$patient_element = amisMake()->SelectControl() $patient_element = amisMake()->SelectControl()
->options($this->getPatientOptions())
->searchable()
->name('patient_id') ->name('patient_id')
->label(__('patient-record.patient_id')) ->label(__('patient-record.patient_id'))
->options($this->getPatientOptions())
->searchable()
->onEvent([ ->onEvent([
'change' => [ 'change' => [
'actions' => [ 'actions' => [
@ -93,21 +93,52 @@ class PatientRecordController extends AdminController
if ($patient_id) { if ($patient_id) {
$patient_element->value($patient_id); $patient_element->value($patient_id);
} }
return $this->baseForm()->body([ $elements = [
$patient_element, $patient_element,
amisMake()->SelectControl()->options($this->getIllnessOption())->name('illness_type_id')->label(__('patient-record.illness_type_id'))->required(), amisMake()->SelectControl()->options($this->getIllnessOption())->name('illness_type_id')->label(__('patient-record.illness_type_id'))->required(),
amisMake()->DateTimeControl()->name('treat_at')->label(__('patient-record.treat_at'))->value(now())->required(), amisMake()->DateTimeControl()->name('treat_at')->label(__('patient-record.treat_at'))->value(now())->required(),
amisMake()->SelectControl()->options($this->getAdminUserOptions())->searchable()->name('doctor_id')->label(__('patient-record.doctor_id'))->required(), ];
amisMake()->NumberControl()->name('origin_price')->label(__('patient-record.origin_price'))->required(), if ($isEdit) {
amisMake()->NumberControl()->name('sell_price')->label(__('patient-record.sell_price'))->required(), array_push($elements,
amisMake()->SelectControl()->options(OrderStatus::options())->name('order_status')->label(__('patient-record.order_status'))->default(OrderStatus::Success->value)->required(), amisMake()->Divider(),
amisMake()->GroupControl()->body([
amisMake()->NumberControl()->precision(2)->step(0.01)->name('origin_price')->label(__('patient-record.origin_price'))->required(),
amisMake()->NumberControl()->precision(2)->step(0.01)->name('sell_price')->label(__('patient-record.sell_price'))->required(),
amisMake()->SelectControl()->options(OrderStatus::options())->name('order_status')->label(__('patient-record.order_status'))->default(OrderStatus::Success->value)->required(),
]),
amisMake()->Divider(),
amisMake()->GroupControl()->body([
amisMake()->SelectControl()->options($this->getAdminUserOptions())->searchable()->name('doctor_id')->label(__('patient-record.doctor_id'))->required(),
amisMake()->NumberControl()->precision(2)->step(0.01)->name('doctor_money')->label(__('patient-record.doctor_money'))->required(),
]),
amisMake()->Divider(),
amisMake()->GroupControl()->body([
amisMake()->SelectControl()->options($this->getAdminUserOptions())->searchable()->name('inviter_id')->label(__('patient-record.inviter_id')),
amisMake()->NumberControl()->precision(2)->step(0.01)->name('inviter_money')->label(__('patient-record.inviter_money')),
]),
amisMake()->Divider(),
amisMake()->GroupControl()->body([
amisMake()->SelectControl()->options($this->getAdminUserOptions())->searchable()->name('saler_id')->label(__('patient-record.saler_id')),
amisMake()->NumberControl()->precision(2)->step(0.01)->name('saler_money')->label(__('patient-record.saler_money')),
]),
amisMake()->Divider()
);
} else {
array_push($elements,
amisMake()->SelectControl()->options($this->getAdminUserOptions())->searchable()->name('doctor_id')->label(__('patient-record.doctor_id'))->required(),
amisMake()->NumberControl()->precision(2)->step(0.01)->name('origin_price')->label(__('patient-record.origin_price'))->required(),
amisMake()->NumberControl()->precision(2)->step(0.01)->name('sell_price')->label(__('patient-record.sell_price'))->required(),
amisMake()->SelectControl()->options(OrderStatus::options())->name('order_status')->label(__('patient-record.order_status'))->default(OrderStatus::Success->value)->required(),
);
}
array_push($elements,
amisMake()->Service() amisMake()->Service()
->className('cxd-Form-item') ->className('cxd-Form-item')
->id('patient_record_form_content_service') ->id('patient_record_form_content_service')
->api(amisMake()->BaseApi()->method('get')->url(admin_url('api/category/content?id=${select_type_id}'))) ->api(amisMake()->BaseApi()->method('get')->url(admin_url('api/category/content?id=${select_type_id}')))
->initFetch(false) ->initFetch(false)
// ->body(Components::make()->fuEditorControl()->name('content')->label(__('patient-record.content'))), // ->body(Components::make()->fuEditorControl()->name('content')->label(__('patient-record.content'))),
->body(amisMake()->TextareaControl()->name('content')->label(__('patient-record.content'))), ->body(amisMake()->TextareaControl()->name('content')->label(__('patient-record.content'))),
amisMake()->ImageControl()->multiple()->receiver(admin_url('upload_image') . '?full-url=1')->name('images')->label(__('patient-record.images')), amisMake()->ImageControl()->multiple()->receiver(admin_url('upload_image') . '?full-url=1')->name('images')->label(__('patient-record.images')),
amisMake()->DateTimeControl()->name('next_treat_at')->label(__('patient-record.next_treat_at')), amisMake()->DateTimeControl()->name('next_treat_at')->label(__('patient-record.next_treat_at')),
amisMake()->SwitchControl()->name('is_notified')->label(__('patient-record.is_notified'))->trueValue(0)->falseValue(1), amisMake()->SwitchControl()->name('is_notified')->label(__('patient-record.is_notified'))->trueValue(0)->falseValue(1),
@ -115,7 +146,8 @@ class PatientRecordController extends AdminController
amisMake()->DateControl()->name('notify_at')->label(__('patient-record.notify_at')), amisMake()->DateControl()->name('notify_at')->label(__('patient-record.notify_at')),
// amisMake()->TextControl()->name('notify_remarks')->label(__('patient-record.notify_remarks')), // amisMake()->TextControl()->name('notify_remarks')->label(__('patient-record.notify_remarks')),
// amisMake()->TextControl()->label(__('patient-record.creator_id'))->name('creator_id')->value($this->user()->name)->readonly(), // amisMake()->TextControl()->label(__('patient-record.creator_id'))->name('creator_id')->value($this->user()->name)->readonly(),
]); );
return $this->baseForm()->body($elements);
} }
public function detail() public function detail()

View File

@ -65,24 +65,19 @@ class PatientRecordService extends BaseService
$data['type_id'] = $patient->type_id; $data['type_id'] = $patient->type_id;
$data['saler_id'] = $patient->saler_id; $data['saler_id'] = $patient->saler_id;
$data['inviter_id'] = $patient->inviter_id; $data['inviter_id'] = $patient->inviter_id;
if (data_get($data, 'doctor_id')) {
if (data_get($data, 'doctor_id') && !data_get($data, 'doctor_money')) {
$data['doctor_ratio'] = data_get($type->options, 'doctor_ratio', 0); $data['doctor_ratio'] = data_get($type->options, 'doctor_ratio', 0);
$data['doctor_money'] = floor($data['sell_price'] * $data['doctor_ratio']) / 100; $data['doctor_money'] = floor($data['sell_price'] * $data['doctor_ratio']) / 100;
} }
if (data_get($data, 'inviter_id')) { if (data_get($data, 'inviter_id') && !data_get($data, 'inviter_money')) {
$data['inviter_ratio'] = data_get($type->options, 'inviter_ratio', 0); $data['inviter_ratio'] = data_get($type->options, 'inviter_ratio', 0);
$data['inviter_money'] = floor($data['sell_price'] * $data['inviter_ratio']) / 100; $data['inviter_money'] = floor($data['sell_price'] * $data['inviter_ratio']) / 100;
} }
if (data_get($data, 'saler_id')) { if (data_get($data, 'saler_id') && !data_get($data, 'saler_money')) {
$data['saler_ratio'] = data_get($type->options, 'saler_ratio', 0); $data['saler_ratio'] = data_get($type->options, 'saler_ratio', 0);
$data['saler_money'] = floor($data['sell_price'] * $data['saler_ratio']) / 100; $data['saler_money'] = floor($data['sell_price'] * $data['saler_ratio']) / 100;
} }
} else {
if (data_get($data, 'sell_price')) {
$data['doctor_money'] = floor($data['sell_price'] * $model->doctor_ratio) / 100;
$data['inviter_money'] = floor($data['sell_price'] * $model->inviter_ratio) / 100;
$data['saler_money'] = floor($data['sell_price'] * $model->saler_ratio) / 100;
}
} }
return $data; return $data;