recordMixin.js 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. // mixins/recordMixin.js
  2. export default {
  3. data() {
  4. return {
  5. scanCode: '',
  6. filterStatus: '0',
  7. list: [],
  8. filterOptions: [{
  9. label: '全部',
  10. value: '0'
  11. },
  12. {
  13. label: '未发放',
  14. value: '2'
  15. },
  16. {
  17. label: '已发放',
  18. value: '1'
  19. }
  20. ]
  21. }
  22. },
  23. onLoad() {
  24. this.scanCode = uni.getStorageSync('scanCode');
  25. // 不再直接调用 initGetlist,让组件自己决定何时调用
  26. },
  27. methods: {
  28. toggleDetail(index) {
  29. // 切换点击项的详情显示状态
  30. if (this.list[index].detailVisible == undefined) {
  31. this.list[index].detailVisible = false
  32. }
  33. this.list[index].detailVisible = !this.list[index].detailVisible;
  34. this.$forceUpdate();
  35. },
  36. goBack() {
  37. uni.navigateBack();
  38. },
  39. onFilterChange(val) {
  40. if (this.filterStatus !== val) {
  41. this.filterStatus = val;
  42. }
  43. // 修改这里,调用 baseInitGetlist 而不是 initGetlist
  44. this.baseInitGetlist();
  45. },
  46. // 通用的获取列表方法,接受 API 函数和回调函数作为参数
  47. baseInitGetlist(apiFunction, successCallback) {
  48. apiFunction(this.scanCode, this.filterStatus).then(res => {
  49. if (res.code == 0) {
  50. this.list = res.data;
  51. // 执行回调函数
  52. if (successCallback && typeof successCallback === 'function') {
  53. successCallback(res);
  54. }
  55. }
  56. })
  57. }
  58. }
  59. }