This commit is contained in:
mkm 2023-11-12 15:56:46 +08:00
parent bf185b1cb5
commit a1f00675f3
653 changed files with 2762 additions and 471 deletions

View File

@ -0,0 +1,28 @@
<?php
namespace app\adminapi\controller;
use think\facade\Db;
class CommonController extends BaseAdminController
{
public array $notNeedLogin = ['city', 'area', 'street'];
//**省列表 */
public function province()
{
$data = Db::name('geo_province')->where(['switch' => 1])->select();
return $this->data($data->toArray());
} //**市列表 */
public function city($city)
{
$data = Db::name('geo_city')->where(['province_code' => $city])->select();
return $this->data($data->toArray());
}
//**区域列表 */
public function area($area)
{
$data = Db::name('geo_area')->where(['city_code' => $area])->select();
return $this->data($data->toArray());
}
}

View File

@ -0,0 +1,108 @@
<?php
// +----------------------------------------------------------------------
// | likeadmin快速开发前后端分离管理后台PHP版
// +----------------------------------------------------------------------
// | 欢迎阅读学习系统程序代码,建议反馈是我们前进的动力
// | 开源版本可自由商用可去除界面版权logo
// | gitee下载https://gitee.com/likeshop_gitee/likeadmin
// | github下载https://github.com/likeshop-github/likeadmin
// | 访问官网https://www.likeadmin.cn
// | likeadmin团队 版权所有 拥有最终解释权
// +----------------------------------------------------------------------
// | author: likeadminTeam
// +----------------------------------------------------------------------
namespace app\adminapi\controller\custom;
use app\adminapi\controller\BaseAdminController;
use app\adminapi\lists\custom\CustomContactsLists;
use app\adminapi\logic\custom\CustomContactsLogic;
use app\adminapi\validate\custom\CustomContactsValidate;
/**
* CustomContacts控制器
* Class CustomContactsController
* @package app\adminapi\controller\custom
*/
class CustomContactsController extends BaseAdminController
{
/**
* @notes 获取列表
* @return \think\response\Json
* @author likeadmin
* @date 2023/11/11 22:56
*/
public function lists()
{
return $this->dataLists(new CustomContactsLists());
}
/**
* @notes 添加
* @return \think\response\Json
* @author likeadmin
* @date 2023/11/11 22:56
*/
public function add()
{
$params = (new CustomContactsValidate())->post()->goCheck('add');
$result = CustomContactsLogic::add($params);
if (true === $result) {
return $this->success('添加成功', [], 1, 1);
}
return $this->fail(CustomContactsLogic::getError());
}
/**
* @notes 编辑
* @return \think\response\Json
* @author likeadmin
* @date 2023/11/11 22:56
*/
public function edit()
{
$params = (new CustomContactsValidate())->post()->goCheck('edit');
$result = CustomContactsLogic::edit($params);
if (true === $result) {
return $this->success('编辑成功', [], 1, 1);
}
return $this->fail(CustomContactsLogic::getError());
}
/**
* @notes 删除
* @return \think\response\Json
* @author likeadmin
* @date 2023/11/11 22:56
*/
public function delete()
{
$params = (new CustomContactsValidate())->post()->goCheck('delete');
CustomContactsLogic::delete($params);
return $this->success('删除成功', [], 1, 1);
}
/**
* @notes 获取详情
* @return \think\response\Json
* @author likeadmin
* @date 2023/11/11 22:56
*/
public function detail()
{
$params = (new CustomContactsValidate())->goCheck('detail');
$result = CustomContactsLogic::detail($params);
return $this->data($result);
}
}

View File

@ -0,0 +1,108 @@
<?php
// +----------------------------------------------------------------------
// | likeadmin快速开发前后端分离管理后台PHP版
// +----------------------------------------------------------------------
// | 欢迎阅读学习系统程序代码,建议反馈是我们前进的动力
// | 开源版本可自由商用可去除界面版权logo
// | gitee下载https://gitee.com/likeshop_gitee/likeadmin
// | github下载https://github.com/likeshop-github/likeadmin
// | 访问官网https://www.likeadmin.cn
// | likeadmin团队 版权所有 拥有最终解释权
// +----------------------------------------------------------------------
// | author: likeadminTeam
// +----------------------------------------------------------------------
namespace app\adminapi\controller\custom;
use app\adminapi\controller\BaseAdminController;
use app\adminapi\lists\custom\CustomLists;
use app\adminapi\logic\custom\CustomLogic;
use app\adminapi\validate\custom\CustomValidate;
/**
* Custom控制器
* Class CustomController
* @package app\adminapi\controller\custom
*/
class CustomController extends BaseAdminController
{
/**
* @notes 获取列表
* @return \think\response\Json
* @author likeadmin
* @date 2023/11/11 22:10
*/
public function lists()
{
return $this->dataLists(new CustomLists());
}
/**
* @notes 添加
* @return \think\response\Json
* @author likeadmin
* @date 2023/11/11 22:10
*/
public function add()
{
$params = (new CustomValidate())->post()->goCheck('add');
$result = CustomLogic::add($params);
if (true === $result) {
return $this->success('添加成功', [], 1, 1);
}
return $this->fail(CustomLogic::getError());
}
/**
* @notes 编辑
* @return \think\response\Json
* @author likeadmin
* @date 2023/11/11 22:10
*/
public function edit()
{
$params = (new CustomValidate())->post()->goCheck('edit');
$result = CustomLogic::edit($params);
if (true === $result) {
return $this->success('编辑成功', [], 1, 1);
}
return $this->fail(CustomLogic::getError());
}
/**
* @notes 删除
* @return \think\response\Json
* @author likeadmin
* @date 2023/11/11 22:10
*/
public function delete()
{
$params = (new CustomValidate())->post()->goCheck('delete');
CustomLogic::delete($params);
return $this->success('删除成功', [], 1, 1);
}
/**
* @notes 获取详情
* @return \think\response\Json
* @author likeadmin
* @date 2023/11/11 22:10
*/
public function detail()
{
$params = (new CustomValidate())->goCheck('detail');
$result = CustomLogic::detail($params);
return $this->data($result);
}
}

View File

@ -0,0 +1,108 @@
<?php
// +----------------------------------------------------------------------
// | likeadmin快速开发前后端分离管理后台PHP版
// +----------------------------------------------------------------------
// | 欢迎阅读学习系统程序代码,建议反馈是我们前进的动力
// | 开源版本可自由商用可去除界面版权logo
// | gitee下载https://gitee.com/likeshop_gitee/likeadmin
// | github下载https://github.com/likeshop-github/likeadmin
// | 访问官网https://www.likeadmin.cn
// | likeadmin团队 版权所有 拥有最终解释权
// +----------------------------------------------------------------------
// | author: likeadminTeam
// +----------------------------------------------------------------------
namespace app\adminapi\controller\custom_follow;
use app\adminapi\controller\BaseAdminController;
use app\adminapi\lists\custom_follow\CustomFollowLists;
use app\adminapi\logic\custom_follow\CustomFollowLogic;
use app\adminapi\validate\custom_follow\CustomFollowValidate;
/**
* CustomFollow控制器
* Class CustomFollowController
* @package app\adminapi\controller\custom_follow
*/
class CustomFollowController extends BaseAdminController
{
/**
* @notes 获取列表
* @return \think\response\Json
* @author likeadmin
* @date 2023/11/12 13:40
*/
public function lists()
{
return $this->dataLists(new CustomFollowLists());
}
/**
* @notes 添加
* @return \think\response\Json
* @author likeadmin
* @date 2023/11/12 13:40
*/
public function add()
{
$params = (new CustomFollowValidate())->post()->goCheck('add');
$result = CustomFollowLogic::add($params);
if (true === $result) {
return $this->success('添加成功', [], 1, 1);
}
return $this->fail(CustomFollowLogic::getError());
}
/**
* @notes 编辑
* @return \think\response\Json
* @author likeadmin
* @date 2023/11/12 13:40
*/
public function edit()
{
$params = (new CustomFollowValidate())->post()->goCheck('edit');
$result = CustomFollowLogic::edit($params);
if (true === $result) {
return $this->success('编辑成功', [], 1, 1);
}
return $this->fail(CustomFollowLogic::getError());
}
/**
* @notes 删除
* @return \think\response\Json
* @author likeadmin
* @date 2023/11/12 13:40
*/
public function delete()
{
$params = (new CustomFollowValidate())->post()->goCheck('delete');
CustomFollowLogic::delete($params);
return $this->success('删除成功', [], 1, 1);
}
/**
* @notes 获取详情
* @return \think\response\Json
* @author likeadmin
* @date 2023/11/12 13:40
*/
public function detail()
{
$params = (new CustomFollowValidate())->goCheck('detail');
$result = CustomFollowLogic::detail($params);
return $this->data($result);
}
}

View File

@ -0,0 +1,108 @@
<?php
// +----------------------------------------------------------------------
// | likeadmin快速开发前后端分离管理后台PHP版
// +----------------------------------------------------------------------
// | 欢迎阅读学习系统程序代码,建议反馈是我们前进的动力
// | 开源版本可自由商用可去除界面版权logo
// | gitee下载https://gitee.com/likeshop_gitee/likeadmin
// | github下载https://github.com/likeshop-github/likeadmin
// | 访问官网https://www.likeadmin.cn
// | likeadmin团队 版权所有 拥有最终解释权
// +----------------------------------------------------------------------
// | author: likeadminTeam
// +----------------------------------------------------------------------
namespace app\adminapi\controller\custom_service;
use app\adminapi\controller\BaseAdminController;
use app\adminapi\lists\custom_service\CustomServiceLists;
use app\adminapi\logic\custom_service\CustomServiceLogic;
use app\adminapi\validate\custom_service\CustomServiceValidate;
/**
* CustomService控制器
* Class CustomServiceController
* @package app\adminapi\controller\custom_service
*/
class CustomServiceController extends BaseAdminController
{
/**
* @notes 获取列表
* @return \think\response\Json
* @author likeadmin
* @date 2023/11/12 14:00
*/
public function lists()
{
return $this->dataLists(new CustomServiceLists());
}
/**
* @notes 添加
* @return \think\response\Json
* @author likeadmin
* @date 2023/11/12 14:00
*/
public function add()
{
$params = (new CustomServiceValidate())->post()->goCheck('add');
$result = CustomServiceLogic::add($params);
if (true === $result) {
return $this->success('添加成功', [], 1, 1);
}
return $this->fail(CustomServiceLogic::getError());
}
/**
* @notes 编辑
* @return \think\response\Json
* @author likeadmin
* @date 2023/11/12 14:00
*/
public function edit()
{
$params = (new CustomServiceValidate())->post()->goCheck('edit');
$result = CustomServiceLogic::edit($params);
if (true === $result) {
return $this->success('编辑成功', [], 1, 1);
}
return $this->fail(CustomServiceLogic::getError());
}
/**
* @notes 删除
* @return \think\response\Json
* @author likeadmin
* @date 2023/11/12 14:00
*/
public function delete()
{
$params = (new CustomServiceValidate())->post()->goCheck('delete');
CustomServiceLogic::delete($params);
return $this->success('删除成功', [], 1, 1);
}
/**
* @notes 获取详情
* @return \think\response\Json
* @author likeadmin
* @date 2023/11/12 14:00
*/
public function detail()
{
$params = (new CustomServiceValidate())->goCheck('detail');
$result = CustomServiceLogic::detail($params);
return $this->data($result);
}
}

View File

@ -0,0 +1,108 @@
<?php
// +----------------------------------------------------------------------
// | likeadmin快速开发前后端分离管理后台PHP版
// +----------------------------------------------------------------------
// | 欢迎阅读学习系统程序代码,建议反馈是我们前进的动力
// | 开源版本可自由商用可去除界面版权logo
// | gitee下载https://gitee.com/likeshop_gitee/likeadmin
// | github下载https://github.com/likeshop-github/likeadmin
// | 访问官网https://www.likeadmin.cn
// | likeadmin团队 版权所有 拥有最终解释权
// +----------------------------------------------------------------------
// | author: likeadminTeam
// +----------------------------------------------------------------------
namespace app\adminapi\controller\project;
use app\adminapi\controller\BaseAdminController;
use app\adminapi\lists\project\ProjectLists;
use app\adminapi\logic\project\ProjectLogic;
use app\adminapi\validate\project\ProjectValidate;
/**
* Project控制器
* Class ProjectController
* @package app\adminapi\controller\project
*/
class ProjectController extends BaseAdminController
{
/**
* @notes 获取列表
* @return \think\response\Json
* @author likeadmin
* @date 2023/11/12 14:30
*/
public function lists()
{
return $this->dataLists(new ProjectLists());
}
/**
* @notes 添加
* @return \think\response\Json
* @author likeadmin
* @date 2023/11/12 14:30
*/
public function add()
{
$params = (new ProjectValidate())->post()->goCheck('add');
$result = ProjectLogic::add($params);
if (true === $result) {
return $this->success('添加成功', [], 1, 1);
}
return $this->fail(ProjectLogic::getError());
}
/**
* @notes 编辑
* @return \think\response\Json
* @author likeadmin
* @date 2023/11/12 14:30
*/
public function edit()
{
$params = (new ProjectValidate())->post()->goCheck('edit');
$result = ProjectLogic::edit($params);
if (true === $result) {
return $this->success('编辑成功', [], 1, 1);
}
return $this->fail(ProjectLogic::getError());
}
/**
* @notes 删除
* @return \think\response\Json
* @author likeadmin
* @date 2023/11/12 14:30
*/
public function delete()
{
$params = (new ProjectValidate())->post()->goCheck('delete');
ProjectLogic::delete($params);
return $this->success('删除成功', [], 1, 1);
}
/**
* @notes 获取详情
* @return \think\response\Json
* @author likeadmin
* @date 2023/11/12 14:30
*/
public function detail()
{
$params = (new ProjectValidate())->goCheck('detail');
$result = ProjectLogic::detail($params);
return $this->data($result);
}
}

View File

@ -0,0 +1,77 @@
<?php
// +----------------------------------------------------------------------
// | likeadmin快速开发前后端分离管理后台PHP版
// +----------------------------------------------------------------------
// | 欢迎阅读学习系统程序代码,建议反馈是我们前进的动力
// | 开源版本可自由商用可去除界面版权logo
// | gitee下载https://gitee.com/likeshop_gitee/likeadmin
// | github下载https://github.com/likeshop-github/likeadmin
// | 访问官网https://www.likeadmin.cn
// | likeadmin团队 版权所有 拥有最终解释权
// +----------------------------------------------------------------------
// | author: likeadminTeam
// +----------------------------------------------------------------------
namespace app\adminapi\lists\custom;
use app\adminapi\lists\BaseAdminDataLists;
use app\common\model\custom\CustomContacts;
use app\common\lists\ListsSearchInterface;
/**
* CustomContacts列表
* Class CustomContactsLists
* @package app\adminapi\listscustom
*/
class CustomContactsLists extends BaseAdminDataLists implements ListsSearchInterface
{
/**
* @notes 设置搜索条件
* @return \string[][]
* @author likeadmin
* @date 2023/11/11 22:56
*/
public function setSearch(): array
{
return [
'=' => ['custom_id', 'name', 'position', 'phone', 'telephone', 'email', 'notes', 'annex', 'status'],
];
}
/**
* @notes 获取列表
* @return array
* @throws \think\db\exception\DataNotFoundException
* @throws \think\db\exception\DbException
* @throws \think\db\exception\ModelNotFoundException
* @author likeadmin
* @date 2023/11/11 22:56
*/
public function lists(): array
{
return CustomContacts::where($this->searchWhere)
->field(['id', 'custom_id', 'name', 'position', 'phone', 'telephone', 'email', 'notes', 'annex', 'status'])
->limit($this->limitOffset, $this->limitLength)
->order(['id' => 'desc'])
->select()
->toArray();
}
/**
* @notes 获取数量
* @return int
* @author likeadmin
* @date 2023/11/11 22:56
*/
public function count(): int
{
return CustomContacts::where($this->searchWhere)->count();
}
}

View File

@ -0,0 +1,78 @@
<?php
// +----------------------------------------------------------------------
// | likeadmin快速开发前后端分离管理后台PHP版
// +----------------------------------------------------------------------
// | 欢迎阅读学习系统程序代码,建议反馈是我们前进的动力
// | 开源版本可自由商用可去除界面版权logo
// | gitee下载https://gitee.com/likeshop_gitee/likeadmin
// | github下载https://github.com/likeshop-github/likeadmin
// | 访问官网https://www.likeadmin.cn
// | likeadmin团队 版权所有 拥有最终解释权
// +----------------------------------------------------------------------
// | author: likeadminTeam
// +----------------------------------------------------------------------
namespace app\adminapi\lists\custom;
use app\adminapi\lists\BaseAdminDataLists;
use app\common\model\custom\Custom;
use app\common\lists\ListsSearchInterface;
/**
* Custom列表
* Class CustomLists
* @package app\adminapi\listscustom
*/
class CustomLists extends BaseAdminDataLists implements ListsSearchInterface
{
/**
* @notes 设置搜索条件
* @return \string[][]
* @author likeadmin
* @date 2023/11/11 22:10
*/
public function setSearch(): array
{
return [
'=' => ['name', 'custom_type', 'phone', 'credit_rating', 'province', 'city', 'status'],
];
}
/**
* @notes 获取列表
* @return array
* @throws \think\db\exception\DataNotFoundException
* @throws \think\db\exception\DbException
* @throws \think\db\exception\ModelNotFoundException
* @author likeadmin
* @date 2023/11/11 22:10
*/
public function lists(): array
{
return Custom::where($this->searchWhere)
->field(['id', 'name', 'custom_type', 'parent_company', 'phone', 'credit_rating', 'province', 'master_name', 'master_position', 'master_phone','create_time','status'])
->with(['province_name'])
->limit($this->limitOffset, $this->limitLength)
->order(['id' => 'desc'])
->select()
->toArray();
}
/**
* @notes 获取数量
* @return int
* @author likeadmin
* @date 2023/11/11 22:10
*/
public function count(): int
{
return Custom::where($this->searchWhere)->count();
}
}

View File

@ -0,0 +1,77 @@
<?php
// +----------------------------------------------------------------------
// | likeadmin快速开发前后端分离管理后台PHP版
// +----------------------------------------------------------------------
// | 欢迎阅读学习系统程序代码,建议反馈是我们前进的动力
// | 开源版本可自由商用可去除界面版权logo
// | gitee下载https://gitee.com/likeshop_gitee/likeadmin
// | github下载https://github.com/likeshop-github/likeadmin
// | 访问官网https://www.likeadmin.cn
// | likeadmin团队 版权所有 拥有最终解释权
// +----------------------------------------------------------------------
// | author: likeadminTeam
// +----------------------------------------------------------------------
namespace app\adminapi\lists\custom_follow;
use app\adminapi\lists\BaseAdminDataLists;
use app\common\model\custom_follow\CustomFollow;
use app\common\lists\ListsSearchInterface;
/**
* CustomFollow列表
* Class CustomFollowLists
* @package app\adminapi\listscustom_follow
*/
class CustomFollowLists extends BaseAdminDataLists implements ListsSearchInterface
{
/**
* @notes 设置搜索条件
* @return \string[][]
* @author likeadmin
* @date 2023/11/12 13:40
*/
public function setSearch(): array
{
return [
'=' => ['custom_id', 'contacts', 'date', 'types', 'admin_id', 'description', 'annex', 'coordinate', 'next_follow_date', 'status'],
];
}
/**
* @notes 获取列表
* @return array
* @throws \think\db\exception\DataNotFoundException
* @throws \think\db\exception\DbException
* @throws \think\db\exception\ModelNotFoundException
* @author likeadmin
* @date 2023/11/12 13:40
*/
public function lists(): array
{
return CustomFollow::where($this->searchWhere)
->field(['id', 'custom_id', 'contacts', 'date', 'types', 'admin_id', 'description', 'annex', 'coordinate', 'next_follow_date', 'status'])
->limit($this->limitOffset, $this->limitLength)
->order(['id' => 'desc'])
->select()
->toArray();
}
/**
* @notes 获取数量
* @return int
* @author likeadmin
* @date 2023/11/12 13:40
*/
public function count(): int
{
return CustomFollow::where($this->searchWhere)->count();
}
}

View File

@ -0,0 +1,77 @@
<?php
// +----------------------------------------------------------------------
// | likeadmin快速开发前后端分离管理后台PHP版
// +----------------------------------------------------------------------
// | 欢迎阅读学习系统程序代码,建议反馈是我们前进的动力
// | 开源版本可自由商用可去除界面版权logo
// | gitee下载https://gitee.com/likeshop_gitee/likeadmin
// | github下载https://github.com/likeshop-github/likeadmin
// | 访问官网https://www.likeadmin.cn
// | likeadmin团队 版权所有 拥有最终解释权
// +----------------------------------------------------------------------
// | author: likeadminTeam
// +----------------------------------------------------------------------
namespace app\adminapi\lists\custom_service;
use app\adminapi\lists\BaseAdminDataLists;
use app\common\model\custom_service\CustomService;
use app\common\lists\ListsSearchInterface;
/**
* CustomService列表
* Class CustomServiceLists
* @package app\adminapi\listscustom_service
*/
class CustomServiceLists extends BaseAdminDataLists implements ListsSearchInterface
{
/**
* @notes 设置搜索条件
* @return \string[][]
* @author likeadmin
* @date 2023/11/12 14:00
*/
public function setSearch(): array
{
return [
'=' => ['project_id', 'custom_id', 'approve_id', 'contacts', 'phone', 'date', 'classification', 'urgency', 'receiver', 'processed_admin_id', 'name', 'description', 'notes', 'annex', 'status'],
];
}
/**
* @notes 获取列表
* @return array
* @throws \think\db\exception\DataNotFoundException
* @throws \think\db\exception\DbException
* @throws \think\db\exception\ModelNotFoundException
* @author likeadmin
* @date 2023/11/12 14:00
*/
public function lists(): array
{
return CustomService::where($this->searchWhere)
->field(['id', 'project_id', 'custom_id', 'approve_id', 'contacts', 'phone', 'date', 'classification', 'urgency', 'receiver', 'processed_admin_id', 'name', 'description', 'notes', 'annex', 'status'])
->limit($this->limitOffset, $this->limitLength)
->order(['id' => 'desc'])
->select()
->toArray();
}
/**
* @notes 获取数量
* @return int
* @author likeadmin
* @date 2023/11/12 14:00
*/
public function count(): int
{
return CustomService::where($this->searchWhere)->count();
}
}

View File

@ -0,0 +1,77 @@
<?php
// +----------------------------------------------------------------------
// | likeadmin快速开发前后端分离管理后台PHP版
// +----------------------------------------------------------------------
// | 欢迎阅读学习系统程序代码,建议反馈是我们前进的动力
// | 开源版本可自由商用可去除界面版权logo
// | gitee下载https://gitee.com/likeshop_gitee/likeadmin
// | github下载https://github.com/likeshop-github/likeadmin
// | 访问官网https://www.likeadmin.cn
// | likeadmin团队 版权所有 拥有最终解释权
// +----------------------------------------------------------------------
// | author: likeadminTeam
// +----------------------------------------------------------------------
namespace app\adminapi\lists\project;
use app\adminapi\lists\BaseAdminDataLists;
use app\common\model\project\Project;
use app\common\lists\ListsSearchInterface;
/**
* Project列表
* Class ProjectLists
* @package app\adminapi\listsproject
*/
class ProjectLists extends BaseAdminDataLists implements ListsSearchInterface
{
/**
* @notes 设置搜索条件
* @return \string[][]
* @author likeadmin
* @date 2023/11/12 14:30
*/
public function setSearch(): array
{
return [
'=' => ['custom_id', 'project_type', 'project_code', 'project_content', 'project_estimation', 'project_address', 'estimated_construction', 'bidding_time', 'bidding_method', 'contacts', 'position', 'telephone', 'department', 'person', 'relationship', 'discovery_time', 'information_sources', 'competitor', 'construction_funds_sources', 'construction_payment_method', 'construction_financial_status', 'construction_recognition', 'my_construction_recognition', 'strategic_significance', 'industry', 'unit_nature', 'annex', 'status'],
];
}
/**
* @notes 获取列表
* @return array
* @throws \think\db\exception\DataNotFoundException
* @throws \think\db\exception\DbException
* @throws \think\db\exception\ModelNotFoundException
* @author likeadmin
* @date 2023/11/12 14:30
*/
public function lists(): array
{
return Project::where($this->searchWhere)
->field(['id', 'custom_id', 'project_type', 'project_code', 'project_content', 'project_estimation', 'project_address', 'estimated_construction', 'bidding_time', 'bidding_method', 'contacts', 'position', 'telephone', 'department', 'person', 'relationship', 'discovery_time', 'information_sources', 'competitor', 'construction_funds_sources', 'construction_payment_method', 'construction_financial_status', 'construction_recognition', 'my_construction_recognition', 'strategic_significance', 'industry', 'unit_nature', 'annex', 'status'])
->limit($this->limitOffset, $this->limitLength)
->order(['id' => 'desc'])
->select()
->toArray();
}
/**
* @notes 获取数量
* @return int
* @author likeadmin
* @date 2023/11/12 14:30
*/
public function count(): int
{
return Project::where($this->searchWhere)->count();
}
}

View File

@ -0,0 +1,122 @@
<?php
// +----------------------------------------------------------------------
// | likeadmin快速开发前后端分离管理后台PHP版
// +----------------------------------------------------------------------
// | 欢迎阅读学习系统程序代码,建议反馈是我们前进的动力
// | 开源版本可自由商用可去除界面版权logo
// | gitee下载https://gitee.com/likeshop_gitee/likeadmin
// | github下载https://github.com/likeshop-github/likeadmin
// | 访问官网https://www.likeadmin.cn
// | likeadmin团队 版权所有 拥有最终解释权
// +----------------------------------------------------------------------
// | author: likeadminTeam
// +----------------------------------------------------------------------
namespace app\adminapi\logic\custom;
use app\common\model\custom\CustomContacts;
use app\common\logic\BaseLogic;
use think\facade\Db;
/**
* CustomContacts逻辑
* Class CustomContactsLogic
* @package app\adminapi\logic\custom
*/
class CustomContactsLogic extends BaseLogic
{
/**
* @notes 添加
* @param array $params
* @return bool
* @author likeadmin
* @date 2023/11/11 22:56
*/
public static function add(array $params): bool
{
Db::startTrans();
try {
CustomContacts::create([
'custom_id' => $params['custom_id'],
'name' => $params['name'],
'position' => $params['position'],
'phone' => $params['phone'],
'telephone' => $params['telephone'],
'email' => $params['email'],
'notes' => $params['notes'],
'annex' => $params['annex'],
'status' => $params['status']
]);
Db::commit();
return true;
} catch (\Exception $e) {
Db::rollback();
self::setError($e->getMessage());
return false;
}
}
/**
* @notes 编辑
* @param array $params
* @return bool
* @author likeadmin
* @date 2023/11/11 22:56
*/
public static function edit(array $params): bool
{
Db::startTrans();
try {
CustomContacts::where('id', $params['id'])->update([
'custom_id' => $params['custom_id'],
'name' => $params['name'],
'position' => $params['position'],
'phone' => $params['phone'],
'telephone' => $params['telephone'],
'email' => $params['email'],
'notes' => $params['notes'],
'annex' => $params['annex'],
'status' => $params['status']
]);
Db::commit();
return true;
} catch (\Exception $e) {
Db::rollback();
self::setError($e->getMessage());
return false;
}
}
/**
* @notes 删除
* @param array $params
* @return bool
* @author likeadmin
* @date 2023/11/11 22:56
*/
public static function delete(array $params): bool
{
return CustomContacts::destroy($params['id']);
}
/**
* @notes 获取详情
* @param $params
* @return array
* @author likeadmin
* @date 2023/11/11 22:56
*/
public static function detail($params): array
{
return CustomContacts::findOrEmpty($params['id'])->toArray();
}
}

View File

@ -0,0 +1,150 @@
<?php
// +----------------------------------------------------------------------
// | likeadmin快速开发前后端分离管理后台PHP版
// +----------------------------------------------------------------------
// | 欢迎阅读学习系统程序代码,建议反馈是我们前进的动力
// | 开源版本可自由商用可去除界面版权logo
// | gitee下载https://gitee.com/likeshop_gitee/likeadmin
// | github下载https://github.com/likeshop-github/likeadmin
// | 访问官网https://www.likeadmin.cn
// | likeadmin团队 版权所有 拥有最终解释权
// +----------------------------------------------------------------------
// | author: likeadminTeam
// +----------------------------------------------------------------------
namespace app\adminapi\logic\custom;
use app\common\model\custom\Custom;
use app\common\logic\BaseLogic;
use think\facade\Db;
/**
* Custom逻辑
* Class CustomLogic
* @package app\adminapi\logic\custom
*/
class CustomLogic extends BaseLogic
{
/**
* @notes 添加
* @param array $params
* @return bool
* @author likeadmin
* @date 2023/11/11 22:10
*/
public static function add(array $params): bool
{
Db::startTrans();
try {
Custom::create([
'name' => $params['name'],
'custom_type' => $params['custom_type'],
'parent_company' => $params['parent_company'],
'phone' => $params['phone'],
'credit_rating' => $params['credit_rating'],
'province' => $params['province'],
'city' => $params['city'],
'area' => $params['area'],
'address' => $params['address'],
'notes' => $params['notes'],
'master_name' => $params['master_name'],
'master_position' => $params['master_position'],
'master_phone' => $params['master_phone'],
'master_email' => $params['master_email'],
'master_telephone' => $params['master_telephone'],
'master_notes' => $params['master_notes'],
'company_name' => $params['company_name'],
'company_tin' => $params['company_tin'],
'bank_open_address' => $params['bank_open_address'],
'company_telephone' => $params['company_telephone'],
'bank_name' => $params['bank_name'],
'bank_account' => $params['bank_account'],
'status' => $params['status']
]);
Db::commit();
return true;
} catch (\Exception $e) {
Db::rollback();
self::setError($e->getMessage());
return false;
}
}
/**
* @notes 编辑
* @param array $params
* @return bool
* @author likeadmin
* @date 2023/11/11 22:10
*/
public static function edit(array $params): bool
{
Db::startTrans();
try {
Custom::where('id', $params['id'])->update([
'name' => $params['name'],
'custom_type' => $params['custom_type'],
'parent_company' => $params['parent_company'],
'phone' => $params['phone'],
'credit_rating' => $params['credit_rating'],
'province' => $params['province'],
'city' => $params['city'],
'street' => $params['street'],
'address' => $params['address'],
'notes' => $params['notes'],
'master_name' => $params['master_name'],
'master_position' => $params['master_position'],
'master_phone' => $params['master_phone'],
'master_email' => $params['master_email'],
'master_telephone' => $params['master_telephone'],
'master_notes' => $params['master_notes'],
'company_name' => $params['company_name'],
'company_tin' => $params['company_tin'],
'bank_open_address' => $params['bank_open_address'],
'company_telephone' => $params['company_telephone'],
'bank_name' => $params['bank_name'],
'bank_account' => $params['bank_account'],
'status' => $params['status']
]);
Db::commit();
return true;
} catch (\Exception $e) {
Db::rollback();
self::setError($e->getMessage());
return false;
}
}
/**
* @notes 删除
* @param array $params
* @return bool
* @author likeadmin
* @date 2023/11/11 22:10
*/
public static function delete(array $params): bool
{
return Custom::destroy($params['id']);
}
/**
* @notes 获取详情
* @param $params
* @return array
* @author likeadmin
* @date 2023/11/11 22:10
*/
public static function detail($params): array
{
return Custom::findOrEmpty($params['id'])->toArray();
}
}

View File

@ -0,0 +1,124 @@
<?php
// +----------------------------------------------------------------------
// | likeadmin快速开发前后端分离管理后台PHP版
// +----------------------------------------------------------------------
// | 欢迎阅读学习系统程序代码,建议反馈是我们前进的动力
// | 开源版本可自由商用可去除界面版权logo
// | gitee下载https://gitee.com/likeshop_gitee/likeadmin
// | github下载https://github.com/likeshop-github/likeadmin
// | 访问官网https://www.likeadmin.cn
// | likeadmin团队 版权所有 拥有最终解释权
// +----------------------------------------------------------------------
// | author: likeadminTeam
// +----------------------------------------------------------------------
namespace app\adminapi\logic\custom_follow;
use app\common\model\custom_follow\CustomFollow;
use app\common\logic\BaseLogic;
use think\facade\Db;
/**
* CustomFollow逻辑
* Class CustomFollowLogic
* @package app\adminapi\logic\custom_follow
*/
class CustomFollowLogic extends BaseLogic
{
/**
* @notes 添加
* @param array $params
* @return bool
* @author likeadmin
* @date 2023/11/12 13:40
*/
public static function add(array $params): bool
{
Db::startTrans();
try {
CustomFollow::create([
'custom_id' => $params['custom_id'],
'contacts' => $params['contacts'],
'date' => strtotime($params['date']),
'types' => $params['types'],
'admin_id' => $params['admin_id'],
'description' => $params['description'],
'annex' => $params['annex'],
'coordinate' => $params['coordinate'],
'next_follow_date' => strtotime($params['next_follow_date']),
'status' => $params['status']
]);
Db::commit();
return true;
} catch (\Exception $e) {
Db::rollback();
self::setError($e->getMessage());
return false;
}
}
/**
* @notes 编辑
* @param array $params
* @return bool
* @author likeadmin
* @date 2023/11/12 13:40
*/
public static function edit(array $params): bool
{
Db::startTrans();
try {
CustomFollow::where('id', $params['id'])->update([
'custom_id' => $params['custom_id'],
'contacts' => $params['contacts'],
'date' => strtotime($params['date']),
'types' => $params['types'],
'admin_id' => $params['admin_id'],
'description' => $params['description'],
'annex' => $params['annex'],
'coordinate' => $params['coordinate'],
'next_follow_date' => strtotime($params['next_follow_date']),
'status' => $params['status']
]);
Db::commit();
return true;
} catch (\Exception $e) {
Db::rollback();
self::setError($e->getMessage());
return false;
}
}
/**
* @notes 删除
* @param array $params
* @return bool
* @author likeadmin
* @date 2023/11/12 13:40
*/
public static function delete(array $params): bool
{
return CustomFollow::destroy($params['id']);
}
/**
* @notes 获取详情
* @param $params
* @return array
* @author likeadmin
* @date 2023/11/12 13:40
*/
public static function detail($params): array
{
return CustomFollow::findOrEmpty($params['id'])->toArray();
}
}

View File

@ -0,0 +1,134 @@
<?php
// +----------------------------------------------------------------------
// | likeadmin快速开发前后端分离管理后台PHP版
// +----------------------------------------------------------------------
// | 欢迎阅读学习系统程序代码,建议反馈是我们前进的动力
// | 开源版本可自由商用可去除界面版权logo
// | gitee下载https://gitee.com/likeshop_gitee/likeadmin
// | github下载https://github.com/likeshop-github/likeadmin
// | 访问官网https://www.likeadmin.cn
// | likeadmin团队 版权所有 拥有最终解释权
// +----------------------------------------------------------------------
// | author: likeadminTeam
// +----------------------------------------------------------------------
namespace app\adminapi\logic\custom_service;
use app\common\model\custom_service\CustomService;
use app\common\logic\BaseLogic;
use think\facade\Db;
/**
* CustomService逻辑
* Class CustomServiceLogic
* @package app\adminapi\logic\custom_service
*/
class CustomServiceLogic extends BaseLogic
{
/**
* @notes 添加
* @param array $params
* @return bool
* @author likeadmin
* @date 2023/11/12 14:00
*/
public static function add(array $params): bool
{
Db::startTrans();
try {
CustomService::create([
'project_id' => $params['project_id'],
'custom_id' => $params['custom_id'],
'approve_id' => $params['approve_id'],
'contacts' => $params['contacts'],
'phone' => $params['phone'],
'date' => strtotime($params['date']),
'classification' => $params['classification'],
'urgency' => $params['urgency'],
'receiver' => $params['receiver'],
'processed_admin_id' => $params['processed_admin_id'],
'name' => $params['name'],
'description' => $params['description'],
'notes' => $params['notes'],
'annex' => $params['annex'],
'status' => $params['status']
]);
Db::commit();
return true;
} catch (\Exception $e) {
Db::rollback();
self::setError($e->getMessage());
return false;
}
}
/**
* @notes 编辑
* @param array $params
* @return bool
* @author likeadmin
* @date 2023/11/12 14:00
*/
public static function edit(array $params): bool
{
Db::startTrans();
try {
CustomService::where('id', $params['id'])->update([
'project_id' => $params['project_id'],
'custom_id' => $params['custom_id'],
'approve_id' => $params['approve_id'],
'contacts' => $params['contacts'],
'phone' => $params['phone'],
'date' => strtotime($params['date']),
'classification' => $params['classification'],
'urgency' => $params['urgency'],
'receiver' => $params['receiver'],
'processed_admin_id' => $params['processed_admin_id'],
'name' => $params['name'],
'description' => $params['description'],
'notes' => $params['notes'],
'annex' => $params['annex'],
'status' => $params['status']
]);
Db::commit();
return true;
} catch (\Exception $e) {
Db::rollback();
self::setError($e->getMessage());
return false;
}
}
/**
* @notes 删除
* @param array $params
* @return bool
* @author likeadmin
* @date 2023/11/12 14:00
*/
public static function delete(array $params): bool
{
return CustomService::destroy($params['id']);
}
/**
* @notes 获取详情
* @param $params
* @return array
* @author likeadmin
* @date 2023/11/12 14:00
*/
public static function detail($params): array
{
return CustomService::findOrEmpty($params['id'])->toArray();
}
}

View File

@ -0,0 +1,160 @@
<?php
// +----------------------------------------------------------------------
// | likeadmin快速开发前后端分离管理后台PHP版
// +----------------------------------------------------------------------
// | 欢迎阅读学习系统程序代码,建议反馈是我们前进的动力
// | 开源版本可自由商用可去除界面版权logo
// | gitee下载https://gitee.com/likeshop_gitee/likeadmin
// | github下载https://github.com/likeshop-github/likeadmin
// | 访问官网https://www.likeadmin.cn
// | likeadmin团队 版权所有 拥有最终解释权
// +----------------------------------------------------------------------
// | author: likeadminTeam
// +----------------------------------------------------------------------
namespace app\adminapi\logic\project;
use app\common\model\project\Project;
use app\common\logic\BaseLogic;
use think\facade\Db;
/**
* Project逻辑
* Class ProjectLogic
* @package app\adminapi\logic\project
*/
class ProjectLogic extends BaseLogic
{
/**
* @notes 添加
* @param array $params
* @return bool
* @author likeadmin
* @date 2023/11/12 14:30
*/
public static function add(array $params): bool
{
Db::startTrans();
try {
Project::create([
'custom_id' => $params['custom_id'],
'project_type' => $params['project_type'],
'project_code' => $params['project_code'],
'project_content' => $params['project_content'],
'project_estimation' => $params['project_estimation'],
'project_address' => $params['project_address'],
'estimated_construction' => $params['estimated_construction'],
'bidding_time' => strtotime($params['bidding_time']),
'bidding_method' => $params['bidding_method'],
'contacts' => $params['contacts'],
'position' => $params['position'],
'telephone' => $params['telephone'],
'department' => $params['department'],
'person' => $params['person'],
'relationship' => $params['relationship'],
'discovery_time' => strtotime($params['discovery_time']),
'information_sources' => $params['information_sources'],
'competitor' => $params['competitor'],
'construction_funds_sources' => $params['construction_funds_sources'],
'construction_payment_method' => $params['construction_payment_method'],
'construction_financial_status' => $params['construction_financial_status'],
'construction_recognition' => $params['construction_recognition'],
'my_construction_recognition' => $params['my_construction_recognition'],
'strategic_significance' => $params['strategic_significance'],
'industry' => $params['industry'],
'unit_nature' => $params['unit_nature'],
'annex' => $params['annex'],
'status' => $params['status']
]);
Db::commit();
return true;
} catch (\Exception $e) {
Db::rollback();
self::setError($e->getMessage());
return false;
}
}
/**
* @notes 编辑
* @param array $params
* @return bool
* @author likeadmin
* @date 2023/11/12 14:30
*/
public static function edit(array $params): bool
{
Db::startTrans();
try {
Project::where('id', $params['id'])->update([
'custom_id' => $params['custom_id'],
'project_type' => $params['project_type'],
'project_code' => $params['project_code'],
'project_content' => $params['project_content'],
'project_estimation' => $params['project_estimation'],
'project_address' => $params['project_address'],
'estimated_construction' => $params['estimated_construction'],
'bidding_time' => strtotime($params['bidding_time']),
'bidding_method' => $params['bidding_method'],
'contacts' => $params['contacts'],
'position' => $params['position'],
'telephone' => $params['telephone'],
'department' => $params['department'],
'person' => $params['person'],
'relationship' => $params['relationship'],
'discovery_time' => strtotime($params['discovery_time']),
'information_sources' => $params['information_sources'],
'competitor' => $params['competitor'],
'construction_funds_sources' => $params['construction_funds_sources'],
'construction_payment_method' => $params['construction_payment_method'],
'construction_financial_status' => $params['construction_financial_status'],
'construction_recognition' => $params['construction_recognition'],
'my_construction_recognition' => $params['my_construction_recognition'],
'strategic_significance' => $params['strategic_significance'],
'industry' => $params['industry'],
'unit_nature' => $params['unit_nature'],
'annex' => $params['annex'],
'status' => $params['status']
]);
Db::commit();
return true;
} catch (\Exception $e) {
Db::rollback();
self::setError($e->getMessage());
return false;
}
}
/**
* @notes 删除
* @param array $params
* @return bool
* @author likeadmin
* @date 2023/11/12 14:30
*/
public static function delete(array $params): bool
{
return Project::destroy($params['id']);
}
/**
* @notes 获取详情
* @param $params
* @return array
* @author likeadmin
* @date 2023/11/12 14:30
*/
public static function detail($params): array
{
return Project::findOrEmpty($params['id'])->toArray();
}
}

View File

@ -0,0 +1,96 @@
<?php
// +----------------------------------------------------------------------
// | likeadmin快速开发前后端分离管理后台PHP版
// +----------------------------------------------------------------------
// | 欢迎阅读学习系统程序代码,建议反馈是我们前进的动力
// | 开源版本可自由商用可去除界面版权logo
// | gitee下载https://gitee.com/likeshop_gitee/likeadmin
// | github下载https://github.com/likeshop-github/likeadmin
// | 访问官网https://www.likeadmin.cn
// | likeadmin团队 版权所有 拥有最终解释权
// +----------------------------------------------------------------------
// | author: likeadminTeam
// +----------------------------------------------------------------------
namespace app\adminapi\validate\custom;
use app\common\validate\BaseValidate;
/**
* CustomContacts验证器
* Class CustomContactsValidate
* @package app\adminapi\validate\custom
*/
class CustomContactsValidate extends BaseValidate
{
/**
* 设置校验规则
* @var string[]
*/
protected $rule = [
'id' => 'require',
'custom_id' => 'require',
];
/**
* 参数描述
* @var string[]
*/
protected $field = [
'id' => 'id',
'custom_id' => 'custom_id',
];
/**
* @notes 添加场景
* @return CustomContactsValidate
* @author likeadmin
* @date 2023/11/11 22:56
*/
public function sceneAdd()
{
return $this->only(['custom_id']);
}
/**
* @notes 编辑场景
* @return CustomContactsValidate
* @author likeadmin
* @date 2023/11/11 22:56
*/
public function sceneEdit()
{
return $this->only(['id','custom_id']);
}
/**
* @notes 删除场景
* @return CustomContactsValidate
* @author likeadmin
* @date 2023/11/11 22:56
*/
public function sceneDelete()
{
return $this->only(['id']);
}
/**
* @notes 详情场景
* @return CustomContactsValidate
* @author likeadmin
* @date 2023/11/11 22:56
*/
public function sceneDetail()
{
return $this->only(['id']);
}
}

View File

@ -0,0 +1,94 @@
<?php
// +----------------------------------------------------------------------
// | likeadmin快速开发前后端分离管理后台PHP版
// +----------------------------------------------------------------------
// | 欢迎阅读学习系统程序代码,建议反馈是我们前进的动力
// | 开源版本可自由商用可去除界面版权logo
// | gitee下载https://gitee.com/likeshop_gitee/likeadmin
// | github下载https://github.com/likeshop-github/likeadmin
// | 访问官网https://www.likeadmin.cn
// | likeadmin团队 版权所有 拥有最终解释权
// +----------------------------------------------------------------------
// | author: likeadminTeam
// +----------------------------------------------------------------------
namespace app\adminapi\validate\custom;
use app\common\validate\BaseValidate;
/**
* Custom验证器
* Class CustomValidate
* @package app\adminapi\validate\custom
*/
class CustomValidate extends BaseValidate
{
/**
* 设置校验规则
* @var string[]
*/
protected $rule = [
'id' => 'require',
];
/**
* 参数描述
* @var string[]
*/
protected $field = [
'id' => 'id',
];
/**
* @notes 添加场景
* @return CustomValidate
* @author likeadmin
* @date 2023/11/11 22:10
*/
public function sceneAdd()
{
return $this->remove('id', true);
}
/**
* @notes 编辑场景
* @return CustomValidate
* @author likeadmin
* @date 2023/11/11 22:10
*/
public function sceneEdit()
{
return $this->only(['id']);
}
/**
* @notes 删除场景
* @return CustomValidate
* @author likeadmin
* @date 2023/11/11 22:10
*/
public function sceneDelete()
{
return $this->only(['id']);
}
/**
* @notes 详情场景
* @return CustomValidate
* @author likeadmin
* @date 2023/11/11 22:10
*/
public function sceneDetail()
{
return $this->only(['id']);
}
}

View File

@ -0,0 +1,94 @@
<?php
// +----------------------------------------------------------------------
// | likeadmin快速开发前后端分离管理后台PHP版
// +----------------------------------------------------------------------
// | 欢迎阅读学习系统程序代码,建议反馈是我们前进的动力
// | 开源版本可自由商用可去除界面版权logo
// | gitee下载https://gitee.com/likeshop_gitee/likeadmin
// | github下载https://github.com/likeshop-github/likeadmin
// | 访问官网https://www.likeadmin.cn
// | likeadmin团队 版权所有 拥有最终解释权
// +----------------------------------------------------------------------
// | author: likeadminTeam
// +----------------------------------------------------------------------
namespace app\adminapi\validate\custom_follow;
use app\common\validate\BaseValidate;
/**
* CustomFollow验证器
* Class CustomFollowValidate
* @package app\adminapi\validate\custom_follow
*/
class CustomFollowValidate extends BaseValidate
{
/**
* 设置校验规则
* @var string[]
*/
protected $rule = [
'id' => 'require',
];
/**
* 参数描述
* @var string[]
*/
protected $field = [
'id' => 'id',
];
/**
* @notes 添加场景
* @return CustomFollowValidate
* @author likeadmin
* @date 2023/11/12 13:40
*/
public function sceneAdd()
{
return $this->remove('id', true);
}
/**
* @notes 编辑场景
* @return CustomFollowValidate
* @author likeadmin
* @date 2023/11/12 13:40
*/
public function sceneEdit()
{
return $this->only(['id']);
}
/**
* @notes 删除场景
* @return CustomFollowValidate
* @author likeadmin
* @date 2023/11/12 13:40
*/
public function sceneDelete()
{
return $this->only(['id']);
}
/**
* @notes 详情场景
* @return CustomFollowValidate
* @author likeadmin
* @date 2023/11/12 13:40
*/
public function sceneDetail()
{
return $this->only(['id']);
}
}

View File

@ -0,0 +1,94 @@
<?php
// +----------------------------------------------------------------------
// | likeadmin快速开发前后端分离管理后台PHP版
// +----------------------------------------------------------------------
// | 欢迎阅读学习系统程序代码,建议反馈是我们前进的动力
// | 开源版本可自由商用可去除界面版权logo
// | gitee下载https://gitee.com/likeshop_gitee/likeadmin
// | github下载https://github.com/likeshop-github/likeadmin
// | 访问官网https://www.likeadmin.cn
// | likeadmin团队 版权所有 拥有最终解释权
// +----------------------------------------------------------------------
// | author: likeadminTeam
// +----------------------------------------------------------------------
namespace app\adminapi\validate\custom_service;
use app\common\validate\BaseValidate;
/**
* CustomService验证器
* Class CustomServiceValidate
* @package app\adminapi\validate\custom_service
*/
class CustomServiceValidate extends BaseValidate
{
/**
* 设置校验规则
* @var string[]
*/
protected $rule = [
'id' => 'require',
];
/**
* 参数描述
* @var string[]
*/
protected $field = [
'id' => 'id',
];
/**
* @notes 添加场景
* @return CustomServiceValidate
* @author likeadmin
* @date 2023/11/12 14:00
*/
public function sceneAdd()
{
return $this->remove('id', true);
}
/**
* @notes 编辑场景
* @return CustomServiceValidate
* @author likeadmin
* @date 2023/11/12 14:00
*/
public function sceneEdit()
{
return $this->only(['id']);
}
/**
* @notes 删除场景
* @return CustomServiceValidate
* @author likeadmin
* @date 2023/11/12 14:00
*/
public function sceneDelete()
{
return $this->only(['id']);
}
/**
* @notes 详情场景
* @return CustomServiceValidate
* @author likeadmin
* @date 2023/11/12 14:00
*/
public function sceneDetail()
{
return $this->only(['id']);
}
}

View File

@ -0,0 +1,94 @@
<?php
// +----------------------------------------------------------------------
// | likeadmin快速开发前后端分离管理后台PHP版
// +----------------------------------------------------------------------
// | 欢迎阅读学习系统程序代码,建议反馈是我们前进的动力
// | 开源版本可自由商用可去除界面版权logo
// | gitee下载https://gitee.com/likeshop_gitee/likeadmin
// | github下载https://github.com/likeshop-github/likeadmin
// | 访问官网https://www.likeadmin.cn
// | likeadmin团队 版权所有 拥有最终解释权
// +----------------------------------------------------------------------
// | author: likeadminTeam
// +----------------------------------------------------------------------
namespace app\adminapi\validate\project;
use app\common\validate\BaseValidate;
/**
* Project验证器
* Class ProjectValidate
* @package app\adminapi\validate\project
*/
class ProjectValidate extends BaseValidate
{
/**
* 设置校验规则
* @var string[]
*/
protected $rule = [
'id' => 'require',
];
/**
* 参数描述
* @var string[]
*/
protected $field = [
'id' => 'id',
];
/**
* @notes 添加场景
* @return ProjectValidate
* @author likeadmin
* @date 2023/11/12 14:30
*/
public function sceneAdd()
{
return $this->remove('id', true);
}
/**
* @notes 编辑场景
* @return ProjectValidate
* @author likeadmin
* @date 2023/11/12 14:30
*/
public function sceneEdit()
{
return $this->only(['id']);
}
/**
* @notes 删除场景
* @return ProjectValidate
* @author likeadmin
* @date 2023/11/12 14:30
*/
public function sceneDelete()
{
return $this->only(['id']);
}
/**
* @notes 详情场景
* @return ProjectValidate
* @author likeadmin
* @date 2023/11/12 14:30
*/
public function sceneDetail()
{
return $this->only(['id']);
}
}

View File

@ -0,0 +1,30 @@
<?php
// +----------------------------------------------------------------------
// | likeadmin快速开发前后端分离管理后台PHP版
// +----------------------------------------------------------------------
// | 欢迎阅读学习系统程序代码,建议反馈是我们前进的动力
// | 开源版本可自由商用可去除界面版权logo
// | gitee下载https://gitee.com/likeshop_gitee/likeadmin
// | github下载https://github.com/likeshop-github/likeadmin
// | 访问官网https://www.likeadmin.cn
// | likeadmin团队 版权所有 拥有最终解释权
// +----------------------------------------------------------------------
// | author: likeadminTeam
// +----------------------------------------------------------------------
namespace app\common\model;
use app\common\model\BaseModel;
/**
* 地区模型
* Class 地区
* @package app\common\model\geo_area
*/
class GeoArea extends BaseModel
{
protected $name = 'geo_area';
}

View File

@ -0,0 +1,30 @@
<?php
// +----------------------------------------------------------------------
// | likeadmin快速开发前后端分离管理后台PHP版
// +----------------------------------------------------------------------
// | 欢迎阅读学习系统程序代码,建议反馈是我们前进的动力
// | 开源版本可自由商用可去除界面版权logo
// | gitee下载https://gitee.com/likeshop_gitee/likeadmin
// | github下载https://github.com/likeshop-github/likeadmin
// | 访问官网https://www.likeadmin.cn
// | likeadmin团队 版权所有 拥有最终解释权
// +----------------------------------------------------------------------
// | author: likeadminTeam
// +----------------------------------------------------------------------
namespace app\common\model;
use app\common\model\BaseModel;
/**
* 城市模型
* Class 城市
* @package app\common\model\geo_city
*/
class GeoCity extends BaseModel
{
protected $name = 'geo_city';
}

View File

@ -0,0 +1,30 @@
<?php
// +----------------------------------------------------------------------
// | likeadmin快速开发前后端分离管理后台PHP版
// +----------------------------------------------------------------------
// | 欢迎阅读学习系统程序代码,建议反馈是我们前进的动力
// | 开源版本可自由商用可去除界面版权logo
// | gitee下载https://gitee.com/likeshop_gitee/likeadmin
// | github下载https://github.com/likeshop-github/likeadmin
// | 访问官网https://www.likeadmin.cn
// | likeadmin团队 版权所有 拥有最终解释权
// +----------------------------------------------------------------------
// | author: likeadminTeam
// +----------------------------------------------------------------------
namespace app\common\model;
use app\common\model\BaseModel;
/**
* 省模型
* Class
* @package app\common\model\geo_province
*/
class GeoProvince extends BaseModel
{
protected $name = 'geo_province';
}

View File

@ -0,0 +1,39 @@
<?php
// +----------------------------------------------------------------------
// | likeadmin快速开发前后端分离管理后台PHP版
// +----------------------------------------------------------------------
// | 欢迎阅读学习系统程序代码,建议反馈是我们前进的动力
// | 开源版本可自由商用可去除界面版权logo
// | gitee下载https://gitee.com/likeshop_gitee/likeadmin
// | github下载https://github.com/likeshop-github/likeadmin
// | 访问官网https://www.likeadmin.cn
// | likeadmin团队 版权所有 拥有最终解释权
// +----------------------------------------------------------------------
// | author: likeadminTeam
// +----------------------------------------------------------------------
namespace app\common\model\custom;
use app\common\model\BaseModel;
use app\common\model\GeoProvince;
use think\model\concern\SoftDelete;
/**
* Custom模型
* Class Custom
* @package app\common\model\custom
*/
class Custom extends BaseModel
{
use SoftDelete;
protected $name = 'custom';
protected $deleteTime = 'delete_time';
public function provinceName()
{
return $this->hasOne(GeoProvince::class, 'province_id','province');
}
}

View File

@ -0,0 +1,45 @@
<?php
// +----------------------------------------------------------------------
// | likeadmin快速开发前后端分离管理后台PHP版
// +----------------------------------------------------------------------
// | 欢迎阅读学习系统程序代码,建议反馈是我们前进的动力
// | 开源版本可自由商用可去除界面版权logo
// | gitee下载https://gitee.com/likeshop_gitee/likeadmin
// | github下载https://github.com/likeshop-github/likeadmin
// | 访问官网https://www.likeadmin.cn
// | likeadmin团队 版权所有 拥有最终解释权
// +----------------------------------------------------------------------
// | author: likeadminTeam
// +----------------------------------------------------------------------
namespace app\common\model\custom;
use app\common\model\BaseModel;
use think\model\concern\SoftDelete;
/**
* CustomContacts模型
* Class CustomContacts
* @package app\common\model\custom
*/
class CustomContacts extends BaseModel
{
use SoftDelete;
protected $name = 'custom_contacts';
protected $deleteTime = 'delete_time';
/**
* @notes 关联关联客户
* @return \think\model\relation\HasOne
* @author likeadmin
* @date 2023/11/11 22:56
*/
public function 关联客户()
{
return $this->hasOne(\app\common\model\custom\Custom::class, 'id', 'custom_id');
}
}

View File

@ -0,0 +1,34 @@
<?php
// +----------------------------------------------------------------------
// | likeadmin快速开发前后端分离管理后台PHP版
// +----------------------------------------------------------------------
// | 欢迎阅读学习系统程序代码,建议反馈是我们前进的动力
// | 开源版本可自由商用可去除界面版权logo
// | gitee下载https://gitee.com/likeshop_gitee/likeadmin
// | github下载https://github.com/likeshop-github/likeadmin
// | 访问官网https://www.likeadmin.cn
// | likeadmin团队 版权所有 拥有最终解释权
// +----------------------------------------------------------------------
// | author: likeadminTeam
// +----------------------------------------------------------------------
namespace app\common\model\custom_follow;
use app\common\model\BaseModel;
use think\model\concern\SoftDelete;
/**
* CustomFollow模型
* Class CustomFollow
* @package app\common\model\custom_follow
*/
class CustomFollow extends BaseModel
{
use SoftDelete;
protected $name = 'custom_follow';
protected $deleteTime = 'delete_time';
}

View File

@ -0,0 +1,34 @@
<?php
// +----------------------------------------------------------------------
// | likeadmin快速开发前后端分离管理后台PHP版
// +----------------------------------------------------------------------
// | 欢迎阅读学习系统程序代码,建议反馈是我们前进的动力
// | 开源版本可自由商用可去除界面版权logo
// | gitee下载https://gitee.com/likeshop_gitee/likeadmin
// | github下载https://github.com/likeshop-github/likeadmin
// | 访问官网https://www.likeadmin.cn
// | likeadmin团队 版权所有 拥有最终解释权
// +----------------------------------------------------------------------
// | author: likeadminTeam
// +----------------------------------------------------------------------
namespace app\common\model\custom_service;
use app\common\model\BaseModel;
use think\model\concern\SoftDelete;
/**
* CustomService模型
* Class CustomService
* @package app\common\model\custom_service
*/
class CustomService extends BaseModel
{
use SoftDelete;
protected $name = 'custom_service';
protected $deleteTime = 'delete_time';
}

View File

@ -0,0 +1,34 @@
<?php
// +----------------------------------------------------------------------
// | likeadmin快速开发前后端分离管理后台PHP版
// +----------------------------------------------------------------------
// | 欢迎阅读学习系统程序代码,建议反馈是我们前进的动力
// | 开源版本可自由商用可去除界面版权logo
// | gitee下载https://gitee.com/likeshop_gitee/likeadmin
// | github下载https://github.com/likeshop-github/likeadmin
// | 访问官网https://www.likeadmin.cn
// | likeadmin团队 版权所有 拥有最终解释权
// +----------------------------------------------------------------------
// | author: likeadminTeam
// +----------------------------------------------------------------------
namespace app\common\model\project;
use app\common\model\BaseModel;
use think\model\concern\SoftDelete;
/**
* Project模型
* Class Project
* @package app\common\model\project
*/
class Project extends BaseModel
{
use SoftDelete;
protected $name = 'project';
protected $deleteTime = 'delete_time';
}

View File

@ -1 +0,0 @@
import o from"./error.17edec42.js";import{d as r,o as i,c as p,U as m,L as e,a as t}from"./@vue.51d7f2d8.js";import"./element-plus.b0ecf6ae.js";import"./@vueuse.ec90c285.js";import"./@element-plus.c80b8015.js";import"./lodash-es.29c53eac.js";import"./dayjs.e873ead7.js";import"./@amap.8a62addd.js";import"./async-validator.fb49d0f5.js";import"./@ctrl.82a509e0.js";import"./@popperjs.36402333.js";import"./escape-html.e5dfadb9.js";import"./normalize-wheel-es.8aeb3683.js";import"./vue-router.9f65afb1.js";import"./index.2ce58885.js";import"./lodash.ffb5376d.js";import"./axios.f9df025a.js";import"./pinia.56356cb7.js";import"./vue-demi.b3a9cad9.js";import"./css-color-function.4b0c77cb.js";import"./color.992612d2.js";import"./clone.d8d3ae9a.js";import"./color-convert.755d189f.js";import"./color-name.e7a4e1d3.js";import"./color-string.e356f5de.js";import"./nprogress.f73355d0.js";import"./vue-clipboard3.dca5bca3.js";import"./clipboard.16e4491b.js";import"./echarts.ac57a99a.js";import"./zrender.d54ce080.js";import"./tslib.60310f1a.js";import"./highlight.js.dba6fa1b.js";import"./@highlightjs.40d5feba.js";const s="/admin/assets/no_perms.a56e95a5.png",a={class:"error404"},u=t("div",{class:"flex justify-center"},[t("img",{class:"w-[150px] h-[150px]",src:s,alt:""})],-1),R=r({__name:"403",setup(c){return(n,_)=>(i(),p("div",a,[m(o,{code:"403",title:"\u60A8\u7684\u8D26\u53F7\u6743\u9650\u4E0D\u8DB3\uFF0C\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458\u6DFB\u52A0\u6743\u9650\uFF01","show-btn":!1},{content:e(()=>[u]),_:1})]))}});export{R as default};

View File

@ -0,0 +1 @@
import o from"./error.fbbe5971.js";import{d as r,o as i,c as p,U as m,L as e,a as t}from"./@vue.e8706010.js";import"./element-plus.b8743002.js";import"./@vueuse.1e5a6e21.js";import"./@element-plus.196c7323.js";import"./lodash-es.92e7f918.js";import"./dayjs.79cf08f3.js";import"./axios.77c85d3e.js";import"./async-validator.fb49d0f5.js";import"./@ctrl.82a509e0.js";import"./@popperjs.36402333.js";import"./escape-html.e5dfadb9.js";import"./normalize-wheel-es.8aeb3683.js";import"./vue-router.12d45bc3.js";import"./index.f6cf97bc.js";import"./lodash.3080e53f.js";import"./pinia.dfca86b4.js";import"./vue-demi.ebc8116b.js";import"./css-color-function.54284180.js";import"./color.1c59b943.js";import"./clone.0c702ab2.js";import"./color-convert.755d189f.js";import"./color-name.e7a4e1d3.js";import"./color-string.e356f5de.js";import"./balanced-match.d2a36341.js";import"./debug.66e2071a.js";import"./ms.a9ae1d6d.js";import"./nprogress.81114d43.js";import"./vue-clipboard3.f3fb4eed.js";import"./clipboard.c973b911.js";import"./echarts.8d7a50ae.js";import"./zrender.1084fa23.js";import"./tslib.60310f1a.js";import"./highlight.js.4ebdf9a4.js";import"./@highlightjs.2cdc8407.js";const s="/admin/assets/no_perms.a56e95a5.png",a={class:"error404"},u=t("div",{class:"flex justify-center"},[t("img",{class:"w-[150px] h-[150px]",src:s,alt:""})],-1),T=r({__name:"403",setup(c){return(n,_)=>(i(),p("div",a,[m(o,{code:"403",title:"\u60A8\u7684\u8D26\u53F7\u6743\u9650\u4E0D\u8DB3\uFF0C\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458\u6DFB\u52A0\u6743\u9650\uFF01","show-btn":!1},{content:e(()=>[u]),_:1})]))}});export{T as default};

View File

@ -1 +0,0 @@
import o from"./error.17edec42.js";import{d as r,o as t,c as m,U as p}from"./@vue.51d7f2d8.js";import"./element-plus.b0ecf6ae.js";import"./@vueuse.ec90c285.js";import"./@element-plus.c80b8015.js";import"./lodash-es.29c53eac.js";import"./dayjs.e873ead7.js";import"./@amap.8a62addd.js";import"./async-validator.fb49d0f5.js";import"./@ctrl.82a509e0.js";import"./@popperjs.36402333.js";import"./escape-html.e5dfadb9.js";import"./normalize-wheel-es.8aeb3683.js";import"./vue-router.9f65afb1.js";import"./index.2ce58885.js";import"./lodash.ffb5376d.js";import"./axios.f9df025a.js";import"./pinia.56356cb7.js";import"./vue-demi.b3a9cad9.js";import"./css-color-function.4b0c77cb.js";import"./color.992612d2.js";import"./clone.d8d3ae9a.js";import"./color-convert.755d189f.js";import"./color-name.e7a4e1d3.js";import"./color-string.e356f5de.js";import"./nprogress.f73355d0.js";import"./vue-clipboard3.dca5bca3.js";import"./clipboard.16e4491b.js";import"./echarts.ac57a99a.js";import"./zrender.d54ce080.js";import"./tslib.60310f1a.js";import"./highlight.js.dba6fa1b.js";import"./@highlightjs.40d5feba.js";const i={class:"error404"},M=r({__name:"404",setup(e){return(u,c)=>(t(),m("div",i,[p(o,{code:"404",title:"\u54CE\u5440\uFF0C\u51FA\u9519\u4E86\uFF01\u60A8\u8BBF\u95EE\u7684\u9875\u9762\u4E0D\u5B58\u5728\u2026"})]))}});export{M as default};

View File

@ -0,0 +1 @@
import o from"./error.fbbe5971.js";import{d as r,o as t,c as m,U as p}from"./@vue.e8706010.js";import"./element-plus.b8743002.js";import"./@vueuse.1e5a6e21.js";import"./@element-plus.196c7323.js";import"./lodash-es.92e7f918.js";import"./dayjs.79cf08f3.js";import"./axios.77c85d3e.js";import"./async-validator.fb49d0f5.js";import"./@ctrl.82a509e0.js";import"./@popperjs.36402333.js";import"./escape-html.e5dfadb9.js";import"./normalize-wheel-es.8aeb3683.js";import"./vue-router.12d45bc3.js";import"./index.f6cf97bc.js";import"./lodash.3080e53f.js";import"./pinia.dfca86b4.js";import"./vue-demi.ebc8116b.js";import"./css-color-function.54284180.js";import"./color.1c59b943.js";import"./clone.0c702ab2.js";import"./color-convert.755d189f.js";import"./color-name.e7a4e1d3.js";import"./color-string.e356f5de.js";import"./balanced-match.d2a36341.js";import"./debug.66e2071a.js";import"./ms.a9ae1d6d.js";import"./nprogress.81114d43.js";import"./vue-clipboard3.f3fb4eed.js";import"./clipboard.c973b911.js";import"./echarts.8d7a50ae.js";import"./zrender.1084fa23.js";import"./tslib.60310f1a.js";import"./highlight.js.4ebdf9a4.js";import"./@highlightjs.2cdc8407.js";const i={class:"error404"},P=r({__name:"404",setup(e){return(u,c)=>(t(),m("div",i,[p(o,{code:"404",title:"\u54CE\u5440\uFF0C\u51FA\u9519\u4E86\uFF01\u60A8\u8BBF\u95EE\u7684\u9875\u9762\u4E0D\u5B58\u5728\u2026"})]))}});export{P as default};

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
import{H as u}from"./highlight.js.dba6fa1b.js";import{d as c,r as d,w as h,e as t,h as g}from"./@vue.51d7f2d8.js";var i=c({props:{code:{type:String,required:!0},language:{type:String,default:""},autodetect:{type:Boolean,default:!0},ignoreIllegals:{type:Boolean,default:!0}},setup:function(e){var a=d(e.language);h(function(){return e.language},function(n){a.value=n});var r=t(function(){return e.autodetect||!a.value}),o=t(function(){return!r.value&&!u.getLanguage(a.value)});return{className:t(function(){return o.value?"":"hljs "+a.value}),highlightedCode:t(function(){var n;if(o.value)return console.warn('The language "'+a.value+'" you specified could not be found.'),e.code.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#x27;");if(r.value){var l=u.highlightAuto(e.code);return a.value=(n=l.language)!==null&&n!==void 0?n:"",l.value}return(l=u.highlight(e.code,{language:a.value,ignoreIllegals:e.ignoreIllegals})).value})}},render:function(){return g("pre",{},[g("code",{class:this.className,innerHTML:this.highlightedCode})])}}),f={install:function(e){e.component("highlightjs",i)},component:i};export{f as o};
import{H as u}from"./highlight.js.4ebdf9a4.js";import{d as c,r as d,w as h,e as t,h as g}from"./@vue.e8706010.js";var i=c({props:{code:{type:String,required:!0},language:{type:String,default:""},autodetect:{type:Boolean,default:!0},ignoreIllegals:{type:Boolean,default:!0}},setup:function(e){var a=d(e.language);h(function(){return e.language},function(n){a.value=n});var r=t(function(){return e.autodetect||!a.value}),o=t(function(){return!r.value&&!u.getLanguage(a.value)});return{className:t(function(){return o.value?"":"hljs "+a.value}),highlightedCode:t(function(){var n;if(o.value)return console.warn('The language "'+a.value+'" you specified could not be found.'),e.code.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#x27;");if(r.value){var l=u.highlightAuto(e.code);return a.value=(n=l.language)!==null&&n!==void 0?n:"",l.value}return(l=u.highlight(e.code,{language:a.value,ignoreIllegals:e.ignoreIllegals})).value})}},render:function(){return g("pre",{},[g("code",{class:this.className,innerHTML:this.highlightedCode})])}}),f={install:function(e){e.component("highlightjs",i)},component:i};export{f as o};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,4 +1,4 @@
import{d as g9,r as v2,s as HP,j as UP,w as VP,l as WP,t as qP,o as v9,c as m9}from"./@vue.51d7f2d8.js";var Pv;if(typeof global>"u"){if("ActiveXObject"in window){var d5="\u62B1\u6B49\uFF0CwangEditor V5+ \u7248\u672C\u5F00\u59CB\uFF0C\u4E0D\u5728\u652F\u6301 IE \u6D4F\u89C8\u5668";d5+=`
import{d as g9,r as v2,s as HP,j as UP,w as VP,l as WP,t as qP,o as v9,c as m9}from"./@vue.e8706010.js";var Pv;if(typeof global>"u"){if("ActiveXObject"in window){var d5="\u62B1\u6B49\uFF0CwangEditor V5+ \u7248\u672C\u5F00\u59CB\uFF0C\u4E0D\u5728\u652F\u6301 IE \u6D4F\u89C8\u5668";d5+=`
Sorry, wangEditor V5+ versions do not support IE browser.`,console.error(d5)}p5(),h5()}else global&&((Pv=global.navigator)===null||Pv===void 0?void 0:Pv.userAgent.match("QQBrowser"))&&(p5(),h5());function p5(){typeof globalThis>"u"&&(window.globalThis=window)}function h5(){typeof AggregateError>"u"&&(window.AggregateError=function(e,t){var n=new Error(t);return n.errors=e,n})}if(typeof global=="object"){var GP=Object.getOwnPropertyDescriptor(global,"window");(!global.window||GP.set)&&(global.window=global,global.requestAnimationFrame=function(){},global.navigator={userAgent:""},global.location={hostname:"0.0.0.0",port:0,protocol:"http:"},global.btoa=function(){},global.crypto={getRandomValues:function(e){return nodeCrypto.randomFillSync(e)}}),global.document!=null&&global.document.getElementsByTagName==null&&(global.document.getElementsByTagName=function(){return[]})}/*!
* is-plain-object <https://github.com/jonschlinkert/is-plain-object>
*

View File

@ -0,0 +1 @@
.el-upload__tip{line-height:1.2}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
.el-upload__tip{line-height:1.2}.tit{font-size:17px;margin-bottom:10px}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
.el-upload__tip{line-height:1.2}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
.el-upload__tip{line-height:1.2}.tit{font-size:17px;margin-bottom:10px}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
.el-upload__tip{line-height:1.2}

View File

@ -0,0 +1 @@
.el-upload__tip{line-height:1.2}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
.el-upload__tip{line-height:1.2}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
.el-upload__tip{line-height:1.2}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
const a={};export{a as default};

View File

@ -0,0 +1 @@
.el-upload__tip{line-height:1.2}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
.el-upload__tip{line-height:1.2}.tit{font-size:17px;margin-bottom:10px}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
.el-upload__tip{line-height:1.2}.tit{font-size:17px;margin-bottom:10px}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
.el-upload__tip{line-height:1.2}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
.el-upload__tip{line-height:1.2}.tit{font-size:17px;margin-bottom:10px}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
.el-upload__tip{line-height:1.2}

View File

@ -0,0 +1 @@
.el-upload__tip{line-height:1.2}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
.el-upload__tip{line-height:1.2}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
.el-upload__tip{line-height:1.2}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
.el-upload__tip{line-height:1.2}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
.el-upload__tip{line-height:1.2}.tit{font-size:17px;margin-bottom:10px}

View File

@ -0,0 +1 @@
.el-upload__tip{line-height:1.2}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
.el-upload__tip{line-height:1.2}.tit{font-size:17px;margin-bottom:10px}

View File

@ -0,0 +1 @@
.el-upload__tip{line-height:1.2}

File diff suppressed because one or more lines are too long

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.7 KiB

View File

@ -0,0 +1 @@
.el-upload__tip{line-height:1.2}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.7 KiB

View File

@ -0,0 +1 @@
import"./account-adjust.vue_vue_type_script_setup_true_lang.4436bdba.js";import{_ as M}from"./account-adjust.vue_vue_type_script_setup_true_lang.4436bdba.js";import"./element-plus.b8743002.js";import"./@vue.e8706010.js";import"./@vueuse.1e5a6e21.js";import"./@element-plus.196c7323.js";import"./lodash-es.92e7f918.js";import"./dayjs.79cf08f3.js";import"./axios.77c85d3e.js";import"./async-validator.fb49d0f5.js";import"./@ctrl.82a509e0.js";import"./@popperjs.36402333.js";import"./escape-html.e5dfadb9.js";import"./normalize-wheel-es.8aeb3683.js";import"./index.b897fe6d.js";import"./index.f6cf97bc.js";import"./lodash.3080e53f.js";import"./vue-router.12d45bc3.js";import"./pinia.dfca86b4.js";import"./vue-demi.ebc8116b.js";import"./css-color-function.54284180.js";import"./color.1c59b943.js";import"./clone.0c702ab2.js";import"./color-convert.755d189f.js";import"./color-name.e7a4e1d3.js";import"./color-string.e356f5de.js";import"./balanced-match.d2a36341.js";import"./debug.66e2071a.js";import"./ms.a9ae1d6d.js";import"./nprogress.81114d43.js";import"./vue-clipboard3.f3fb4eed.js";import"./clipboard.c973b911.js";import"./echarts.8d7a50ae.js";import"./zrender.1084fa23.js";import"./tslib.60310f1a.js";import"./highlight.js.4ebdf9a4.js";import"./@highlightjs.2cdc8407.js";export{M as default};

View File

@ -1 +0,0 @@
import"./account-adjust.vue_vue_type_script_setup_true_lang.1dab9824.js";import{_ as L}from"./account-adjust.vue_vue_type_script_setup_true_lang.1dab9824.js";import"./element-plus.b0ecf6ae.js";import"./@vue.51d7f2d8.js";import"./@vueuse.ec90c285.js";import"./@element-plus.c80b8015.js";import"./lodash-es.29c53eac.js";import"./dayjs.e873ead7.js";import"./@amap.8a62addd.js";import"./async-validator.fb49d0f5.js";import"./@ctrl.82a509e0.js";import"./@popperjs.36402333.js";import"./escape-html.e5dfadb9.js";import"./normalize-wheel-es.8aeb3683.js";import"./index.fb62f914.js";import"./index.vue_vue_type_style_index_0_scoped_95d1884e_lang.0fc4c9f8.js";import"./index.2ce58885.js";import"./lodash.ffb5376d.js";import"./axios.f9df025a.js";import"./vue-router.9f65afb1.js";import"./pinia.56356cb7.js";import"./vue-demi.b3a9cad9.js";import"./css-color-function.4b0c77cb.js";import"./color.992612d2.js";import"./clone.d8d3ae9a.js";import"./color-convert.755d189f.js";import"./color-name.e7a4e1d3.js";import"./color-string.e356f5de.js";import"./nprogress.f73355d0.js";import"./vue-clipboard3.dca5bca3.js";import"./clipboard.16e4491b.js";import"./echarts.ac57a99a.js";import"./zrender.d54ce080.js";import"./tslib.60310f1a.js";import"./highlight.js.dba6fa1b.js";import"./@highlightjs.40d5feba.js";export{L as default};

View File

@ -1 +0,0 @@
import{C as x,G as B,H as R,B as g,D as N}from"./element-plus.b0ecf6ae.js";import{P as q}from"./index.fb62f914.js";import{f as C}from"./index.2ce58885.js";import{d as A,s as D,$ as I,e as S,w as b,o as U,K as j,L as a,a as G,U as o,u as r,R as n,S as E}from"./@vue.51d7f2d8.js";const P={class:"pr-8"},T=A({__name:"account-adjust",props:{show:{type:Boolean,required:!0},value:{type:[Number,String],required:!0}},emits:["update:show","confirm"],setup(d,{emit:i}){const c=d,s=D(),u=I({action:1,num:"",remark:""}),m=D(),f=S(()=>Number(c.value)+Number(u.num)*(u.action==1?1:-1)),w={num:[{required:!0,message:"\u8BF7\u8F93\u5165\u8C03\u6574\u7684\u91D1\u989D"}]},v=e=>{if(e.includes("-"))return C.msgError("\u8BF7\u8F93\u5165\u6B63\u6574\u6570");u.num=e},y=async()=>{var e;await((e=s.value)==null?void 0:e.validate()),i("confirm",u)},V=()=>{var e;i("update:show",!1),(e=s.value)==null||e.resetFields()};return b(()=>c.show,e=>{var l,t;e?(l=m.value)==null||l.open():(t=m.value)==null||t.close()}),b(f,e=>{e<0&&(C.msgError("\u8C03\u6574\u540E\u4F59\u989D\u9700\u5927\u4E8E0"),u.num="")}),(e,l)=>{const t=x,_=B,h=R,F=g,k=N;return U(),j(q,{ref_key:"popupRef",ref:m,title:"\u4F59\u989D\u8C03\u6574",width:"500px",onConfirm:y,async:!0,onClose:V},{default:a(()=>[G("div",P,[o(k,{ref_key:"formRef",ref:s,model:r(u),"label-width":"120px",rules:w},{default:a(()=>[o(t,{label:"\u5F53\u524D\u4F59\u989D"},{default:a(()=>[n("\xA5 "+E(d.value),1)]),_:1}),o(t,{label:"\u4F59\u989D\u589E\u51CF",required:"",prop:"action"},{default:a(()=>[o(h,{modelValue:r(u).action,"onUpdate:modelValue":l[0]||(l[0]=p=>r(u).action=p)},{default:a(()=>[o(_,{label:1},{default:a(()=>[n("\u589E\u52A0\u4F59\u989D")]),_:1}),o(_,{label:2},{default:a(()=>[n("\u6263\u51CF\u4F59\u989D")]),_:1})]),_:1},8,["modelValue"])]),_:1}),o(t,{label:"\u8C03\u6574\u4F59\u989D",prop:"num"},{default:a(()=>[o(F,{"model-value":r(u).num,placeholder:"\u8BF7\u8F93\u5165\u8C03\u6574\u7684\u91D1\u989D",type:"number",onInput:v},null,8,["model-value"])]),_:1}),o(t,{label:"\u8C03\u6574\u540E\u4F59\u989D"},{default:a(()=>[n(" \xA5 "+E(r(f)),1)]),_:1}),o(t,{label:"\u5907\u6CE8",prop:"remark"},{default:a(()=>[o(F,{modelValue:r(u).remark,"onUpdate:modelValue":l[1]||(l[1]=p=>r(u).remark=p),type:"textarea",rows:4},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])])]),_:1},512)}}});export{T as _};

View File

@ -0,0 +1 @@
import{B as k,J as x,K as B,G as R,N}from"./element-plus.b8743002.js";import{P as g}from"./index.b897fe6d.js";import{f as F}from"./index.f6cf97bc.js";import{d as q,s as C,$ as A,e as I,w as D,o as S,K as U,L as a,a as j,U as o,S as r,T as b,u as G}from"./@vue.e8706010.js";const K={class:"pr-8"},P=r("\u589E\u52A0\u4F59\u989D"),T=r("\u6263\u51CF\u4F59\u989D"),z=q({__name:"account-adjust",props:{show:{type:Boolean,required:!0},value:{type:[Number,String],required:!0}},emits:["update:show","confirm"],setup(d,{emit:p}){const i=d,n=C(),u=A({action:1,num:"",remark:""}),s=C(),c=I(()=>Number(i.value)+Number(u.num)*(u.action==1?1:-1)),E={num:[{required:!0,message:"\u8BF7\u8F93\u5165\u8C03\u6574\u7684\u91D1\u989D"}]},w=e=>{if(e.includes("-"))return F.msgError("\u8BF7\u8F93\u5165\u6B63\u6574\u6570");u.num=e},h=async()=>{var e;await((e=n.value)==null?void 0:e.validate()),p("confirm",u)},v=()=>{var e;p("update:show",!1),(e=n.value)==null||e.resetFields()};return D(()=>i.show,e=>{var l,t;e?(l=s.value)==null||l.open():(t=s.value)==null||t.close()}),D(c,e=>{e<0&&(F.msgError("\u8C03\u6574\u540E\u4F59\u989D\u9700\u5927\u4E8E0"),u.num="")}),(e,l)=>{const t=k,f=x,y=B,_=R,V=N;return S(),U(g,{ref_key:"popupRef",ref:s,title:"\u4F59\u989D\u8C03\u6574",width:"500px",onConfirm:h,async:!0,onClose:v},{default:a(()=>[j("div",K,[o(V,{ref_key:"formRef",ref:n,model:u,"label-width":"120px",rules:E},{default:a(()=>[o(t,{label:"\u5F53\u524D\u4F59\u989D"},{default:a(()=>[r("\xA5 "+b(d.value),1)]),_:1}),o(t,{label:"\u4F59\u989D\u589E\u51CF",required:"",prop:"action"},{default:a(()=>[o(y,{modelValue:u.action,"onUpdate:modelValue":l[0]||(l[0]=m=>u.action=m)},{default:a(()=>[o(f,{label:1},{default:a(()=>[P]),_:1}),o(f,{label:2},{default:a(()=>[T]),_:1})]),_:1},8,["modelValue"])]),_:1}),o(t,{label:"\u8C03\u6574\u4F59\u989D",prop:"num"},{default:a(()=>[o(_,{"model-value":u.num,placeholder:"\u8BF7\u8F93\u5165\u8C03\u6574\u7684\u91D1\u989D",type:"number",onInput:w},null,8,["model-value"])]),_:1}),o(t,{label:"\u8C03\u6574\u540E\u4F59\u989D"},{default:a(()=>[r(" \xA5 "+b(G(c)),1)]),_:1}),o(t,{label:"\u5907\u6CE8",prop:"remark"},{default:a(()=>[o(_,{modelValue:u.remark,"onUpdate:modelValue":l[1]||(l[1]=m=>u.remark=m),type:"textarea",rows:4},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])])]),_:1},512)}}});export{z as _};

View File

@ -1 +0,0 @@
import"./add-nav.vue_vue_type_script_setup_true_lang.cf54377c.js";import{_ as X}from"./add-nav.vue_vue_type_script_setup_true_lang.cf54377c.js";import"./element-plus.b0ecf6ae.js";import"./@vue.51d7f2d8.js";import"./@vueuse.ec90c285.js";import"./@element-plus.c80b8015.js";import"./lodash-es.29c53eac.js";import"./dayjs.e873ead7.js";import"./@amap.8a62addd.js";import"./async-validator.fb49d0f5.js";import"./@ctrl.82a509e0.js";import"./@popperjs.36402333.js";import"./escape-html.e5dfadb9.js";import"./normalize-wheel-es.8aeb3683.js";import"./index.53ac98bb.js";import"./index.2ce58885.js";import"./lodash.ffb5376d.js";import"./axios.f9df025a.js";import"./vue-router.9f65afb1.js";import"./pinia.56356cb7.js";import"./vue-demi.b3a9cad9.js";import"./css-color-function.4b0c77cb.js";import"./color.992612d2.js";import"./clone.d8d3ae9a.js";import"./color-convert.755d189f.js";import"./color-name.e7a4e1d3.js";import"./color-string.e356f5de.js";import"./nprogress.f73355d0.js";import"./vue-clipboard3.dca5bca3.js";import"./clipboard.16e4491b.js";import"./echarts.ac57a99a.js";import"./zrender.d54ce080.js";import"./tslib.60310f1a.js";import"./highlight.js.dba6fa1b.js";import"./@highlightjs.40d5feba.js";import"./picker.99724087.js";import"./index.fb62f914.js";import"./index.vue_vue_type_style_index_0_scoped_95d1884e_lang.0fc4c9f8.js";import"./picker.4765d64c.js";import"./index.a1470eba.js";import"./index.vue_vue_type_script_setup_true_lang.ebbecf1a.js";import"./index.4d4900fe.js";import"./index.vue_vue_type_script_setup_true_lang.00eabce0.js";import"./usePaging.60d02673.js";import"./vue3-video-play.b911321b.js";import"./vuedraggable.884a7061.js";import"./vue.47d317a9.js";import"./sortablejs.263ac6c9.js";export{X as default};

View File

@ -0,0 +1 @@
import"./add-nav.vue_vue_type_script_setup_true_lang.a3784ddf.js";import{_ as X}from"./add-nav.vue_vue_type_script_setup_true_lang.a3784ddf.js";import"./element-plus.b8743002.js";import"./@vue.e8706010.js";import"./@vueuse.1e5a6e21.js";import"./@element-plus.196c7323.js";import"./lodash-es.92e7f918.js";import"./dayjs.79cf08f3.js";import"./axios.77c85d3e.js";import"./async-validator.fb49d0f5.js";import"./@ctrl.82a509e0.js";import"./@popperjs.36402333.js";import"./escape-html.e5dfadb9.js";import"./normalize-wheel-es.8aeb3683.js";import"./index.b311615e.js";import"./index.f6cf97bc.js";import"./lodash.3080e53f.js";import"./vue-router.12d45bc3.js";import"./pinia.dfca86b4.js";import"./vue-demi.ebc8116b.js";import"./css-color-function.54284180.js";import"./color.1c59b943.js";import"./clone.0c702ab2.js";import"./color-convert.755d189f.js";import"./color-name.e7a4e1d3.js";import"./color-string.e356f5de.js";import"./balanced-match.d2a36341.js";import"./debug.66e2071a.js";import"./ms.a9ae1d6d.js";import"./nprogress.81114d43.js";import"./vue-clipboard3.f3fb4eed.js";import"./clipboard.c973b911.js";import"./echarts.8d7a50ae.js";import"./zrender.1084fa23.js";import"./tslib.60310f1a.js";import"./highlight.js.4ebdf9a4.js";import"./@highlightjs.2cdc8407.js";import"./picker.6b2db5a8.js";import"./index.b897fe6d.js";import"./picker.6c052a6a.js";import"./index.5fb51031.js";import"./index.vue_vue_type_script_setup_true_lang.a5f8d999.js";import"./index.vue_vue_type_script_setup_true_lang.6678b7f5.js";import"./usePaging.160b82b8.js";import"./vue3-video-play.4851e3ad.js";import"./vuedraggable.31c11aa3.js";import"./vue.c9ecee76.js";import"./sortablejs.f69f07d3.js";export{X as default};

View File

@ -0,0 +1 @@
import{G as D,w as F}from"./element-plus.b8743002.js";import{_ as A}from"./index.b311615e.js";import{_ as B}from"./picker.6b2db5a8.js";import{_ as y}from"./picker.6c052a6a.js";import{f as p,d as E}from"./index.f6cf97bc.js";import{D as U}from"./vuedraggable.31c11aa3.js";import{d as C,e as w,o as c,c as N,a as e,U as t,L as m,K as $,u as r,k as z,S as L}from"./@vue.e8706010.js";const G={class:"bg-fill-light flex items-center w-full p-4 mb-4 cursor-move"},I={class:"upload-btn w-[60px] h-[60px]"},K={class:"ml-3 flex-1"},P={class:"flex"},R=e("span",{class:"text-tx-regular flex-none mr-3"},"\u540D\u79F0",-1),S={class:"flex mt-[18px]"},T=e("span",{class:"text-tx-regular flex-none mr-3"},"\u94FE\u63A5",-1),j=L("\u6DFB\u52A0"),X=C({__name:"add-nav",props:{modelValue:{type:Array,default:()=>[]},max:{type:Number,default:10},min:{type:Number,default:1}},emits:["update:modelValue"],setup(_,{emit:i}){const o=_,s=w({get(){return o.modelValue},set(a){i("update:modelValue",a)}}),f=()=>{var a;((a=o.modelValue)==null?void 0:a.length)<o.max?s.value.push({image:"",name:"\u5BFC\u822A\u540D\u79F0",link:{}}):p.msgError(`\u6700\u591A\u6DFB\u52A0${o.max}\u4E2A`)},V=a=>{var u;if(((u=o.modelValue)==null?void 0:u.length)<=o.min)return p.msgError(`\u6700\u5C11\u4FDD\u7559${o.min}\u4E2A`);s.value.splice(a,1)};return(a,u)=>{const x=E,g=y,h=D,v=B,k=A,b=F;return c(),N("div",null,[e("div",null,[t(r(U),{class:"draggable",modelValue:r(s),"onUpdate:modelValue":u[0]||(u[0]=l=>z(s)?s.value=l:null),animation:"300"},{item:m(({element:l,index:d})=>[(c(),$(k,{class:"max-w-[400px]",key:d,onClose:n=>V(d)},{default:m(()=>[e("div",G,[t(g,{modelValue:l.image,"onUpdate:modelValue":n=>l.image=n,"upload-class":"bg-body",size:"60px","exclude-domain":""},{upload:m(()=>[e("div",I,[t(x,{name:"el-icon-Plus",size:20})])]),_:2},1032,["modelValue","onUpdate:modelValue"]),e("div",K,[e("div",P,[R,t(h,{modelValue:l.name,"onUpdate:modelValue":n=>l.name=n,placeholder:"\u8BF7\u8F93\u5165\u540D\u79F0"},null,8,["modelValue","onUpdate:modelValue"])]),e("div",S,[T,t(v,{modelValue:l.link,"onUpdate:modelValue":n=>l.link=n},null,8,["modelValue","onUpdate:modelValue"])])])])]),_:2},1032,["onClose"]))]),_:1},8,["modelValue"])]),e("div",null,[t(b,{type:"primary",onClick:f},{default:m(()=>[j]),_:1})])])}}});export{X as _};

View File

@ -1 +0,0 @@
import{B,w as D}from"./element-plus.b0ecf6ae.js";import{_ as F}from"./index.53ac98bb.js";import{_ as A}from"./picker.99724087.js";import{_ as y}from"./picker.4765d64c.js";import{f as p,b as E}from"./index.2ce58885.js";import{D as U}from"./vuedraggable.884a7061.js";import{d as C,e as w,o as c,c as N,a as e,U as t,L as m,K as $,u as r,k as z,R as L}from"./@vue.51d7f2d8.js";const R={class:"bg-fill-light flex items-center w-full p-4 mb-4 cursor-move"},I={class:"upload-btn w-[60px] h-[60px]"},K={class:"ml-3 flex-1"},P={class:"flex"},T=e("span",{class:"text-tx-regular flex-none mr-3"},"\u540D\u79F0",-1),j={class:"flex mt-[18px]"},q=e("span",{class:"text-tx-regular flex-none mr-3"},"\u94FE\u63A5",-1),W=C({__name:"add-nav",props:{modelValue:{type:Array,default:()=>[]},max:{type:Number,default:10},min:{type:Number,default:1}},emits:["update:modelValue"],setup(_,{emit:i}){const o=_,s=w({get(){return o.modelValue},set(a){i("update:modelValue",a)}}),f=()=>{var a;((a=o.modelValue)==null?void 0:a.length)<o.max?s.value.push({image:"",name:"\u5BFC\u822A\u540D\u79F0",link:{}}):p.msgError(`\u6700\u591A\u6DFB\u52A0${o.max}\u4E2A`)},V=a=>{var u;if(((u=o.modelValue)==null?void 0:u.length)<=o.min)return p.msgError(`\u6700\u5C11\u4FDD\u7559${o.min}\u4E2A`);s.value.splice(a,1)};return(a,u)=>{const x=E,g=y,h=B,v=A,k=F,b=D;return c(),N("div",null,[e("div",null,[t(r(U),{class:"draggable",modelValue:r(s),"onUpdate:modelValue":u[0]||(u[0]=l=>z(s)?s.value=l:null),animation:"300"},{item:m(({element:l,index:d})=>[(c(),$(k,{class:"max-w-[400px]",key:d,onClose:n=>V(d)},{default:m(()=>[e("div",R,[t(g,{modelValue:l.image,"onUpdate:modelValue":n=>l.image=n,"upload-class":"bg-body",size:"60px","exclude-domain":""},{upload:m(()=>[e("div",I,[t(x,{name:"el-icon-Plus",size:20})])]),_:2},1032,["modelValue","onUpdate:modelValue"]),e("div",K,[e("div",P,[T,t(h,{modelValue:l.name,"onUpdate:modelValue":n=>l.name=n,placeholder:"\u8BF7\u8F93\u5165\u540D\u79F0"},null,8,["modelValue","onUpdate:modelValue"])]),e("div",j,[q,t(v,{modelValue:l.link,"onUpdate:modelValue":n=>l.link=n},null,8,["modelValue","onUpdate:modelValue"])])])])]),_:2},1032,["onClose"]))]),_:1},8,["modelValue"])]),e("div",null,[t(b,{type:"primary",onClick:f},{default:m(()=>[L("\u6DFB\u52A0")]),_:1})])])}}});export{W as _};

View File

@ -1 +0,0 @@
import{r as n}from"./index.2ce58885.js";function e(t){return n.get({url:"/auth.admin/lists",params:t},{ignoreCancelToken:!0})}function r(t){return n.post({url:"/auth.admin/add",params:t})}function u(t){return n.post({url:"/auth.admin/edit",params:t})}function i(t){return n.post({url:"/auth.admin/delete",params:t})}function s(t){return n.get({url:"/auth.admin/detail",params:t})}function d(t){return n.get({url:"/auth.admin/Draftingcontracts",params:t})}function o(t){return n.get({url:"/auth.admin/postsms",params:t})}export{e as a,u as b,r as c,s as d,i as e,d as g,o as s};

View File

@ -1 +1 @@
import{r as e}from"./index.2ce58885.js";function a(t){return e.get({url:"/article.articleCate/lists",params:t})}function l(t){return e.get({url:"/article.articleCate/all",params:t})}function i(t){return e.post({url:"/article.articleCate/add",params:t})}function c(t){return e.post({url:"/article.articleCate/edit",params:t})}function u(t){return e.post({url:"/article.articleCate/delete",params:t})}function n(t){return e.get({url:"/article.articleCate/detail",params:t})}function s(t){return e.post({url:"/article.articleCate/updateStatus",params:t})}function o(t){return e.get({url:"/article.article/lists",params:t})}function d(t){return e.post({url:"/article.article/add",params:t})}function f(t){return e.post({url:"/article.article/edit",params:t})}function C(t){return e.post({url:"/article.article/delete",params:t})}function p(t){return e.get({url:"/article.article/detail",params:t})}function g(t){return e.post({url:"/article.article/updateStatus",params:t})}export{c as a,i as b,n as c,u as d,s as e,a as f,p as g,l as h,f as i,d as j,g as k,C as l,o as m};
import{r as e}from"./index.f6cf97bc.js";function a(t){return e.get({url:"/article.articleCate/lists",params:t})}function l(t){return e.get({url:"/article.articleCate/all",params:t})}function i(t){return e.post({url:"/article.articleCate/add",params:t})}function c(t){return e.post({url:"/article.articleCate/edit",params:t})}function u(t){return e.post({url:"/article.articleCate/delete",params:t})}function n(t){return e.get({url:"/article.articleCate/detail",params:t})}function s(t){return e.post({url:"/article.articleCate/updateStatus",params:t})}function o(t){return e.get({url:"/article.article/lists",params:t})}function d(t){return e.post({url:"/article.article/add",params:t})}function f(t){return e.post({url:"/article.article/edit",params:t})}function C(t){return e.post({url:"/article.article/delete",params:t})}function p(t){return e.get({url:"/article.article/detail",params:t})}function g(t){return e.post({url:"/article.article/updateStatus",params:t})}export{c as a,i as b,n as c,a as d,u as e,s as f,p as g,l as h,f as i,d as j,o as k,g as l,C as m};

Some files were not shown because too many files have changed in this diff Show More