add.js 8.1 KB

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