choose-org.js 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  1. /*******************************************************************************
  2. * Copyright(c) 2022 dongke All rights reserved. / Confidential
  3. * 类的信息:
  4. * 1.程序名称:
  5. * 2.组织机构列表
  6. * 编辑履历:
  7. * 作者 日期 版本 修改内容
  8. * 王英杰 2024-2-12 1.00
  9. *******************************************************************************/
  10. const Constants = require('@/utils/Constants.js');
  11. const mixins = require('@/mixins/index.js')
  12. const util = require('@/utils/util.js')
  13. const app = getApp()
  14. Page({
  15. mixins: [mixins],
  16. /**
  17. * 页面的初始数据
  18. */
  19. data: {
  20. addForm: {},
  21. // 路由
  22. routeObjName: 'org',
  23. },
  24. /**
  25. * @desc : 设置查询参数
  26. * @date : 2024/2/1 15:49
  27. * @author : 王英杰
  28. */
  29. setSearchParams(params) {
  30. params.pageSize = null
  31. params.currentPage = null
  32. params.orgId = this.data.item.editFlag?( this.data.item.parentId||null):null
  33. return params
  34. },
  35. /**
  36. * @desc : 查询
  37. * @date : 2024/2/1 15:49
  38. * @author : 王英杰
  39. */
  40. getData(params) {
  41. return this.excute(this.data.service, this.data.service.selectChooseOrg, params);
  42. },
  43. /**
  44. * @desc : 查询 后续处理
  45. * @date : 2024/2/1 15:49
  46. * @author : 王英杰
  47. */
  48. handleSearchData(data) {
  49. let tableData = []
  50. // 先获取二级
  51. let filters = data.filter(it=>it.levelNo == 2);
  52. let childs = []
  53. if(filters && filters.length > 0){
  54. filters.forEach(it=>{
  55. // 再获取二级的子级,根据levelCode过滤
  56. childs = data.filter(t=>t.levelCode.startsWith(it.levelCode) && t.levelNo > 2);
  57. it.children = childs
  58. tableData.push(it);
  59. })
  60. }
  61. console.log('etableData',tableData);
  62. this.setData({
  63. tableData: tableData,
  64. })
  65. },
  66. /**
  67. * @desc : 重新排列下数据
  68. * @date : 2024/2/1 15:49
  69. * @author : 王英杰
  70. */
  71. dataHandling(dataList) {
  72. console.log('dataList',dataList);
  73. // 初始化data
  74. let data = [];
  75. // 初始化一个临时列表来存放当前level no等于2以及之后相连的数据
  76. let tempList = [];
  77. let firstFlag = true
  78. // 遍历dataList
  79. for (let i = 0; i < dataList.length; i++) {
  80. const item = dataList[i];
  81. if(item.levelNo === 1){ //因为从二级部门开始选择 所以跳过一级
  82. continue;
  83. }
  84. // 如果当前项的level no等于2, 第一次的2 开头还没有明细 所以加了也是空 不要加 不懂问我 (wyj)
  85. if (item.levelNo === 2 && !firstFlag ) {
  86. // 将tempList添加到data中,并清空tempList
  87. data.push(tempList);
  88. tempList = [];
  89. }
  90. firstFlag = false
  91. tempList.push(item);
  92. // 将当前项添加到tempList中
  93. }
  94. // 如果tempList还有剩余数据(即最后一个level no不等于2的连续序列),也添加到data中
  95. if (tempList.length > 0) {
  96. data.push(tempList);
  97. }
  98. return data
  99. },
  100. /**
  101. * @desc : 选择数据
  102. * @date : 2024/4/29 15:49
  103. * @author : 周兴
  104. */
  105. chooseData(e) {
  106. console.log('teee',e);
  107. let item = e.currentTarget.dataset.item
  108. const eventChannel = this.getOpenerEventChannel();
  109. eventChannel.emit('bindData', {
  110. data: {
  111. id: item.orgId,
  112. name: item.orgName
  113. }
  114. })
  115. wx.navigateBack({
  116. delta: 1
  117. })
  118. },
  119. })