diff --git a/addons/shopro_huifu/application/admin/controller/shopro_huifu/Onboard.php b/addons/shopro_huifu/application/admin/controller/shopro_huifu/Onboard.php index bdd4324..b128ba4 100644 --- a/addons/shopro_huifu/application/admin/controller/shopro_huifu/Onboard.php +++ b/addons/shopro_huifu/application/admin/controller/shopro_huifu/Onboard.php @@ -2,7 +2,10 @@ namespace app\admin\controller\shopro_huifu; +use addons\shopro_huifu\library\onboard\HuifuOnboardAdminService; use addons\shopro_huifu\library\onboard\HuifuOnboardAdminView; +use addons\shopro_huifu\library\onboard\HuifuOnboardBankBranch; +use addons\shopro_huifu\library\onboard\HuifuOnboardError; use addons\shopro_huifu\library\onboard\HuifuOnboardQuery; use addons\shopro_huifu\library\onboard\HuifuOnboardService; use addons\shopro_huifu\model\Onboard as OnboardModel; @@ -10,6 +13,8 @@ use app\admin\controller\shopro\Base; class Onboard extends Base { + protected $noNeedRight = ['userRoles', 'searchBranch']; + public function index() { if ($this->request->isAjax()) { @@ -74,6 +79,78 @@ class Onboard extends Base } } + public function add() + { + if ($this->request->isPost()) { + return $this->persistDraft(); + } + return $this->view->fetch(); + } + + public function edit($ids = null) + { + $row = OnboardModel::get($ids); + if (!$row) { + $this->error('记录不存在'); + } + if ($this->request->isPost()) { + return $this->persistDraft($row); + } + $this->assignconfig('onboardForm', HuifuOnboardAdminView::formDataFromRow($row)); + return $this->view->fetch('shopro_huifu/onboard/add'); + } + + public function userRoles() + { + $userId = intval($this->request->get('user_id', 0)); + if ($userId <= 0) { + $this->error('请选择用户'); + } + $user = HuifuOnboardAdminView::enrichListRow(['user_id' => $userId, 'payload' => '']); + $this->success('ok', null, [ + 'user' => [ + 'id' => $userId, + 'nickname' => $user['user_nickname'] ?? '', + 'mobile' => $user['user_mobile'] ?? '', + ], + 'roles' => HuifuOnboardAdminView::listRolesForUser($userId), + ]); + } + + public function searchBranch() + { + $keyword = trim((string) $this->request->get('keyword', '')); + $areaId = trim((string) $this->request->get('area_id', '')); + $this->success('ok', null, HuifuOnboardBankBranch::search($keyword, $areaId, 20)); + } + + protected function persistDraft($row = null) + { + $userId = intval($this->request->post('user_id', 0)); + $roleType = trim((string) $this->request->post('role_type', '')); + $roleRefId = intval($this->request->post('role_ref_id', 0)); + $form = $this->request->post('form/a', []); + if ($row) { + $userId = intval($row['user_id']); + $roleType = $row['role_type']; + $roleRefId = intval($row['role_ref_id']); + } + if (!$form || !is_array($form)) { + $this->error('请填写进件资料'); + } + try { + $service = new HuifuOnboardAdminService(); + $saved = $service->saveDraft($userId, $roleType, $roleRefId, $form); + $this->success('进件资料已保存,状态为待后台审核', null, [ + 'id' => $saved ? $saved['id'] : 0, + ]); + } catch (\InvalidArgumentException $e) { + $this->error($e->getMessage()); + } catch (\Throwable $e) { + $this->error(HuifuOnboardError::translate($e->getMessage())); + } + } + public function retry($ids = null) { $row = OnboardModel::get($ids); diff --git a/addons/shopro_huifu/application/admin/view/shopro_huifu/onboard/add.html b/addons/shopro_huifu/application/admin/view/shopro_huifu/onboard/add.html new file mode 100644 index 0000000..18f46cd --- /dev/null +++ b/addons/shopro_huifu/application/admin/view/shopro_huifu/onboard/add.html @@ -0,0 +1,180 @@ + + + + +
+ +
用户与角色
+ + + + + + + {{ userLabel }} + + + + + {{ item.role_label }} + {{ item.disabled_reason || (item.onboard_status ? '已有记录:' + item.onboard_status : '新建') }} + + + + + {{ roleLabel }} + + +
账户类型
+ + + 个人 + 个体户/企业 + + + + + 对私 + 对公 + + + + + + + +
结算账户信息
+ + + + + +
已选:{{ form.branch_name }}({{ form.branch_code }})
+
+
+
{{ item.branch_name }}
+
{{ item.branch_code }}
+
+
+
+ + + + + +
点击上传
+
+
建议上传,可加快审核
+
+ + +
点击上传
+
+
+ + + {{ isEdit ? '保存修改' : '保存进件资料' }} + 取消 + +
+
diff --git a/addons/shopro_huifu/application/admin/view/shopro_huifu/onboard/index.html b/addons/shopro_huifu/application/admin/view/shopro_huifu/onboard/index.html index af7e9be..3cf659b 100644 --- a/addons/shopro_huifu/application/admin/view/shopro_huifu/onboard/index.html +++ b/addons/shopro_huifu/application/admin/view/shopro_huifu/onboard/index.html @@ -33,6 +33,7 @@ + 新建进件 刷新列表 @@ -55,9 +56,10 @@ - +