You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

54 lines
1.9 KiB

  1. import {getStatusTag} from "utils/statusUtils/Base";
  2. import * as DateUtils from "utils/DateUtils";
  3. const confirm = {color:"#22a13f", eng:"Confirmed", cht:"可以付印"}
  4. const unable = {color:"#d9372b", eng:"Re-proofing", cht:"未能付印"}
  5. const timeOut = {color:"#8a8784", eng:"No Reply", cht:"回覆逾時"}
  6. const pendingReply = {color:"#f5a83d", eng:"Pending Reply", cht:"未回覆"}
  7. const cancel = {color:"#000", textColor:"#fff", eng:"Cancelled", cht:"已取消"}
  8. export function getStatus_Cht(params) {
  9. let status = getStatus(params);
  10. return getStatusTag({color: status.color, textColor:status.textColor, text:status.cht })
  11. }
  12. export function getStatus_Eng(params) {
  13. let status = getStatus(params);
  14. return getStatusTag({color: status.color, textColor:status.textColor, text:status.eng })
  15. }
  16. export function getStatusText_Cht(params) {
  17. let status = getStatus(params);
  18. return {text:status.cht,status:status.eng}
  19. }
  20. export function getStatusText_Eng(params) {
  21. let status = getStatus(params);
  22. return {text:status.eng,status:status.eng}
  23. }
  24. function getStatus(params) {
  25. // console.log(params)
  26. let replyDate = params.row?params.row.replyDate:params.replyDate;
  27. let action = params.row?params.row.action:params.action;
  28. let proofPaymentDeadline = params.row?params.row.proofPaymentDeadline:params.proofPaymentDeadline;
  29. let isCancelled = params.row?params.row.cancelled:params.cancelled;
  30. if(isCancelled) return cancel;
  31. console.log(replyDate)
  32. if(replyDate){
  33. return action?confirm:unable;
  34. }else{
  35. return isOverTime(proofPaymentDeadline)? timeOut: pendingReply;
  36. }
  37. }
  38. const isOverTime = (proofPaymentDeadline) => {
  39. if (!proofPaymentDeadline) return true;
  40. proofPaymentDeadline = DateUtils.convertToDate(proofPaymentDeadline);
  41. let current = new Date();
  42. return current.getTime() > proofPaymentDeadline.getTime();
  43. }