index.js 2.7 KB

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