add.js 8.6 KB

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