uk_labour_repository.dart 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746
  1. import 'dart:io';
  2. import 'package:domain/entity/response/uk_labour_request_review_detail_entity.dart';
  3. import 'package:domain/entity/response/uk_labour_request_review_list_entity.dart';
  4. import 'package:domain/entity/server_time.dart';
  5. import 'package:get/get.dart';
  6. import 'package:plugin_platform/platform_export.dart';
  7. import 'package:plugin_platform/http/http_provider.dart';
  8. import 'package:plugin_platform/http/http_result.dart';
  9. import 'package:shared/utils/log_utils.dart';
  10. import 'package:shared/utils/util.dart';
  11. import '../constants/api_constants.dart';
  12. import '../entity/response/uk_lab_req_show_template_entity.dart';
  13. import '../entity/response/uk_labour_request_detail_entity.dart';
  14. import '../entity/response/uk_labour_request_preselect_addstatff_list_entity.dart';
  15. import '../entity/response/uk_labour_request_preselected_list_entity.dart';
  16. import '../entity/response/uk_labour_request_table_entity.dart';
  17. import '../entity/response/uk_labour_review_status_entity.dart';
  18. /// 用工请求相关
  19. class UkLabourRepository extends GetxService {
  20. HttpProvider httpProvider;
  21. UkLabourRepository({required this.httpProvider});
  22. /// 获取用工请求的主列表
  23. Future<HttpResult<UkLabourRequestTableEntity>> fetchLabourRequestList(
  24. String? keyword,
  25. String? startDate,
  26. String? endDate,
  27. String? statusId,
  28. String? departmentId, {
  29. required int curPage,
  30. CancelToken? cancelToken,
  31. }) async {
  32. //参数
  33. Map<String, String> params = {};
  34. params["cur_page"] = curPage.toString();
  35. params["page_size"] = "20";
  36. if (!Utils.isEmpty(keyword)) {
  37. params["job_title"] = keyword!;
  38. }
  39. if (!Utils.isEmpty(startDate)) {
  40. params["job_start"] = startDate!;
  41. }
  42. if (!Utils.isEmpty(endDate)) {
  43. params["job_end"] = endDate!;
  44. }
  45. if (!Utils.isEmpty(statusId)) {
  46. params["co_status"] = statusId!;
  47. }
  48. if (!Utils.isEmpty(departmentId)) {
  49. params["co_department_id"] = departmentId!;
  50. }
  51. final result = await httpProvider.requestNetResult(
  52. ApiConstants.apiLabourRequestList,
  53. params: params,
  54. cancelToken: cancelToken,
  55. );
  56. //根据返回的结果,封装原始数据为Bean/Entity对象
  57. if (result.isSuccess) {
  58. //重新赋值data或list
  59. final json = result.getDataJson();
  60. var data = UkLabourRequestTableEntity.fromJson(json!);
  61. //重新赋值data或list
  62. return result.convert<UkLabourRequestTableEntity>(data: data);
  63. }
  64. return result.convert();
  65. }
  66. /// 根据ID获取主列表的Item数据,用于刷新Item
  67. Future<HttpResult<UkLabourRequestTableEntity>> fetchItemByRequestId(
  68. String? requestId, {
  69. CancelToken? cancelToken,
  70. }) async {
  71. //参数
  72. Map<String, String> params = {};
  73. params["cur_page"] = "1";
  74. params["page_size"] = "1";
  75. if (!Utils.isEmpty(requestId)) {
  76. params["request_id"] = requestId!;
  77. }
  78. final result = await httpProvider.requestNetResult(
  79. ApiConstants.apiLabourRequestList,
  80. params: params,
  81. isShowLoadingDialog: true,
  82. cancelToken: cancelToken,
  83. );
  84. //根据返回的结果,封装原始数据为Bean/Entity对象
  85. if (result.isSuccess) {
  86. //重新赋值data或list
  87. final json = result.getDataJson();
  88. var data = UkLabourRequestTableEntity.fromJson(json!);
  89. //重新赋值data或list
  90. return result.convert<UkLabourRequestTableEntity>(data: data);
  91. }
  92. return result.convert();
  93. }
  94. /// 添加用工的选项
  95. Future<HttpResult<UkLabourRequestDetailEntity>> fetchLabourRequestAddOption({
  96. CancelToken? cancelToken,
  97. }) async {
  98. final result = await httpProvider.requestNetResult(
  99. ApiConstants.apiLabourRequestAddOption,
  100. isShowLoadingDialog: true,
  101. cancelToken: cancelToken,
  102. );
  103. //根据返回的结果,封装原始数据为Bean/Entity对象
  104. if (result.isSuccess) {
  105. //重新赋值data或list
  106. final json = result.getDataJson();
  107. var data = UkLabourRequestDetailEntity.fromJson(json!);
  108. //重新赋值data或list
  109. return result.convert<UkLabourRequestDetailEntity>(data: data);
  110. }
  111. return result.convert();
  112. }
  113. /// 根据模板id 回显 详情页相关数据
  114. Future<HttpResult<UkLabReqShowTemplateEntity>> fetchLabourRequestShowTemplateData(
  115. String templateId,
  116. {
  117. CancelToken? cancelToken,
  118. }) async {
  119. Map<String, dynamic> params = {};
  120. params['template_id'] = templateId;
  121. final result = await httpProvider.requestNetResult(
  122. ApiConstants.apiLabourRequestTemplateShowUK,
  123. params: params,
  124. isShowLoadingDialog: true,
  125. cancelToken: cancelToken,
  126. );
  127. //根据返回的结果,封装原始数据为Bean/Entity对象
  128. if (result.isSuccess) {
  129. //重新赋值data或list
  130. final json = result.getDataJson();
  131. var data = UkLabReqShowTemplateEntity.fromJson(json!);
  132. //重新赋值data或list
  133. return result.convert<UkLabReqShowTemplateEntity>(data: data);
  134. }
  135. return result.convert();
  136. }
  137. /// 获取labourequest 详情
  138. Future<HttpResult<UkLabourRequestDetailEntity>> fetchLabourRequestDetail(
  139. String? requestId, {
  140. CancelToken? cancelToken,
  141. }) async {
  142. //参数
  143. Map<String, String> params = {};
  144. if (!Utils.isEmpty(requestId)) {
  145. params["request_id"] = requestId!;
  146. }
  147. final result = await httpProvider.requestNetResult(
  148. ApiConstants.apiLabourRequestEditDetail,
  149. params: params,
  150. isShowLoadingDialog: true,
  151. cancelToken: cancelToken,
  152. );
  153. //根据返回的结果,封装原始数据为Bean/Entity对象
  154. if (result.isSuccess) {
  155. //重新赋值data或list
  156. final json = result.getDataJson();
  157. var data = UkLabourRequestDetailEntity.fromJson(json!);
  158. //重新赋值data或list
  159. return result.convert<UkLabourRequestDetailEntity>(data: data);
  160. }
  161. return result.convert();
  162. }
  163. /// lab-request 的编辑用工请求发布
  164. Future<HttpResult> editLabourRequestSubmit({
  165. String? requestId,
  166. String? templateId,
  167. String? jobStart,
  168. String? jobEnd,
  169. String? departmentId,
  170. String? needNum,
  171. String? salaryBy,
  172. String? repeatDateStr,
  173. String? amount,
  174. String? certificate, // 多个逗号隔开
  175. String? challenge25,
  176. String? vehicle, // 多个逗号隔开
  177. String? description,
  178. String? employmentType,
  179. String? eventName,
  180. String? eventType,
  181. String? passengers,
  182. String? estRevenue,
  183. String? position,
  184. String? estCost,
  185. dynamic? attUrl,
  186. CancelToken? cancelToken,
  187. }) async {
  188. //参数
  189. Map<String, dynamic> params = {};
  190. params['request_id'] = requestId ?? "";
  191. params['template_id'] = templateId ?? "";
  192. params['job_start'] = jobStart ?? "";
  193. params['job_end'] = jobEnd ?? "";
  194. params['need_num'] = needNum ?? "";
  195. if (!Utils.isEmpty(departmentId)) {
  196. params["co_department_id"] = departmentId!;
  197. }
  198. params['salary_by'] = salaryBy ?? "";
  199. if (!Utils.isEmpty(amount)) {
  200. params["amount"] = amount!;
  201. }
  202. if(!Utils.isEmpty(certificate)){
  203. params["certificate"] = certificate!;
  204. }
  205. if(!Utils.isEmpty(challenge25)){
  206. params["challenge_25"] = challenge25!;
  207. }
  208. if(!Utils.isEmpty(vehicle)){
  209. params["vehicle"] = vehicle!;
  210. }
  211. if(!Utils.isEmpty(repeatDateStr)) {
  212. params["select"] = repeatDateStr!;
  213. }
  214. params['description'] = description ?? "";
  215. params['employment_type'] = employmentType ?? "";
  216. params['event_name'] = eventName ?? "";
  217. params['event_type'] = eventType ?? "";
  218. params['passengers'] = passengers ?? "";
  219. params['est_revenue'] = estRevenue ?? "";
  220. params['position'] = position ?? "";
  221. params['est_cost'] = estCost ?? "";
  222. //可能是file 也可能是 url
  223. Map<String, String> filePathParams = {};
  224. // 判断 http 或者 https 开头
  225. if(Utils.isNotEmpty(attUrl)){
  226. if(attUrl!.startsWith("http") || attUrl!.startsWith("https")){
  227. params['att_url'] = attUrl;
  228. }else {
  229. filePathParams['att_url'] = attUrl;
  230. }
  231. }
  232. final result = await httpProvider.requestNetResult(
  233. ApiConstants.apiLabourRequestEditSubmit,
  234. method: HttpMethod.POST,
  235. params: params,
  236. paths: filePathParams,
  237. networkDebounce: true,
  238. isShowLoadingDialog: true,
  239. cancelToken: cancelToken,
  240. );
  241. //根据返回的结果,封装原始数据为Bean/Entity对象
  242. if (result.isSuccess) {
  243. //重新赋值data或list
  244. return result.convert();
  245. }
  246. return result.convert();
  247. }
  248. /// lab-request-review 的编辑用工请求发布
  249. Future<HttpResult> editLabourRequestReviewSubmit({
  250. String? requestId,
  251. String? templateId,
  252. String? jobStart,
  253. String? jobEnd,
  254. String? departmentId,
  255. String? needNum,
  256. String? salaryBy,
  257. String? repeatDateStr,
  258. String? amount,
  259. String? certificate, // 多个逗号隔开
  260. String? challenge25,
  261. String? vehicle, // 多个逗号隔开
  262. String? description,
  263. String? employmentType,
  264. String? eventName,
  265. String? eventType,
  266. String? passengers,
  267. String? estRevenue,
  268. String? position,
  269. String? estCost,
  270. dynamic? attUrl,
  271. CancelToken? cancelToken,
  272. }) async {
  273. //参数
  274. Map<String, dynamic> params = {};
  275. params['request_id'] = requestId ?? "";
  276. params['template_id'] = templateId ?? "";
  277. params['job_start'] = jobStart ?? "";
  278. params['job_end'] = jobEnd ?? "";
  279. params['need_num'] = needNum ?? "";
  280. if (!Utils.isEmpty(departmentId)) {
  281. params["co_department_id"] = departmentId!;
  282. }
  283. params['salary_by'] = salaryBy ?? "";
  284. if (!Utils.isEmpty(amount)) {
  285. params["amount"] = amount!;
  286. }
  287. if(!Utils.isEmpty(certificate)){
  288. params["certificate"] = certificate!;
  289. }
  290. if(!Utils.isEmpty(challenge25)){
  291. params["challenge_25"] = challenge25!;
  292. }
  293. if(!Utils.isEmpty(vehicle)){
  294. params["vehicle"] = vehicle!;
  295. }
  296. if(!Utils.isEmpty(repeatDateStr)) {
  297. params["select"] = repeatDateStr!;
  298. }
  299. params['description'] = description ?? "";
  300. params['employment_type'] = employmentType ?? "";
  301. params['event_name'] = eventName ?? "";
  302. params['event_type'] = eventType ?? "";
  303. params['passengers'] = passengers ?? "";
  304. params['est_revenue'] = estRevenue ?? "";
  305. params['position'] = position ?? "";
  306. params['est_cost'] = estCost ?? "";
  307. //可能是file 也可能是 url
  308. Map<String, String> filePathParams = {};
  309. // 判断 http 或者 https 开头
  310. if(Utils.isNotEmpty(attUrl)){
  311. if(attUrl!.startsWith("http") || attUrl!.startsWith("https")){
  312. params['att_url'] = attUrl;
  313. }else {
  314. filePathParams['att_url'] = attUrl;
  315. }
  316. }
  317. final result = await httpProvider.requestNetResult(
  318. ApiConstants.apiLabourRequestReViewEditUK,
  319. method: HttpMethod.POST,
  320. params: params,
  321. paths: filePathParams,
  322. networkDebounce: true,
  323. isShowLoadingDialog: true,
  324. cancelToken: cancelToken,
  325. );
  326. //根据返回的结果,封装原始数据为Bean/Entity对象
  327. if (result.isSuccess) {
  328. //重新赋值data或list
  329. return result.convert();
  330. }
  331. return result.convert();
  332. }
  333. /// lab-request 的新增 labourequest用工请求发布
  334. Future<HttpResult> addLabourRequestSubmit({
  335. String? templateId,
  336. String? jobDate,
  337. String? jobStart,
  338. String? jobEnd,
  339. String? departmentId,
  340. String? needNum,
  341. String? salaryBy,
  342. String? repeatDateStr,
  343. String? amount,
  344. String? certificate, // 多个逗号隔开
  345. String? challenge25,
  346. String? vehicle, // 多个逗号隔开
  347. String? jobApplyPreId,
  348. String? description,
  349. String? employmentType,
  350. String? eventName,
  351. String? eventType,
  352. String? passengers,
  353. String? estRevenue,
  354. String? position,
  355. String? estCost,
  356. dynamic? attUrl,
  357. CancelToken? cancelToken,
  358. }) async {
  359. //参数
  360. Map<String, dynamic> params = {};
  361. params['template_id'] = templateId ?? "";
  362. params['job_date'] = jobDate ?? "";
  363. params['start_time'] = jobStart ?? "";
  364. params['end_time'] = jobEnd ?? "";
  365. params['need_num'] = needNum ?? "";
  366. if (!Utils.isEmpty(departmentId)) {
  367. params["co_department_id"] = departmentId!;
  368. }
  369. params['salary_by'] = salaryBy ?? "";
  370. if(!Utils.isEmpty(repeatDateStr)){
  371. params["select"] = repeatDateStr!;
  372. }
  373. if(!Utils.isEmpty(jobApplyPreId)){
  374. params["job_apply_pre_id"] = jobApplyPreId!;
  375. }
  376. if (!Utils.isEmpty(amount)) {
  377. params["amount"] = amount!;
  378. }
  379. if(!Utils.isEmpty(certificate)){
  380. params["certificate"] = certificate!;
  381. }
  382. if(!Utils.isEmpty(challenge25)){
  383. params["challenge_25"] = challenge25!;
  384. }
  385. if(!Utils.isEmpty(vehicle)){
  386. params["vehicle"] = vehicle!;
  387. }
  388. params['description'] = description ?? "";
  389. params['employment_type'] = employmentType ?? "";
  390. params['event_name'] = eventName ?? "";
  391. params['event_type'] = eventType ?? "";
  392. params['passengers'] = passengers ?? "";
  393. params['est_revenue'] = estRevenue ?? "";
  394. params['position'] = position ?? "";
  395. params['est_cost'] = estCost ?? "";
  396. //可能是file 也可能是 url
  397. Map<String, String> filePathParams = {};
  398. // 判断 http 或者 https 开头
  399. if(Utils.isNotEmpty(attUrl)){
  400. if(attUrl!.startsWith("http") || attUrl!.startsWith("https")){
  401. params['att_url'] = attUrl;
  402. }else {
  403. filePathParams['att_url'] = attUrl;
  404. }
  405. }
  406. final result = await httpProvider.requestNetResult(
  407. ApiConstants.apiLabourRequestAddSubmit,
  408. method: HttpMethod.POST,
  409. params: params,
  410. paths: filePathParams,
  411. networkDebounce: true,
  412. isShowLoadingDialog: true,
  413. cancelToken: cancelToken,
  414. );
  415. //根据返回的结果,封装原始数据为Bean/Entity对象
  416. if (result.isSuccess) {
  417. //重新赋值data或list
  418. return result.convert();
  419. }
  420. return result.convert();
  421. }
  422. /// 用工请求 快速复制
  423. Future<HttpResult> quickCopyLabourRequestSubmit(
  424. String? requestId,
  425. // 格式[Y-m-d]
  426. String? jobDate,
  427. //格式[H:m]
  428. String? startTime,
  429. //格式[H:m]
  430. String? endTime,
  431. {
  432. CancelToken? cancelToken,
  433. }) async {
  434. //参数
  435. Map<String, String> params = {};
  436. params['request_id'] = requestId ?? "";
  437. params['job_date'] = jobDate ?? "";
  438. params['start_time'] = startTime ?? "";
  439. params['end_time'] = endTime ?? "";
  440. final result = await httpProvider.requestNetResult(
  441. ApiConstants.apiLabourRequestQuickCopyUK,
  442. method: HttpMethod.POST,
  443. params: params,
  444. networkDebounce: true,
  445. isShowLoadingDialog: true,
  446. cancelToken: cancelToken,
  447. );
  448. //根据返回的结果,封装原始数据为Bean/Entity对象
  449. if (result.isSuccess) {
  450. //重新赋值data或list
  451. return result.convert();
  452. }
  453. return result.convert();
  454. }
  455. /// 获取 labourequest preselected 列表
  456. Future<HttpResult<UkLabourRequestPreselectedListEntity>> fetchLabourRequestPreselectedList(
  457. String reQuestId,
  458. {
  459. required int curPage,
  460. CancelToken? cancelToken,
  461. }) async {
  462. //参数
  463. Map<String, String> params = {};
  464. params["cur_page"] = curPage.toString();
  465. params["page_size"] = "20";
  466. if (!Utils.isEmpty(reQuestId)) {
  467. params["request_id"] = reQuestId;
  468. }
  469. final result = await httpProvider.requestNetResult(
  470. ApiConstants.apiLabourRequestPreSelectListUK,
  471. params: params,
  472. cancelToken: cancelToken,
  473. );
  474. //根据返回的结果,封装原始数据为Bean/Entity对象
  475. if (result.isSuccess) {
  476. //重新赋值data或list
  477. final json = result.getDataJson();
  478. var data = UkLabourRequestPreselectedListEntity.fromJson(json!);
  479. //重新赋值data或list
  480. return result.convert<UkLabourRequestPreselectedListEntity>(data: data);
  481. }
  482. return result.convert();
  483. }
  484. /// 预选人-添加员工的列表
  485. Future<HttpResult<UkLabourRequestPreselectAddstatffListEntity>> fetchtPreselectedAddStaffList(
  486. String? keyWord,
  487. String? reQuestId,
  488. {
  489. required int curPage,
  490. CancelToken? cancelToken,
  491. }) async {
  492. //参数
  493. Map<String, String> params = {};
  494. params["cur_page"] = curPage.toString();
  495. params["page_size"] = "20";
  496. if (!Utils.isEmpty(keyWord)) {
  497. params["keyword"] = keyWord!;
  498. }
  499. if (!Utils.isEmpty(reQuestId)) {
  500. params["request_id"] = reQuestId!;
  501. }
  502. final result = await httpProvider.requestNetResult(
  503. ApiConstants.apiLabourRequestPreSelectAddStaffListUK,
  504. params: params,
  505. cancelToken: cancelToken,
  506. );
  507. //根据返回的结果,封装原始数据为Bean/Entity对象
  508. if (result.isSuccess) {
  509. //重新赋值data或list
  510. final json = result.getDataJson();
  511. var data = UkLabourRequestPreselectAddstatffListEntity.fromJson(json!);
  512. //重新赋值data或list
  513. return result.convert<UkLabourRequestPreselectAddstatffListEntity>(data: data);
  514. }
  515. return result.convert();
  516. }
  517. //// 添加预选员工
  518. Future<HttpResult> labourRequestPreselectedAddStaffSubmit(
  519. String reQuestId,
  520. String staffIds,
  521. {
  522. CancelToken? cancelToken,
  523. }) async {
  524. //参数
  525. Map<String, String> params = {};
  526. params['request_id'] = reQuestId ?? "";
  527. params['staff_ids'] = staffIds ?? "";
  528. final result = await httpProvider.requestNetResult(
  529. ApiConstants.apiLabourRequestPreSelectAddBatchUK,
  530. method: HttpMethod.POST,
  531. params: params,
  532. networkDebounce: true,
  533. isShowLoadingDialog: true,
  534. cancelToken: cancelToken,
  535. );
  536. //根据返回的结果,封装原始数据为Bean/Entity对象
  537. if (result.isSuccess) {
  538. //重新赋值data或list
  539. return result.convert();
  540. }
  541. return result.convert();
  542. }
  543. /// 删除预选员工
  544. Future<HttpResult> labourRequestPreselectedDelete(
  545. String selectedId,
  546. {
  547. CancelToken? cancelToken,
  548. }) async {
  549. //参数
  550. Map<String, String> params = {};
  551. params['selected_id'] = selectedId ?? "";
  552. final result = await httpProvider.requestNetResult(
  553. ApiConstants.apiLabourRequestPreSelectDeleteUK,
  554. method: HttpMethod.POST,
  555. params: params,
  556. networkDebounce: true,
  557. isShowLoadingDialog: true,
  558. cancelToken: cancelToken,
  559. );
  560. //根据返回的结果,封装原始数据为Bean/Entity对象
  561. if (result.isSuccess) {
  562. //重新赋值data或list
  563. return result.convert();
  564. }
  565. return result.convert();
  566. }
  567. /// labourequest -review ------------
  568. /// 获取用工请求审核的主列表
  569. Future<HttpResult<UkLabourRequestReviewListEntity>> fetchLabourRequestReViewList({
  570. String? keyword,
  571. String? startDate,
  572. String? endDate,
  573. String? departmentId,
  574. required int curPage,
  575. CancelToken? cancelToken,
  576. }) async {
  577. //参数
  578. Map<String, String> params = {};
  579. params["cur_page"] = curPage.toString();
  580. params["page_size"] = "20";
  581. if (!Utils.isEmpty(keyword)) {
  582. params["job_title"] = keyword!;
  583. }
  584. if (!Utils.isEmpty(startDate)) {
  585. params["job_start"] = startDate!;
  586. }
  587. if (!Utils.isEmpty(endDate)) {
  588. params["job_end"] = endDate!;
  589. }
  590. if (!Utils.isEmpty(departmentId)) {
  591. params["co_department_id"] = departmentId!;
  592. }
  593. final result = await httpProvider.requestNetResult(
  594. ApiConstants.apiLabourRequestReViewListUK,
  595. params: params,
  596. cancelToken: cancelToken,
  597. );
  598. //根据返回的结果,封装原始数据为Bean/Entity对象
  599. if (result.isSuccess) {
  600. //重新赋值data或list
  601. final json = result.getDataJson();
  602. var data = UkLabourRequestReviewListEntity.fromJson(json!);
  603. //重新赋值data或list
  604. return result.convert<UkLabourRequestReviewListEntity>(data: data);
  605. }
  606. return result.convert();
  607. }
  608. /// labourrequest -review 批量审核(批量同意/批量拒绝)
  609. Future<HttpResult> labourRequestReviewBatchSubmit(
  610. {
  611. // 多个Record Ids以逗号分隔
  612. String? recordIds,
  613. // 审核类型Type【approve|reject】
  614. String? type,
  615. CancelToken? cancelToken,
  616. }) async {
  617. //参数
  618. Map<String, String> params = {};
  619. params['record_ids'] = recordIds ?? "";
  620. params['type'] = type ?? "";
  621. final result = await httpProvider.requestNetResult(
  622. ApiConstants.apiLabourRequestReViewBatchSubmitUK,
  623. method: HttpMethod.POST,
  624. params: params,
  625. networkDebounce: true,
  626. isShowLoadingDialog: true,
  627. cancelToken: cancelToken,
  628. );
  629. //根据返回的结果,封装原始数据为Bean/Entity对象
  630. if (result.isSuccess) {
  631. //重新赋值data或list
  632. return result.convert();
  633. }
  634. return result.convert();
  635. }
  636. /// 用工审核的审核流程列表
  637. Future<HttpResult<UkLabourReviewStatusEntity>> fetchLabourReviewStatusView(
  638. String? requestId, {
  639. CancelToken? cancelToken,
  640. }) async {
  641. //参数
  642. Map<String, String> params = {};
  643. params['request_id'] = requestId ?? "";
  644. final result = await httpProvider.requestNetResult(
  645. ApiConstants.apiLabourRequestStateWorkFlow,
  646. params: params,
  647. cancelToken: cancelToken,
  648. );
  649. //根据返回的结果,封装原始数据为Bean/Entity对象
  650. if (result.isSuccess) {
  651. //重新赋值data或list
  652. final json = result.getDataJson();
  653. var data = UkLabourReviewStatusEntity.fromJson(json!);
  654. //重新赋值data或list
  655. return result.convert<UkLabourReviewStatusEntity>(data: data);
  656. }
  657. return result.convert();
  658. }
  659. }