From ea1f6d1edb8da61772f4ed6a4ac51e8463d566b1 Mon Sep 17 00:00:00 2001 From: Jerry Yan <792602257@qq.com> Date: Tue, 24 Jun 2025 11:46:26 +0800 Subject: [PATCH] =?UTF-8?q?[xzgl]=E7=94=A8=E6=88=B7=E6=A1=A3=E6=A1=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/xzgl/controller/User.php | 82 ++++++++++++++++++++ app/xzgl/model/XzglProfile.php | 15 ++++ app/xzgl/view/main.html | 23 ++++++ app/xzgl/view/table.html | 23 ++++++ app/xzgl/view/user/form.html | 110 +++++++++++++++++++++++++++ app/xzgl/view/user/index.html | 46 +++++++++++ app/xzgl/view/user/index_search.html | 24 ++++++ 7 files changed, 323 insertions(+) create mode 100644 app/xzgl/controller/User.php create mode 100644 app/xzgl/model/XzglProfile.php create mode 100644 app/xzgl/view/main.html create mode 100644 app/xzgl/view/table.html create mode 100644 app/xzgl/view/user/form.html create mode 100644 app/xzgl/view/user/index.html create mode 100644 app/xzgl/view/user/index_search.html diff --git a/app/xzgl/controller/User.php b/app/xzgl/controller/User.php new file mode 100644 index 0000000..e299585 --- /dev/null +++ b/app/xzgl/controller/User.php @@ -0,0 +1,82 @@ +title = '用户档案管理'; + XzglProfile::mQuery()->layTable(function () { + + }, static function (QueryHelper $query) { + $query->rightJoin('jl_staff_user', 'jl_staff_user.id = jl_xzgl_profile.id') + ->field('jl_staff_user.id as staff_id, jl_staff_user.*, jl_xzgl_profile.*') + ->with('user'); + }); + } + + /** + * 编辑用户档案 + * @auth true + * @return void + */ + public function edit() + { + $data = $this->_vali([ + 'id.require' => '用户ID不能为空', + ]); + $sys_user = SystemUser::mk()->findOrEmpty($data['id']); + if ($sys_user->isEmpty()) $this->error('用户不存在!'); + XzglProfile::mForm('form'); + } + + protected function _form_filter(&$data) { + if ($this->request->isPost()) { + if (empty($data['lz_date'])) { + unset($data['lz_date']); + } + if (empty($data['rz_date'])) { + unset($data['rz_date']); + } + if (empty($data['zz_date'])) { + unset($data['zz_date']); + } + if (empty($data['birthday'])) { + unset($data['birthday']); + } + } + } + + /** + * 清空用户档案 + * @auth true + * @return void + */ + public function clear() + { + $data = $this->_vali([ + 'id.require' => '用户ID不能为空', + ]); + $sys_user = SystemUser::mk()->findOrEmpty($data['id']); + if ($sys_user->isEmpty()) $this->error('用户不存在!'); + if ($this->request->isPost()) { + XzglProfile::mk()->where(['id' => $data['id']])->delete(); + } + $this->success('清空成功!'); + } +} \ No newline at end of file diff --git a/app/xzgl/model/XzglProfile.php b/app/xzgl/model/XzglProfile.php new file mode 100644 index 0000000..684b441 --- /dev/null +++ b/app/xzgl/model/XzglProfile.php @@ -0,0 +1,15 @@ +hasOne(StaffUser::class, 'id', 'id')->with(['dept', 'sys_user']); + } +} \ No newline at end of file diff --git a/app/xzgl/view/main.html b/app/xzgl/view/main.html new file mode 100644 index 0000000..a698dd7 --- /dev/null +++ b/app/xzgl/view/main.html @@ -0,0 +1,23 @@ +
+ {block name='style'}{/block} + {block name='header'} + {notempty name='title'} +
+ {$title|lang} +
{block name='button'}{/block}
+
+ {/notempty} + {/block} +
+
+
+ {notempty name='showErrorMessage'} +
+ {:lang('系统提示:')}{$showErrorMessage|raw} +
+ {/notempty} + {block name='content'}{/block} +
+
+ {block name='script'}{/block} +
\ No newline at end of file diff --git a/app/xzgl/view/table.html b/app/xzgl/view/table.html new file mode 100644 index 0000000..fef73fe --- /dev/null +++ b/app/xzgl/view/table.html @@ -0,0 +1,23 @@ +
+ {block name='style'}{/block} + {block name='header'} + {notempty name='title'} +
+ {$title|lang} +
{block name='button'}{/block}
+
+ {/notempty} + {/block} +
+
+
+ {notempty name='showErrorMessage'} +
+ {:lang('系统提示:')}{$showErrorMessage|raw} +
+ {/notempty} + {block name='content'}{/block} +
+
+ {block name='script'}{/block} +
\ No newline at end of file diff --git a/app/xzgl/view/user/form.html b/app/xzgl/view/user/form.html new file mode 100644 index 0000000..4e0adce --- /dev/null +++ b/app/xzgl/view/user/form.html @@ -0,0 +1,110 @@ +
+
+
+ 职位信息 +
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+
+ 基础信息 +
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+
+ 银行信息 +
+ +
+ +
+
+
+ +
+ +
+
+
+
+ 备注 +
+ +
+ +
+
+
+
+
+ {notempty name='$get.id'}{/notempty} + +
+ + +
+
+ \ No newline at end of file diff --git a/app/xzgl/view/user/index.html b/app/xzgl/view/user/index.html new file mode 100644 index 0000000..e74a431 --- /dev/null +++ b/app/xzgl/view/user/index.html @@ -0,0 +1,46 @@ +{extend name='table'} + +{block name="button"} +{/block} + +{block name="content"} +
+ {include file="user/index_search"} +
+
+ + +{/block} \ No newline at end of file diff --git a/app/xzgl/view/user/index_search.html b/app/xzgl/view/user/index_search.html new file mode 100644 index 0000000..a4ab4d0 --- /dev/null +++ b/app/xzgl/view/user/index_search.html @@ -0,0 +1,24 @@ +
+ {:lang('条件搜索')} + +
\ No newline at end of file