traceabilityMixin.js 1.1 KB

123456789101112131415161718192021222324252627282930313233343536
  1. // mixins/traceabilityMixin.js
  2. export default {
  3. data() {
  4. return {
  5. scanCode: '',
  6. info: {}
  7. }
  8. },
  9. onLoad() {
  10. this.scanCode = uni.getStorageSync('scanCode');
  11. // 在 onLoad 中不直接调用 initData,而是在组件中手动调用
  12. },
  13. methods: {
  14. goBack() {
  15. uni.navigateBack();
  16. },
  17. // 通用的数据初始化方法,接受 API 函数和回调函数作为参数
  18. initData(apiFunction, successCallback) {
  19. apiFunction(this.scanCode).then(res => {
  20. console.log(res)
  21. if (res.code == 0) {
  22. this.info = res.data.info;
  23. // 如果有 create_time 字段,则格式化时间
  24. if (this.info.create_time) {
  25. this.info.formatted_time = this.info.create_time.split(' ')[0];
  26. }
  27. // 执行回调函数
  28. if (successCallback && typeof successCallback === 'function') {
  29. successCallback(res);
  30. }
  31. }
  32. })
  33. }
  34. }
  35. }