From 9b9ff7f13ab65a11a81f8f085b2a5c21c9a15b8e Mon Sep 17 00:00:00 2001 From: zhenhui <1276357500@qq.com> Date: Thu, 19 Mar 2026 09:32:57 +0800 Subject: [PATCH] =?UTF-8?q?[=E7=A7=AF=E5=88=86=E5=95=86=E5=9F=8E]=E6=94=B6?= =?UTF-8?q?=E8=8E=B7=E5=9C=B0=E5=9D=80=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/admin/controller/mall/Address.php | 72 ++++++++++ app/common/model/MallAddress.php | 49 +++++++ app/common/validate/MallAddress.php | 31 +++++ web/src/lang/backend/en/mall/address.ts | 15 ++ web/src/lang/backend/zh-cn/mall/address.ts | 15 ++ web/src/views/backend/mall/address/index.vue | 128 ++++++++++++++++++ .../views/backend/mall/address/popupForm.vue | 114 ++++++++++++++++ 7 files changed, 424 insertions(+) create mode 100644 app/admin/controller/mall/Address.php create mode 100644 app/common/model/MallAddress.php create mode 100644 app/common/validate/MallAddress.php create mode 100644 web/src/lang/backend/en/mall/address.ts create mode 100644 web/src/lang/backend/zh-cn/mall/address.ts create mode 100644 web/src/views/backend/mall/address/index.vue create mode 100644 web/src/views/backend/mall/address/popupForm.vue diff --git a/app/admin/controller/mall/Address.php b/app/admin/controller/mall/Address.php new file mode 100644 index 0000000..1222ad1 --- /dev/null +++ b/app/admin/controller/mall/Address.php @@ -0,0 +1,72 @@ +model = new \app\common\model\MallAddress(); + } + + /** + * 查看 + * @throws Throwable + */ + public function index(\Webman\Http\Request $request): \support\Response + { + $response = $this->initializeBackend($request); + if ($response !== null) { + return $response; + } + + if ($request->get('select') || $request->post('select')) { + $this->_select(); + return $this->success(); + } + + /** + * 1. withJoin 不可使用 alias 方法设置表别名,别名将自动使用关联模型名称(小写下划线命名规则) + * 2. 以下的别名设置了主表别名,同时便于拼接查询参数等 + * 3. paginate 数据集可使用链式操作 each(function($item, $key) {}) 遍历处理 + */ + list($where, $alias, $limit, $order) = $this->queryBuilder(); + $res = $this->model + ->withJoin($this->withJoinTable, $this->withJoinType) + ->visible(['mallUser' => ['username']]) + ->alias($alias) + ->where($where) + ->order($order) + ->paginate($limit); + + return $this->success('', [ + 'list' => $res->items(), + 'total' => $res->total(), + 'remark' => get_route_remark(), + ]); + } + + /** + * 若需重写查看、编辑、删除等方法,请复制 @see \app\admin\library\traits\Backend 中对应的方法至此进行重写 + */ +} \ No newline at end of file diff --git a/app/common/model/MallAddress.php b/app/common/model/MallAddress.php new file mode 100644 index 0000000..97fdd45 --- /dev/null +++ b/app/common/model/MallAddress.php @@ -0,0 +1,49 @@ +whereIn('id', $row['region'])->column('name'); + return $cityNames ? implode(',', $cityNames) : ''; + } + + public function mallUser(): \think\model\relation\BelongsTo + { + return $this->belongsTo(\app\common\model\MallUser::class, 'mall_user_id', 'id'); + } +} \ No newline at end of file diff --git a/app/common/validate/MallAddress.php b/app/common/validate/MallAddress.php new file mode 100644 index 0000000..a41c1ef --- /dev/null +++ b/app/common/validate/MallAddress.php @@ -0,0 +1,31 @@ + [], + 'edit' => [], + ]; + +} diff --git a/web/src/lang/backend/en/mall/address.ts b/web/src/lang/backend/en/mall/address.ts new file mode 100644 index 0000000..41ecce3 --- /dev/null +++ b/web/src/lang/backend/en/mall/address.ts @@ -0,0 +1,15 @@ +export default { + id: 'id', + mall_user_id: 'mall_user_id', + malluser__username: 'username', + phone: 'phone', + region: 'region', + detail_address: 'detail_address', + address: 'address', + default_setting: 'default_setting', + 'default_setting 0': 'default_setting 0', + 'default_setting 1': 'default_setting 1', + create_time: 'create_time', + update_time: 'update_time', + 'quick Search Fields': 'id', +} diff --git a/web/src/lang/backend/zh-cn/mall/address.ts b/web/src/lang/backend/zh-cn/mall/address.ts new file mode 100644 index 0000000..2ffbbfb --- /dev/null +++ b/web/src/lang/backend/zh-cn/mall/address.ts @@ -0,0 +1,15 @@ +export default { + id: 'ID', + mall_user_id: '用户', + malluser__username: '用户名', + phone: '电话', + region: '地区', + detail_address: '详细地址', + address: '地址', + default_setting: '默认地址', + 'default_setting 0': '关', + 'default_setting 1': '开', + create_time: '创建时间', + update_time: '修改时间', + 'quick Search Fields': 'ID', +} diff --git a/web/src/views/backend/mall/address/index.vue b/web/src/views/backend/mall/address/index.vue new file mode 100644 index 0000000..2829d43 --- /dev/null +++ b/web/src/views/backend/mall/address/index.vue @@ -0,0 +1,128 @@ + + + + + diff --git a/web/src/views/backend/mall/address/popupForm.vue b/web/src/views/backend/mall/address/popupForm.vue new file mode 100644 index 0000000..e83ca7c --- /dev/null +++ b/web/src/views/backend/mall/address/popupForm.vue @@ -0,0 +1,114 @@ + + + + +