Files
fdesk/config/route.php
T
2026-02-04 17:35:08 +08:00

640 lines
39 KiB
PHP

<?php
/**
* This file is part of webman.
*
* Licensed under The MIT License
* For full copyright and license information, please see the MIT-LICENSE.txt
* Redistributions of files must retain the above copyright notice.
*
* @author walkor<walkor@workerman.net>
* @copyright walkor<walkor@workerman.net>
* @link http://www.workerman.net/
* @license http://www.opensource.org/licenses/mit-license.php MIT License
*/
use Webman\Route;
/**
* 当前路由规则:/{业务域}/{模块}/{操作} (可扩展:/{业务域}/{版本号}/{模块}/{操作})
*/
// 管理后台 API 样例
// GET /admin/user/{user_id}/tokens // 返回用户token+元信息
// POST /admin/user/{user_id}/kickout // body: {"tokens": ["..."]} // 踢下线
// POST /admin/user/{user_id}/kickout_all // 一键踢全部
Route::any('/c', [app\controller\IndexController::class, 'createResource']);
Route::any('/perm', [app\controller\IndexController::class, 'perm']);
// 飞书
Route::any('/feishu/event', [app\common\controller\NotifyController::class, 'feishuEvent']);
// 飞书回调
Route::any('/feishu/callback', [app\common\controller\NotifyController::class, 'feishuCallback']);
// 代理oss文件地址
Route::any('/proxy/ossurl', [app\common\controller\UploadController::class, 'proxy']);
Route::any('/upload', [app\common\controller\UploadController::class, 'uploadFile']);
Route::any('/upload/image', [app\common\controller\UploadController::class, 'uploadImage']);
Route::any('/upload/delete', [app\common\controller\UploadController::class, 'deleteFile']);
// 询单转发
Route::group('/inquiry/transmit', function () {
Route::any('/form', [app\admin\controller\InquiryTransmitController::class, 'form']);
});
// 公共
Route::group('/common', function () {
Route::group('/auth', function () {
Route::any('/login', [app\common\controller\AuthController::class, 'login']);
Route::any('/register', [app\common\controller\AuthController::class, 'register']);
Route::any('/feishu/scope', [app\common\controller\AuthController::class, 'feishuScope']);
Route::any('/refresh/token', [app\common\controller\AuthController::class, 'refresh']);
// // 调试
Route::any('/feishu/auth', [app\common\controller\AuthController::class, 'feishuAuth']);
});
Route::group('/user', function () {
Route::any('/info', [app\common\controller\UserController::class, 'info']);
Route::any('/get', [app\common\controller\UserController::class, 'getUser']);
Route::any('/team', [app\common\controller\UserController::class, 'team']);
Route::any('/resign', [app\common\controller\UserController::class, 'resignMember']);
});
Route::group('/preset', function () {
Route::any('/corps', [app\common\controller\PresetController::class, 'corps']);
Route::any('/feishu/app', [app\common\controller\PresetController::class, 'feishuApp']);
Route::any('/systems', [app\common\controller\PresetController::class, 'systems']);
Route::any('/roles', [app\common\controller\PresetController::class, 'roles']);
Route::any('/currency', [app\common\controller\PresetController::class, 'currency']);
Route::any('/cache/clear', [app\common\controller\PresetController::class, 'cacheClear']);
Route::any('/menus', [app\common\controller\PresetController::class, 'menus']);
Route::any('/brand', [app\common\controller\PresetController::class, 'brand']);
Route::any('/brand/series', [app\common\controller\PresetController::class, 'series']);
Route::any('/account', [app\common\controller\PresetController::class, 'account']);
Route::any('/dict', [app\common\controller\PresetController::class, 'dict']);
Route::any('/dictItem', [app\common\controller\PresetController::class, 'dictItem']);
Route::any('/port', [app\common\controller\PresetController::class, 'port']);
Route::any('/color', [app\common\controller\PresetController::class, 'color']);
Route::any('/modification', [app\common\controller\PresetController::class, 'modification']);
Route::any('/usergroup', [app\common\controller\PresetController::class, 'userGroup']);
Route::any('/usergroup/scene', [app\common\controller\PresetController::class, 'userGroupScene']);
});
// 消息通知
Route::group('/notice', function () {
Route::any('/list', [app\common\controller\MessageUserStatusController::class, 'index']);
Route::any('/show', [app\common\controller\MessageUserStatusController::class, 'show']);
Route::any('/read', [app\common\controller\MessageUserStatusController::class, 'read']);
Route::any('/destroy', [app\common\controller\MessageUserStatusController::class, 'destroy']);
Route::any('/unread', [app\common\controller\MessageUserStatusController::class, 'listUnRead']);
});
// 品牌
Route::group('/brand', function () {
Route::any('/list', [app\common\controller\BrandController::class, 'index']);
Route::any('/show', [app\common\controller\BrandController::class, 'show']);
Route::any('/store', [app\common\controller\BrandController::class, 'store']);
Route::any('/update', [app\common\controller\BrandController::class, 'update']);
Route::any('/hot', [app\common\controller\BrandController::class, 'update']);
Route::any('/destroy', [app\common\controller\BrandController::class, 'destroy']);
Route::any('/crawlSeries', [app\common\controller\BrandController::class, 'crawlSeries']);
Route::any('/crawlSeriesCreate', [app\common\controller\BrandController::class, 'crawlSeriesCreate']);
// 车系
Route::group('/series', function () {
Route::any('/list', [app\common\controller\BrandSeriesController::class, 'index']);
Route::any('/show', [app\common\controller\BrandSeriesController::class, 'show']);
Route::any('/store', [app\common\controller\BrandSeriesController::class, 'store']);
Route::any('/update', [app\common\controller\BrandSeriesController::class, 'update']);
Route::any('/destroy', [app\common\controller\BrandSeriesController::class, 'destroy']);
Route::any('/crawlModels', [app\common\controller\BrandSeriesController::class, 'crawlModels']);
Route::any('/crawlModelCreate', [app\common\controller\BrandSeriesController::class, 'crawlModelCreate']);
Route::any('/crawlKeyword', [app\common\controller\BrandSeriesController::class, 'crawlKeyword']);
Route::any('/crawlKeywordCreate', [app\common\controller\BrandSeriesController::class, 'crawlKeywordCreate']);
Route::any('/crawlUrl', [app\common\controller\BrandSeriesController::class, 'crawlUrl']);
Route::any('/crawl', [app\common\controller\BrandSeriesController::class, 'crawl']);
});
});
// 港口
Route::group('/port', function () {
Route::any('/list', [app\common\controller\SysPortController::class, 'index']);
Route::any('/show', [app\common\controller\SysPortController::class, 'show']);
Route::any('/store', [app\common\controller\SysPortController::class, 'store']);
Route::any('/update', [app\common\controller\SysPortController::class, 'update']);
Route::any('/destroy', [app\common\controller\SysPortController::class, 'destroy']);
});
});
// 后台管理
Route::group('/admin', function () {
// 消息通知
Route::group('/notice', function () {
Route::any('/list', [app\common\controller\MessageNotificationsController::class, 'index']);
Route::any('/show', [app\common\controller\MessageNotificationsController::class, 'show']);
Route::any('/push', [app\common\controller\MessageNotificationsController::class, 'push']);
Route::any('/destroy', [app\common\controller\MessageNotificationsController::class, 'destroy']);
});
// 角色
Route::group('/role', function () {
Route::any('/list', [app\admin\controller\RoleController::class, 'index']);
Route::any('/show', [app\admin\controller\RoleController::class, 'show']);
Route::any('/store', [app\admin\controller\RoleController::class, 'store']);
Route::any('/update', [app\admin\controller\RoleController::class, 'update']);
Route::any('/destroy', [app\admin\controller\RoleController::class, 'destroy']);
Route::any('/menu/resource', [app\admin\controller\RoleController::class, 'menuResource']);
});
// 公司
Route::group('/corp', function () {
Route::any('/list', [app\admin\controller\CorpController::class, 'index']);
Route::any('/show', [app\admin\controller\CorpController::class, 'show']);
Route::any('/store', [app\admin\controller\CorpController::class, 'store']);
Route::any('/update', [app\admin\controller\CorpController::class, 'update']);
Route::any('/destroy', [app\admin\controller\CorpController::class, 'destroy']);
});
// 系统
Route::group('/systems', function () {
Route::any('/list', [app\admin\controller\SystemsController::class, 'index']);
Route::any('/show', [app\admin\controller\SystemsController::class, 'show']);
Route::any('/store', [app\admin\controller\SystemsController::class, 'store']);
Route::any('/update', [app\admin\controller\SystemsController::class, 'update']);
Route::any('/destroy', [app\admin\controller\SystemsController::class, 'destroy']);
});
// 飞书应用
Route::group('/corp/feishu', function () {
Route::any('/list', [app\admin\controller\CorpFeishuAppController::class, 'index']);
Route::any('/show', [app\admin\controller\CorpFeishuAppController::class, 'show']);
Route::any('/store', [app\admin\controller\CorpFeishuAppController::class, 'store']);
Route::any('/update', [app\admin\controller\CorpFeishuAppController::class, 'update']);
Route::any('/destroy', [app\admin\controller\CorpFeishuAppController::class, 'destroy']);
});
// 资源
Route::group('/resources', function () {
Route::any('/list/tree', [app\common\controller\ResourceController::class, 'listTree']);
Route::any('/show', [app\common\controller\ResourceController::class, 'show']);
Route::any('/store', [app\common\controller\ResourceController::class, 'store']);
Route::any('/update', [app\common\controller\ResourceController::class, 'update']);
Route::any('/destroy', [app\common\controller\ResourceController::class, 'destroy']);
Route::any('/list/menu', [app\common\controller\ResourceController::class, 'menuList']);
Route::any('/list/menu/tree', [app\common\controller\ResourceController::class, 'menuTreeList']);
});
// 用户
Route::group('/user', function () {
Route::any('/list', [app\admin\controller\UserController::class, 'index']);
Route::any('/show', [app\admin\controller\UserController::class, 'show']);
Route::any('/update', [app\admin\controller\UserController::class, 'update']);
Route::any('/edit', [app\admin\controller\UserController::class, 'edit']);
Route::any('/authorize', [app\admin\controller\UserController::class, 'authorize']);
Route::any('/set/resources', [app\admin\controller\UserController::class, 'updateResources']);
Route::any('/update/password', [app\admin\controller\UserController::class, 'savePassword']);
Route::any('/update/sign', [app\admin\controller\UserController::class, 'updateSign']);
});
// 询单
Route::group('/inquiry', function () {
Route::any('/list', [app\inquiry\controller\InquiryLogController::class, 'index']);
Route::any('/show', [app\inquiry\controller\InquiryLogController::class, 'show']);
Route::any('/store', [app\inquiry\controller\InquiryLogController::class, 'store']);
Route::any('/update', [app\inquiry\controller\InquiryLogController::class, 'update']);
Route::any('/destroy', [app\inquiry\controller\InquiryLogController::class, 'destroy']);
Route::any('/release', [app\inquiry\controller\InquiryLogController::class, 'release']);
Route::any('/allocation', [app\inquiry\controller\InquiryLogController::class, 'allocation']);
Route::any('/reallocation', [app\inquiry\controller\InquiryLogController::class, 'reAllocation']);
// 统计
Route::group('/statistics', function () {
Route::any('/whole', [app\inquiry\controller\StatisticsController::class, 'whole']);
Route::any('/channel/count', [app\inquiry\controller\StatisticsController::class, 'channelCount']);
Route::any('/country/count', [app\inquiry\controller\StatisticsController::class, 'countryCount']);
Route::any('/track/count', [app\inquiry\controller\StatisticsController::class, 'trackCount']);
Route::any('/day/count', [app\inquiry\controller\StatisticsController::class, 'dayCount']);
Route::any('/inquiry/count', [app\inquiry\controller\StatisticsController::class, 'inquiryCount']);
});
});
// 询单转发
Route::group('/inquiry', function () {
Route::group('/transmit', function () {
Route::any('/list', [app\admin\controller\InquiryTransmitController::class, 'index']);
Route::any('/show', [app\admin\controller\InquiryTransmitController::class, 'show']);
Route::any('/store', [app\admin\controller\InquiryTransmitController::class, 'store']);
Route::any('/update', [app\admin\controller\InquiryTransmitController::class, 'update']);
Route::any('/destroy', [app\admin\controller\InquiryTransmitController::class, 'destroy']);
});
Route::group('/config', function () {
Route::any('/list', [app\admin\controller\InquiryTransmitConfigController::class, 'index']);
Route::any('/show', [app\admin\controller\InquiryTransmitConfigController::class, 'show']);
Route::any('/store', [app\admin\controller\InquiryTransmitConfigController::class, 'store']);
Route::any('/update', [app\admin\controller\InquiryTransmitConfigController::class, 'update']);
Route::any('/destroy', [app\admin\controller\InquiryTransmitConfigController::class, 'destroy']);
});
});
// crm
Route::group('/crm', function () {
Route::group('/customer', function () {
Route::any('/list', [app\crmAdmin\controller\CustomerController::class, 'list']);
Route::any('/export', [app\crmAdmin\controller\CustomerController::class, 'export']);
Route::any('/audit', [app\crmAdmin\controller\CustomerController::class, 'audit']);
Route::any('/transfer', [app\crmAdmin\controller\CustomerController::class, 'transfer']);
Route::any('/detail', [app\crmAdmin\controller\CustomerController::class, 'detail']);
Route::any('/delete', [app\crmAdmin\controller\CustomerController::class, 'delete']);
Route::any('/restore', [app\crmAdmin\controller\CustomerController::class, 'restore']); //恢复客户
Route::any('/cede', [app\crm\controller\CustomerController::class, 'cede']);
Route::any('/follow', [app\crmAdmin\controller\CustomerController::class, 'follow']);
Route::any('/allocation', [app\crmAdmin\controller\CustomerController::class, 'allocation']);
});
// 统计
Route::group('/statistics', function () {
Route::any('/whole', [app\crmAdmin\controller\StatisticsController::class, 'whole']);
Route::any('/channel/count', [app\crmAdmin\controller\StatisticsController::class, 'channelCount']);
Route::any('/country/count', [app\crmAdmin\controller\StatisticsController::class, 'countryCount']);
Route::any('/track/count', [app\crmAdmin\controller\StatisticsController::class, 'trackCount']);
Route::any('/day/count', [app\crmAdmin\controller\StatisticsController::class, 'dayCount']);
Route::any('/customer/count', [app\crmAdmin\controller\StatisticsController::class, 'customerCount']);
});
});
// 车辆
Route::group('/vehicle', function () {
// 基础信息
Route::group('/sku', function () {
Route::any('/list', [app\common\controller\VehVehicleSkuController::class, 'index']);
Route::any('/show', [app\common\controller\VehVehicleSkuController::class, 'show']);
Route::any('/store', [app\common\controller\VehVehicleSkuController::class, 'store']);
Route::any('/update', [app\common\controller\VehVehicleSkuController::class, 'update']);
Route::any('/destroy', [app\common\controller\VehVehicleSkuController::class, 'destroy']);
});
});
// 字典
Route::group('/dict', function () {
Route::any('/list', [app\admin\controller\SysDictController::class, 'index']);
Route::any('/show', [app\admin\controller\SysDictController::class, 'show']);
Route::any('/store', [app\admin\controller\SysDictController::class, 'store']);
Route::any('/update', [app\admin\controller\SysDictController::class, 'update']);
Route::any('/destroy', [app\admin\controller\SysDictController::class, 'destroy']);
Route::any('/scope', [app\admin\controller\SysDictController::class, 'listScope']);
// 字典分类
Route::any('/group', [app\admin\controller\SysDictController::class, 'group']);
Route::group('/item', function () {
Route::any('/list', [app\admin\controller\SysDictItemController::class, 'index']);
Route::any('/show', [app\admin\controller\SysDictItemController::class, 'show']);
Route::any('/store', [app\admin\controller\SysDictItemController::class, 'store']);
Route::any('/update', [app\admin\controller\SysDictItemController::class, 'update']);
Route::any('/destroy', [app\admin\controller\SysDictItemController::class, 'destroy']);
});
});
// 货币
Route::group('/currency', function () {
Route::any('/list', [app\admin\controller\SysCurrencyController::class, 'index']);
Route::any('/show', [app\admin\controller\SysCurrencyController::class, 'show']);
Route::any('/store', [app\admin\controller\SysCurrencyController::class, 'store']);
Route::any('/update', [app\admin\controller\SysCurrencyController::class, 'update']);
Route::any('/destroy', [app\admin\controller\SysCurrencyController::class, 'destroy']);
});
// 品牌
Route::group('/brand', function () {
Route::any('/list', [app\admin\controller\BrandController::class, 'index']);
Route::any('/show', [app\admin\controller\BrandController::class, 'show']);
Route::any('/store', [app\admin\controller\BrandController::class, 'store']);
Route::any('/update', [app\admin\controller\BrandController::class, 'update']);
Route::any('/hot', [app\admin\controller\BrandController::class, 'update']);
Route::any('/destroy', [app\admin\controller\BrandController::class, 'destroy']);
// 车系
Route::group('/series', function () {
Route::any('/list', [app\admin\controller\BrandSeriesController::class, 'index']);
Route::any('/show', [app\admin\controller\BrandSeriesController::class, 'show']);
Route::any('/store', [app\admin\controller\BrandSeriesController::class, 'store']);
Route::any('/update', [app\admin\controller\BrandSeriesController::class, 'update']);
Route::any('/destroy', [app\admin\controller\BrandSeriesController::class, 'destroy']);
});
});
// 汽车颜色
Route::group('/color', function () {
Route::any('/list', [app\admin\controller\VehColorController::class, 'index']);
Route::any('/show', [app\admin\controller\VehColorController::class, 'show']);
Route::any('/store', [app\admin\controller\VehColorController::class, 'store']);
Route::any('/update', [app\admin\controller\VehColorController::class, 'update']);
Route::any('/destroy', [app\admin\controller\VehColorController::class, 'destroy']);
});
// 汽车改装项目
Route::group('/modification', function () {
Route::any('/list', [app\admin\controller\VehModificationController::class, 'index']);
Route::any('/show', [app\admin\controller\VehModificationController::class, 'show']);
Route::any('/store', [app\admin\controller\VehModificationController::class, 'store']);
Route::any('/update', [app\admin\controller\VehModificationController::class, 'update']);
Route::any('/destroy', [app\admin\controller\VehModificationController::class, 'destroy']);
});
// 账户
Route::group('/account', function () {
Route::any('/list', [app\admin\controller\SysAccountController::class, 'index']);
Route::any('/show', [app\admin\controller\SysAccountController::class, 'show']);
Route::any('/store', [app\admin\controller\SysAccountController::class, 'store']);
Route::any('/update', [app\admin\controller\SysAccountController::class, 'update']);
Route::any('/destroy', [app\admin\controller\SysAccountController::class, 'destroy']);
});
// 港口
Route::group('/port', function () {
Route::any('/list', [app\admin\controller\SysPortController::class, 'index']);
Route::any('/show', [app\admin\controller\SysPortController::class, 'show']);
Route::any('/store', [app\admin\controller\SysPortController::class, 'store']);
Route::any('/update', [app\admin\controller\SysPortController::class, 'update']);
Route::any('/destroy', [app\admin\controller\SysPortController::class, 'destroy']);
});
// 审批
Route::group('/approval', function () {
Route::any('/list', [app\admin\controller\ApprovalFlowsController::class, 'index']);
Route::any('/show', [app\admin\controller\ApprovalFlowsController::class, 'show']);
Route::any('/store', [app\admin\controller\ApprovalFlowsController::class, 'store']);
Route::any('/update', [app\admin\controller\ApprovalFlowsController::class, 'update']);
Route::any('/destroy', [app\admin\controller\ApprovalFlowsController::class, 'destroy']);
});
// 审批记录
Route::group('/approval/records', function () {
Route::any('/list', [app\admin\controller\ApprovalRecordsController::class, 'index']);
Route::any('/logs', [app\admin\controller\ApprovalRecordsController::class, 'logs']);
Route::any('/action', [app\admin\controller\ApprovalRecordsController::class, 'approve']);
Route::any('/todo', [app\admin\controller\ApprovalRecordsController::class, 'todo']);
Route::any('/border', [app\admin\controller\ApprovalRecordsController::class, 'businessOrder']);
Route::any('/transfer', [app\admin\controller\ApprovalRecordsController::class, 'transferApproval']);
Route::any('/timeline', [app\admin\controller\ApprovalRecordsController::class, 'approvalTimeline']);
});
Route::group('/stock/order', function () {
Route::any('/list', [app\admin\controller\StockOrdersController::class, 'index']);
Route::any('/show', [app\admin\controller\StockOrdersController::class, 'show']);
Route::any('/store', [app\admin\controller\StockOrdersController::class, 'store']);
Route::any('/print', [app\admin\controller\StockOrdersController::class, 'print']);
Route::any('/detail', [app\admin\controller\StockOrdersController::class, 'detail']);
Route::any('/destroy', [app\admin\controller\StockOrdersController::class, 'destroy']);
});
// crm
Route::group('/targets', function () {
Route::group('/monthly', function () {
Route::any('/list', [app\admin\targets\controller\SalesMonthlyTargetsController::class, 'index']);
Route::any('/store', [app\admin\targets\controller\SalesMonthlyTargetsController::class, 'store']);
Route::any('/update', [app\admin\targets\controller\SalesMonthlyTargetsController::class, 'update']);
Route::any('/destroy', [app\admin\targets\controller\SalesMonthlyTargetsController::class, 'destroy']);
Route::any('/show', [app\admin\targets\controller\SalesMonthlyTargetsController::class, 'show']);
});
Route::group('/annual', function () {
Route::any('/list', [app\admin\targets\controller\SalesAnnualTargetsController::class, 'index']);
Route::any('/store', [app\admin\targets\controller\SalesAnnualTargetsController::class, 'store']);
Route::any('/update', [app\admin\targets\controller\SalesAnnualTargetsController::class, 'update']);
Route::any('/destroy', [app\admin\targets\controller\SalesAnnualTargetsController::class, 'destroy']);
Route::any('/show', [app\admin\targets\controller\SalesAnnualTargetsController::class, 'show']);
});
Route::group('/statistics', function () {
Route::any('/total', [app\admin\targets\controller\StatisticsController::class, 'total']);
Route::any('/ranking', [app\admin\targets\controller\StatisticsController::class, 'ranking']);
Route::any('/user/month', [app\admin\targets\controller\StatisticsController::class, 'achievedUserByMonth']);
Route::any('/user/progressh', [app\admin\targets\controller\StatisticsController::class, 'userProgressh']);
Route::any('/user/achieved', [app\admin\targets\controller\StatisticsController::class, 'userAchieved']);
});
});
Route::group('/purchase/order', function () {
Route::any('/predata', [app\common\controller\PurchaseOrdersController::class, 'preQueryData']);
Route::any('/list', [app\common\controller\PurchaseOrdersController::class, 'index']);
Route::any('/show', [app\common\controller\PurchaseOrdersController::class, 'show']);
Route::any('/store', [app\common\controller\PurchaseOrdersController::class, 'store']);
Route::any('/update', [app\common\controller\PurchaseOrdersController::class, 'update']);
Route::any('/destroy', [app\common\controller\PurchaseOrdersController::class, 'destroy']);
Route::any('/resubmit', [app\common\controller\PurchaseOrdersController::class, 'resubmit']);
});
Route::group('/user/group', function () {
Route::any('/list', [app\admin\controller\UserGroupController::class, 'index']);
Route::any('/show', [app\admin\controller\UserGroupController::class, 'show']);
Route::any('/store', [app\admin\controller\UserGroupController::class, 'store']);
Route::any('/update', [app\admin\controller\UserGroupController::class, 'update']);
Route::any('/destroy', [app\admin\controller\UserGroupController::class, 'destroy']);
});
// 操作日志
Route::group('/op/log', function () {
Route::any('/list', [app\common\controller\SysOpLogController::class, 'index']);
Route::any('/show', [app\common\controller\SysOpLogController::class, 'show']);
});
// 操作日志
Route::group('/update/log', function () {
Route::any('/list', [app\common\controller\SysUpdateLogController::class, 'index']);
Route::any('/show', [app\common\controller\SysUpdateLogController::class, 'show']);
Route::any('/store', [app\common\controller\SysUpdateLogController::class, 'store']);
Route::any('/update', [app\common\controller\SysUpdateLogController::class, 'update']);
Route::any('/destroy', [app\common\controller\SysUpdateLogController::class, 'destroy']);
});
// 收款记录
Route::group('/receipt', function () {
Route::any('/list', [app\common\controller\FinReceiptController::class, 'index']);
Route::any('/show', [app\common\controller\FinReceiptController::class, 'show']);
Route::any('/store', [app\common\controller\FinReceiptController::class, 'store']);
Route::any('/update', [app\common\controller\FinReceiptController::class, 'update']);
Route::any('/payment', [app\common\controller\FinReceiptController::class, 'payment']);
Route::any('/destroy', [app\common\controller\FinReceiptController::class, 'destroy']);
Route::any('/credit', [app\common\controller\FinReceiptController::class, 'credit']);
});
// 收款记录历史
Route::group('/receipt/his', function () {
Route::any('/list', [app\common\controller\FinReceiptHisController::class, 'index']);
Route::any('/show', [app\common\controller\FinReceiptHisController::class, 'show']);
});
Route::group('/fin', function () {
Route::any('/statistics', [app\admin\controller\dashboard\FinStatisticsController::class, 'statistics']);
});
// 付款申请
Route::group('/payment', function () {
Route::any('/list', [app\common\controller\FinPaymentApplyController::class, 'index']);
Route::any('/show', [app\common\controller\FinPaymentApplyController::class, 'show']);
Route::any('/store', [app\common\controller\FinPaymentApplyController::class, 'store']);
Route::any('/update', [app\common\controller\FinPaymentApplyController::class, 'update']);
Route::any('/delete', [app\common\controller\FinPaymentApplyController::class, 'delete']);
});
// 系统配置
Route::group('/config', function () {
Route::any('/list', [app\admin\controller\SysConfigController::class, 'index']);
Route::any('/show', [app\admin\controller\SysConfigController::class, 'show']);
Route::any('/store', [app\admin\controller\SysConfigController::class, 'store']);
Route::any('/update', [app\admin\controller\SysConfigController::class, 'update']);
Route::any('/destroy', [app\admin\controller\SysConfigController::class, 'destroy']);
});
// 仪表盘
Route::group('/dashboard', function () {
// 内勤
Route::group('/officeclerk', function () {
Route::any('/card', [app\admin\controller\dashboard\OfficeClerkController::class, 'card']);
Route::any('/curve', [app\admin\controller\dashboard\OfficeClerkController::class, 'curve']);
Route::any('/approval', [app\admin\controller\dashboard\OfficeClerkController::class, 'approval']);
Route::any('/claim', [app\admin\controller\dashboard\OfficeClerkController::class, 'claim']);
});
});
Route::group('/finance', function () {
Route::group('/dubai', function () {
Route::any('/list', [app\admin\controller\FinanceReconDubaiFilesController::class, 'index']);
Route::any('/show', [app\admin\controller\FinanceReconDubaiFilesController::class, 'show']);
Route::any('/store', [app\admin\controller\FinanceReconDubaiFilesController::class, 'store']);
Route::any('/update', [app\admin\controller\FinanceReconDubaiFilesController::class, 'update']);
Route::any('/destroy', [app\admin\controller\FinanceReconDubaiFilesController::class, 'destroy']);
});
});
//仪表盘路由规则
Route::group('/dashboard', function () {
Route::group('/rule', function () {
Route::any('/list', [app\admin\controller\UserDashboardRuleController::class, 'index']);
Route::any('/show', [app\admin\controller\UserDashboardRuleController::class, 'show']);
Route::any('/store', [app\admin\controller\UserDashboardRuleController::class, 'store']);
Route::any('/update', [app\admin\controller\UserDashboardRuleController::class, 'update']);
Route::any('/destroy', [app\admin\controller\UserDashboardRuleController::class, 'destroy']);
});
});
});
Route::group('/ticket', function () {
//工单
Route::any('/ticket/add', [app\ticket\controller\TicketController::class, 'add']);
Route::any('/ticket/edit', [app\ticket\controller\TicketController::class, 'edit']);
Route::any('/ticket/list', [app\ticket\controller\TicketController::class, 'index']);
Route::any('/ticket/self', [app\ticket\controller\TicketController::class, 'self']);
Route::any('/ticket/status', [app\ticket\controller\TicketController::class, 'status']);
Route::any('/ticket/getStatus', [app\ticket\controller\TicketController::class, 'getStatus']);
Route::any('/upload', [app\common\controller\UploadController::class, 'uploadFile']);
Route::any('/upload/image', [app\common\controller\UploadController::class, 'uploadImage']);
//工单沟通记录
Route::any('/conversation/add', [app\ticket\controller\ConversationController::class, 'add']);
Route::any('/conversation/sendEmail', [app\ticket\controller\ConversationController::class, 'sendEmail']);
Route::any('/conversation/edit', [app\ticket\controller\ConversationController::class, 'edit']);
Route::any('/conversation/list', [app\ticket\controller\ConversationController::class, 'index']);
//工单分类
Route::any('/categorie/add', [app\ticket\controller\CategorieController::class, 'add']);
Route::any('/categorie/edit', [app\ticket\controller\CategorieController::class, 'edit']);
Route::any('/categorie/list', [app\ticket\controller\CategorieController::class, 'index']);
Route::any('/categorie/getAll', [app\ticket\controller\CategorieController::class, 'getAll']);
Route::any('/categorie/delete', [app\ticket\controller\CategorieController::class, 'delete']);
});
//crm
Route::group('/crm', function () {
//跟进
Route::any('/follow/list', [app\crm\controller\FollowController::class, 'list']);
Route::any('/follow/detail', [app\crm\controller\FollowController::class, 'detail']);
Route::any('/follow/add', [app\crm\controller\FollowController::class, 'save']);
Route::any('/follow/getFollowType', [app\crm\controller\FollowController::class, 'getFollowType']);
//客户
Route::any('/customer/list', [app\crm\controller\CustomerController::class, 'list']);
Route::any('/customer/index', [app\crm\controller\CustomerController::class, 'index']);
Route::any('/customer/detail', [app\crm\controller\CustomerController::class, 'detail']);
Route::any('/customer/add', [app\crm\controller\CustomerController::class, 'save']);
Route::any('/customer/claim', [app\crm\controller\CustomerController::class, 'claim']);
Route::any('/customer/restore', [app\crm\controller\CustomerController::class, 'restore']);
Route::any('/customer/delete', [app\crm\controller\CustomerController::class, 'delete']);
Route::any('/customer/waitFollow', [app\crm\controller\CustomerController::class, 'waitFollow']);
Route::any('/customer/statistics', [app\crm\controller\CustomerController::class, 'statistics']);
Route::any('/customer/getChannel', [app\crm\controller\CustomerController::class, 'getChannel']);
Route::any('/customer/getCountry', [app\crm\controller\CustomerController::class, 'getCountry']);
Route::any('/customer/followNext', [app\crm\controller\CustomerController::class, 'followNext']);
Route::any('/customer/report', [app\crm\controller\CustomerController::class, 'report']);
Route::any('/customer/distinctNotice', [app\crm\controller\CustomerController::class, 'distinctNotice']);
Route::any('/customer/preset', [app\crm\controller\CustomerController::class, 'preset']);
Route::any('/tagGroup/list', [app\crm\controller\TagGroupController::class, 'list']);
Route::any('/tagGroup/updatePivot', [app\crm\controller\TagGroupController::class, 'updatePivot']);
Route::any('/upload/image', [app\common\controller\UploadController::class, 'uploadImage']);
Route::any('/user/edit', [app\common\controller\UserController::class, 'edit']);
Route::any('/user/savePassword', [app\common\controller\UserController::class, 'savePassword']);
// 备货单
Route::group('/stock/order', function () {
Route::any('/list', [app\crm\controller\StockOrdersController::class, 'index']);
Route::any('/show', [app\crm\controller\StockOrdersController::class, 'show']);
Route::any('/store', [app\crm\controller\StockOrdersController::class, 'store']);
Route::any('/update', [app\crm\controller\StockOrdersController::class, 'update']);
Route::any('/print', [app\crm\controller\StockOrdersController::class, 'print']);
Route::any('/approval', [app\crm\controller\StockOrdersController::class, 'approval']);
Route::any('/detail', [app\crm\controller\StockOrdersController::class, 'detail']);
Route::any('/ultimate/approval', [app\crm\controller\StockOrdersController::class, 'ultimateApproval']);
Route::any('/nullify/approval', [app\crm\controller\StockOrdersController::class, 'approvalNullify']);
Route::any('/revoke/approval', [app\crm\controller\StockOrdersController::class, 'approvalRevoke']);
Route::any('/destroy', [app\crm\controller\StockOrdersController::class, 'destroy']);
});
// 审批记录
Route::group('/approval/records', function () {
Route::any('/list', [app\crm\controller\ApprovalRecordsController::class, 'index']);
Route::any('/logs', [app\crm\controller\ApprovalRecordsController::class, 'logs']);
Route::any('/action', [app\crm\controller\ApprovalRecordsController::class, 'approve']);
Route::any('/todo', [app\admin\controller\ApprovalRecordsController::class, 'todo']);
Route::any('/border', [app\admin\controller\ApprovalRecordsController::class, 'businessOrder']);
});
// 汽车颜色
Route::group('/color', function () {
Route::any('/list', [app\common\controller\VehColorController::class, 'index']);
Route::any('/show', [app\common\controller\VehColorController::class, 'show']);
Route::any('/store', [app\common\controller\VehColorController::class, 'store']);
Route::any('/update', [app\common\controller\VehColorController::class, 'update']);
Route::any('/destroy', [app\common\controller\VehColorController::class, 'destroy']);
});
// 车辆
Route::group('/vehicle', function () {
// 基础信息
Route::group('/sku', function () {
Route::any('/list', [app\common\controller\VehVehicleSkuController::class, 'index']);
Route::any('/show', [app\common\controller\VehVehicleSkuController::class, 'show']);
Route::any('/store', [app\common\controller\VehVehicleSkuController::class, 'store']);
Route::any('/update', [app\common\controller\VehVehicleSkuController::class, 'update']);
Route::any('/destroy', [app\common\controller\VehVehicleSkuController::class, 'destroy']);
Route::any('/preset', [app\common\controller\VehVehicleSkuController::class, 'preset']);
});
});
// 汽车改装项目
Route::group('/modification', function () {
Route::any('/list', [app\common\controller\VehModificationController::class, 'index']);
Route::any('/show', [app\common\controller\VehModificationController::class, 'show']);
Route::any('/store', [app\common\controller\VehModificationController::class, 'store']);
Route::any('/update', [app\common\controller\VehModificationController::class, 'update']);
Route::any('/destroy', [app\common\controller\VehModificationController::class, 'destroy']);
});
});