orderBtnsShow.js 7.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214
  1. import { getStorage } from '@/common/utils/storage.js'
  2. import moment from 'moment-timezone'
  3. // 设置时区为中国
  4. moment.tz.setDefault('Asia/Shanghai')
  5. export default {
  6. methods: {
  7. isTodayOrYesterday(timeString) {
  8. const date = moment(timeString)
  9. const now = moment()
  10. // 获取今天和昨天的日期
  11. const today = now.startOf('day')
  12. const yesterday = today.clone().subtract(1, 'days')
  13. console.log(date.isSame(today, 'day') || date.isSame(yesterday, 'day'), '时间判断')
  14. // 判断给定日期是否在今天或昨天
  15. return date.isSame(today, 'day') || date.isSame(yesterday, 'day')
  16. },
  17. orderStatus_v_zh(orderStatus, item) {
  18. if (item?.isImportExcel && item?.isMeet === false) {
  19. return 'DJD'
  20. }
  21. if (['DYY'].includes(orderStatus)) {
  22. // 待预约
  23. return 'DYY'
  24. } else if (['DQD'].includes(orderStatus)) {
  25. // 待抢单
  26. return 'DQD'
  27. } else if (
  28. [
  29. 'DSHPG',
  30. 'CJ',
  31. 'YPD',
  32. 'DXSPD',
  33. 'DZBPG',
  34. 'DWDSPGP',
  35. 'DXSSPGP',
  36. 'DTJXSSPGP',
  37. 'DZBSPGP',
  38. 'DFZXPD',
  39. 'DFZXSPGP',
  40. 'XSBH',
  41. 'TJXSBH',
  42. 'ZBBH',
  43. 'FZXBH',
  44. 'FL'
  45. ].includes(orderStatus)
  46. ) {
  47. // 待商户派工
  48. return 'DSHPG'
  49. } else if (['DWDPG', 'DWDPD', 'WDBH'].includes(orderStatus)) {
  50. // 待网点派工
  51. return 'DWDPG'
  52. } else if (['DJD'].includes(orderStatus)) {
  53. // 待接单
  54. return 'DJD'
  55. } else if (['FWZ', 'GCSZT', 'BFWG', 'DSM', 'YZP'].includes(orderStatus)) {
  56. // 服务中
  57. return 'FWZ'
  58. } else if (['YCD'].includes(orderStatus)) {
  59. // 异常单
  60. return 'YCD'
  61. } else if (['YWG', 'GCSZX', 'WDWG', 'YWGO'].includes(orderStatus)) {
  62. // 已完工待结算
  63. return 'YWG'
  64. } else if (['YJS', 'LRCD'].includes(orderStatus)) {
  65. // 已结算
  66. return 'YJS'
  67. } else if (['YQX', 'FWZT', 'YCGB', 'FWQX'].includes(orderStatus)) {
  68. // 已取消
  69. return 'YQX'
  70. }
  71. return ''
  72. },
  73. // 接单按钮
  74. JIEDAN(item, userInfo) {
  75. // ---------------
  76. return (
  77. (item.isImportExcel &&
  78. !item.isMeet &&
  79. item.attr == 'SELF' &&
  80. (item.orderType == 'INSTALL' ? !!userInfo.workerNumber : true)) ||
  81. // ---------------
  82. (item.isImportExcel && !item.isMeet && item.attr != 'SELF') ||
  83. // ---------------
  84. (!item.isImportExcel &&
  85. item.attr == 'SELF' &&
  86. ['DYY', 'DJD'].includes(this.orderStatus_v_zh(item.orderStatus, item)) &&
  87. (item.orderType == 'INSTALL' ? !!userInfo.workerNumber : true)) ||
  88. // ---------------
  89. (!item.isImportExcel &&
  90. item.attr != 'SELF' &&
  91. (['DYY'].includes(this.orderStatus_v_zh(item.orderStatus, item)) ||
  92. (['DJD'].includes(this.orderStatus_v_zh(item.orderStatus, item))
  93. ? item.orderType == 'INSTALL'
  94. ? !!userInfo.workerNumber
  95. : true
  96. : false)))
  97. )
  98. },
  99. // 抢单按钮
  100. QIANGDAN(item, userInfo) {
  101. // ---------------
  102. return (
  103. (!item.isImportExcel &&
  104. item.attr == 'SELF' &&
  105. ['DQD'].includes(this.orderStatus_v_zh(item.orderStatus, item)) &&
  106. (item.orderType == 'INSTALL' ? !!userInfo.workerNumber : true)) ||
  107. // ---------------
  108. (!item.isImportExcel && item.attr != 'SELF' && ['DQD'].includes(this.orderStatus_v_zh(item.orderStatus, item)))
  109. )
  110. },
  111. // 配件申请
  112. PEIJIANSHENQING(item, userInfo) {
  113. // ---------------
  114. return (
  115. ((item.isImportExcel &&
  116. item.orderType != 'INSTALL' &&
  117. (['DYY', 'FWZ'].includes(this.orderStatus_v_zh(item.orderStatus, item)) ||
  118. (['DQD', 'DJD', 'DSHPG', 'DWDPG'].includes(this.orderStatus_v_zh(item.orderStatus, item)) &&
  119. !userInfo.workerNumber))) ||
  120. // ---------------
  121. (item.isImportExcel &&
  122. item.orderType != 'INSTALL' &&
  123. ['YWG'].includes(this.orderStatus_v_zh(item.orderStatus, item)) &&
  124. this.isTodayOrYesterday(item.overTime)) ||
  125. // ---------------
  126. (!item.isImportExcel && ['DYY', 'FWZ'].includes(this.orderStatus_v_zh(item.orderStatus, item)))) &&
  127. (item.isImportExcel ? item.isMeet : true)
  128. )
  129. },
  130. // 变更小工
  131. BIANGENGXIAOGONG(item, userInfo) {
  132. // ---------------
  133. return (
  134. ((item.isImportExcel &&
  135. ['DYY', 'FWZ'].includes(this.orderStatus_v_zh(item.orderStatus, item)) &&
  136. (item.orderType == 'INSTALL' ? !!userInfo.workerNumber : true)) ||
  137. // ---------------
  138. (item.isImportExcel &&
  139. ['DQD', 'DJD', 'DSHPG', 'DWDPG'].includes(this.orderStatus_v_zh(item.orderStatus, item)) &&
  140. item.orderType != 'INSTALL' &&
  141. !userInfo.workerNumber) ||
  142. // ---------------
  143. (!item.isImportExcel &&
  144. ['DYY', 'FWZ'].includes(this.orderStatus_v_zh(item.orderStatus, item)) &&
  145. (item.orderType == 'INSTALL' ? !!userInfo.workerNumber : true))) &&
  146. (item.isImportExcel ? item.isMeet : true)
  147. )
  148. },
  149. // 辅材收费
  150. FUCAISHOUFEI(item, userInfo) {
  151. return (
  152. ((item.isImportExcel &&
  153. ['DYY', 'FWZ'].includes(this.orderStatus_v_zh(item.orderStatus, item)) &&
  154. (item.orderType == 'INSTALL' ? !!userInfo.workerNumber : true)) ||
  155. //----------
  156. (item.isImportExcel &&
  157. ['DQD', 'DJD', 'DSHPG', 'DWDPG'].includes(this.orderStatus_v_zh(item.orderStatus, item)) &&
  158. item.orderType != 'INSTALL' &&
  159. !userInfo.workerNumber) ||
  160. //----------
  161. (!item.isImportExcel &&
  162. ['DYY', 'FWZ'].includes(this.orderStatus_v_zh(item.orderStatus, item)) &&
  163. !!userInfo.workerNumber) ||
  164. //----------
  165. (((item.isImportExcel &&
  166. ['YWG'].includes(this.orderStatus_v_zh(item.orderStatus, item)) &&
  167. (item.orderType == 'INSTALL' ? !!userInfo.workerNumber : true)) ||
  168. (!item.isImportExcel &&
  169. ['YWG'].includes(this.orderStatus_v_zh(item.orderStatus, item)) &&
  170. !!userInfo.workerNumber)) &&
  171. this.isTodayOrYesterday(item.overTime))) &&
  172. (item.isImportExcel ? item.isMeet : true)
  173. )
  174. },
  175. PEIJIANSHOUFEI(item, userInfo) {
  176. return (
  177. ((item.isImportExcel &&
  178. item.orderType != 'INSTALL' &&
  179. (['DYY', 'FWZ'].includes(this.orderStatus_v_zh(item.orderStatus, item)) ||
  180. (['DQD', 'DJD', 'DSHPG', 'DWDPG'].includes(this.orderStatus_v_zh(item.orderStatus, item)) &&
  181. !userInfo.workerNumber))) ||
  182. //----------
  183. (!item.isImportExcel &&
  184. item.orderType != 'INSTALL' &&
  185. ['DYY', 'FWZ'].includes(this.orderStatus_v_zh(item.orderStatus, item)) &&
  186. !!userInfo.workerNumber) ||
  187. //----------
  188. (((item.isImportExcel &&
  189. item.orderType != 'INSTALL' &&
  190. ['YWG'].includes(this.orderStatus_v_zh(item.orderStatus, item))) ||
  191. (!item.isImportExcel &&
  192. item.orderType != 'INSTALL' &&
  193. ['YWG'].includes(this.orderStatus_v_zh(item.orderStatus, item)) &&
  194. !!userInfo.workerNumber)) &&
  195. this.isTodayOrYesterday(item.overTime))) &&
  196. (item.isImportExcel ? item.isMeet : true)
  197. )
  198. },
  199. GUOCHENFANKUI(item, userInfo) {
  200. return (
  201. (['DYY', 'FWZ'].includes(this.orderStatus_v_zh(item.orderStatus, item)) ||
  202. (item.isImportExcel &&
  203. item.orderType != 'INSTALL' &&
  204. !userInfo.workerNumber &&
  205. ['DQD', 'DJD', 'DSHPG', 'DWDPG'].includes(this.orderStatus_v_zh(item.orderStatus, item)))) &&
  206. (item.isImportExcel ? item.isMeet : true)
  207. )
  208. }
  209. }
  210. }