dk-side-pull-menu.js 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  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. options: {
  30. addGlobalClass: true,
  31. multipleSlots: true, //插槽
  32. },
  33. /**
  34. * 组件的初始数据
  35. */
  36. data: {
  37. },
  38. /**
  39. * 组件的方法列表
  40. */
  41. methods: {
  42. /** 侧拉菜单重置*/
  43. clearSearchForm(e) {
  44. this.triggerEvent('clearSearchForm')
  45. },
  46. /** 侧拉菜单确定*/
  47. doSearchData(e) {
  48. this.numberFilters()
  49. this.triggerEvent('doSearchData', {
  50. searchFormNumber: this.data.searchFormNumber
  51. })
  52. },
  53. /** 侧拉菜单关闭*/
  54. onClose(e) {
  55. this.triggerEvent('onClose')
  56. },
  57. // 计算筛选数量
  58. //判断 列表searchForm参数是否有value,并且是否有值 有值算做1个数量
  59. numberFilters() {
  60. let count = 0
  61. var obj = this.data.searchForm
  62. let arr = []
  63. for (let i = 0; i < Object.keys(obj).length; i++) {
  64. arr.push({ key: Object.keys(obj)[i], value: obj[Object.keys(obj)[i]] })
  65. }
  66. //为完善 问题 同一选项有俩个参数
  67. arr.forEach(res => {
  68. //如果需要更多条件自行添加
  69. if (res.value != [] && res.value != '' && res.value != undefined && res.value != null) {
  70. count++
  71. }
  72. })
  73. console.log('count', count)
  74. this.setData({
  75. searchFormNumber: count
  76. })
  77. }
  78. },
  79. attached() { }
  80. })
  81. function objToArr(model) {
  82. var arr = [];
  83. for (var key in model) {
  84. arr.push(key)
  85. };
  86. return arr;
  87. }