diff --git a/app/admin/controller/Erp/EmployeeController.php b/app/admin/controller/Erp/EmployeeController.php new file mode 100644 index 0000000..b00bdb9 --- /dev/null +++ b/app/admin/controller/Erp/EmployeeController.php @@ -0,0 +1,106 @@ +select()->toArray(); + return json([ + 'code' => 200, + 'msg' => '获取成功', + 'data' => $list + ]); + } + + /** + * 获取员工详情 + */ + public function getEmployeeDetail($id) + { + $detail = Employee::where('id', $id)->where('delete_time', null)->find()->toArray(); + $detail['leader_name'] = AdminUser::where('id', $detail['leader_id'])->value('name'); + $detail['parent_name'] = Employee::where('id', $detail['parent_id'])->value('org_name'); + return json([ + 'code' => 200, + 'msg' => '获取成功', + 'data' => $detail + ]); + } + + /** + * 创建员工 + */ + public function createEmployee() + { + $data = $this->request->post(); + $employee = Employee::create($data); + if ($employee) { + return json([ + 'code' => 200, + 'msg' => '创建成功', + 'data' => $employee + ]); + } else { + return json([ + 'code' => 500, + 'msg' => '创建失败', + ]); + } + } + + /** + * 编辑员工 + */ + public function editEmployee($id) + { + $data = $this->request->post(); + $employee = Employee::where('id', $id)->update($data); + if ($employee) { + return json([ + 'code' => 200, + 'msg' => '编辑成功', + 'data' => $employee + ]); + } else { + return json([ + 'code' => 500, + 'msg' => '编辑失败', + ]); + } + } + + /** + * 删除员工 + */ + public function deleteEmployee($id) + { + $employee = Employee::where('id', $id)->update(['delete_time' => date('Y-m-d H:i:s')]); + if ($employee) { + return json([ + 'code' => 200, + 'msg' => '删除成功', + ]); + } else { + return json([ + 'code' => 500, + 'msg' => '删除失败', + ]); + } + } +} diff --git a/app/admin/route/routes/erp.php b/app/admin/route/routes/erp.php index 530a038..fb73f77 100644 --- a/app/admin/route/routes/erp.php +++ b/app/admin/route/routes/erp.php @@ -9,3 +9,12 @@ Route::group('erp', function() { Route::post('editOrganization/:id', 'app\admin\controller\Erp\OrganizationController/editOrganization'); Route::delete('deleteOrganization/:id', 'app\admin\controller\Erp\OrganizationController/deleteOrganization'); }); + +// 员工管理路由 +Route::group('erp', function() { + Route::get('getEmployee', 'app\admin\controller\Erp\EmployeeController/getEmployee'); + Route::get('getEmployeeDetail/:id', 'app\admin\controller\Erp\EmployeeController/getEmployeeDetail'); + Route::post('createEmployee', 'app\admin\controller\Erp\EmployeeController/createEmployee'); + Route::post('editEmployee/:id', 'app\admin\controller\Erp\EmployeeController/editEmployee'); + Route::delete('deleteEmployee/:id', 'app\admin\controller\Erp\EmployeeController/deleteEmployee'); +}); \ No newline at end of file diff --git a/app/model/Erp/Employee.php b/app/model/Erp/Employee.php new file mode 100644 index 0000000..ee84a6c --- /dev/null +++ b/app/model/Erp/Employee.php @@ -0,0 +1,51 @@ + +// +---------------------------------------------------------------------- + +namespace app\model\Erp; + +use think\Model; +use think\model\concern\SoftDelete; + +/** + * 员工模型 + */ +class Employee extends Model +{ + // 启用软删除 + use SoftDelete; + + // 数据库表名 + protected $name = 'mete_apps_erp_employee'; + + // 字段类型转换 + protected $type = [ + 'id' => 'integer', + 'account' => 'string', + 'password' => 'string', + 'name' => 'string', + 'gender' => 'integer', + 'birthday' => 'date', + 'affiliate_unit' => 'string', + 'department' => 'string', + 'position' => 'string', + 'nation' => 'string', + 'phone' => 'string', + 'wechat' => 'string', + 'email' => 'string', + 'home_address' => 'string', + 'account_status' => 'integer', + 'create_time' => 'datetime', + 'update_time' => 'datetime', + 'delete_time' => 'datetime', + ]; + + +} diff --git a/app/model/Erp/Organization.php b/app/model/Erp/Organization.php index 50f2ba9..e731efd 100644 --- a/app/model/Erp/Organization.php +++ b/app/model/Erp/Organization.php @@ -35,6 +35,7 @@ class Organization extends Model 'sort' => 'integer', 'leader_id' => 'integer', 'remark' => 'string', + 'is_company' => 'integer', 'status' => 'integer', 'create_time' => 'datetime', 'update_time' => 'datetime',