add.js 7.9 KB

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