OrderListModels.js 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210
  1. import { createAction, NavigationActions } from '../../utils'
  2. import * as authService from '../../services/auth'
  3. import Theme from '../../containers/common/theme/config'
  4. import deviceStorage from '../../utils/storage'
  5. export default {
  6. namespace: 'orderlist',
  7. state: {
  8. listData: [],
  9. returnReqData: [],
  10. isRefreshing: false,
  11. totalPages: 2,
  12. // 0:隐藏footer 1:已加载完成,没有更多数据 2 :显示加载中
  13. showFoot: 0,
  14. returnData: {},
  15. copyData: {},
  16. routerParams: ''
  17. },
  18. reducers: {
  19. listReducer(state, { payload }) {
  20. return { ...state, ...payload }
  21. },
  22. filterListReducer(state, { payload }) {
  23. return { ...state, ...payload }
  24. },
  25. returnList(state, { payload }) {
  26. return { ...state, ...payload }
  27. },
  28. copyReqReducer(state, { payload }) {
  29. return { ...state, ...payload }
  30. },
  31. supListReducer(state, { payload }) {
  32. return { ...state, ...payload }
  33. },
  34. setRouterParamsReducer(state, { payload }) {
  35. return { ...state, ...payload }
  36. },
  37. },
  38. effects: {
  39. *getOrderList(action, { call, put }) {
  40. try {
  41. let foot = 0,
  42. postInfo = {}
  43. if (action.payload.forUse !== 'slipOn') {
  44. yield put(
  45. createAction('listReducer')({
  46. isRefreshing: true,
  47. })
  48. )
  49. } else {
  50. yield put(
  51. createAction('listReducer')({
  52. showFoot: 2,
  53. })
  54. )
  55. }
  56. customerId = { search_EQ_customer: CUSTOMERINFO.id }
  57. postInfo = {
  58. ...action.payload.pageInfo,
  59. ...action.payload.searchInfo,
  60. ...customerId,
  61. }
  62. if (
  63. action.payload &&
  64. Object.keys(action.payload).indexOf('touchCode') !== -1 &&
  65. action.payload.touchCode
  66. ) {
  67. if (action.payload.touchCode != 0) {
  68. postInfo.search_EQ_orderStatus = action.payload.touchCode
  69. }
  70. }
  71. const listdata = yield call(() => authService.getOrderList(postInfo))
  72. if (listdata && listdata.data) {
  73. if (action.payload.pageInfo.page >= listdata.data.totalPages) {
  74. foot = 1
  75. }
  76. yield put(
  77. createAction('filterListReducer')({
  78. listData: action.payload.listData.concat(listdata.data.content),
  79. totalPages: listdata.data.totalPages,
  80. isRefreshing: false,
  81. showFoot: foot,
  82. })
  83. )
  84. }
  85. } catch (error) {
  86. yield put(
  87. createAction('listReducer')({
  88. isRefreshing: false,
  89. })
  90. )
  91. console.log(
  92. error,
  93. '-----error的完整信息' + '\n' + error.response.data.message,
  94. '-----相关错误信息'
  95. )
  96. }
  97. },
  98. *deleteOrder(action, { call, put }) {
  99. try {
  100. const delResult = yield call(() =>
  101. authService.deleteOrder({ id: action.payload.id })
  102. )
  103. if (delResult) {
  104. yield put(
  105. createAction('getOrderList')({
  106. listData: [],
  107. pageInfo: { page: 0, size: action.payload.size },
  108. touchName: action.payload.touchName,
  109. searchInfo: action.payload.searchInfo,
  110. })
  111. )
  112. }
  113. } catch (error) {
  114. yield put(
  115. createAction('listReducer')({
  116. isRefreshing: false,
  117. })
  118. )
  119. console.log(
  120. error,
  121. '-----error的完整信息' + '\n' + error.response.data.message,
  122. '-----相关错误信息'
  123. )
  124. }
  125. },
  126. // 复制订单
  127. *copyFromReq(action, { call, put }) {
  128. try {
  129. const data = yield call(() =>
  130. authService.getOrderCopy({ id: action.payload.id, type: 'copy' })
  131. )
  132. if (data && data.data && Object.keys(data.data).length > 0) {
  133. yield put(
  134. createAction('orderedit/getProm')({
  135. promInfo: {
  136. customerId: CUSTOMERINFO.id,
  137. saleOrgId: data.data.saleOrgId,
  138. reqOrderItems: data.data.reqOrderItems,
  139. },
  140. })
  141. )
  142. yield put(
  143. createAction('copyReqReducer')({
  144. copyData: data.data,
  145. })
  146. )
  147. }
  148. } catch (error) {
  149. yield put(
  150. createAction('copyReqReducer')({
  151. isRefreshing: false,
  152. })
  153. )
  154. console.log(
  155. error,
  156. '-----error的完整信息' + '\n' + error.response.data.message,
  157. '-----相关错误信息'
  158. )
  159. }
  160. },
  161. // 基于订单退货 returnReqData
  162. *returnFromReq(action, { call, put }) {
  163. try {
  164. const returnReqData = yield call(() =>
  165. authService.getReturnBaseReq({ id: action.payload.id })
  166. )
  167. // console.log(returnReqData, 87771);
  168. if (
  169. returnReqData &&
  170. returnReqData.data &&
  171. Object.keys(returnReqData.data).length > 0
  172. ) {
  173. // console.log(returnReqData.data);
  174. yield put(
  175. createAction('returnList')({
  176. returnData: returnReqData.data,
  177. })
  178. )
  179. let returnData = action.payload.orderData
  180. returnData.reqOrderItems = returnReqData.data.reqOrderItems
  181. yield put(
  182. NavigationActions.navigate({
  183. routeName: 'ReturnApplication',
  184. params: {
  185. orderData: JSON.parse(JSON.stringify(returnData)),
  186. },
  187. })
  188. )
  189. }
  190. } catch (error) {
  191. yield put(
  192. createAction('returnList')({
  193. isRefreshing: false,
  194. })
  195. )
  196. console.log(
  197. error,
  198. '-----error的完整信息' + '\n' + error.response.data.message,
  199. '-----相关错误信息'
  200. )
  201. }
  202. },
  203. },
  204. }