couponModel.js 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. /* eslint-disable no-unused-vars */
  2. // 优惠券操作
  3. import * as TimeUtil from "../Utils/TimeUtil";
  4. export default {
  5. state: {
  6. defaultStartTime: TimeUtil.getDateStr(),
  7. defaultEndTime: TimeUtil.getAddDateStr(),
  8. couponList: [],
  9. },
  10. actions: ({ model, setState }) => ({
  11. // 获取能用的优惠券
  12. getPlaf() {
  13. const { mid } = model("userModel");
  14. const { httpGet } = model("httpModel");
  15. return httpGet(
  16. "/coupon/my",
  17. {
  18. isAll: false,
  19. },
  20. true
  21. ).then(res => {
  22. const list = res.filter(item => {
  23. return (
  24. TimeUtil.checkSmallNow(item.startDate) &&
  25. !TimeUtil.checkSmallNow(item.endDate)
  26. );
  27. });
  28. return Promise.resolve(list);
  29. });
  30. },
  31. // 获取商家优惠券
  32. getMyList(page, size) {
  33. const { mid } = model("userModel");
  34. const { httpGet } = model("httpModel");
  35. return httpGet(
  36. "/coupon/all",
  37. {
  38. page,
  39. size,
  40. query: {
  41. merchantId: mid,
  42. },
  43. sort: "id,desc",
  44. },
  45. true
  46. );
  47. },
  48. saveInfo(info) {
  49. const { httpPost } = model("httpModel");
  50. const { mid } = model("userModel");
  51. const { success } = model("loadingModel");
  52. return httpPost(
  53. "/coupon/save",
  54. {
  55. ...info,
  56. merchantId: mid,
  57. },
  58. { body: "json" },
  59. true
  60. ).then(res => {
  61. success("保存成功");
  62. return Promise.resolve(res);
  63. });
  64. },
  65. delCoupon(id, callBack) {
  66. const { showDialog } = model("dialogModel");
  67. const { removeInfo } = model();
  68. // const { takeOffTips } = model("wordsModel");
  69. showDialog({
  70. bodyText: "确定要删除,该优惠券吗",
  71. status: "danger",
  72. cancelable: true,
  73. confirmCallback: () => {
  74. removeInfo(id).then(() => {
  75. callBack();
  76. });
  77. },
  78. });
  79. },
  80. removeInfo(id) {
  81. const { success } = model("loadingModel");
  82. const { httpPost } = model("httpModel");
  83. return httpPost(`/coupon/del/${id}`, {}, {}, true).then(res => {
  84. success("删除成功");
  85. return Promise.resolve(res);
  86. });
  87. },
  88. getInfo(id) {
  89. const { httpGet } = model("httpModel");
  90. return httpGet(`/coupon/get/${id}`, {}, true);
  91. },
  92. }),
  93. };