add.js 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144
  1. /*******************************************************************************
  2. * Copyright(c) 2022 dongke All rights reserved. / Confidential
  3. * 类的信息:
  4. * 1.程序名称:
  5. * 2.员工资料-新组建
  6. * 编辑履历:
  7. * 作者 日期 版本 修改内容
  8. * admin 2024-2-12 1.00
  9. *******************************************************************************/
  10. const mixins = require('@/mixins/index.js')
  11. const Constants = require('@/utils/Constants')
  12. const app = getApp()
  13. Page({
  14. mixins: [mixins],
  15. /**
  16. * 页面的初始数据
  17. */
  18. data: {
  19. cardList: ['main'],
  20. // 底部保存按钮
  21. buttonFootList: [{
  22. name: 'save',
  23. title: mixins.$t('save')
  24. }],
  25. contentObj: {
  26. main: [
  27. { code: 'staffCode', type: 'str', required: true, title: mixins.$t('staffCode') },
  28. { code: 'staffName', type: 'str', required: true, title: mixins.$t('staffName') },
  29. { code: 'staffPhone', type: 'phone', title: mixins.$t('staffPhone'), required: true },
  30. { code: 'orgId', name: 'orgName', type: 'choose', required: true, urlKey: 'chooseOrg' },
  31. { code: 'roleId', name: 'roleName', type: 'choose', required: false, urlKey: 'chooseRole' },
  32. { code: 'flgCanLogin', type: 'switch', title: mixins.$t('flgCanLogin') },
  33. { code: 'remarks', type: 'textarea', title: mixins.$t('remarks') }
  34. ]
  35. },
  36. // 路由
  37. routeObjName: 'staff',
  38. gradeCode: app.globalData.company.gradeCode,
  39. },
  40. /**
  41. * @desc : 选择数据源
  42. * @date : 2024/2/1 15:49
  43. * @author : 姜永辉
  44. */
  45. chooseData(e) {
  46. console.log("chooseData", e);
  47. let formData = JSON.parse(this.data.formData)
  48. let code = e.detail.code
  49. let data = e.detail.data.data
  50. if (code == "staffId") { //员工
  51. formData.staffId = data.id
  52. formData.staffName = data.name
  53. }
  54. if (code == "orgId") { //部门
  55. formData.orgId = data.id
  56. formData.orgName = data.name
  57. }
  58. if (code == "roleId") { //角色
  59. let ids = []
  60. let names = []
  61. if (data && data.list) {
  62. data.list.forEach(element => {
  63. ids.push(element.roleId)
  64. names.push(element.roleName)
  65. });
  66. }
  67. formData.roleIds = ids.join(',')
  68. formData.roleName = names.join(',')
  69. }
  70. this.setData({
  71. formData: JSON.stringify(formData)
  72. })
  73. },
  74. /**
  75. * @desc : 保存的參數設置
  76. * @date : 2024/2/1 15:49
  77. * @author : 姜永辉
  78. */
  79. setParams(params) {
  80. params.roleIds = (params.roleIds && params.roleIds.length > 0) ? params.roleIds.split(',') : []
  81. return params
  82. },
  83. /**
  84. * @desc : 保存数据服务
  85. * @date : 2024/2/1 15:49
  86. * @author : 姜永辉
  87. */
  88. saveData() {
  89. if (this.data.formMode == Constants.formMode.edit) {
  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. data.roleIds = (data.roleIds && data.roleIds.length > 0) ? data.roleIds.join(',') : undefined
  102. data.roleName = data.roleNames
  103. this.setData({
  104. formData: JSON.stringify(data)
  105. })
  106. },
  107. /**
  108. * @desc : 页面加载数据方法
  109. * @date : 2024/2/1 15:49
  110. * @author : 姜永辉
  111. */
  112. loadInit() {
  113. if (this.data.formMode == Constants.formMode.edit) {
  114. wx.setNavigationBarTitle({
  115. title: mixins.$t('staffEdit'),
  116. })
  117. let contentObj_ = this.data.contentObj
  118. contentObj_['main'].forEach(it => {
  119. if (it.code === 'staffCode') {
  120. it.readonly = true
  121. }
  122. })
  123. this.setData({
  124. contentObj: contentObj_
  125. })
  126. } else {
  127. wx.setNavigationBarTitle({
  128. title: mixins.$t('staffAdd'),
  129. })
  130. if (this.data.gradeCode == Constants.gradeCode.PRO) {
  131. this.setData({
  132. formData: JSON.stringify({ flgCanLogin: true })
  133. })
  134. }
  135. }
  136. },
  137. })