select-sensitive-data.js 6.0 KB

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