role.js 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146
  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. // 列表区(内容)
  11. contentList: [{ name: 'roleCode', title: mixins.$t('roleCode') },
  12. { name: 'remarks', title: mixins.$t('roleRemarks') }],
  13. // 弹出按钮
  14. buttonList: [
  15. { name: 'selectFunctionalPermissions', title: mixins.$t('functionalPermissions'),formType:Constants.formMode.add },
  16. { name: 'copyAdd', title: mixins.$t('copyAndAdd'),formMode: Constants.formMode.edit,formType: Constants.formMode.add, idKey: 'roleId', },
  17. { name: 'selectSensitiveData', title: mixins.$t('sensitiveData'),formType: Constants.formMode.add }
  18. ],
  19. // 路由
  20. routeObjName: 'role',
  21. tableData: [],
  22. },
  23. /**
  24. * @desc : 启用停用
  25. * @date : 2024/2/1 15:49
  26. * @author : 于继渤
  27. */
  28. deactivateEnable(e) {
  29. let item = e.detail.item
  30. let method = item.flgValid ? this.data.service.disable : this.data.service.enable;
  31. return this.excute(this.data.service, method, item.roleId).then(res => {
  32. if (res.data.code == 200) {
  33. wx.showToast({
  34. title: '操作成功',
  35. image: '/static/image/success.png',
  36. duration: 1000
  37. })
  38. //查询列表
  39. this.searchData()
  40. }
  41. });
  42. },
  43. /**
  44. * @desc : 三点事件
  45. * @date : 2024/2/1 15:49
  46. * @author : 于继渤
  47. */
  48. toPoint(e) {
  49. this.setButtonList(e.detail.item)
  50. },
  51. /**
  52. * @desc : 更新三点文字信息
  53. * @date : 2024/2/1 15:49
  54. * @author : 于继渤
  55. */
  56. setButtonList(item) {
  57. let buttonList = this.data.buttonList
  58. buttonList.forEach(res => {
  59. if (res.name == 'collection' && item.flgValid) {
  60. res.title = mixins.$t('disable')
  61. } else if (res.name == 'collection' && !item.flgValid) {
  62. res.title = mixins.$t('enable')
  63. }
  64. })
  65. this.setData({
  66. buttonList: buttonList
  67. })
  68. },
  69. /**
  70. * @desc : 新建跳转
  71. * @date : 2024/2/1 15:49
  72. * @author : 于继渤
  73. */
  74. toAdd() {
  75. wx.navigateTo({
  76. url: this.data.route.add.url,
  77. events: function (e) {
  78. console.log('回调后,在这里给页面赋值')
  79. // 回调后,在这里给页面赋值
  80. },
  81. success: function (res) {
  82. // 通过eventChannel向被打开页面传送数据 TODO 测试例子url是写死的,实际中,需要从route中读取
  83. res.eventChannel.emit('params', {})
  84. }
  85. })
  86. },
  87. /**
  88. * @desc : 处理接口返回数据
  89. * @date : 2024/2/1 15:49
  90. * @author : 于继渤
  91. */
  92. handleSearchData(tableData) {
  93. tableData.forEach(res => {
  94. res.displayStatus = res.flgValid ? mixins.$t('enable') : mixins.$t('disable')
  95. res.backgroundColor = res.flgValid ? '' : 'red'
  96. })
  97. this.setData({
  98. tableData: tableData
  99. })
  100. },
  101. setSearchParams(params){
  102. return params
  103. },
  104. /**
  105. * @desc : 加载数据源
  106. * @date : 2024/2/1 15:49
  107. * @author : 于继渤
  108. */
  109. getData(params) {
  110. return this.excute(this.data.service, this.data.service.selectByCond, params);
  111. },
  112. /**
  113. * @desc : 详细页面
  114. * @date : 2024/2/1 15:49
  115. * @author : 于继渤
  116. */
  117. toDetail(e) {
  118. let roleId = e.detail.item.roleId
  119. this.setData({
  120. selectflag: true
  121. })
  122. wx.navigateTo({
  123. url: this.data.route.add.url,
  124. success: function (res) {
  125. // 通过eventChannel向被打开页面传送数据 TODO 测试例子url是写死的,实际中,需要从route中读取
  126. res.eventChannel.emit('params', { id: roleId, formMode: Constants.formMode.edit })
  127. }
  128. })
  129. },
  130. /**
  131. * 生命周期函数--监听页面加载
  132. */
  133. onLoad(options) {
  134. },
  135. onShow(){
  136. if(this.data.refreshDataFlag){
  137. this.searchData()
  138. }
  139. }
  140. })