couponModel.js 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  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. );
  22. },
  23. // 获取商家优惠券
  24. getMyList(page, size) {
  25. const { mid } = model("userModel");
  26. const { httpGet } = model("httpModel");
  27. return httpGet(
  28. "/coupon/all",
  29. {
  30. page,
  31. size,
  32. query: {
  33. merchantId: mid,
  34. },
  35. sort: "id,desc",
  36. },
  37. true
  38. );
  39. },
  40. saveInfo(info) {
  41. const { httpPost } = model("httpModel");
  42. const { mid } = model("userModel");
  43. const { success } = model("loadingModel");
  44. return httpPost(
  45. "/coupon/save",
  46. {
  47. ...info,
  48. merchantId: mid,
  49. },
  50. { body: "json" },
  51. true
  52. ).then(res => {
  53. success("保存成功");
  54. return Promise.resolve(res);
  55. });
  56. },
  57. delCoupon(id, callBack) {
  58. const { showDialog } = model("dialogModel");
  59. const { removeInfo } = model();
  60. // const { takeOffTips } = model("wordsModel");
  61. showDialog({
  62. bodyText: "确定要删除,该优惠券吗",
  63. status: "danger",
  64. cancelable: true,
  65. confirmCallback: () => {
  66. removeInfo(id).then(() => {
  67. callBack();
  68. });
  69. },
  70. });
  71. },
  72. removeInfo(id) {
  73. const { success } = model("loadingModel");
  74. const { httpPost } = model("httpModel");
  75. return httpPost(`/coupon/del/${id}`, {}, {}, true).then(res => {
  76. success("删除成功");
  77. return Promise.resolve(res);
  78. });
  79. },
  80. getInfo(id) {
  81. const { httpGet } = model("httpModel");
  82. return httpGet(`/coupon/get/${id}`, {}, true);
  83. },
  84. }),
  85. };