orderBtnsShow.js 7.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203
  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. // 判断给定日期是否在今天或昨天
  14. return date.isSame(today, 'day') || date.isSame(yesterday, 'day')
  15. },
  16. orderStatus_v_zh(orderStatus, item) {
  17. if (item?.isImportExcel && item?.isMeet === false) {
  18. return 'DJD'
  19. }
  20. if (['DYY'].includes(orderStatus)) {
  21. // 待预约
  22. return 'DYY'
  23. } else if (['DQD'].includes(orderStatus)) {
  24. // 待抢单
  25. return 'DQD'
  26. } else if (
  27. [
  28. 'DSHPG',
  29. 'CJ',
  30. 'YPD',
  31. 'DXSPD',
  32. 'DZBPG',
  33. 'DWDSPGP',
  34. 'DXSSPGP',
  35. 'DTJXSSPGP',
  36. 'DZBSPGP',
  37. 'DFZXPD',
  38. 'DFZXSPGP',
  39. 'XSBH',
  40. 'TJXSBH',
  41. 'ZBBH',
  42. 'FZXBH',
  43. 'FL'
  44. ].includes(orderStatus)
  45. ) {
  46. // 待商户派工
  47. return 'DSHPG'
  48. } else if (['DWDPG', 'DWDPD', 'WDBH'].includes(orderStatus)) {
  49. // 待网点派工
  50. return 'DWDPG'
  51. } else if (['DJD'].includes(orderStatus)) {
  52. // 待接单
  53. return 'DJD'
  54. } else if (['FWZ', 'GCSZT', 'BFWG', 'DSM', 'YZP'].includes(orderStatus)) {
  55. // 服务中
  56. return 'FWZ'
  57. } else if (['YCD'].includes(orderStatus)) {
  58. // 异常单
  59. return 'YCD'
  60. } else if (['YWG', 'GCSZX', 'WDWG', 'YWGO'].includes(orderStatus)) {
  61. // 已完工待结算
  62. return 'YWG'
  63. } else if (['YJS', 'LRCD'].includes(orderStatus)) {
  64. // 已结算
  65. return 'YJS'
  66. } else if (['YQX', 'FWZT', 'YCGB', 'FWQX'].includes(orderStatus)) {
  67. // 已取消
  68. return 'YQX'
  69. }
  70. return ''
  71. },
  72. // 接单按钮
  73. JIEDAN(item, userInfo) {
  74. // ---------------
  75. return (
  76. (item.isImportExcel &&
  77. !item.isMeet &&
  78. item.attr == 'SELF' &&
  79. (item.orderType == 'INSTALL' ? !!userInfo.workerNumber : true) &&
  80. !['YQX'].includes(this.orderStatus_v_zh(item.orderStatus, item))) ||
  81. // ---------------
  82. (item.isImportExcel &&
  83. !item.isMeet &&
  84. item.attr != 'SELF' &&
  85. !['YQX'].includes(this.orderStatus_v_zh(item.orderStatus, item))) ||
  86. // ---------------
  87. (!item.isImportExcel &&
  88. item.attr == 'SELF' &&
  89. ['DYY', 'DJD'].includes(this.orderStatus_v_zh(item.orderStatus, item)) &&
  90. (item.orderType == 'INSTALL' ? !!userInfo.workerNumber : true)) ||
  91. // ---------------
  92. (!item.isImportExcel &&
  93. item.attr != 'SELF' &&
  94. (['DYY'].includes(this.orderStatus_v_zh(item.orderStatus, item)) ||
  95. (['DJD'].includes(this.orderStatus_v_zh(item.orderStatus, item))
  96. ? item.orderType == 'INSTALL'
  97. ? !!userInfo.workerNumber
  98. : true
  99. : false)))
  100. )
  101. },
  102. // 抢单按钮
  103. QIANGDAN(item, userInfo) {
  104. // ---------------
  105. return (
  106. (!item.isImportExcel &&
  107. item.attr == 'SELF' &&
  108. ['DQD'].includes(this.orderStatus_v_zh(item.orderStatus, item)) &&
  109. (item.orderType == 'INSTALL' ? !!userInfo.workerNumber : true)) ||
  110. // ---------------
  111. (!item.isImportExcel && item.attr != 'SELF' && ['DQD'].includes(this.orderStatus_v_zh(item.orderStatus, item)))
  112. )
  113. },
  114. // 配件申请
  115. PEIJIANSHENQING(item, userInfo) {
  116. // ---------------
  117. return (
  118. ((item.isImportExcel &&
  119. item.orderType != 'INSTALL' &&
  120. ['DYY', 'FWZ'].includes(this.orderStatus_v_zh(item.orderStatus, item))) ||
  121. // ---------------
  122. (item.isImportExcel &&
  123. item.orderType != 'INSTALL' &&
  124. ['YWG'].includes(this.orderStatus_v_zh(item.orderStatus, item)) &&
  125. this.isTodayOrYesterday(item.overTime)) ||
  126. // ---------------
  127. (!item.isImportExcel && ['DYY'].includes(this.orderStatus_v_zh(item.orderStatus, item))) ||
  128. // ---------------
  129. (!item.isImportExcel &&
  130. ['FWZ'].includes(this.orderStatus_v_zh(item.orderStatus, item)) &&
  131. item.orderType != 'INSTALL')) &&
  132. (item.isImportExcel ? item.isMeet : true)
  133. )
  134. },
  135. // 变更小工
  136. BIANGENGXIAOGONG(item, userInfo) {
  137. // ---------------
  138. return (
  139. ((item.isImportExcel &&
  140. ['DYY', 'FWZ'].includes(this.orderStatus_v_zh(item.orderStatus, item)) &&
  141. (item.orderType == 'INSTALL' ? !!userInfo.workerNumber : true)) ||
  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. ['DYY', 'FWZ'].includes(this.orderStatus_v_zh(item.orderStatus, item)) &&
  158. !!userInfo.workerNumber) ||
  159. //----------
  160. (((item.isImportExcel &&
  161. ['YWG'].includes(this.orderStatus_v_zh(item.orderStatus, item)) &&
  162. (item.orderType == 'INSTALL' ? !!userInfo.workerNumber : true)) ||
  163. (!item.isImportExcel &&
  164. ['YWG'].includes(this.orderStatus_v_zh(item.orderStatus, item)) &&
  165. !!userInfo.workerNumber)) &&
  166. this.isTodayOrYesterday(item.overTime))) &&
  167. (item.isImportExcel ? item.isMeet : true)
  168. )
  169. },
  170. // 配件收费
  171. PEIJIANSHOUFEI(item, userInfo) {
  172. return (
  173. ((item.isImportExcel &&
  174. item.orderType != 'INSTALL' &&
  175. ['DYY', 'FWZ'].includes(this.orderStatus_v_zh(item.orderStatus, item))) ||
  176. //----------
  177. (!item.isImportExcel &&
  178. item.orderType != 'INSTALL' &&
  179. ['DYY', 'FWZ'].includes(this.orderStatus_v_zh(item.orderStatus, item)) &&
  180. !!userInfo.workerNumber) ||
  181. //----------
  182. (((item.isImportExcel &&
  183. item.orderType != 'INSTALL' &&
  184. ['YWG'].includes(this.orderStatus_v_zh(item.orderStatus, item))) ||
  185. (!item.isImportExcel &&
  186. item.orderType != 'INSTALL' &&
  187. ['YWG'].includes(this.orderStatus_v_zh(item.orderStatus, item)) &&
  188. !!userInfo.workerNumber)) &&
  189. this.isTodayOrYesterday(item.overTime))) &&
  190. (item.isImportExcel ? item.isMeet : true)
  191. )
  192. },
  193. // 过程反馈
  194. GUOCHENFANKUI(item, userInfo) {
  195. return (
  196. ['DYY', 'FWZ'].includes(this.orderStatus_v_zh(item.orderStatus, item)) &&
  197. (item.isImportExcel ? item.isMeet : true)
  198. )
  199. }
  200. }
  201. }