recordMixin.js 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  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. // 通用的获取列表方法,接受 API 函数和回调函数作为参数
  40. baseInitGetlist(apiFunction, successCallback) {
  41. apiFunction(this.scanCode, this.filterStatus).then(res => {
  42. if (res.code == 0) {
  43. this.list = res.data;
  44. // 执行回调函数
  45. if (successCallback && typeof successCallback === 'function') {
  46. successCallback(res);
  47. }
  48. }
  49. })
  50. }
  51. }
  52. }