Browse Source
- 新增 getAreaTree 接口,用于获取地区树形结构数据 - 在销售编辑页面使用级联选择器替换原有的省市区选择 - 重构部分后端代码,创建 CommonService 类以支持公共接口 - 更新路由配置,添加新的 common 控制器master
6 changed files with 210 additions and 59 deletions
@ -0,0 +1,11 @@ |
|||
|
|||
import request from '@/utils/request' |
|||
|
|||
/** |
|||
* 公共通用接口 |
|||
*/ |
|||
|
|||
// 获取地区树形结构
|
|||
export function getAreaTree() { |
|||
return request.get(`zhjw/common/getAreaTree`) |
|||
} |
|||
@ -0,0 +1,47 @@ |
|||
<?php |
|||
// +---------------------------------------------------------------------- |
|||
// | Niucloud-admin 企业快速开发的多应用管理平台 |
|||
// +---------------------------------------------------------------------- |
|||
// | 官方网址:https://www.niucloud.com |
|||
// +---------------------------------------------------------------------- |
|||
// | niucloud团队 版权所有 开源版本可自由商用 |
|||
// +---------------------------------------------------------------------- |
|||
// | Author: Niucloud Team |
|||
// +---------------------------------------------------------------------- |
|||
|
|||
namespace addon\zhjw\app\adminapi\controller\common; |
|||
|
|||
use addon\zhjw\app\service\admin\common\CommonService; |
|||
use app\model\sys\SysArea; |
|||
use core\base\BaseAdminController; |
|||
use think\Response; |
|||
|
|||
class Common extends BaseAdminController |
|||
{ |
|||
/** |
|||
* Hello World |
|||
* @return Response |
|||
*/ |
|||
public function index() |
|||
{ |
|||
return success('SUCCESS', 'Hello World'); |
|||
} |
|||
|
|||
public function getAreaTree() |
|||
{ |
|||
// 获取所有地址数据 |
|||
|
|||
$areas = SysArea::where('status', 1) |
|||
->order('sort', 'asc') |
|||
->select() |
|||
->toArray(); |
|||
|
|||
// 构建树形结构 |
|||
$tree = (new CommonService())->areaBuildTree($areas); |
|||
|
|||
return success($tree); |
|||
|
|||
} |
|||
|
|||
|
|||
} |
|||
@ -0,0 +1,71 @@ |
|||
<?php |
|||
// +---------------------------------------------------------------------- |
|||
// | Niucloud-admin 企业快速开发的多应用管理平台 |
|||
// +---------------------------------------------------------------------- |
|||
// | 官方网址:https://www.niucloud.com |
|||
// +---------------------------------------------------------------------- |
|||
// | niucloud团队 版权所有 开源版本可自由商用 |
|||
// +---------------------------------------------------------------------- |
|||
// | Author: Niucloud Team |
|||
// +---------------------------------------------------------------------- |
|||
|
|||
namespace addon\zhjw\app\service\admin\common; |
|||
|
|||
use addon\zhjw\app\model\orders\Orders; |
|||
use addon\zhjw\app\model\students\Students; |
|||
use addon\zhjw\app\model\contracts\Contracts; |
|||
|
|||
use core\base\BaseAdminService; |
|||
|
|||
|
|||
/** |
|||
* 公共接口服务层 |
|||
* Class OrdersService |
|||
* @package addon\zhjw\app\service\admin\orders |
|||
*/ |
|||
class CommonService extends BaseAdminService |
|||
{ |
|||
public function __construct() |
|||
{ |
|||
parent::__construct(); |
|||
} |
|||
|
|||
/** |
|||
* 获取订单管理列表 |
|||
* @param array $where |
|||
* @return array |
|||
*/ |
|||
public function getPage(array $where = []) |
|||
{ |
|||
$field = 'id,student_id,contract_id,amount,order_type,pay_type,payment_status,payment_time,create_time,update_time,is_deleted,created_by,created_role,updated_by,updated_role'; |
|||
$order = 'id desc'; |
|||
|
|||
$search_model = $this->model->withSearch(["student_id","contract_id","amount","order_type","pay_type","payment_status","payment_time","create_time"], $where)->with(['students','contracts'])->field($field)->order($order); |
|||
$list = $this->pageQuery($search_model); |
|||
return $list; |
|||
} |
|||
|
|||
/** |
|||
* 构建树形结构 |
|||
* @param array $areas 所有地址数据 |
|||
* @param int $pid 父级ID |
|||
* @return array |
|||
*/ |
|||
public function areaBuildTree(array $areas, int $pid = 0) |
|||
{ |
|||
$tree = []; |
|||
foreach ($areas as $area) { |
|||
if ($area['pid'] == $pid) { |
|||
$children = $this->areaBuildTree($areas, $area['id']); |
|||
if ($children) { |
|||
$area['children'] = $children; |
|||
} |
|||
$tree[] = $area; |
|||
} |
|||
} |
|||
return $tree; |
|||
} |
|||
|
|||
|
|||
|
|||
} |
|||
Loading…
Reference in new issue