dk-side-pull-menu.js 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. /*******************************************************************************
  2. * Copyright(c) 2022 dongke All rights reserved. / Confidential
  3. * 类的信息:
  4. * 1.程序名称:
  5. * 2.功能描述:抽屉 侧拉菜单
  6. * 编辑履历:
  7. * 作者 日期 版本 修改内容
  8. * admin 2022-05-03 1.00 客户管理
  9. *******************************************************************************/
  10. let app = getApp();
  11. Component({
  12. /**
  13. * 组件的对外属性
  14. */
  15. properties: {
  16. show_p: {
  17. type: Boolean,
  18. default: false
  19. },
  20. searchForm: {
  21. type: Object,
  22. value: {}
  23. },
  24. searchFormNumber: {
  25. type: Number,
  26. default: 0
  27. },
  28. // 自定义导航栏高度
  29. navBarHeight: {
  30. type: Number,
  31. default: 0
  32. }
  33. },
  34. options: {
  35. addGlobalClass: true,
  36. multipleSlots: true, //插槽
  37. },
  38. /**
  39. * 组件的初始数据
  40. */
  41. data: {
  42. },
  43. /**
  44. * 组件的方法列表
  45. */
  46. methods: {
  47. /** 侧拉菜单重置*/
  48. clearSearchForm(e) {
  49. this.triggerEvent('clearSearchForm')
  50. },
  51. /** 侧拉菜单确定*/
  52. doSearchData(e) {
  53. this.numberFilters()
  54. this.triggerEvent('doSearchData', {
  55. searchFormNumber: this.data.searchFormNumber
  56. })
  57. },
  58. /** 侧拉菜单关闭*/
  59. onClose(e) {
  60. this.triggerEvent('onClose')
  61. },
  62. // 计算筛选数量
  63. //判断 列表searchForm参数是否有value,并且是否有值 有值算做1个数量
  64. numberFilters() {
  65. let count = 0
  66. var obj = this.data.searchForm
  67. let arr = []
  68. for (let i = 0; i < Object.keys(obj).length; i++) {
  69. arr.push({ key: Object.keys(obj)[i], value: obj[Object.keys(obj)[i]] })
  70. }
  71. //为完善 问题 同一选项有俩个参数
  72. arr.forEach(res => {
  73. //如果需要更多条件自行添加
  74. if (res.value != [] && res.value != '' && res.value != undefined && res.value != null) {
  75. count++
  76. }
  77. })
  78. console.log('count', count)
  79. this.setData({
  80. searchFormNumber: count
  81. })
  82. }
  83. },
  84. attached() { }
  85. })
  86. function objToArr(model) {
  87. var arr = [];
  88. for (var key in model) {
  89. arr.push(key)
  90. };
  91. return arr;
  92. }