add.js 8.0 KB

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