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