index.js 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. const _Http = getApp().globalData.http;
  2. Page({
  3. data: {
  4. paging: {
  5. "pageNumber": 1,
  6. "pageSize": 20,
  7. "pageTotal": 1,
  8. },
  9. result: [],
  10. },
  11. onLoad(options) {
  12. let item = JSON.parse(options.data);
  13. this.setData({
  14. item,
  15. result: item.value ? [item.value] : []
  16. })
  17. this.getList();
  18. },
  19. toggle(e) {
  20. const {
  21. item
  22. } = e.currentTarget.dataset;
  23. let result = this.data.result;
  24. if (this.data.item.optionType == 'checkbox') {
  25. let index = result.findIndex(v => v == item.value);
  26. if (index == -1) {
  27. result.push(item.value)
  28. } else {
  29. result.splice(index, 1)
  30. }
  31. this.setData({
  32. result
  33. })
  34. } else {
  35. this.setData({
  36. result: [item.value]
  37. })
  38. }
  39. },
  40. getList(init = false) {
  41. let {
  42. pageNumber,
  43. pageTotal,
  44. pageSize
  45. } = this.data.paging;
  46. if (init) {
  47. pageNumber = 1;
  48. pageTotal = 1;
  49. };
  50. if (pageNumber > pageTotal) return;
  51. _Http.basic({
  52. "classname": "sysmanage.develop.optiontype.optiontype",
  53. "method": "optiontypeselect",
  54. "content": {
  55. pageNumber,
  56. pageSize,
  57. "typename": this.data.item.optionNmae,
  58. "parameter": {
  59. "siteid": wx.getStorageSync('siteP').siteid
  60. }
  61. }
  62. }).then(res => {
  63. if (res.msg != '成功') {
  64. wx.showToast({
  65. title: res.data,
  66. icon: "none"
  67. })
  68. return;
  69. };
  70. this.setData({
  71. list: res.pageNumber == 1 ? res.data : this.data.list.concat(res.data),
  72. "paging.pageNumber": res.pageNumber + 1,
  73. "paging.pageTotal": res.pageTotal,
  74. "paging.total": res.total,
  75. })
  76. console.log("可选项查询", res)
  77. })
  78. },
  79. submit() {
  80. let item = this.data.item;
  81. if (item.optionType == 'checkbox') {
  82. item.value = this.data.result
  83. } else {
  84. item.value = this.data.result[0]
  85. };
  86. const pages = getCurrentPages();
  87. pages[pages.length - 2].selectComponent("#Form").setOption(item);
  88. wx.navigateBack();
  89. },
  90. onReachBottom() {
  91. this.getList();
  92. },
  93. })