add.js 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262
  1. const mixins = require('@/mixins/index.js')
  2. const app = getApp()
  3. const util = require('@/utils/util.js')
  4. const Constants = require('@/utils/Constants.js');
  5. Page({
  6. mixins: [mixins],
  7. /**
  8. * 页面的初始数据
  9. */
  10. data: {
  11. cardList: [{ name: 'main' }, { name: 'middle' }],
  12. contentObj: {
  13. main: [
  14. { code: 'roleName', type: 'str', required: true, title: '角色名称' },
  15. ],
  16. middle: [
  17. { code: 'remarks', type: 'textarea', title: '备注' },
  18. ],
  19. },
  20. // 路由
  21. routeObjName: 'role',
  22. roleFunService: app.globalData['roleFunService'],
  23. roleSensitiveService: app.globalData['roleSensitiveService'],
  24. },
  25. /**
  26. * @desc : 表单选择跳转事件
  27. * @date : 2024/2/1 15:49
  28. * @author : 于继渤
  29. */
  30. openObjPop(e) {
  31. let that = this
  32. let key = e.currentTarget.dataset.key
  33. wx.navigateTo({
  34. url: key,
  35. events: {
  36. // 回调后
  37. bindData: function (data) {
  38. let formData = JSON.parse(that.data.formData)
  39. if (data.showFlag == 'selectFunctionalPermissions') {
  40. formData.roleFunList = data.list
  41. that.setData({
  42. selectFunctionalPermissionsFlag: data.list.length > 0,
  43. formData: JSON.stringify(formData)
  44. })
  45. } else if (data.showFlag == 'selectSensitiveData') {
  46. formData.roleSensitiveList = data.list
  47. that.setData({
  48. selectSensitiveDataFlag: data.list.length > 0,
  49. formData: JSON.stringify(formData)
  50. })
  51. }
  52. }
  53. },
  54. success: function (res) {
  55. // 通过eventChannel向被打开页面传送数据
  56. let formData = JSON.parse(that.data.formData)
  57. // if (that.data.formMode == Constants.formMode.edit) {
  58. // formData['roleId'] = that.data.id
  59. // }
  60. let data = {
  61. roleName: formData.roleName,
  62. id: that.data.id
  63. }
  64. res.eventChannel.emit('editParams', { data: data })
  65. }
  66. })
  67. },
  68. /**
  69. * @desc : 处理数据
  70. * @author : 于继渤
  71. * @date : 2024/1/26 11:46
  72. */
  73. handleData(data) {
  74. this.setData({
  75. formData: null
  76. })
  77. },
  78. /**
  79. * @desc : 给参数赋值
  80. * @date : 2024/2/1 15:49
  81. * @author : 于继渤
  82. */
  83. setParams(params) {
  84. // 修改之后的 值
  85. },
  86. /**
  87. * @desc : 校验-需要额外校验就在此函数写
  88. * @date : 2024/2/1 15:49
  89. * @author : 于继渤
  90. */
  91. validData() {
  92. let params = this.data.formData
  93. // 修改之后的 值
  94. return true;
  95. },
  96. /**
  97. * @desc : 保存数据服务
  98. * @date : 2024/2/1 15:49
  99. * @author : 于继渤
  100. */
  101. saveData() {
  102. if (this.data.formMode == Constants.formMode.edit && this.data.formType !== Constants.formMode.add) {
  103. return this.excute(this.data.service, this.data.service.update, this.data.params);
  104. } else {
  105. return this.excute(this.data.service, this.data.service.insert, this.data.params);
  106. }
  107. },
  108. /**
  109. * @desc : 给表单赋值
  110. * @date : 2024/2/1 15:49
  111. * @author : 于继渤
  112. */
  113. setValuesByEdit(data) {
  114. if (this.data.formType == Constants.formMode.add) {
  115. //调用接口查询功能权限和敏感数据
  116. this.getRoleFun(data.roleId)
  117. this.getRoleSensitive(data.roleId)
  118. data.roleId = null
  119. data.roleCode = null
  120. this.setData({
  121. id: null
  122. })
  123. }
  124. this.setData({
  125. selectFunctionalPermissionsFlag: data.selectFunctionalPermissionsFlag,
  126. selectSensitiveDataFlag: data.selectSensitiveDataFlag,
  127. formData: JSON.stringify(data)
  128. })
  129. },
  130. /**
  131. * @desc : 查询功能权限(复制新增)
  132. * @date : 2024/2/1 15:49
  133. * @author : 于继渤
  134. */
  135. getRoleFun(roleId) {
  136. return this.excute(this.data.roleFunService, this.data.roleFunService.getRoleFun, { roleId: roleId }).then(res => {
  137. if (res.data.code == 200) {
  138. let list = util.convertToChildren(res.data.data.list)
  139. let tableDataTemp = this.formatDataList(list)
  140. let formData = JSON.parse(this.data.formData)
  141. formData.roleFunList = tableDataTemp
  142. this.setData({
  143. formData: JSON.stringify(formData)
  144. })
  145. }
  146. });
  147. },
  148. /**
  149. * @desc : 查询敏感信息(复制新增)
  150. * @date : 2024/2/1 15:49
  151. * @author : 于继渤
  152. */
  153. getRoleSensitive(roleId) {
  154. return this.excute(this.data.roleSensitiveService, this.data.roleSensitiveService.getRoleSensitive, { roleId: roleId }).then(res => {
  155. if (res.data.code == 200) {
  156. let list = util.convertToChildren(res.data.data.list, 'parentCode', 'itemCode')
  157. let tableDataTemp = this.formatDataList(list,'getRoleSensitive')
  158. let formData = JSON.parse(this.data.formData)
  159. formData.roleSensitiveList = tableDataTemp
  160. this.setData({
  161. formData: JSON.stringify(formData)
  162. })
  163. }
  164. });
  165. },
  166. /**
  167. * @desc : 格式化数据(复制新增)
  168. * @date : 2024/2/1 15:49
  169. * @author : 于继渤
  170. */
  171. formatDataList(list,key) {
  172. let tableDataTemp = []
  173. if(key == 'getRoleSensitive'){
  174. list.forEach(res => {
  175. if (res.checked) {
  176. tableDataTemp.push({
  177. senItemCode: res.itemCode,
  178. flgShow: res.checked
  179. })
  180. }
  181. if (res.children && res.children.length > 0) {
  182. res.children.forEach(it => {
  183. if (it.checked) {
  184. tableDataTemp.push({
  185. senItemCode: it.itemCode,
  186. flgShow: it.checked
  187. })
  188. }
  189. })
  190. }
  191. })
  192. }else{
  193. list.forEach(res => {
  194. if (res.checked) {
  195. tableDataTemp.push({
  196. funUuid: res.funUuid,
  197. appCode: res.appCode
  198. })
  199. }
  200. if (res.children && res.children.length > 0) {
  201. res.children.forEach(it => {
  202. if (it.checked) {
  203. tableDataTemp.push({
  204. funUuid: it.funUuid,
  205. appCode: it.appCode
  206. })
  207. }
  208. })
  209. }
  210. })
  211. }
  212. return tableDataTemp
  213. },
  214. /**
  215. * @desc : 页面加载数据方法
  216. * @date : 2024/2/1 15:49
  217. * @author : 于继渤
  218. */
  219. loadInit(){
  220. if (this.data.formMode == Constants.formMode.edit && this.data.formType !== Constants.formMode.add ) {
  221. wx.setNavigationBarTitle({
  222. title: '编辑角色',
  223. })
  224. let contentObj = this.data.contentObj
  225. contentObj.main = [
  226. { code: 'roleCode', type: 'str', required: false, readonly:true, title: '角色编码' },
  227. { code: 'roleName', type: 'str', required: true, title: '角色名称' },
  228. ]
  229. this.setData({
  230. contentObj: contentObj
  231. })
  232. } else {
  233. wx.setNavigationBarTitle({
  234. title: '新建角色',
  235. })
  236. }
  237. },
  238. /**
  239. * 生命周期函数--监听页面加载
  240. */
  241. onLoad: function (options) {
  242. },
  243. })