org.js 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287
  1. /*******************************************************************************
  2. * Copyright(c) 2022 dongke All rights reserved. / Confidential
  3. * 类的信息:
  4. * 1.程序名称:
  5. * 2.组织机构列表
  6. * 编辑履历:
  7. * 作者 日期 版本 修改内容
  8. * 王英杰 2024-2-12 1.00
  9. *******************************************************************************/
  10. const Constants = require('@/utils/Constants.js');
  11. const mixins = require('@/mixins/index.js')
  12. const util = require('@/utils/util.js')
  13. const app = getApp()
  14. Page({
  15. mixins: [mixins],
  16. /**
  17. * 页面的初始数据
  18. */
  19. data: {
  20. readonly:false,
  21. // 查询条件
  22. searchContent: [],
  23. form: null, //新建的数据form
  24. // 路由
  25. routeObjName: 'org', // 路由
  26. popContent: [{ //新建的 各个控件信息
  27. code: 'orgCode',
  28. type: 'str',
  29. name: 'orgCode',
  30. required: false,
  31. readonly:true
  32. }, { //上级部门
  33. code: 'parentId',
  34. name: 'parentName',
  35. title: mixins.$t("parentName"),
  36. type: 'choose',
  37. urlKey: 'chooseOrg',
  38. required: true
  39. }, { //部门名称
  40. code: 'orgName',
  41. type: 'str',
  42. name: 'orgName',
  43. required: true
  44. }, { //可用仓库
  45. code: 'whId',
  46. name: 'whName',
  47. title: '可用仓库',
  48. type: 'choose',
  49. urlKey: 'selectWarehouse',
  50. }, { //可用资金账号
  51. code: 'accountOut',
  52. name: 'accountOutName',
  53. title: '可用资金账号',
  54. type: 'choose',
  55. urlKey: 'selectMoneyAccount'
  56. }, { //备注
  57. code: 'Remarks',
  58. type: 'str',
  59. title: mixins.$t("remarks"),
  60. required: false
  61. }],
  62. },
  63. /**
  64. * @desc :设置查询参数
  65. * @date : 2024/2/1 15:49
  66. * @author : 王英杰
  67. */
  68. setSearchParams(params) {
  69. params.pageSize = 100000
  70. params.currentPage = 1
  71. return params
  72. },
  73. /**
  74. * @desc :打开新建
  75. * @date : 2024/2/1 15:49
  76. * @author : 王英杰
  77. */
  78. toadd() {
  79. this.setData({
  80. showPop: true
  81. })
  82. },
  83. /**
  84. * @desc :关闭新建框(弹出的popup)
  85. * @date : 2024/2/1 15:49
  86. * @author : 王英杰
  87. */
  88. onClosePopup() {
  89. debugger
  90. this.setData({
  91. showPop: false
  92. })
  93. },
  94. /**
  95. * @desc : 关闭Pop后修改数据
  96. * @author : 王英杰
  97. * @date : 2024/1/26 11:46
  98. */
  99. editItems(data) {
  100. console.log('data', data);
  101. let params = {
  102. ...this.data.params,
  103. ...data.detail.form
  104. };
  105. let macList = []
  106. params.accountOut_data.forEach(element => {
  107. let item = {}
  108. item.macId = element.macId
  109. item.ownerFlag = element.flgDefault
  110. macList.push(item)
  111. });
  112. params.macList = macList
  113. let warehouseList = []
  114. params.whId_data.forEach(element => {
  115. let item = {}
  116. item.whId = element.whId
  117. item.ownerFlag = element.flgDefault
  118. warehouseList.push(item)
  119. });
  120. params.warehouseList = warehouseList
  121. console.log("save",params);
  122. return
  123. return this.excute(this.data.service, this.data.service.insert, params);
  124. },
  125. /**
  126. * @desc :打开选择客户
  127. * @date : 2024/2/1 15:49
  128. * @author : 王英杰
  129. */
  130. openChooseOrg() {
  131. let that = this
  132. let addForm = that.data.addForm
  133. wx.navigateTo({
  134. // url: "./add/add",
  135. url: this.data.route.toAdd.url,
  136. events: {
  137. bindData: function (e) {
  138. console.log('e', e);
  139. addForm.parentOrgName = e.data.name
  140. addForm.parentId = e.data.id
  141. that.setData({
  142. addForm
  143. })
  144. }
  145. },
  146. success: function (res) {
  147. res.eventChannel.emit('params-org', {
  148. url: ''
  149. })
  150. }
  151. })
  152. },
  153. /**
  154. * @desc : 跳转员工新建
  155. * @date : 2024/2/1 15:49
  156. * @author : 王英杰
  157. */
  158. toAddStaff() {
  159. let _this = this
  160. wx.navigateTo({
  161. url: this.data.route.staffAdd.url,
  162. events: {
  163. // 回调后,在这里给页面赋值
  164. bandData: function (e) {
  165. _this.getData()
  166. }
  167. },
  168. success: function (res) {
  169. // 通过eventChannel向被打开页面传送数据 TODO 测试例子url是写死的,实际中,需要从route中读取
  170. res.eventChannel.emit('params', {})
  171. }
  172. })
  173. },
  174. /**
  175. * @desc : 查询
  176. * @date : 2024/2/1 15:49
  177. * @author : 王英杰
  178. */
  179. getData(params) {
  180. return this.excute(this.data.service, this.data.service.selectByCond, params);
  181. },
  182. /**
  183. * @desc : 查询 后续处理
  184. * @date : 2024/2/1 15:49
  185. * @author : 王英杰
  186. */
  187. handleSearchData(data) {
  188. this.setData({
  189. tableData: util.convertToChildren(data, "parentId", "orgId", null),
  190. })
  191. },
  192. /**
  193. * @desc :保存接口的 后续处理方法
  194. * @date : 2024/2/1 15:49
  195. * @author : 王英杰
  196. */
  197. handleData(data) {
  198. this.setData({
  199. showPop: false,
  200. })
  201. this.searchData()
  202. },
  203. /**
  204. * @desc :初始化
  205. * @date : 2024/2/1 15:49
  206. * @author : 王英杰
  207. */
  208. loadInit() {
  209. this.setData({
  210. orgName: app.globalData.user.orgName
  211. })
  212. },
  213. /**
  214. * @desc :列表收起 打开 下拉
  215. * @date : 2024/2/1 15:49
  216. * @author : 王英杰
  217. */
  218. onchange(e) {
  219. let index = e.currentTarget.dataset.index;
  220. let open = e.currentTarget.dataset.open;
  221. let tableData = this.data.tableData
  222. tableData[index].open = !open
  223. this.setData({
  224. tableData: tableData,
  225. })
  226. },
  227. /**
  228. * @desc : 跳转跳转三级部门
  229. * @date : 2024/2/1 15:49
  230. * @author : 王英杰
  231. */
  232. toSubOrg(e) {
  233. let _this = this
  234. let dataset = e.currentTarget.dataset;
  235. let chooseOrgSort = this.data.orgName+" > "+dataset.item.orgName+" > "+dataset.item_.orgName
  236. wx.navigateTo({
  237. url: this.data.route.subOrgChoose.url,
  238. events: {
  239. // 回调后,在这里给页面赋值
  240. bandData: function (e) {
  241. // _this.getData()
  242. }
  243. },
  244. success: function (res) {
  245. // 通过eventChannel向被打开页面传送数据 TODO 测试例子url是写死的,实际中,需要从route中读取
  246. res.eventChannel.emit('params', {
  247. item: {parentId:dataset.item_.orgId,chooseOrgSort:chooseOrgSort}
  248. })
  249. }
  250. })
  251. },
  252. /**
  253. * @desc : 点击页面的三级部门名称 查询对应详细
  254. * @date : 2024/2/1 15:49
  255. * @author : 王英杰
  256. */
  257. clickName(e){
  258. let item = e.currentTarget.dataset.item
  259. // let param = {}
  260. // param.orgId = item.orgId
  261. let excute = this.excute(this.data.service,this.data.service.getbyid+"/"+item.orgId,{});
  262. excute.then(res => {
  263. if (res.data.code === Constants.SUCESS_CODE) {
  264. let form = {}
  265. let data = res.data.data
  266. form.orgCode = data.orgCode
  267. form.parentId = data.parentId
  268. form.parentName = data.parentName
  269. this.setData({
  270. form:form,
  271. showPop: true
  272. })
  273. }
  274. })
  275. return excute;
  276. },
  277. })