update.js 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267
  1. const _Http = getApp().globalData.http,
  2. getTime = require("../../utils/getTime");
  3. let sa_paybilldetailid = 0;
  4. Page({
  5. data: {
  6. showAll: false,
  7. disabled: true,
  8. content: {
  9. "sa_paybillid": 0,
  10. enterprisename: "",
  11. period: ""
  12. },
  13. form: [{
  14. label: "转出账号",
  15. error: false,
  16. errMsg: "",
  17. type: "route",
  18. url: "/pages/bankAccount/index",
  19. params: {},
  20. value: "",
  21. placeholder: "转出账号",
  22. valueName: "bankcardno",
  23. interrupt: true,
  24. required: true
  25. }, {
  26. label: "打款人",
  27. error: false,
  28. errMsg: "",
  29. type: "text",
  30. value: "",
  31. placeholder: "打款人",
  32. disabled: true,
  33. valueName: "payer",
  34. required: true
  35. }, {
  36. label: "转出银行",
  37. error: false,
  38. errMsg: "",
  39. type: "text",
  40. value: "",
  41. placeholder: "转出银行",
  42. disabled: true,
  43. valueName: "bank",
  44. required: true
  45. }, {
  46. label: "打款日期",
  47. error: false,
  48. errMsg: "",
  49. type: "date",
  50. value: getTime.formatTime(new Date(), '-').split(' ')[0],
  51. placeholder: "选择打款日期",
  52. valueName: "paydate",
  53. required: true,
  54. }, {
  55. label: "转入银行",
  56. error: false,
  57. errMsg: "",
  58. type: "selector",
  59. range: [],
  60. value: "",
  61. rangeKey: "remarks",
  62. rangeIndex: "",
  63. placeholder: "选择转入银行",
  64. valueName: "inbank",
  65. required: true,
  66. interrupt: true
  67. },
  68. {
  69. label: "银行账号",
  70. error: false,
  71. errMsg: "",
  72. type: "text",
  73. value: "",
  74. placeholder: "选择转入银行后自动带入",
  75. valueName: "inbankcardno",
  76. required: true,
  77. }, {
  78. label: "转入账户",
  79. error: false,
  80. errMsg: "",
  81. type: "selector",
  82. range: [],
  83. value: "",
  84. rangeKey: "accountname",
  85. rangeIndex: "",
  86. placeholder: "选择转入账户",
  87. valueName: "sa_accountclassid",
  88. required: true,
  89. interrupt: true
  90. }, {
  91. label: "转入金额",
  92. error: false,
  93. errMsg: "",
  94. type: "digit",
  95. value: "",
  96. placeholder: "转入金额",
  97. valueName: "amount",
  98. required: true,
  99. }, {
  100. label: "备注",
  101. error: false,
  102. errMsg: "",
  103. type: "text",
  104. value: "",
  105. placeholder: "输入备注",
  106. valueName: "remarks",
  107. required: false,
  108. },
  109. ]
  110. },
  111. onLoad(options) {
  112. let sa_paybillid = 0;
  113. if (options.rowData) {
  114. let data = JSON.parse(options.rowData);
  115. sa_paybillid = data.sa_paybillid;
  116. sa_paybilldetailid = data.sa_paybilldetailid;
  117. this.setData({
  118. form: this.data.form.map(v => {
  119. if (v.valueName == 'bankcardno') {
  120. v.value = [data[v.valueName], data[v.valueName]];
  121. } else if (v.valueName == "sa_accountclassid") {
  122. v.id = data[v.valueName];
  123. v.value = data.accountname;
  124. } else {
  125. v.value = data[v.valueName];
  126. }
  127. return v
  128. }),
  129. 'content.sa_paybillid': data.sa_paybillid
  130. })
  131. this.selectComponent('#Form').confirm()
  132. }
  133. _Http.basic({
  134. "classname": "sysmanage.develop.optiontype.optiontype",
  135. "method": "optiontypeselect",
  136. "content": {
  137. "pageNumber": 1,
  138. "pageSize": 1000,
  139. "typename": "inbank",
  140. "parameter": {}
  141. },
  142. }).then(res => {
  143. console.log("银行列表", res)
  144. if (res.msg == '成功') {
  145. let item = this.data.form.find(v => v.label == '转入银行')
  146. item.range = res.data;
  147. this.setData({
  148. form: this.data.form
  149. })
  150. }
  151. });
  152. _Http.basic({
  153. "id": 20221228085004,
  154. "content": {
  155. "pageNumber": 1,
  156. "pageSize": 9999,
  157. sa_paybillid,
  158. "where": {
  159. "ispay": 1
  160. }
  161. },
  162. }).then(res => {
  163. console.log("获取可选择账户", res)
  164. if (res.msg == '成功') {
  165. let item = this.data.form.find(v => v.label == '转入账户')
  166. item.range = res.data;
  167. if (sa_paybillid) item.disabled = true;
  168. this.setData({
  169. form: this.data.form
  170. })
  171. }
  172. })
  173. },
  174. /* 打断处理form */
  175. interrupt({
  176. detail
  177. }) {
  178. if (detail.data.label == '转入银行') {
  179. detail.form[4] = detail.data;
  180. detail.form[5].value = detail.result.value;
  181. } else if (detail.temporary.item.label == '转出账号') {
  182. detail.form[0].value = [detail.data.bankcardno, detail.data.bankcardno];
  183. detail.form[1].value = detail.data.name;
  184. detail.form[2].value = detail.data.bank;
  185. wx.navigateBack()
  186. } else if (detail.temporary.item.label == '转入账户') {
  187. detail.form[6].value = detail.result.accountname;
  188. detail.form[6].id = detail.result.sa_accountclassid;
  189. }
  190. this.setData({
  191. form: detail.form
  192. })
  193. this.selectComponent('#Form').confirm()
  194. },
  195. async submit() {
  196. let content = {
  197. ...this.data.content,
  198. ...this.selectComponent("#Form").submit()
  199. }
  200. content.sa_accountclassid = this.data.form.find(v => v.label == '转入账户').id;
  201. content.bankcardno = content.bankcardno[0]
  202. console.log(content)
  203. let res = await _Http.basic({
  204. "id": "20221226153004",
  205. content,
  206. version: 1
  207. })
  208. console.log("创建打款凭证", res);
  209. if (res.msg == '成功') {
  210. _Http.basic({
  211. "id": 20221227092904,
  212. "content": {
  213. "paybilldetails": [{
  214. "amount": content.amount,
  215. "sa_accountclassid": content.sa_accountclassid,
  216. sa_paybilldetailid
  217. }],
  218. "sa_paybillid": res.data.sa_paybillid
  219. }
  220. }).then(s => {
  221. console.log("修改明细", s)
  222. if (s.msg == '成功') {
  223. let page = getCurrentPages()[getCurrentPages().length - 2];
  224. if (page.__route__ == 'packageA/remitVoucher/index') {
  225. wx.redirectTo({
  226. url: '/packageA/remitVoucher/detail?id=' + res.data.sa_paybillid,
  227. })
  228. } else if (page.__route__ == 'packageA/remitVoucher/detail') {
  229. wx.navigateBack();
  230. page.getDetail(true)
  231. }
  232. } else {
  233. wx.showToast({
  234. title: res.msg,
  235. icon: "none",
  236. mask: true
  237. })
  238. }
  239. })
  240. } else {
  241. wx.showToast({
  242. title: res.msg,
  243. icon: "none",
  244. mask: true
  245. })
  246. }
  247. },
  248. // 是否显示全部
  249. onChange({
  250. detail
  251. }) {
  252. this.setData({
  253. showAll: detail
  254. })
  255. },
  256. /* 表单必填项是否完成 */
  257. onConfirm({
  258. detail
  259. }) {
  260. this.setData({
  261. disabled: detail
  262. })
  263. }
  264. })