add.js 8.8 KB

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