select-sensitive-data.js 5.6 KB

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