add.js 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205
  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', 'oauth', 'remarks'],
  20. // 底部保存按钮
  21. buttonFootList: [{
  22. name: 'save',
  23. title: mixins.$t('save')
  24. }],
  25. contentObj: {
  26. main:
  27. [
  28. { code: 'staffCode', type: 'str', required: true, title: mixins.$t('staffCode') },
  29. { code: 'staffName', type: 'str', required: true, title: mixins.$t('staffName') },
  30. { code: 'staffPhone', type: 'phone', title: mixins.$t('staffPhone'), required: true },
  31. { code: 'orgId', name: 'orgName', type: 'choose', required: true, urlKey: 'chooseOrg' },
  32. { code: 'roleId', name: 'roleName', type: 'choose', required: false, urlKey: 'chooseRole' },
  33. ],
  34. oauth:
  35. [],
  36. remarks:
  37. [
  38. { code: 'remarks', type: 'textarea', title: mixins.$t('remarks') }
  39. ]
  40. },
  41. // 路由
  42. routeObjName: 'staff',
  43. gradeCode: app.globalData.company.gradeCode,
  44. },
  45. /**
  46. * @desc : 选择数据源
  47. * @date : 2024/2/1 15:49
  48. * @author : 姜永辉
  49. */
  50. chooseData(e) {
  51. console.log("chooseData", e);
  52. let formData = JSON.parse(this.data.formData)
  53. let code = e.detail.code
  54. let data = e.detail.data.data
  55. if (code == "staffId") { //员工
  56. formData.staffId = data.id
  57. formData.staffName = data.name
  58. }
  59. if (code == "orgId") { //部门
  60. formData.orgId = data.id
  61. formData.orgName = data.name
  62. }
  63. if (code == "roleId") { //角色
  64. let ids = []
  65. let names = []
  66. if (data && data.list) {
  67. data.list.forEach(element => {
  68. ids.push(element.roleId)
  69. names.push(element.roleName)
  70. });
  71. }
  72. formData.roleIds = ids.join(',')
  73. formData.roleName = names.join(',')
  74. }
  75. this.setData({
  76. formData: JSON.stringify(formData)
  77. })
  78. },
  79. /**
  80. * @desc : 保存的參數設置
  81. * @date : 2024/2/1 15:49
  82. * @author : 姜永辉
  83. */
  84. setParams(params) {
  85. let formData = JSON.parse(this.data.formData)
  86. params.roleIds = (params.roleIds && params.roleIds.length > 0) ? params.roleIds.split(',') : []
  87. // 专业版
  88. if (this.data.gradeCode == Constants.gradeCode.PRO) {
  89. params.flgCanLogin = (formData.flgCanPcLogin || formData.flgCanWxLogin)
  90. // 1:PC端,2:移动端,3:PC+移动端
  91. if (formData.flgCanPcLogin && formData.flgCanWxLogin) {
  92. params.loginType = Constants.loginType.loginTypeWxPc
  93. } else if (formData.flgCanPcLogin) {
  94. params.loginType = Constants.loginType.loginTypePc
  95. } else if (formData.flgCanWxLogin) {
  96. params.loginType = Constants.loginType.loginTypeWx
  97. } else {
  98. params.loginType = Constants.loginType.loginTypeNo
  99. }
  100. } else {
  101. // 标准版的 loginType 只能是 2:移动端 没有pc端
  102. params.loginType = Constants.loginType.loginTypeWx
  103. }
  104. return params
  105. },
  106. /**
  107. * @desc : 保存数据服务
  108. * @date : 2024/2/1 15:49
  109. * @author : 姜永辉
  110. */
  111. saveData() {
  112. if (this.data.formMode == Constants.formMode.edit) {
  113. return this.excute(this.data.service, this.data.service.update, this.data.params)
  114. } else {
  115. return this.excute(this.data.service, this.data.service.insert, this.data.params)
  116. }
  117. },
  118. /**
  119. * @desc : 给表单赋值
  120. * @date : 2024/2/1 15:49
  121. * @author : 姜永辉
  122. */
  123. setValuesByEdit(data) {
  124. console.log(data, "setValuesByEdit");
  125. data.roleIds = (data.roleIds && data.roleIds.length > 0) ? data.roleIds.join(',') : undefined
  126. data.roleName = data.roleNames
  127. // 专业版
  128. if (this.data.gradeCode == Constants.gradeCode.PRO) {
  129. // 1:PC端,2:移动端,3:PC+移动端 4无
  130. if (data.loginType == Constants.loginType.loginTypeWxPc) {
  131. if (data.flgCanLogin) {
  132. data.flgCanPcLogin = true
  133. data.flgCanWxLogin = true
  134. }
  135. } else if (data.loginType == Constants.loginType.loginTypePc) {
  136. if (data.flgCanLogin) {
  137. data.flgCanPcLogin = data.flgCanLogin
  138. }
  139. } else if (data.loginType == Constants.loginType.loginTypeWx) {
  140. if (data.flgCanLogin) {
  141. data.flgCanWxLogin = data.flgCanLogin
  142. }
  143. }
  144. }
  145. this.setData({
  146. formData: JSON.stringify(data)
  147. })
  148. },
  149. /**
  150. * @desc : 页面加载数据方法
  151. * @date : 2024/2/1 15:49
  152. * @author : 姜永辉
  153. */
  154. loadInit() {
  155. let contentObj_ = this.data.contentObj
  156. if (this.data.formMode == Constants.formMode.edit) {
  157. wx.setNavigationBarTitle({
  158. title: mixins.$t('staffEdit'),
  159. })
  160. } else {
  161. wx.setNavigationBarTitle({
  162. title: mixins.$t('staffAdd'),
  163. })
  164. let formData = {}
  165. formData.orgId = app.globalData.user.orgId
  166. formData.orgName = app.globalData.user.orgName
  167. }
  168. // 专业版
  169. if (this.data.gradeCode == Constants.gradeCode.PRO) {
  170. contentObj_['oauth'] =
  171. [
  172. { code: 'flgCanPcLogin', type: 'switch', title: mixins.$t('flgCanPcLogin') },
  173. { code: 'flgCanWxLogin', type: 'switch', title: mixins.$t('flgCanWxLogin') },
  174. ]
  175. } else {
  176. contentObj_['oauth'] =
  177. [
  178. { code: 'flgCanLogin', type: 'switch', title: mixins.$t('flgCanLogin') },
  179. ]
  180. //标准版-新建选择部门页面隐藏新建
  181. if (this.data.formMode == Constants.formMode.edit) { } else {
  182. let formData = {}
  183. formData.orgId = app.globalData.user.orgId
  184. formData.orgName = app.globalData.user.orgName
  185. this.setData({
  186. formData: JSON.stringify(formData)
  187. })
  188. }
  189. }
  190. this.setData({
  191. contentObj: contentObj_,
  192. })
  193. },
  194. })