web.php 72 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239
  1. <?php
  2. use Illuminate\Support\Facades\Gate;
  3. use Illuminate\Support\Facades\Route;
  4. use Illuminate\Support\Facades\Auth;
  5. /*
  6. |--------------------------------------------------------------------------
  7. | Web Routes
  8. |--------------------------------------------------------------------------
  9. |
  10. | Here is where you can register web routes for your application. These
  11. | routes are loaded by the RouteServiceProvider within a group which
  12. | contains the "web" middleware group. Now create something great!
  13. |
  14. */
  15. //auth组件的一些注册路由
  16. Auth::routes();
  17. /*
  18. * 无需认证的路由
  19. * */
  20. Route::get('/', function () {return redirect('login');});
  21. Route::any('test/{method}', 'TestController@method');
  22. //称重广播
  23. Route::post('package/weigh/measureMonitor/speech', 'MeasureMonitorController@speech')->name('measureMonitor.speechApi');
  24. //设备切换
  25. Route::post('package/measureMonitor/data', 'MeasureMonitorController@data');
  26. Route::post('package/weigh/measureMonitor/data', 'MeasureMonitorController@data')->name('measureMonitor.dataApi');
  27. //称重显示
  28. Route::get('package/measureMonitor', 'MeasureMonitorController@index');
  29. Route::get('package/weigh/measureMonitor', 'MeasureMonitorController@index');
  30. // 开单入库
  31. Route::prefix('store')->group(function(){
  32. Route::prefix('receivingTask')->group(function(){
  33. Route::get("/index","ReceivingTaskController@index");
  34. Route::get("/create","ReceivingTaskController@create");
  35. Route::post("/exportExcel","ReceivingTaskController@exportExcel");
  36. });
  37. });
  38. //入库预约终端
  39. Route::get('store/deliveryAppointment/exhibition', 'DeliveryAppointmentController@exhibition');
  40. //入库预约预约码输入
  41. Route::get('store/deliveryAppointment/delivery', 'DeliveryAppointmentController@delivery');
  42. //入库预约错误页面
  43. Route::get('store/deliveryAppointment/errMsg', 'DeliveryAppointmentController@errMsg');
  44. //入库预约成功页面
  45. Route::get('store/deliveryAppointment/successMsg', 'DeliveryAppointmentController@successMsg');
  46. //入库预约展览数据
  47. Route::post('store/deliveryAppointment/getExhibitionList', 'DeliveryAppointmentController@getExhibitionList');
  48. //入库预约验证密匙
  49. Route::post('store/deliveryAppointment/getKey', 'DeliveryAppointmentController@getKey');
  50. //临时工二维码
  51. Route::get('personnel/checking-in/goGetQRCode', 'QRCodeController@goGetQRCode');
  52. Route::get('personnel/checking-in/QRCode', 'QRCodeController@QRCode');
  53. Route::get('personnel/checking-in/importAndExportQRCode', 'QRCodeController@importAndExportQRCode');
  54. Route::post('personnel/checking-in/refreshQRCode', 'QRCodeController@refreshQRCode');
  55. Route::post("record", "ReceiveRecordController@receive");
  56. Route::post("record/refreshToken", "ReceiveRecordController@refreshToken");
  57. Route::get("record", function () {
  58. return view("rejected.record");
  59. });
  60. Route::post("record", "ReceiveRecordController@receive");
  61. //人事管理
  62. Route::group(['prefix' => 'personnel', 'middleware' => 'auth'], function () {
  63. //扫描计件
  64. Route::get('scanInfo', 'ScanInfoDetailController@index');
  65. // Route::get('scanInfo/dayHour', 'ScanInfoDetailController@dayHour');
  66. //临时开放录入
  67. Route::put('laborApply/temporaryOpen', 'LaborApplyController@temporaryOpen')->name('laborApply.temporaryOpen');
  68. Route::get('laborApply/createDispatch', 'LaborApplyController@createDispatch')->name('laborApply.createDispatch');
  69. //劳务派遣查看
  70. Route::group(['prefix' => 'laborApply'], function () {
  71. Route::patch('laborCompanyDispatch/{laborCompanyDispatch}/laborCompanyReceivingOrder', 'LaborCompanyDispatchController@laborCompanyReceivingOrder')->name('laborCompanyDispatch.laborCompanyReceivingOrder');
  72. Route::patch('laborCompanyDispatch/{laborCompanyDispatch}/personnelCheck', 'LaborCompanyDispatchController@personnelCheck')->name('laborCompanyDispatch.personnelCheck');
  73. Route::resource('laborCompanyDispatch', 'LaborCompanyDispatchController')->only(['index', 'edit', 'update']);
  74. Route::get('laborCompanyDispatch/{laborCompanyDispatch}/detail/create', 'LaborCompanyDispatchController@createDetail')->name('laborCompanyDispatch.createDetail');
  75. Route::get('laborCompanyDispatch/{laborCompanyDispatch}/detail/edit', 'LaborCompanyDispatchController@editDetail')->name('laborCompanyDispatch.editDetail');
  76. Route::post('laborCompanyDispatch/{laborCompanyDispatch}/detail', 'LaborCompanyDispatchController@storeDetail')->name('laborCompanyDispatch.storeDetail');
  77. });
  78. Route::resource('laborApply', 'LaborApplyController');
  79. });
  80. //监视器
  81. Route::get('station/monitor/{station}', 'StationController@monitorShow');
  82. //打卡记录
  83. Route::group(['prefix' => 'personnel/checking-in/userDutyCheck'], function () {
  84. Route::get('importAndExportClock', 'UserDutyCheckController@importAndExportClock');
  85. Route::get('clock', 'UserDutyCheckController@clock');
  86. Route::any('storeClock', 'UserDutyCheckController@storeClock');
  87. Route::post('绑定临时工并进组', 'UserDutyCheckController@绑定临时工并进组');
  88. Route::post('importGroupClock', 'UserDutyCheckController@importGroupClock');
  89. Route::get('createUserDetail/{mobile_phone}', 'UserDutyCheckController@createUserDetail');
  90. Route::get('updateUserLaborCompanies/{mobile_phone}', 'UserDutyCheckController@updateUserLaborCompanies');
  91. Route::any('storeUserDetail', 'UserDutyCheckController@storeUserDetail');
  92. Route::any('storeUpdateUserLaborCompanies', 'UserDutyCheckController@storeUpdateUserLaborCompanies');
  93. });
  94. /*
  95. * 需要认证的路由
  96. * */
  97. Route::group(['middleware' => 'auth'], function ($route) {
  98. /** @var Route $route */
  99. $route->get('/home', 'HomeController@index')->name('home');
  100. $route->get('/help', 'HomeController@help')->name('help');
  101. /** 密码 */
  102. $route->group(['prefix' => 'password'], function () {
  103. Route::get('change', 'Auth\PasswordController@change');
  104. Route::post('update', 'Auth\PasswordController@update');
  105. });
  106. /** 全局 */
  107. $route->get('denied', function () {
  108. return view('exception.authority');
  109. });
  110. $route->post('getMenu', 'MenuController@get');
  111. $route->get("record","ReceiveRecordController@record");
  112. $route->get("equipment",function (){return view("equipment.index");});
  113. /** 基础设置 */
  114. $route->group(['prefix' => 'maintenance'], function () {
  115. //容器管理
  116. Route::group(['prefix' => 'containerManage'], function () {
  117. Route::get("", 'ContainerManageController@index');
  118. Route::get("create", 'ContainerManageController@create');
  119. });
  120. /** 料箱型号 */
  121. Route::get("materialBoxModel", "MaterialBoxModelController@index");
  122. Route::group(['prefix' => "materialBoxModel"], function () {
  123. Route::post("save", "MaterialBoxModelController@save");
  124. Route::post("destroy", "MaterialBoxModelController@destroy");
  125. Route::post("updateModelSequence", "MaterialBoxModelController@updateModelSequence");
  126. Route::get("ownerSequence", "MaterialBoxModelController@ownerSequence");
  127. });
  128. /** 菜单 */
  129. Route::get('menu', 'MenuController@index');
  130. Route::group(['prefix' => "menu"], function () {
  131. Route::post('update', 'MenuController@update');
  132. Route::post('save', 'MenuController@save');
  133. Route::post('sort', 'MenuController@sort');
  134. Route::post('delete', 'MenuController@delete');
  135. });
  136. /** 权限 */
  137. Route::get('authority', 'AuthorityController@index');
  138. Route::group(['prefix' => "authority"], function () {
  139. Route::post('store', 'AuthorityController@store');
  140. Route::post('update', 'AuthorityController@update');
  141. Route::post('destroy', 'AuthorityController@destroy');
  142. });
  143. /** 权限 */
  144. Route::get('role', 'AuthorityController@index');
  145. Route::group(['prefix' => "role"], function () {
  146. Route::post('save', 'RoleController@save');
  147. Route::post('loadRelevance', 'RoleController@loadRelevance');
  148. Route::post('destroy', 'RoleController@destroy');
  149. Route::post('saveAuthority', 'RoleController@saveAuthority');
  150. Route::post('saveOwner', 'RoleController@saveOwner');
  151. Route::post('saveUserWorkGroup', 'RoleController@saveUserWorkGroup');
  152. });
  153. /** 商品 */
  154. Route::group(['prefix' => 'commodity'], function () {
  155. /** 导出 */
  156. Route::group(['prefix' => 'import'], function () {
  157. Route::post('excel', 'CommodityController@importExcel');
  158. });
  159. Route::get('import', 'CommodityController@import');
  160. Route::post('syncWMS', 'CommodityController@syncWMS');
  161. Route::post('isExist', 'CommodityController@isExist');
  162. });
  163. /** 货主 */
  164. Route::group(['prefix' => 'owner'], function () {
  165. Route::post("get", "OwnerController@get");
  166. Route::post("apiStore", "OwnerController@apiStore");
  167. Route::get('recycle', 'OwnerController@recycle');
  168. Route::post('restoreSelected', 'OwnerController@restoreSelected');
  169. Route::post('changeManualBackType', 'OwnerController@changeManualBackType');
  170. Route::post('intervalTime', 'OwnerController@intervalTime');
  171. });
  172. /** 教程 */
  173. Route::group(['prefix' => 'tutorial'], function () {
  174. Route::post('showContent/{id}', 'TutorialController@showContent');
  175. });
  176. /** 临时工 */
  177. Route::group(['prefix' => 'userLabor'], function () {
  178. Route::post('getWorkRecord', 'UserLaborController@getWorkRecord');
  179. Route::post('getClockRecord', 'UserLaborController@getClockRecord');
  180. Route::post('relieve', 'UserLaborController@relieve');
  181. Route::post('conversion', 'UserLaborController@conversion');
  182. Route::post('black', 'UserLaborController@black');//拉黑
  183. Route::post('cancelBlack', 'UserLaborController@cancelBlack');//取消拉黑
  184. });
  185. /** 纸箱 */
  186. Route::group(['prefix' => 'paperBox'], function () {
  187. /** 首页 */
  188. Route::group(['prefix' => 'index'], function () {
  189. Route::get('model', 'PaperBoxController@indexModel');
  190. Route::get('owner', 'PaperBoxController@indexOwner');
  191. });
  192. /** excel */
  193. Route::group(['prefix' => 'excel'], function () {
  194. Route::post('import', 'PaperBoxController@import');
  195. Route::get('goImport', function () {
  196. return view('maintenance.paperBox.import');
  197. });
  198. });
  199. });
  200. /** 计费模型 */
  201. Route::group(['prefix' => 'priceModel'], function () {
  202. Route::group(['prefix' => 'waybillPriceModel'], function () {
  203. /** excel */
  204. Route::group(['prefix' => 'excel'], function () {
  205. Route::get('goImport', function () {
  206. return view('maintenance.priceModel.waybillPriceModel.import');
  207. });
  208. });
  209. Route::get('cities/{province_id}', 'WaybillPriceModelController@getCities');
  210. });
  211. Route::resource('waybillPriceModel', 'WaybillPriceModelController');
  212. Route::group(['prefix' => 'storage'], function () {
  213. Route::get('create', 'PriceModelController@storageCreate');
  214. Route::post('store', 'PriceModelController@storageStore');
  215. Route::get('{id}/edit', 'PriceModelController@storageEdit');
  216. Route::delete("{id}", "PriceModelController@storageDestroy");
  217. Route::post('update', 'PriceModelController@storageUpdate');
  218. });
  219. Route::get('storage', 'PriceModelController@storageIndex');
  220. Route::group(['prefix' => 'operation'], function () {
  221. Route::get('create', 'PriceModelController@operationCreate');
  222. Route::post('getItems', 'PriceModelController@getItems');
  223. Route::post('updateItem', 'PriceModelController@updateItem');
  224. Route::post('createItem', 'PriceModelController@createItem');
  225. Route::post('getFeatures', 'PriceModelController@getFeatures');
  226. Route::post('addFeature', 'PriceModelController@addFeature');
  227. Route::post('getFeature', 'PriceModelController@getFeature');
  228. Route::delete('{id}', 'PriceModelController@operationDestroy');
  229. Route::get('{id}/edit', 'PriceModelController@operationEdit');
  230. Route::post('{id}/edit', 'PriceModelController@operationUpdate');
  231. });
  232. Route::get('operation', 'PriceModelController@operationIndex');
  233. Route::post('operation', 'PriceModelController@operationStore');
  234. Route::group(['prefix' => 'express'], function () {
  235. Route::get('create', 'PriceModelController@expressCreate');
  236. Route::post('getDetail', 'PriceModelController@expressGetDetail');
  237. Route::post('import', 'PriceModelController@expressImport');
  238. Route::post('updateDetail', 'PriceModelController@expressUpdateDetail');
  239. Route::post('destroyDetail', 'PriceModelController@expressDestroyDetail');
  240. Route::delete('{id}', 'PriceModelController@expressDestroy');
  241. Route::get('{id}/edit', 'PriceModelController@expressEdit');
  242. Route::post('{id}/edit', 'PriceModelController@expressUpdate');
  243. Route::get('export/{id}', 'PriceModelController@expressExport');
  244. });
  245. Route::get('express', 'PriceModelController@expressIndex');
  246. Route::post('express', 'PriceModelController@expressStore');
  247. Route::group(['prefix' => 'logistic'], function () {
  248. Route::get('create', 'PriceModelController@logisticCreate');
  249. Route::delete('{id}', 'PriceModelController@logisticDestroy');
  250. Route::get('{id}/edit', 'PriceModelController@logisticEdit');
  251. Route::post('{id}/edit', 'PriceModelController@logisticUpdate');
  252. Route::post('getDetail', 'PriceModelController@logisticGetDetail');
  253. Route::post('import', 'PriceModelController@logisticImport');
  254. Route::post('updateDetail', 'PriceModelController@logisticUpdateDetail');
  255. Route::post('destroyDetail', 'PriceModelController@logisticDestroyDetail');
  256. Route::get('export/{id}', 'PriceModelController@logisticExport');
  257. });
  258. Route::get('logistic', 'PriceModelController@logisticIndex');
  259. Route::post('logistic', 'PriceModelController@logisticStore');
  260. Route::group(['prefix' => 'directLogistic'], function () {
  261. Route::get('create', 'PriceModelController@directLogisticCreate');
  262. Route::delete('{id}', 'PriceModelController@directLogisticDestroy');
  263. Route::get('{id}/edit', 'PriceModelController@directLogisticEdit');
  264. Route::post('{id}/edit', 'PriceModelController@directLogisticUpdate');
  265. Route::post('getDetail', 'PriceModelController@directLogisticGetDetail');
  266. Route::post('import', 'PriceModelController@directLogisticImport');
  267. Route::post('updateDetail', 'PriceModelController@directLogisticUpdateDetail');
  268. Route::post('destroyDetail', 'PriceModelController@directLogisticDestroyDetail');
  269. });
  270. Route::get('directLogistic', 'PriceModelController@directLogisticIndex');
  271. Route::post('directLogistic', 'PriceModelController@directLogisticStore');
  272. //api 录入计费模型
  273. Route::post('apiStoreStorage', 'PriceModelController@apiStoreStorage');
  274. Route::post('apiStoreOperation', 'PriceModelController@apiStoreOperation');
  275. Route::post('apiStoreExpress', 'PriceModelController@apiStoreExpress');
  276. Route::post('apiStoreLogistic', 'PriceModelController@apiStoreLogistic');
  277. Route::post('apiStoreDirectLogistic', 'PriceModelController@apiStoreDirectLogistic');
  278. Route::post('apiStoreSystem', 'PriceModelController@apiStoreSystem');
  279. //api 获取计费模型
  280. Route::post('apiGetStorage', 'PriceModelController@apiGetStorage');
  281. Route::post('apiGetOperation', 'PriceModelController@apiGetOperation');
  282. Route::post('apiGetExpress', 'PriceModelController@apiGetExpress');
  283. Route::post('apiGetLogistic', 'PriceModelController@apiGetLogistic');
  284. Route::post('apiGetDirectLogistic', 'PriceModelController@apiGetDirectLogistic');
  285. //api 删除计费模型
  286. Route::post('apiDelStorage', 'PriceModelController@apiDelStorage');
  287. Route::post('apiDelOperation', 'PriceModelController@apiDelOperation');
  288. Route::post('apiDelOperationItem', 'PriceModelController@apiDelOperationItem');
  289. Route::post('apiDelExpress', 'PriceModelController@apiDelExpress');
  290. Route::post('apiDelExpressItem', 'PriceModelController@apiDelExpressItem');
  291. Route::post('apiDelLogistic', 'PriceModelController@apiDelLogistic');
  292. Route::post('apiDelLogisticItem', 'PriceModelController@apiDelLogisticItem');
  293. Route::post('apiDelDirectLogistic', 'PriceModelController@apiDelDirectLogistic');
  294. Route::post('apiDelDirectLogisticItem', 'PriceModelController@apiDelDirectLogisticItem');
  295. Route::post('apiDelSystem', 'PriceModelController@apiDelSystem');
  296. //审核或恢复计费模型
  297. Route::post('auditOrRecoverModel', 'PriceModelController@auditOrRecoverModel');
  298. //审核对比
  299. Route::post('getPriceModelAudit', 'PriceModelController@getPriceModelAudit');
  300. });
  301. Route::group(['prefix' => 'unit'], function () {
  302. Route::post('getUnits', 'UnitController@getUnits');
  303. Route::post('save', 'UnitController@save');
  304. Route::post('sort', 'UnitController@sort');
  305. });
  306. Route::group(['prefix' => 'province'], function () {
  307. Route::post('get', 'ProvincesController@get');
  308. });
  309. Route::group(['prefix' => 'city'], function () {
  310. Route::post('get', 'CitiesController@get');
  311. });
  312. Route::group(['prefix' => 'carType'], function () {
  313. Route::post('get', 'CarTypesController@get');
  314. Route::post('batchInsert', 'CarTypesController@batchInsert');
  315. });
  316. Route::group(['prefix' => 'taxRate'], function () {
  317. Route::post('get', 'TaxRateController@get');
  318. Route::post('save', 'TaxRateController@save');
  319. Route::post('destroy', 'TaxRateController@destroy');
  320. });
  321. Route::group(['prefix' => "log"], function () {
  322. Route::get("exception", 'LogController@exception');
  323. });
  324. Route::group(['prefix' => "logistic"], function () {
  325. Route::post("get", 'LogisticController@get');
  326. });
  327. Route::group(['prefix' => "region"], function () {
  328. Route::post("get", 'RegionController@get');
  329. Route::post("store", 'RegionController@store');
  330. Route::post("getProvinces", 'RegionController@getProvinces');
  331. });
  332. /** 耗材 */
  333. Route::get('material', 'MaterialController@index');
  334. /** 用户 */
  335. Route::group(['prefix' => "user"], function () {
  336. Route::post("resetPassword", 'UserController@resetPassword');
  337. Route::post("saveWorkGroups", 'UserController@saveWorkGroups');
  338. Route::post("saveOwnerGroups", 'UserController@saveOwnerGroups');
  339. Route::post("getOwners", 'UserController@getOwners');
  340. Route::post("bindOwner", 'UserController@bindOwner');
  341. Route::post("cloneBindOwner", 'UserController@cloneBindOwner');
  342. });
  343. /** 项目耗材 */
  344. Route::group(['prefix' => "ownerMaterial"], function () {
  345. Route::get("/", 'OwnerMaterialController@index');
  346. Route::get('downFile', 'OwnerMaterialController@downFile');
  347. });
  348. /** 供应商 */
  349. Route::get('supplier', 'SupplierController@index');
  350. /** 系统配置 */
  351. Route::get('configuration', 'ConfigurationController@index');
  352. /** 服务商 */
  353. Route::resource('facilitator', 'FacilitatorController');
  354. /** 快递打印 */
  355. Route::get('/print/index', 'PrintController@index');
  356. Route::group(['prefix' => 'expressPrinting'], function () {
  357. Route::get("index", 'PrintController@index');
  358. Route::group(['prefix' => 'setting'], function () {
  359. Route::get('/terminal/index', 'TerminalController@index');
  360. Route::get('/printer/index', 'TerminalPrinterController@index');
  361. });
  362. Route::get('/printing/index', 'PrintController@index');
  363. });
  364. Route::get('syncRedisLogs', 'LogController@syncRedisLogs');
  365. Route::get('region', 'RegionController@index');
  366. Route::get('taxRate', 'TaxRateController@index');
  367. Route::resource('log', 'LogController');
  368. Route::resource('user', 'UserController');
  369. Route::resource('role', 'RoleController');
  370. Route::resource('owner', 'OwnerController');
  371. Route::resource('logistic', 'LogisticController');
  372. Route::resource('qualityLabel', 'QualityLabelController');
  373. Route::resource('carrier', 'CarriersController');
  374. Route::resource('carType', 'CarTypesController');
  375. Route::resource('unit', 'UnitController');
  376. Route::resource('province', 'ProvincesController');
  377. Route::resource('city', 'CitiesController');
  378. Route::resource('commodity', 'CommodityController');
  379. Route::resource('measuringMachine', 'MeasuringMachineController');
  380. Route::resource('userWorkgroup', 'UserWorkgroupController');
  381. Route::resource('laborCompany', 'LaborCompanyController');
  382. Route::resource('warehouse', 'WarehouseController');
  383. Route::resource('tutorial', 'TutorialController');
  384. Route::resource('userLabor', 'UserLaborController');
  385. Route::resource('paperBox', 'PaperBoxController');
  386. Route::resource('userOwnerGroup', 'UserOwnerGroupController');
  387. Route::resource('processMethod', 'ProcessMethodController');
  388. Route::resource('feature', 'FeatureController');
  389. Route::resource('mail', 'SendEmailsController');
  390. Route::post('mail/addRole', 'SendEmailsController@addRole')->name('mail.addRole');
  391. Route::post('mail/deleteRole', 'SendEmailsController@deleteRole')->name('mail.deleteRole');
  392. Route::post('mail/updateTemplate', 'SendEmailsController@updateTemplate')->name('mail.updateTemplate');
  393. Route::post('mail/updateRemark', 'SendEmailsController@updateRemark')->name('mail.updateRemark');
  394. Route::post('mail/active', 'SendEmailsController@active')->name('mail.active');
  395. Route::get("scanDevice/monitor", 'ScanDeviceMonitorController@index');
  396. });
  397. $route->get('maintenance', function () {
  398. return view('maintenance.index');
  399. });
  400. $route->group(['prefix' => 'transport'], function () {
  401. /** 运单 */
  402. Route::group(['prefix' => 'waybill'], function () {
  403. Route::group(['prefix' => 'android'], function () {
  404. Route::get("shipment", 'WaybillController@shipment');
  405. Route::post("shipment", 'WaybillController@shipmentAndMerge');
  406. Route::get("waybillDispatch", 'WaybillController@waybillDispatch');
  407. Route::post("searchWaybill", 'WaybillController@searchWaybill');
  408. Route::post("waybillDispatch", 'WaybillController@dispatchSubmit');
  409. });
  410. /** 置顶 */
  411. Route::group(['prefix' => 'ontop'], function () {
  412. Route::post('top', 'WaybillController@waybillOnTop');
  413. Route::post('cancel', 'WaybillController@cancelOnTop');
  414. });
  415. /** 判断 */
  416. Route::group(['prefix' => 'is'], function () {
  417. Route::post('waybillPriceModel', 'WaybillController@isWaybillPriceModel');
  418. });
  419. Route::post('deleteImg', 'WaybillController@deleteImg');
  420. Route::post('seekOrder', 'WaybillController@seekOrder');
  421. Route::post('upload', 'WaybillController@upload');
  422. Route::get('relating', function () {
  423. return view('transport.waybill.menuWaybill');
  424. });
  425. Route::get('recycle', 'WaybillController@recycle');
  426. Route::post('refreshWaveHouseWeight', 'WaybillController@refreshWaveHouseWeight');
  427. Route::get('index', 'WaybillController@index');
  428. Route::get('delivering', 'WaybillController@delivering');
  429. Route::any('deliveringExport', 'WaybillController@deliveringExport');
  430. Route::post('storeCarrierBill', 'WaybillController@storeCarrierBill');
  431. Route::post('addCounty', 'WaybillController@addCounty');
  432. Route::any('waybillAudit', 'WaybillController@waybillAudit');
  433. Route::any('waybillEdit/{id}', 'WaybillController@waybillEdit');
  434. Route::any('waybillRetreatAudit', 'WaybillController@waybillRetreatAudit');
  435. Route::any('waybillEndAudit', 'WaybillController@waybillEndAudit');
  436. Route::any('export', 'WaybillController@export');
  437. Route::any('waybillUpdate/{id}', 'WaybillController@waybillUpdate');
  438. Route::post('batchUploadImages', 'WaybillController@batchUploadImages');
  439. Route::post('dailyBilling', 'WaybillController@dailyBilling');
  440. Route::post('countPickUpFee', 'WaybillController@countPickUpFee');
  441. Route::post('waybillMerge', 'WaybillController@waybillMerge');
  442. Route::post('waybillSplit', 'WaybillController@waybillSplit');
  443. Route::resource('waybillFinancialSnapshot', 'WaybillFinancialSnapshotsController');
  444. Route::resource('waybillFinancialExcepted', 'WaybillFinancialExceptedController');
  445. Route::post('expressFaceList', 'WaybillController@expressFaceList');
  446. Route::post('changeExpressTag', 'WaybillController@changeExpressTag');
  447. Route::post('appendSubjoinFee', 'WaybillController@appendSubjoinFee');
  448. Route::post('loadData', 'WaybillController@loadData');
  449. });
  450. Route::resource('waybill', 'WaybillController');
  451. });
  452. /** 运输财务 */
  453. $route->group(['prefix' => 'waybillFinancialSnapshot'], function () {
  454. Route::any('export', 'WaybillFinancialSnapshotsController@export');
  455. });
  456. /** 运输计费模型 */
  457. $route->group(['prefix' => 'waybillPriceModel'], function () {
  458. /** excel */
  459. Route::group(['prefix' => 'excel'], function () {
  460. Route::post('import', 'WaybillPriceModelController@import');
  461. });
  462. });
  463. /** 退货明细 */
  464. $route->group(['prefix' => 'rejectedBill'], function () {
  465. Route::post('{rejectedBill}/edit', 'RejectedBillController@edit');
  466. });
  467. $route->resource('rejectedBill', 'RejectedBillController');
  468. /** 退货 */
  469. $route->group(['prefix' => 'rejected'], function () {
  470. /** 导出 */
  471. Route::group(['prefix' => 'record'], function () {
  472. Route::get('/', 'ReceiveRecordController@index');
  473. Route::match(["get", "post"], 'export', 'ReceiveRecordController@export');
  474. });
  475. /** 导出 */
  476. Route::group(['prefix' => 'import'], function () {
  477. Route::post('excel', 'RejectedController@importExcel');
  478. });
  479. /** 主页 */
  480. Route::group(['prefix' => 'index'], function () {
  481. Route::get('general', 'RejectedController@index');
  482. Route::post('general', 'RejectedController@getTotal');
  483. Route::any('analyze', 'RejectedController@indexAnalyze');
  484. Route::get('import', 'RejectedController@import');
  485. Route::post('cancelCheck', 'RejectedController@cancelCheck');
  486. });
  487. /** 分析 */
  488. Route::group(['prefix' => 'analyze'], function () {
  489. Route::post('exportExcelOnParams', 'RejectedController@exportExcelOnParams');
  490. Route::post('exportAllExcelOnParams', 'RejectedController@exportAllExcelOnParams');
  491. });
  492. Route::get('relating', function () {
  493. return view('rejected.relating');
  494. });
  495. Route::get('recycle', 'RejectedController@recycle');
  496. Route::post('ajaxCheck', 'RejectedController@ajaxCheck');
  497. Route::post('ajaxCheckAll', 'RejectedController@ajaxCheckAll');
  498. Route::post('ajaxFinishAll', 'RejectedController@ajaxFinishAll');
  499. Route::any('export', 'RejectedController@export');
  500. Route::any('exportAnalyze', 'RejectedController@exportAnalyze');
  501. Route::post('ajaxGetRejected', 'RejectedController@ajaxGetRejected');
  502. Route::post('changeRejectedBillRemark', 'RejectedController@changeRejectedBillRemark');
  503. Route::get('importRejectedNumber', 'RejectedBillController@importRejectedNumber');
  504. Route::group(['prefix' => 'rejectedPushTask'], function () {
  505. Route::get('', 'RejectedPushTaskController@index');
  506. });
  507. });
  508. Route::resource('rejected', 'RejectedController');
  509. /** 包裹 */
  510. Route::group(['prefix' => 'package'], function () {
  511. /** 统计 */
  512. Route::group(['prefix' => 'statistics'], function () {
  513. Route::any('export', 'WeighController@statisticsExport');
  514. });
  515. /** 异常 */
  516. Route::group(['prefix' => 'weightExcepted'], function () {
  517. Route::get('indexCreate', 'WeighExceptedController@indexCreate');
  518. Route::get('indexIssued', 'WeighExceptedController@indexIssued');
  519. Route::any('export/{type}', 'WeighExceptedController@export');
  520. });
  521. Route::any('export', 'WeighController@export');
  522. Route::get('statistics', 'WeighController@statistics');
  523. Route::get('relating', function () {
  524. return view('package.measureMonitor.menu');
  525. });
  526. Route::group(['prefix' => 'weigh'], function () {
  527. Route::get('statistics', 'WeighController@statistics');
  528. /** 统计 */
  529. Route::group(['prefix' => 'statistics'], function () {
  530. Route::any('export', 'WeighController@statisticsExport');
  531. });
  532. });
  533. Route::get('weigh/index', 'WeighController@index');
  534. Route::resource('weigh', 'WeighController');
  535. Route::get('logistic/getTotal', 'PackageLogisticController@getTotal');
  536. Route::put('logistic/batchUpdate', 'PackageLogisticController@batchUpdate');
  537. Route::any('logistic/export', 'PackageLogisticController@export');
  538. Route::resource('logistic', 'PackageLogisticController');
  539. });
  540. $route->resource('package', 'WeighController');
  541. /** 入库 */
  542. $route->group(['prefix' => 'store'], function () {
  543. //实时收货看板
  544. Route::prefix("/receivingDashboard")->group(function (){
  545. Route::get("/receivingTableList", "ReceivingDashboardController@receivingTableList");
  546. Route::get("/punctualityProgress", "ReceivingDashboardController@punctualityProgress");
  547. Route::get("/stayPutawayList", "ReceivingDashboardController@stayPutawayList");
  548. });
  549. Route::group(['prefix' => 'inStorage'], function () {
  550. Route::get('index', 'StoreController@storage');
  551. Route::get('cacheRackStorage', 'StoreController@cacheRackStorage');
  552. Route::get('halfChestStorage', 'StoreController@halfChestStorage');
  553. Route::post('putShelf', 'StorageController@putShelf');
  554. Route::post('resetCacheShelf', 'StorageController@resetCacheShelf');
  555. Route::post('checkMaximum', 'StorageController@checkMaximum');
  556. Route::post('overflowRevision', 'StorageController@overflowRevision');
  557. Route::post('acquireBox', 'StorageController@acquireBox');
  558. Route::post('syncStorage', 'StorageController@syncStorage');
  559. Route::post('checkAsnAmount', 'StorageController@checkAsnAmount');
  560. Route::get('android.index', function () {
  561. return view('store.inStorage.androidIndex');
  562. });
  563. Route::post('android.login', 'StorageController@androidLogin');
  564. Route::get('boxBindShelf', function () {
  565. return view("store.inStorage.bindShelf");
  566. });
  567. Route::get('boxBindModel', 'StorageController@bindModelIndex');
  568. Route::get('commodityBindModel', 'StorageController@commodityBindModel');
  569. Route::post('bindBox', 'StorageController@bindBox');
  570. Route::post('searchIde', 'StorageController@searchIde');
  571. Route::post('boxBindModel', 'StorageController@boxBindModel');
  572. Route::post('getModels', 'StorageController@getModels');
  573. Route::post('setMaximum', 'StorageController@settingModelMaximum');
  574. Route::post('searchBarCode', 'StorageController@searchBarCode');
  575. Route::post('searchModel', 'StorageController@searchModel');
  576. Route::post('searchAsn', 'StorageController@searchAsn');
  577. Route::post('settingCommodityMaximum', 'StorageController@settingCommodityMaximum');
  578. Route::post('checkTask', 'StorageController@checkTask');
  579. Route::post('changeAsnRule', 'StorageController@changeAsnRule');
  580. Route::post('callRobot', 'StorageController@callRobot');
  581. });
  582. /** 手持入库 */
  583. Route::group(['prefix' => 'handInStorage'], function () {
  584. Route::get('receive', function () {
  585. /** @var \App\Services\UserService $userService */
  586. $userService=app(\App\Services\UserService::class);
  587. $ownerIds=$userService->getUserUnderOwnerIdArr();
  588. $isGm=\App\Owner::query()->where("code","GM")->first()['id'];
  589. if (in_array($isGm,$ownerIds)){
  590. return view('store.handInStorage.receive');
  591. }
  592. });//收货页面
  593. Route::get('putaway', function () {
  594. $userService=app(\App\Services\UserService::class);
  595. $ownerIds=$userService->getUserUnderOwnerIdArr();
  596. $isGm=\App\Owner::query()->where("code","GM")->first()['id'];
  597. if (in_array($isGm,$ownerIds)){
  598. return view('store.handInStorage.putaway');
  599. }
  600. });//上架页面
  601. Route::get('inventoryInfo', function () {
  602. return view('store.handInStorage.inventoryInfo');
  603. });//库存查询页面
  604. Route::get('android.index', function () {
  605. return view('store.handInStorage.androidIndex');
  606. });
  607. Route::post('selectAsn', 'HandInStorageController@selectAsn');
  608. Route::post('getInventoryInfos', 'HandInStorageController@getInventoryInfos');
  609. Route::post('checkAsnOperation', 'HandInStorageController@checkAsnOperation');
  610. Route::post('selectAsnDetails', 'HandInStorageController@selectAsnDetails');
  611. Route::post('getBasSkuWithLot', 'HandInStorageController@getBasSkuWithLot');
  612. Route::any('fluxHandIn', 'HandInStorageController@fluxHandIn');
  613. Route::post('getTsk', 'HandInStorageController@getTsk');
  614. Route::post('getPaTaskByTraceInOrCustomerOrAsnOrNull', 'HandInStorageController@getPaTaskByTraceInOrCustomerOrAsnOrNull');
  615. Route::post('handFluxPa', 'HandInStorageController@handFluxPa');
  616. Route::get('receiveDetailPage/{asnno}/{customerid}', 'HandInStorageController@receiveDetailPage');
  617. });
  618. Route::group(['prefix' => 'countGoodsAndReceive'], function () {
  619. Route::get('index', 'StoreCountGoodsAndReceiveController@index');
  620. Route::get('excel', 'StoreCountGoodsAndReceiveController@excel');
  621. Route::post('createExcel', 'StoreCountGoodsAndReceiveController@createExcel');
  622. Route::any('fluxReceive', 'StoreCountGoodsAndReceiveController@fluxReceive');
  623. Route::post('getReceiveTaskByAsnNoAndBarcodes', 'StoreCountGoodsAndReceiveController@getReceiveTaskByAsnNoAndBarcodes');
  624. });
  625. Route::group(['prefix' => 'fast'], function () {
  626. Route::resource('storeItem', 'StoreItemController');
  627. });
  628. Route::resource('fast', "StoreController");
  629. /** 盲收 */
  630. Route::group(['prefix' => 'blindReceive'], function () {
  631. Route::get('/', function () {
  632. return view('store.blindReceive.index');
  633. });
  634. Route::get('excels', 'StoreBlindReceiveController@index');
  635. Route::post('excels/apiStore', 'StoreBlindReceiveController@apiStore');
  636. });
  637. /** 盘收 */
  638. Route::group(['prefix' => 'checkingReceive'], function () {
  639. Route::group(['prefix' => 'mission'], function () {
  640. Route::post('import', 'StoreCheckingReceiveController@import');
  641. Route::get('export', 'StoreCheckingReceiveController@export');
  642. Route::post('resetAmount', 'StoreCheckingReceiveController@resetAmount');
  643. Route::post('matchASN', 'StoreCheckingReceiveController@matchASN');
  644. Route::post('receipt', 'StoreCheckingReceiveController@receipt');
  645. Route::get('{id}', 'StoreCheckingReceiveController@show');
  646. });
  647. Route::post('updateCountedAmount', 'StoreCheckingReceiveController@updateCountedAmount');
  648. Route::post('insertItem', 'StoreCheckingReceiveController@insertItem');
  649. Route::get('mission', 'StoreCheckingReceiveController@mission');
  650. Route::post('destroyItem', 'StoreCheckingReceiveController@destroyItem');
  651. });
  652. /** 入库预约 */
  653. Route::group(['prefix' => 'deliveryAppointment'], function () {
  654. Route::get('appointment', 'DeliveryAppointmentController@appointment');
  655. Route::post('getCapacity', 'DeliveryAppointmentController@getCapacity');
  656. Route::post('submitAppointment', 'DeliveryAppointmentController@submitAppointment');
  657. Route::get('showAppointmentInfo', 'DeliveryAppointmentController@showAppointmentInfo');
  658. Route::get('list', 'DeliveryAppointmentController@list');
  659. Route::post('delivery', 'DeliveryAppointmentController@checkAppointment');
  660. Route::post('cancel', 'DeliveryAppointmentController@cancel');
  661. Route::post('unloading', 'DeliveryAppointmentController@unloading');
  662. Route::post('signIn', 'DeliveryAppointmentController@signIn');
  663. Route::any('export', 'DeliveryAppointmentController@export');
  664. Route::get('qrcode', function () {
  665. if (!Gate::allows('入库管理-入库预约-二维码')) {
  666. return view("exception.authority");
  667. }
  668. return view("store.deliveryAppointment.qrcode");
  669. });
  670. Route::group(['prefix' => 'appointment'], function () {
  671. Route::post('import', 'DeliveryAppointmentController@import');
  672. });
  673. Route::get('capacityMaintenance', 'DeliveryAppointmentController@capacityMaintenance');
  674. Route::post('updateCapacity', 'DeliveryAppointmentController@updateCapacity');
  675. Route::post('verifyASN', 'DeliveryAppointmentController@verifyASN');
  676. Route::post('updateAppointment', 'DeliveryAppointmentController@updateAppointment');
  677. Route::post('qualityInspectionMark', 'DeliveryAppointmentController@qualityInspectionMark');
  678. });
  679. });
  680. /** 二次加工 */
  681. $route->group(['prefix' => 'process'], function () {
  682. /** 统计 */
  683. Route::group(['prefix' => 'statistic'], function () {
  684. Route::any("export", 'ProcessStatisticController@export');
  685. });
  686. Route::get('relating', function () {
  687. return view('process.menuProcess');
  688. });
  689. Route::get("statistic", 'ProcessStatisticController@index');
  690. Route::post('getDailyParticipant', 'ProcessController@getDailyParticipant');
  691. Route::post('reject/{id}', 'ProcessController@reject');
  692. Route::post('receive/{id}', 'ProcessController@receive');
  693. Route::post('accomplish', 'ProcessController@accomplish');
  694. Route::post('updateDailyOutput', 'ProcessController@updateDailyOutput');
  695. Route::post('storeProcessDailyParticipant', 'ProcessController@storeProcessDailyParticipant');
  696. Route::post('verifyUserName', 'ProcessController@verifyUserName');
  697. Route::post('updateProcessDailyParticipant', 'ProcessController@updateProcessDailyParticipant');
  698. Route::post('processDailyParticipantAudit/{id}', 'ProcessController@processDailyParticipantAudit');
  699. Route::post('getTutorials/{id}', 'ProcessController@getTutorials');
  700. Route::post('selectedTutorial', 'ProcessController@selectedTutorial');
  701. Route::post('deleteTutorial', 'ProcessController@deleteTutorial');
  702. Route::post('ownerGetTutorials/{owner_id}', 'ProcessController@ownerGetTutorials');
  703. Route::post('rollback', 'ProcessController@rollback');
  704. Route::get('recycle', 'ProcessController@recycle');
  705. Route::post('recover', 'ProcessController@recover');
  706. Route::post('audit', 'ProcessController@audit');
  707. Route::post('processAccomplish', 'ProcessController@processAccomplish');
  708. Route::post('checkAndAccept', 'ProcessController@checkAndAccept');
  709. Route::post('updateUnitPrice', 'ProcessController@updateUnitPrice');
  710. Route::post('workGroupVerify', 'ProcessController@workGroupVerify');
  711. Route::post('accountantVerify', 'ProcessController@accountantVerify');
  712. Route::post('updateStartDate', 'ProcessController@updateStartDate');
  713. Route::post('updateEndDate', 'ProcessController@updateEndDate');
  714. Route::delete('destroyDailyParticipant/{id}', 'ProcessController@destroyDailyParticipant');
  715. Route::post('importPasteData', 'ProcessController@importPasteData');
  716. Route::any('export', 'ProcessController@export');
  717. Route::post('deleteProcessContent/{id}', 'ProcessController@deleteProcessContent');
  718. });
  719. $route->resource('process', 'ProcessController');
  720. /** 人事 */
  721. $route->group(['prefix' => 'personnel'], function () {
  722. Route::group(['middleware' => 'auth'], function () {
  723. //临时开放录入
  724. Route::put('laborApply/temporaryOpen', 'LaborApplyController@temporaryOpen')->name('laborApply.temporaryOpen');
  725. Route::get('laborApply/createDispatch', 'LaborApplyController@createDispatch')->name('laborApply.createDispatch');
  726. //劳务派遣查看
  727. Route::group(['prefix' => 'laborApply'], function () {
  728. Route::patch('laborCompanyDispatch/{laborCompanyDispatch}/laborCompanyReceivingOrder', 'LaborCompanyDispatchController@laborCompanyReceivingOrder')->name('laborCompanyDispatch.laborCompanyReceivingOrder');
  729. Route::patch('laborCompanyDispatch/{laborCompanyDispatch}/personnelCheck', 'LaborCompanyDispatchController@personnelCheck')->name('laborCompanyDispatch.personnelCheck');
  730. Route::resource('laborCompanyDispatch', 'LaborCompanyDispatchController')->only(['index', 'edit', 'update']);
  731. Route::get('laborCompanyDispatch/{laborCompanyDispatch}/detail/create', 'LaborCompanyDispatchController@createDetail')->name('laborCompanyDispatch.createDetail');
  732. Route::get('laborCompanyDispatch/{laborCompanyDispatch}/detail/edit', 'LaborCompanyDispatchController@editDetail')->name('laborCompanyDispatch.editDetail');
  733. Route::post('laborCompanyDispatch/{laborCompanyDispatch}/detail', 'LaborCompanyDispatchController@storeDetail')->name('laborCompanyDispatch.storeDetail');
  734. });
  735. Route::resource('laborApply', 'LaborApplyController');
  736. });
  737. /** 绩效 */
  738. Route::group(['prefix' => 'report'], function () {
  739. Route::match(['GET', 'POST'], 'export', 'CustomerController@projectReportExport');
  740. });
  741. Route::get('report', 'CustomerController@projectReport');
  742. /** 打卡 */
  743. Route::group(['prefix' => 'checking-in'], function () {
  744. Route::get('createReplenishClock', 'PersonnelController@createReplenishClock');
  745. Route::post('checkUserLabors', 'PersonnelController@checkUserLabors');
  746. Route::post('storeReplenishClock', 'PersonnelController@storeReplenishClock');
  747. Route::get('clockAudit', 'PersonnelController@clockAudit');
  748. Route::get('missionAudit', 'PersonnelController@missionAudit');
  749. Route::post('storeClockAudit', 'PersonnelController@storeClockAudit');
  750. Route::post('updateDutyCheckType', 'PersonnelController@updateDutyCheckType');
  751. Route::post('storeGroupAudit', 'PersonnelController@storeGroupAudit');
  752. Route::post('isException', 'PersonnelController@isException');
  753. Route::post('storeMissionAudit', 'PersonnelController@storeMissionAudit');
  754. });
  755. Route::get('relating', function () {
  756. return view('personnel/menuPersonnel');
  757. });
  758. Route::group(['prefix' => 'discharge'], function () {
  759. /** 卸货任务 */
  760. Route::group(['prefix' => 'task'], function () {
  761. Route::get('index', 'DischargeTaskController@index');
  762. Route::any('export', 'DischargeTaskController@export');
  763. Route::any('receipt', 'DischargeTaskController@receipt');
  764. });
  765. /** 结算报表 */
  766. Route::group(['prefix' => 'statement'], function () {
  767. Route::get('index', 'DischargeTaskController@statementIndex');
  768. Route::any('export', 'DischargeTaskController@exportStatements');
  769. });
  770. /** 服务商 对账单*/
  771. Route::group(['prefix' => 'facilitator'], function () {
  772. Route::get('index', 'FacilitatorController@statementIndex');
  773. Route::any('export', 'FacilitatorController@exportStatement');
  774. Route::get('qrCode', 'FacilitatorController@getQrCode');
  775. Route::group(['prefix' => 'external'], function () {
  776. Route::get('{id}/index', 'FacilitatorExternalController@index');
  777. Route::any('{id}/export', 'FacilitatorExternalController@export');
  778. });
  779. });
  780. });
  781. /** 临时工报表 */
  782. Route::group(['prefix' => 'laborReport'], function () {
  783. Route::get('index', 'LaborReportController@index');
  784. Route::post('recover', 'LaborReportController@recover');
  785. Route::get('recycle', 'LaborReportController@recycle');
  786. Route::post('guardClockAudit', 'LaborReportController@guardClockAudit');
  787. Route::post('groupClockAudit', 'LaborReportController@groupClockAudit');
  788. Route::post('addRemarkAndGroupClock', 'LaborReportController@addRemarkAndGroupClock');
  789. Route::post('groupExport', 'LaborReportController@groupExport');
  790. Route::post('groupExportEnsure', 'LaborReportController@groupExportEnsure');
  791. Route::any('export', 'LaborReportController@export');
  792. Route::post('updateLaborCompany', 'LaborReportController@updateLaborCompany');
  793. Route::any('删除/{id}', 'LaborReportController@删除');
  794. Route::post('changeLaborReportRemark', 'LaborReportController@changeLaborReportRemark');
  795. });
  796. });
  797. /** 库存 */
  798. $route->group(['prefix' => 'inventory'], function () {
  799. /** 说明 */
  800. Route::group(['prefix' => 'stockOut'], function () {
  801. Route::get('/', 'ReplenishmentController@index');
  802. Route::post('/getReplenishmentInfoByCustomer', 'ReplenishmentController@getReplenishmentInfoByCustomer');
  803. Route::get('/export', 'ReplenishmentController@export');
  804. });
  805. Route::group(['prefix' => 'statement'], function () {
  806. /** 动库报表 */
  807. Route::group(['prefix' => 'changeInventory'], function () {
  808. Route::any('export', 'InventoryController@exportData');
  809. Route::get('downLoadExcel', 'InventoryController@downLoadExcel');
  810. Route::post('deleteExcel', 'InventoryController@deleteExcel');
  811. });
  812. Route::get('changeInventory', 'InventoryController@changeInventory');
  813. /** 全部库存 */
  814. Route::group(['prefix' => 'allInventory'], function () {
  815. Route::any('export', 'InventoryController@exportAllInventory');
  816. });
  817. Route::get('allInventory', 'InventoryController@allInventory');
  818. /** 每日记录 */
  819. Route::group(['prefix' => 'dailyLog'], function () {
  820. Route::any('export', 'InventoryController@exportDailyLog');
  821. Route::post('getLoggingOwner', 'InventoryController@getLoggingOwner');
  822. Route::post('addLoggingOwner', 'InventoryController@addLoggingOwner');
  823. });
  824. Route::get('dailyLog', 'InventoryController@dailyLog');
  825. Route::get('inventoryCompare', 'InventoryCompareController@inventoryCompare');
  826. Route::any('inventoryCompare/export', 'InventoryCompareController@exportInventoryCompare');
  827. });
  828. /** 库存盘点 */
  829. Route::group(['prefix' => 'stockInventory'], function () {
  830. Route::get('mission', 'InventoryAccountController@mission');
  831. Route::any('enterStockInventory/{id}', 'InventoryAccountController@enterStockInventory');
  832. Route::any('inventoryAccountMission/export', 'InventoryAccountController@exportInventoryAccountMission');
  833. Route::get('mission', 'InventoryAccountController@mission');
  834. Route::post('createStockInventoryMission', 'InventoryAccountController@createStockInventoryMission');
  835. Route::post('searchCommodityByBarcode', 'InventoryAccountController@searchCommodityByBarcode');
  836. Route::get('blindReceive/{id}', 'InventoryAccountController@enterBlindReceive');
  837. Route::post('baseOnBlindReceive', 'InventoryAccountController@baseOnBlindReceive');
  838. Route::post('batchStockByLocation', 'InventoryAccountController@batchStockByLocation');
  839. Route::post('outToLineUpdateInventoryMissions', 'InventoryAccountController@outToLineUpdateInventoryMissions');
  840. });
  841. /** 库存比对 */
  842. Route::group(['prefix' => 'inventoryCompare'], function () {
  843. /** excel */
  844. Route::group(['prefix' => 'import'], function () {
  845. Route::post('excel', 'InventoryCompareController@importExcel');
  846. });
  847. });
  848. Route::get('syncOwners', 'InventoryAccountController@syncOwners');
  849. Route::post('inventoryChecked', 'InventoryAccountController@inventoryChecked');
  850. Route::any('删除盘点记录', 'InventoryAccountController@删除盘点记录');
  851. Route::post('跳过盘点记录', 'InventoryAccountController@跳过盘点记录');
  852. Route::post('确认盘点差异', 'InventoryAccountController@确认盘点差异');
  853. Route::post('批量跳过或确认差异', 'InventoryAccountController@批量跳过或确认差异');
  854. Route::get('完结盘点任务/{id}', 'InventoryAccountController@完结盘点任务');
  855. Route::post('修改质量状态', 'InventoryAccountController@修改质量状态');
  856. Route::post('增加系统之外的盘点记录', 'InventoryAccountController@增加系统之外的盘点记录');
  857. Route::post('盘点选中任务', 'InventoryAccountController@盘点选中任务');
  858. Route::post('stockInventoryEnd', 'InventoryAccountController@stockInventoryEnd');
  859. Route::any('deleteStockInventoryMission/{id}', 'InventoryAccountController@deleteStockInventoryMission');
  860. Route::any('stockInventoryExport', 'InventoryAccountController@stockInventoryExport');
  861. Route::any('stockInventory', 'InventoryAccountController@stockInventory');
  862. Route::post('searchStockInventoryRecord', 'InventoryAccountController@searchStockInventoryRecord');
  863. });
  864. /** 订单 */
  865. $route->group(['prefix' => 'order'], function () {
  866. //包装记录
  867. Route::group(['prefix' => 'scanInfo'], function () {
  868. Route::get('detail', 'ScanInfoDetailController@detailIndex');
  869. });
  870. /** 主页 */
  871. Route::group(['prefix' => 'index'], function () {
  872. Route::get('delivering', 'OrderController@delivering');
  873. Route::get('commodityAssign', 'OrderCommodityAssignController@index');
  874. Route::match(['get', 'post'], 'export', 'OrderController@export');
  875. Route::group(['prefix' => 'commodityAssign'], function () {
  876. Route::post('import', 'OrderCommodityAssignController@import');
  877. });
  878. Route::group(['prefix' => 'freeze'], function () {
  879. Route::post('delFreeze', 'OrderFreezeController@delFreeze');
  880. });
  881. Route::resource('freeze', 'OrderFreezeController');
  882. Route::get("/batchWorkOrder","WorkOrderController@batchWorkOrder");
  883. });
  884. /** 创建 */
  885. Route::group(['prefix' => 'create'], function () {
  886. Route::post('batchComments', 'OrderController@batchComments');
  887. });
  888. /** 波次 */
  889. Route::group(['prefix' => 'wave'], function () {
  890. Route::get('index', 'WaveController@index');
  891. Route::post('cancelPrinting', 'WaveController@cancelPrinting');
  892. Route::any('exportExcel', 'WaveController@exportExcelOnParams');
  893. Route::post('repairBatch', 'WaveController@repairBatch');
  894. Route::post('split', 'WaveController@split');
  895. Route::post('printChild', 'WaveController@printChild');
  896. Route::get('picking', 'WaveController@picking');
  897. Route::post('loadBatch', 'WaveController@loadBatch');
  898. });
  899. /** 问题件 */
  900. Route::group(['prefix' => 'issue'], function () {
  901. /** 工作量 */
  902. Route::group(['prefix' => 'workLoad'], function () {
  903. Route::get('index', 'OrderIssuePerformanceController@workLoadPage');
  904. Route::any('export', 'OrderIssuePerformanceController@exportWorkLoad');
  905. });
  906. /** 绩效 */
  907. Route::group(['prefix' => 'orderIssuePerformance'], function () {
  908. Route::get('index', 'OrderIssuePerformanceController@index');
  909. Route::any('export', 'OrderIssuePerformanceController@export');
  910. });
  911. Route::get('index', 'OrderIssueController@index');
  912. Route::get('create', 'OrderIssueController@create');
  913. Route::post('store', 'OrderIssueController@store');
  914. Route::post('batchImport', 'OrderIssueController@batchImport');
  915. Route::get('excelImport', 'OrderIssueController@excelImport');
  916. Route::get('edit/{id}', 'OrderIssueController@edit');
  917. Route::get('recycle', 'OrderIssueController@recycleBin');
  918. Route::match(['get', 'post'], 'export', 'OrderIssueController@exportJsonExcel');
  919. });
  920. /** 跟踪 */
  921. Route::group(['prefix' => 'tracking'], function () {
  922. Route::get('index', "OrderTrackingController@index");
  923. Route::any('export', "OrderTrackingController@export");
  924. Route::get('update', 'OrderTrackingController@updateApi');
  925. Route::post('upload', 'OrderTrackingController@upload');
  926. Route::post('destroyImg', 'OrderTrackingController@destroyImg');
  927. });
  928. Route::post('freeze', 'OrderController@freeze');
  929. Route::post('freezeAll', 'OrderController@freezeAll');
  930. Route::post('thaw', 'OrderController@thaw');
  931. Route::post('deAllocation', 'OrderController@deAllocation');
  932. Route::post('deAllocationAll', 'OrderController@deAllocationAll');
  933. Route::post('allocation', 'OrderController@allocation');
  934. Route::post('manualBack', 'OrderController@manualBack');
  935. Route::post('collectUpload', 'OrderController@collectUpload');
  936. Route::post('resetLogisticsGetMark', 'OrderController@resetLogisticsGetMark');
  937. Route::post('resetInterfaceReturnMark', 'OrderController@resetInterfaceReturnMark');
  938. Route::post('createRejectedBill', 'OrderController@createRejectedBill');
  939. Route::post('isRejectedBillExist', 'OrderController@isRejectedBillExist');
  940. /** 工单 */
  941. Route::prefix('workOrder')->group(function () {
  942. Route::get('index', 'WorkOrderController@index');
  943. Route::match(['get', 'post'], 'export', 'WorkOrderController@exportJsonExcel')->name('workOrder.exportApi');
  944. });
  945. });
  946. /** 结算 */
  947. $route->group(['prefix' => 'finance'], function () {
  948. Route::get('area', 'CustomerController@projectArea');
  949. Route::group(['prefix' => 'instantBill'], function () {
  950. Route::match(['GET', 'POST'], 'export', 'CustomerController@financeInstantBillExport');
  951. });
  952. Route::get('instantBill', 'CustomerController@financeInstantBill');
  953. Route::group(['prefix' => 'billConfirmation'], function () {
  954. Route::match(['GET', 'POST'], 'export', 'CustomerController@financeBillConfirmationExport');
  955. });
  956. Route::get('billConfirmation', 'CustomerController@financeBillConfirmation');
  957. Route::post('updateBillReport', 'CustomerController@updateBillReport');
  958. Route::post('billConfirm', 'CustomerController@billConfirm');
  959. Route::prefix('settlementBills')->group(function () {
  960. //快递费
  961. Route::group(['prefix' => 'expressFee'], function () {
  962. Route::post('detail/confirmBill', 'SettlementBillExpressFeeDetailController@confirmBill');
  963. Route::post('report/confirmBill', 'SettlementBillExpressFeeReportController@confirmBill');
  964. Route::any('detail/export', 'SettlementBillExpressFeeDetailController@export');
  965. Route::any('report/export', 'SettlementBillExpressFeeReportController@export');
  966. Route::get('detail', 'SettlementBillExpressFeeDetailController@index')->name('settlementBills.expressFee.detail');
  967. Route::get('report', 'SettlementBillExpressFeeReportController@index')->name('settlementBills.expressFee.report');
  968. });
  969. //仓储费
  970. Route::group(['prefix' => 'storageFee'], function () {
  971. Route::get('', 'SettlementBillStorageFeeController@index')->name('settlementBills.storageFee.index');
  972. Route::post('confirmBill', 'SettlementBillStorageFeeController@confirmBill');
  973. Route::any('export', 'SettlementBillStorageFeeController@export');
  974. });
  975. //入库费
  976. Route::group(['prefix' => 'storeFee'], function () {
  977. Route::post('detail/confirmBill', 'SettlementBillStoreFeeDetailController@confirmBill');
  978. Route::post('report/confirmBill', 'SettlementBillStoreFeeReportController@confirmBill');
  979. Route::any('detail/export', 'SettlementBillStoreFeeDetailController@export');
  980. Route::any('report/export', 'SettlementBillStoreFeeReportController@export');
  981. Route::get('detail', 'SettlementBillStoreFeeDetailController@index');
  982. Route::get('report', 'SettlementBillStoreFeeReportController@index')->name('settlementBills.storeFee.report');
  983. });
  984. //出库费
  985. Route::group(['prefix' => 'storeOutFee'], function () {
  986. Route::post('detail/confirmBill', 'SettlementBillStoreOutFeeDetailController@confirmBill');
  987. Route::post('report/confirmBill', 'SettlementBillStoreOutFeeReportController@confirmBill');
  988. Route::any('detail/export', 'SettlementBillStoreOutFeeDetailController@export');
  989. Route::any('report/export', 'SettlementBillStoreOutFeeReportController@export');
  990. Route::get('detail', 'SettlementBillStoreOutFeeDetailController@index');
  991. Route::get('report', 'SettlementBillStoreOutFeeReportController@index')->name('settlementBills.storeOutFee.report');
  992. });
  993. //杂项费
  994. Route::group(['prefix' => 'sundryFee'], function () {
  995. Route::get('', 'SettlementBillSundryFeeController@index')->name('settlementBills.sundryFee');
  996. Route::post('confirmBill', 'SettlementBillSundryFeeController@confirmBill');
  997. Route::post('export', 'SettlementBillSundryFeeController@export');
  998. });
  999. //包材费
  1000. Route::group(['prefix' => 'packingMaterialFee'], function () {
  1001. Route::get('', 'SettlementBillPackingMaterialFeeController@index')->name('settlementBills.packingMaterialFee');
  1002. Route::post('confirmBill', 'SettlementBillPackingMaterialFeeController@confirmBill');
  1003. Route::any('export', 'SettlementBillPackingMaterialFeeController@export');
  1004. });
  1005. //加工费
  1006. Route::group(['prefix' => 'processFee'], function () {
  1007. Route::get('', 'SettlementBillProcessFeeController@index')->name('settlementBills.processFee');
  1008. Route::post('confirmBill', 'SettlementBillProcessFeeController@confirmBill');
  1009. Route::any('export', 'SettlementBillProcessFeeController@export');
  1010. });
  1011. //卸货费
  1012. Route::group(['prefix' => 'unloadFee'], function () {
  1013. Route::get('', 'SettlementBillUnloadFeeController@index')->name('settlementBills.unloadFee');
  1014. Route::post('confirmBill', 'SettlementBillUnloadFeeController@confirmBill');
  1015. Route::any('export', 'SettlementBillUnloadFeeController@export');
  1016. });
  1017. //物流费
  1018. Route::group(['prefix' => 'logisticFee'], function () {
  1019. Route::get('', 'SettlementBillLogisticFeeController@index')->name('settlementBills.logisticFee');
  1020. Route::post('confirmBill', 'SettlementBillLogisticFeeController@confirmBill');
  1021. Route::any('export', 'SettlementBillLogisticFeeController@export');
  1022. });
  1023. //总费用
  1024. Route::group(['prefix' => 'totalFee'], function () {
  1025. Route::get('', 'OwnerFeeTotalController@index');
  1026. Route::post('confirmBill', 'OwnerFeeTotalController@confirmBill');
  1027. Route::any('export', 'OwnerFeeTotalController@export');
  1028. });
  1029. //理赔费
  1030. Route::group(['prefix' => 'indemnityFee'], function () {
  1031. Route::get('', 'SettlementIndemnityFeeController@index')->name('settlementBills.indemnityFee');
  1032. Route::post('confirmBill', 'SettlementIndemnityFeeController@confirmBill');
  1033. Route::any('export', 'SettlementIndemnityFeeController@export');
  1034. });
  1035. });
  1036. });
  1037. /** 客户 */
  1038. $route->group(['prefix' => 'customer'], function () {
  1039. /** 项目 */
  1040. //杂项费
  1041. Route::group(['prefix' => 'ownerSundryFee'], function () {
  1042. Route::any('export', 'OwnerSundryFeeDetailsController@export');
  1043. });
  1044. Route::group(['prefix' => 'project'], function () {
  1045. Route::group(['prefix' => 'index'], function () {
  1046. Route::match(['GET', 'POST'], 'export', 'CustomerController@projectIndexExport');
  1047. });
  1048. Route::get('index', 'CustomerController@projectIndex');
  1049. Route::get('create', 'CustomerController@projectCreate');
  1050. Route::group(['prefix' => 'area'], function () {
  1051. Route::match(['GET', 'POST'], 'export', 'CustomerController@projectAreaExport');
  1052. });
  1053. Route::get('{id}/edit', 'CustomerController@projectEdit');
  1054. Route::post('projectUpdate', 'CustomerController@projectUpdate');
  1055. Route::post('getOwnerPriceModel', 'CustomerController@getOwnerPriceModel');
  1056. Route::post('updateArea', 'CustomerController@updateArea');
  1057. Route::post('verify', 'CustomerController@verifyProject');
  1058. Route::post('areaReportAudit', 'CustomerController@areaReportAudit');
  1059. //获取现有计费模型
  1060. Route::post('getPriceModel', 'PriceModelController@getPriceModel');
  1061. //手动生成账单
  1062. Route::post("createReport", "CustomerController@createReport");
  1063. Route::post("createAreaReport", "CustomerController@createAreaReport");
  1064. //手动重置账单数据
  1065. Route::post("resetInstantBill", "CustomerController@resetInstantBill");
  1066. Route::post("resetBillConfirmation", "CustomerController@resetBillConfirmation");
  1067. });
  1068. Route::get('relating', function () {
  1069. return view('customer.relating');
  1070. });
  1071. Route::group(['prefix' => 'customer'], function () {
  1072. Route::get('customerLogStatus', 'CustomerLogStatusController@index');
  1073. Route::post('getLog', 'CustomerLogController@get');
  1074. Route::post('editLog', 'CustomerLogController@update');
  1075. Route::post('getLogStatus', 'CustomerLogStatusController@get');
  1076. Route::post('storeLog', 'CustomerLogController@store');
  1077. Route::post('relatedOwner', 'CustomerBaseController@relatedOwner');
  1078. Route::post('addTag', 'CustomerBaseController@addTag');
  1079. Route::post('delTag', 'CustomerBaseController@delTag');
  1080. Route::post('destroyLog', 'CustomerBaseController@destroyLog');
  1081. Route::group(['prefix' => 'customerLogStatus'], function () {
  1082. Route::post('save', 'CustomerLogStatusController@save');
  1083. Route::post('destroy', 'CustomerLogStatusController@destroy');
  1084. });
  1085. Route::group(['prefix' => 'customerTag'], function () {
  1086. Route::post('save', 'CustomerTagController@save');
  1087. Route::post('get', 'CustomerTagController@get');
  1088. });
  1089. Route::resource('customerTag', 'CustomerTagController', ['only' => ['index', "destroy"]]);
  1090. Route::resource('customerLog', 'CustomerLogController', ['only' => ['index', 'show', 'create', 'store', 'update', 'edit', 'destroy']]);
  1091. });
  1092. Route::group(['prefix' => 'ownerContract'], function () {
  1093. Route::post('store', 'OwnerContractController@store');
  1094. Route::get('down', 'OwnerContractController@downFile');
  1095. });
  1096. Route::resource('customer', 'CustomerBaseController');
  1097. Route::resource('ownerSundryFeeDetails', 'OwnerSundryFeeDetailsController', ['only' => ['index', 'create', 'store', 'update', 'edit', 'destroy']]);
  1098. });
  1099. /** 站管理 */
  1100. $route->group(['prefix' => 'station'], function () {
  1101. Route::get('index', 'StationController@monitorIndex');
  1102. /** 监视器 */
  1103. Route::group(['prefix' => 'monitor'], function () {
  1104. Route::get('/', 'StationController@monitorIndex');
  1105. Route::get('/index', 'StationController@monitorIndex');
  1106. /** 料箱分布监视器 */
  1107. Route::group(['prefix' => 'visual'], function () {
  1108. Route::get('index', function () {
  1109. return view("station.monitor.visual");
  1110. });
  1111. Route::post('getData', 'StationController@getVisual');
  1112. Route::post('getBoxes', 'StationController@getBoxes');
  1113. Route::post('getDetail', 'StationController@getDetail');
  1114. });
  1115. });
  1116. /** 缓存架 */
  1117. Route::group(['prefix' => 'cachingShelf'], function () {
  1118. Route::get('/index', 'CacheShelfController@index');
  1119. });
  1120. /** 栈规则 */
  1121. Route::group(['prefix' => 'rule'], function () {
  1122. Route::get('/index', 'StationRuleBatchController@index');
  1123. });
  1124. });
  1125. /** 控制台 */
  1126. $route->group(['prefix' => 'control'], function () {
  1127. Route::get('panel/menu', 'ControlPanelController@index');
  1128. });
  1129. /** 采购管理 */
  1130. $route->group(['prefix' => 'procurement'], function () {
  1131. /** 采购 */
  1132. Route::group(['prefix' => 'procurement'], function () {
  1133. Route::get('index', 'ProcurementController@index');
  1134. Route::get('create', 'ProcurementController@create');
  1135. Route::post('store', 'ProcurementController@store');
  1136. Route::post('getOwnerMaterial', 'ProcurementController@getOwnerMaterial');
  1137. Route::post('createProcurement', 'ProcurementController@createProcurement');
  1138. Route::post('createEnquiry', 'ProcurementController@createEnquiry');
  1139. Route::post('createProof', 'ProcurementController@createProof');
  1140. Route::any('procurementExport', 'ProcurementController@procurementExport');
  1141. Route::get('cancel/{id}', 'ProcurementController@cancel');
  1142. Route::post('initiateProcurement', 'ProcurementController@initiateProcurement');
  1143. Route::post('submitProcurement', 'ProcurementController@submitProcurement');
  1144. Route::post('createAnew', 'ProcurementController@createAnew');
  1145. });
  1146. /** 财务 */
  1147. Route::group(['prefix' => 'finance'], function () {
  1148. Route::get('checkBill', 'ProcurementController@checkBill');
  1149. Route::get('procurementBill', 'ProcurementController@procurementBill');
  1150. Route::get('monthlyBillReport', 'ProcurementController@monthlyBillReport');
  1151. Route::post('fillInvoice', 'ProcurementController@fillInvoice');
  1152. Route::any('procurementTotalBillExport', 'ProcurementController@procurementTotalBillExport');
  1153. Route::any('procurementBillExport', 'ProcurementController@procurementBillExport');
  1154. Route::any('checkBillExport', 'ProcurementController@checkBillExport');
  1155. Route::post('costPrice', 'ProcurementController@costPrice');
  1156. Route::post('getCheckBillMonth', 'ProcurementController@getCheckBillMonth');
  1157. });
  1158. Route::get('relating', function () {
  1159. return view('procurement.menuProcurement');
  1160. });
  1161. });
  1162. /** 需求管理 */
  1163. $route->group(['prefix' => 'demand'], function () {
  1164. Route::get('/', 'DemandController@index');
  1165. });
  1166. /** 需求 */
  1167. Route::group(['prefix' => 'requirements'], function () {
  1168. Route::get('/', 'RequirementController@index')->name('requirements.index');
  1169. Route::post('{requirement}/begin', 'RequirementController@begin')->name('requirements.begin');
  1170. Route::post('{requirement}/finish', 'RequirementController@finish')->name('requirements.finish');
  1171. Route::get('create', 'RequirementController@create')->name('requirements.create');
  1172. Route::post('store', 'RequirementController@store')->name('requirements.store');
  1173. Route::patch('{requirement}', 'RequirementController@update')->name('requirements.update');
  1174. Route::delete('{requirement}', 'RequirementController@destroy')->name('requirements.destroy');
  1175. Route::patch('{requirement}', 'RequirementController@update')->name('requirements.update');
  1176. Route::get('{requirement}', 'RequirementController@show')->name('requirements.show');
  1177. Route::get('{requirement}/edit', 'RequirementController@edit')->name('requirements.edit');
  1178. Route::post('{requirement}/review', 'RequirementController@review')->name('requirements.review');
  1179. Route::post('{requirement}/againReview', 'RequirementController@againReview')->name('requirements.againReview');
  1180. Route::post('{requirement}/status', 'RequirementController@status')->name('requirements.status');
  1181. });
  1182. Route::group(['prefix' => 'storeOut'], function () {
  1183. Route::group(['prefix' => 'storeOutReview'], function () {
  1184. Route::get('/', 'StoreOutReviewController@index')->name('StoreOutReview.index');
  1185. });
  1186. });
  1187. Route::group(['prefix' => 'notification'], static function () {
  1188. Route::get('/regular', 'NotificationController@regular');
  1189. Route::post('/regular', 'NotificationController@getRegularData');
  1190. Route::post('/toTarget', 'NotificationController@toTarget');
  1191. }
  1192. );
  1193. Route::group(['prefix' => 'kpi'], function () {
  1194. Route::get('month', 'KpiController@monthIndex');
  1195. Route::get('day', 'KpiController@dayIndex');
  1196. Route::get('dayDetail', 'KpiController@dayDetailIndex');
  1197. Route::get('dayDetailCustomer', 'KpiController@dayDetailCustomer');
  1198. Route::resource('workCoefficient', 'WorkCoefficientController')->only(['index', 'create', 'update']);
  1199. Route::get('workCoefficientDayStat', 'KpiController@workCoefficientDayStatIndex');
  1200. Route::get('ownerPcsReport', 'KpiController@ownerPcsReport');
  1201. Route::get('logisticsPunctuality', 'KpiController@logisticsPunctuality');
  1202. Route::get('orderOperationLog', 'KpiController@orderOperationLog');
  1203. Route::get('logisticReturnPunctuality', 'KpiController@logisticReturnPunctuality');
  1204. });
  1205. });