select-sensitive-data.js 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268
  1. const Constants = require('@/utils/Constants.js');
  2. const util = require('@/utils/util.js')
  3. const mixins = require('@/mixins/index.js')
  4. Page({
  5. mixins: [mixins],
  6. /**
  7. * 页面的初始数据
  8. */
  9. data: {
  10. routeObjName: 'roleSensitive',
  11. tableData: [],
  12. formData: {},
  13. },
  14. /**
  15. * @desc : 列表交换器选择事件全选
  16. * @date : 2024/2/1 15:49
  17. * @author : 于继渤
  18. */
  19. onChangeSwitch(e) {
  20. console.log(e)
  21. let formData = this.data.formData
  22. let tableData = this.data.tableData
  23. formData.checked = e.detail
  24. if (tableData && tableData.length > 0) {
  25. tableData.forEach(res => {
  26. res.checked = e.detail
  27. if (res.children && res.children.length > 0) {
  28. res.children.forEach(it => {
  29. it.checked = e.detail
  30. })
  31. }
  32. })
  33. }
  34. this.setData({
  35. formData: formData,
  36. tableData: tableData
  37. })
  38. },
  39. /**
  40. * @desc : 列表交换器选择事件父级
  41. * @date : 2024/2/1 15:49
  42. * @author : 于继渤
  43. */
  44. onCheckedItem(e) {
  45. console.log(e)
  46. let _that = this
  47. let index = e.currentTarget.dataset.index
  48. let tableData = _that.data.tableData
  49. tableData[index].checked = !tableData[index].checked
  50. if (tableData[index].children && tableData[index].children.length > 0) {
  51. console.log('list[index].children', tableData[index].children)
  52. tableData[index].children.forEach(res => {
  53. res.checked = tableData[index].checked
  54. })
  55. }
  56. _that.setData({
  57. tableData: tableData
  58. })
  59. },
  60. /**
  61. * @desc : 列表交换器选择事件子级
  62. * @date : 2024/2/1 15:49
  63. * @author : 于继渤
  64. */
  65. onCheckedItem_(e) {
  66. let index = e.currentTarget.dataset.index
  67. let index_ = e.currentTarget.dataset.index_
  68. let tableData = this.data.tableData
  69. tableData[index].children[index_].checked = !tableData[index].children[index_].checked
  70. if (tableData[index].children.filter(res => {
  71. res.checked
  72. }).length == tableData[index].children.length) {
  73. tableData[index].checked = true
  74. } else {
  75. tableData[index].checked = false
  76. }
  77. this.setData({
  78. tableData: tableData
  79. })
  80. },
  81. /**
  82. * @desc : 设置查询参数
  83. * @date : 2024/2/1 15:49
  84. * @author : 于继渤
  85. */
  86. setSearchParams(params) {
  87. if (this.data.id && this.data.id) {
  88. params.roleId = this.data.id
  89. }
  90. if (this.data.item && this.data.item.roleId) {
  91. params.roleId = this.data.item.roleId
  92. }
  93. return params;
  94. },
  95. /**
  96. * @desc : 加载数据
  97. * @date : 2024/2/1 15:49
  98. * @author : 于继渤
  99. */
  100. getData(params) {
  101. return this.excute(this.data.service, this.data.service.getRoleSensitive, params);
  102. },
  103. /**
  104. * @desc : 处理接口返回数据
  105. * @date : 2024/2/1 15:49
  106. * @author : 于继渤
  107. */
  108. handleSearchData(tableData) {
  109. this.setData({
  110. tableData: util.convertToChildren(tableData, 'parentCode', 'itemCode')
  111. })
  112. },
  113. /**
  114. * @desc : 折叠面板多选框事件
  115. * @date : 2024/2/1 15:49
  116. * @author : 于继渤
  117. */
  118. obtainList(e) {
  119. this.setData({
  120. tableData: e.detail.list
  121. })
  122. },
  123. toAdd() {
  124. let tableData = this.data.tableData
  125. //格式化数据
  126. let tableDataTemp = []
  127. tableData.forEach(res => {
  128. if (res.checked) {
  129. tableDataTemp.push({
  130. senItemCode: res.itemCode,
  131. flgShow: res.checked
  132. })
  133. }
  134. if (res.children && res.children.length > 0) {
  135. res.children.forEach(it => {
  136. if (it.checked) {
  137. tableDataTemp.push({
  138. senItemCode: it.itemCode,
  139. flgShow: it.checked
  140. })
  141. }
  142. })
  143. }
  144. })
  145. //铭感信息跳转编辑
  146. if (this.data.formType == Constants.formMode.edit || this.data.formType == Constants.formMode.add) {
  147. //调用接口修改权限
  148. let formData = this.data.formData
  149. formData.roleSensitiveList = tableDataTemp
  150. formData.roleId = this.data.id
  151. this.setData({
  152. formData: JSON.stringify(this.data.formData)
  153. })
  154. let params = {}
  155. this.save(params)
  156. } else {
  157. // 给父页面传递数据
  158. const eventChannel = this.getOpenerEventChannel();
  159. eventChannel.emit('bindData', {
  160. showFlag: 'selectSensitiveData',
  161. list: tableDataTemp
  162. })
  163. wx.navigateBack({
  164. delta: 1
  165. })
  166. }
  167. },
  168. /**
  169. * @desc : 处理数据
  170. * @author : 于继渤
  171. * @date : 2024/1/26 11:46
  172. */
  173. handleData(data) {
  174. var pages = getCurrentPages();
  175. var prevPage = pages[pages.length - 2]; //上一个页面
  176. prevPage.setData({
  177. refreshDataFlag:true
  178. })
  179. wx.navigateBack({
  180. delta: 1
  181. })
  182. },
  183. /**
  184. * @desc : 批量修改敏感信息接口
  185. * @date : 2024/2/1 15:49
  186. * @author : 于继渤
  187. */
  188. saveData(params) {
  189. return this.excute(this.data.service, this.data.service.updateBatch, params);
  190. },
  191. /**
  192. * 生命周期函数--监听页面加载
  193. */
  194. onLoad(options) {
  195. //接收父页面传递的参数
  196. let that = this
  197. const eventChannel = this.getOpenerEventChannel()
  198. eventChannel.on('params', function (data) {
  199. let formData = that.data.formData
  200. formData.roleName = data.item ? data.item.roleName : data.roleName
  201. that.setData({
  202. formData: formData,
  203. id: data.item ? data.item.roleId : data.id,
  204. formType: data.item ? data.item.button.formType : data.formType
  205. })
  206. })
  207. },
  208. /**
  209. * 生命周期函数--监听页面初次渲染完成
  210. */
  211. onReady() {
  212. },
  213. /**
  214. * 生命周期函数--监听页面显示
  215. */
  216. onShow() {
  217. },
  218. /**
  219. * 生命周期函数--监听页面隐藏
  220. */
  221. onHide() {
  222. },
  223. /**
  224. * 生命周期函数--监听页面卸载
  225. */
  226. onUnload() {
  227. },
  228. /**
  229. * 页面相关事件处理函数--监听用户下拉动作
  230. */
  231. onPullDownRefresh() {
  232. },
  233. /**
  234. * 页面上拉触底事件的处理函数
  235. */
  236. onReachBottom() {
  237. },
  238. /**
  239. * 用户点击右上角分享
  240. */
  241. onShareAppMessage() {
  242. }
  243. })