index.js 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. import Dialog from "../../miniprogram_npm/@vant/weapp/dialog/dialog"
  2. Page({
  3. data: {
  4. value: [
  5. ],
  6. btns: [
  7. { name: "修改", type: "drafts", success (data) { this.drafts_update(data) } },
  8. { name: "删除", type: "drafts", success (data) { this.drafts_delete(data) } },
  9. { name: "查看", type: "provided", success (data) { this.provided_watch(data) } },
  10. { name: "修改", type: "provided", success (data) { this.provided_update(data) } },
  11. ]
  12. },
  13. // 草稿箱删除
  14. drafts_delete (data) {
  15. Dialog.confirm({
  16. message: '确认删除当前草稿?',
  17. })
  18. .then(() => {
  19. this.draftsdelete(data);
  20. })
  21. .catch(() => {
  22. // on cancel
  23. });
  24. },
  25. async draftsdelete (data) {
  26. try {
  27. await wx.$request({ url: `/order/${data.id}/`, method: "delete" });
  28. let { value } = this.data;
  29. value.value.splice(data.order, 1);
  30. this.setData({ value });
  31. } catch (err) { wx.$err(err) }
  32. },
  33. // 草稿箱修改
  34. drafts_update (data) {
  35. wx.navigateTo({ url: "/pages/add/index?type=draftsupdate&data=" + data.id })
  36. },
  37. // 已填报查看
  38. provided_watch (data) { wx.navigateTo({ url: "/pages/add/index?type=watch&data=" + data.id }) },
  39. // 已填报修改
  40. provided_update (data) { wx.navigateTo({ url: "/pages/add/index?type=providedupdate&data=" + data.id }) },
  41. // 按钮组事件
  42. btnsFunc (e) {
  43. let { index, id, order } = e.currentTarget.dataset, { btns } = this.data;
  44. btns[index]['success'].bind(this)({ id, order })
  45. },
  46. // 数据请求
  47. request_lock: false,
  48. async request (data) {
  49. try {
  50. let { page = 1, totalPage = 1, value = [] } = data;
  51. let { category } = this.data;
  52. if (page > totalPage || this.request_lock) return false;
  53. let resA = await wx.$request({ url: "/order/list/", method: "get", data: { category, limit: 10, page } });
  54. ++page;
  55. totalPage = resA.totalPage;
  56. value = value.concat(resA.data);
  57. this.setData({ value: { page, totalPage, value } })
  58. this.request_lock = false;
  59. } catch (err) { wx.$err(err); this.request_lock = false }
  60. },
  61. onLoad: async function (options) {
  62. try {
  63. let titleArr = [{ title: "草稿箱", type: "drafts", category: 0 }, { title: "已填报", type: "provided", category: 1 }];
  64. let filter_title = titleArr.filter(item => item.type == options.data);
  65. this.setData({ ...filter_title[0] })
  66. } catch (err) { wx.$err(err) }
  67. },
  68. onReady: function () {
  69. },
  70. onShow: function () {
  71. this.request({})
  72. },
  73. onHide: function () {
  74. },
  75. onUnload: function () {
  76. },
  77. onPullDownRefresh: function () {
  78. },
  79. onReachBottom: function () {
  80. this.request(this.data.value)
  81. }
  82. })