order_const.dart 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388
  1. import 'package:flutter/material.dart';
  2. class OrderConstant {
  3. // 用户的订单菜单栏
  4. static const List<dynamic> userOrderType = [
  5. {"name": "全部", "value": "USER_ALL"},
  6. {"name": "待付款", "value": "TO_PAY"},
  7. {"name": "待确认", "value": "USER_TO_SURE"},
  8. {"name": "待评价", "value": "TO_EVA"},
  9. {"name": "申诉", "value": "TO_APPEAL"}
  10. ];
  11. // 专家订单菜单栏
  12. static const List<dynamic> expertOrderType = [
  13. {"name": "全部", "value": "CHARGE_ALL"},
  14. {"name": "待报价", "value": "TO_OFFER"},
  15. {"name": "待打卡", "value": "TO_CLOCK"},
  16. {"name": "待确认", "value": "CHARGE_TO_SURE"},
  17. {"name": "待归档", "value": "TO_ARCHIVE"}
  18. ];
  19. // 问诊状态
  20. // showUserAppealInfo 是否显示申诉信息
  21. // showUserPaymentButton 是否显示立即付款按钮
  22. // showUserConfirmPunchButton 是否显示确认打卡按钮
  23. // showUserAppealButton 是否显示提出申诉按钮
  24. // showUserConfirmOrderButton 是否显示确认订单按钮
  25. // showUserEvaluationButton 是否显示评价按钮
  26. // showUserChooseExpertButton 是否显示重新选择专家按钮
  27. // showExpertQuoteButton 是否显示立即报价按钮
  28. // showExpertPunchButton 是否显示立即打卡按钮
  29. // showExpertConfirmOrderButton 是否显示专家确认按钮
  30. // showExpertArchiveButton 是否显示归档按钮
  31. static const List<dynamic> inquiryStatus = [
  32. {
  33. "id": 0,
  34. "name": "待付款",
  35. "desc": "待付款(创建订单)",
  36. "showUserAppealInfo": false,
  37. "showUserPaymentButton": true,
  38. "showUserConfirmPunchButton": false,
  39. "showUserAppealButton": false,
  40. "showUserConfirmOrderButton": false,
  41. "showUserEvaluationButton": false,
  42. "showUserChooseExpertButton": false,
  43. "showExpertQuoteButton": false,
  44. "showExpertPunchButton": false,
  45. "showExpertConfirmOrderButton": false,
  46. "showExpertArchiveButton": false
  47. },
  48. {
  49. "id": 1,
  50. "name": "待接单",
  51. "desc": "已付款(待接单)",
  52. "showUserAppealInfo": false,
  53. "showUserPaymentButton": false,
  54. "showUserConfirmPunchButton": false,
  55. "showUserAppealButton": false,
  56. "showUserConfirmOrderButton": false,
  57. "showUserEvaluationButton": false,
  58. "showUserChooseExpertButton": false,
  59. "showExpertQuoteButton": false,
  60. "showExpertPunchButton": false,
  61. "showExpertConfirmOrderButton": false,
  62. "showExpertArchiveButton": false
  63. },
  64. {
  65. "id": 2,
  66. "name": "已接单",
  67. "desc": "已接单",
  68. "showUserAppealInfo": false,
  69. "showUserPaymentButton": false,
  70. "showUserConfirmPunchButton": false,
  71. "showUserAppealButton": false,
  72. "showUserConfirmOrderButton": false,
  73. "showUserEvaluationButton": false,
  74. "showUserChooseExpertButton": false,
  75. "showExpertQuoteButton": false,
  76. "showExpertPunchButton": false,
  77. "showExpertConfirmOrderButton": true,
  78. "showExpertArchiveButton": false
  79. },
  80. {
  81. "id": 3,
  82. "name": "用户待确认",
  83. "desc": "用户待确认,专家确认完成",
  84. "showUserAppealInfo": false,
  85. "showUserPaymentButton": false,
  86. "showUserConfirmPunchButton": false,
  87. "showUserAppealButton": true,
  88. "showUserConfirmOrderButton": true,
  89. "showUserEvaluationButton": false,
  90. "showUserChooseExpertButton": false,
  91. "showExpertQuoteButton": false,
  92. "showExpertPunchButton": false,
  93. "showExpertConfirmOrderButton": false,
  94. "showExpertArchiveButton": false
  95. },
  96. {
  97. "id": 4,
  98. "name": "待评价",
  99. "desc": "用户确认完成,待评价",
  100. "showUserAppealInfo": false,
  101. "showUserPaymentButton": false,
  102. "showUserConfirmPunchButton": false,
  103. "showUserAppealButton": false,
  104. "showUserConfirmOrderButton": false,
  105. "showUserEvaluationButton": true,
  106. "showUserChooseExpertButton": false,
  107. "showExpertQuoteButton": false,
  108. "showExpertPunchButton": false,
  109. "showExpertConfirmOrderButton": false,
  110. "showExpertArchiveButton": false
  111. },
  112. {
  113. "id": 5,
  114. "name": "待归档",
  115. "desc": "待归档,已评价",
  116. "showUserAppealInfo": false,
  117. "showUserPaymentButton": false,
  118. "showUserConfirmPunchButton": false,
  119. "showUserAppealButton": false,
  120. "showUserConfirmOrderButton": false,
  121. "showUserEvaluationButton": false,
  122. "showUserChooseExpertButton": false,
  123. "showExpertQuoteButton": false,
  124. "showExpertPunchButton": false,
  125. "showExpertConfirmOrderButton": false,
  126. "showExpertArchiveButton": true
  127. },
  128. {
  129. "id": 6,
  130. "name": "已完成",
  131. "desc": "已完成",
  132. "showUserAppealInfo": false,
  133. "showUserPaymentButton": false,
  134. "showUserConfirmPunchButton": false,
  135. "showUserAppealButton": false,
  136. "showUserConfirmOrderButton": false,
  137. "showUserEvaluationButton": false,
  138. "showUserChooseExpertButton": false,
  139. "showExpertQuoteButton": false,
  140. "showExpertPunchButton": false,
  141. "showExpertConfirmOrderButton": false,
  142. "showExpertArchiveButton": false
  143. },
  144. {
  145. "id": 7,
  146. "name": "申诉中",
  147. "desc": "申诉中",
  148. "showUserAppealInfo": true,
  149. "showUserPaymentButton": false,
  150. "showUserConfirmPunchButton": false,
  151. "showUserAppealButton": false,
  152. "showUserConfirmOrderButton": false,
  153. "showUserEvaluationButton": false,
  154. "showUserChooseExpertButton": false,
  155. "showExpertQuoteButton": false,
  156. "showExpertPunchButton": false,
  157. "showExpertConfirmOrderButton": false,
  158. "showExpertArchiveButton": false
  159. },
  160. {
  161. "id": 8,
  162. "name": "拒绝接单",
  163. "desc": "拒绝接单",
  164. "showUserAppealInfo": true,
  165. "showUserPaymentButton": false,
  166. "showUserConfirmPunchButton": false,
  167. "showUserAppealButton": false,
  168. "showUserConfirmOrderButton": false,
  169. "showUserEvaluationButton": false,
  170. "showUserChooseExpertButton": true,
  171. "showExpertQuoteButton": false,
  172. "showExpertPunchButton": false,
  173. "showExpertConfirmOrderButton": false,
  174. "showExpertArchiveButton": false
  175. }
  176. ];
  177. // 出诊状态
  178. static const List<dynamic> expeditionStatus = [
  179. {
  180. "id": 0,
  181. "name": "待接单",
  182. "desc": "待接单(创建订单)",
  183. "showUserAppealInfo": false,
  184. "showUserPaymentButton": false,
  185. "showUserConfirmPunchButton": false,
  186. "showUserAppealButton": false,
  187. "showUserConfirmOrderButton": false,
  188. "showUserEvaluationButton": false,
  189. "showUserChooseExpertButton": false,
  190. "showExpertQuoteButton": false,
  191. "showExpertPunchButton": false,
  192. "showExpertConfirmOrderButton": false,
  193. "showExpertArchiveButton": false
  194. },
  195. {
  196. "id": 1,
  197. "name": "待报价",
  198. "desc": "已接单(待报价)",
  199. "showUserAppealInfo": false,
  200. "showUserPaymentButton": false,
  201. "showUserConfirmPunchButton": false,
  202. "showUserAppealButton": false,
  203. "showUserConfirmOrderButton": false,
  204. "showUserEvaluationButton": false,
  205. "showUserChooseExpertButton": false,
  206. "showExpertQuoteButton": true,
  207. "showExpertPunchButton": false,
  208. "showExpertConfirmOrderButton": false,
  209. "showExpertArchiveButton": false
  210. },
  211. {
  212. "id": 2,
  213. "name": "用户待付款",
  214. "desc": "待付款(已报价)",
  215. "showUserAppealInfo": false,
  216. "showUserPaymentButton": true,
  217. "showUserConfirmPunchButton": false,
  218. "showUserAppealButton": false,
  219. "showUserConfirmOrderButton": false,
  220. "showUserEvaluationButton": false,
  221. "showUserChooseExpertButton": false,
  222. "showExpertQuoteButton": true,
  223. "showExpertPunchButton": false,
  224. "showExpertConfirmOrderButton": false,
  225. "showExpertArchiveButton": false
  226. },
  227. {
  228. "id": 3,
  229. "name": "已付款",
  230. "desc": "已付款(已付款, 专家待打卡,用户确认专家到场打卡,专家待确认)",
  231. "showUserAppealInfo": false,
  232. "showUserPaymentButton": false,
  233. "showUserConfirmPunchButton": true,
  234. "showUserAppealButton": false,
  235. "showUserConfirmOrderButton": false,
  236. "showUserEvaluationButton": false,
  237. "showUserChooseExpertButton": false,
  238. "showExpertQuoteButton": false,
  239. "showExpertPunchButton": true,
  240. "showExpertConfirmOrderButton": true,
  241. "showExpertArchiveButton": false
  242. },
  243. {
  244. "id": 4,
  245. "name": "用户待确认",
  246. "desc": "用户待确认,专家确认完成",
  247. "showUserAppealInfo": false,
  248. "showUserPaymentButton": false,
  249. "showUserConfirmPunchButton": false,
  250. "showUserAppealButton": true,
  251. "showUserConfirmOrderButton": true,
  252. "showUserEvaluationButton": false,
  253. "showUserChooseExpertButton": false,
  254. "showExpertQuoteButton": false,
  255. "showExpertPunchButton": false,
  256. "showExpertConfirmOrderButton": false,
  257. "showExpertArchiveButton": false
  258. },
  259. {
  260. "id": 5,
  261. "name": "用户确认完成",
  262. "desc": "用户确认完成,待评价",
  263. "showUserAppealInfo": false,
  264. "showUserPaymentButton": false,
  265. "showUserConfirmPunchButton": false,
  266. "showUserAppealButton": false,
  267. "showUserConfirmOrderButton": false,
  268. "showUserEvaluationButton": true,
  269. "showUserChooseExpertButton": false,
  270. "showExpertQuoteButton": false,
  271. "showExpertPunchButton": false,
  272. "showExpertConfirmOrderButton": false,
  273. "showExpertArchiveButton": false
  274. },
  275. {
  276. "id": 6,
  277. "name": "已完成",
  278. "desc": "已完成,已评价",
  279. "showUserAppealInfo": false,
  280. "showUserPaymentButton": false,
  281. "showUserConfirmPunchButton": false,
  282. "showUserAppealButton": false,
  283. "showUserConfirmOrderButton": false,
  284. "showUserEvaluationButton": false,
  285. "showUserChooseExpertButton": false,
  286. "showExpertQuoteButton": false,
  287. "showExpertPunchButton": false,
  288. "showExpertConfirmOrderButton": false,
  289. "showExpertArchiveButton": false
  290. },
  291. {
  292. "id": 7,
  293. "name": "申诉中",
  294. "desc": "申诉中",
  295. "showUserAppealInfo": true,
  296. "showUserPaymentButton": false,
  297. "showUserConfirmPunchButton": false,
  298. "showUserAppealButton": false,
  299. "showUserConfirmOrderButton": false,
  300. "showUserEvaluationButton": false,
  301. "showUserChooseExpertButton": false,
  302. "showExpertQuoteButton": false,
  303. "showExpertPunchButton": false,
  304. "showExpertConfirmOrderButton": false,
  305. "showExpertArchiveButton": false
  306. },
  307. {
  308. "id": 8,
  309. "name": "拒绝接单",
  310. "desc": "拒绝接单",
  311. "showUserAppealInfo": true,
  312. "showUserPaymentButton": false,
  313. "showUserConfirmPunchButton": false,
  314. "showUserAppealButton": false,
  315. "showUserConfirmOrderButton": false,
  316. "showUserEvaluationButton": false,
  317. "showUserChooseExpertButton": true,
  318. "showExpertQuoteButton": false,
  319. "showExpertPunchButton": false,
  320. "showExpertConfirmOrderButton": false,
  321. "showExpertArchiveButton": false
  322. }
  323. ];
  324. // 通过id和类型获取状态名称
  325. // dataTable 1问诊,2出诊
  326. static String getStatusName(statuz, dataTable,
  327. {int arrivedFlag = 0, String userType = 'USER'}) {
  328. List statusList;
  329. if(statuz == 8){
  330. return "已拒绝";
  331. }
  332. if (dataTable == 1) {
  333. if (userType == "USER" && (statuz == 5 || statuz == 6)) {
  334. return "已完成";
  335. }
  336. statusList = inquiryStatus;
  337. } else if (dataTable == 2) {
  338. statusList = expeditionStatus;
  339. if (statuz == 3) {
  340. return arrivedFlag == 0 ? "待打卡" : "已打卡";
  341. }
  342. }
  343. for (var i = 0; i < statusList.length; i++) {
  344. if (statusList[i]['id'] == statuz) {
  345. return statusList[i]['name'];
  346. }
  347. }
  348. return '';
  349. }
  350. // 通过id、类型和按钮关键字,判断内容是否显示
  351. static bool isShow(statuz, dataTable, type, {int arrivedFlag}) {
  352. List statusList;
  353. if (dataTable == 1) {
  354. statusList = inquiryStatus;
  355. } else if (dataTable == 2) {
  356. statusList = expeditionStatus;
  357. }
  358. for (var i = 0; i < statusList.length; i++) {
  359. if (statusList[i]['id'] == statuz && statusList[i][type]) {
  360. if (type == 'showUserConfirmPunchButton') {
  361. // 如果专家没有打卡,用户可以协助打卡
  362. if (arrivedFlag == 0 || arrivedFlag == 1) {
  363. return false;
  364. }else {
  365. return true;
  366. }
  367. }
  368. if (type == 'showExpertConfirmOrderButton'&& dataTable == 2) {
  369. // 如果专家已经打卡,才能专家确认
  370. if (arrivedFlag != 1) {
  371. return false;
  372. }else {
  373. return true;
  374. }
  375. }
  376. return true;
  377. }
  378. }
  379. return false;
  380. }
  381. }