update.js 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245
  1. const _Http = getApp().globalData.http;
  2. Page({
  3. data: {
  4. loading: true,
  5. showAll: false,
  6. disabled: true,
  7. form: [{
  8. label: "发票种类",
  9. error: false,
  10. errMsg: "",
  11. type: "radio",
  12. radioList: [{
  13. name: 's/专用发票',
  14. id: 's'
  15. },
  16. {
  17. name: 'p/普通发票(电票)',
  18. id: 'p'
  19. },
  20. ],
  21. value: "s",
  22. valueName: "invoiceline",
  23. required: false,
  24. }, {
  25. label: "发票限额",
  26. error: false,
  27. errMsg: "",
  28. type: "number", //digit
  29. value: "",
  30. placeholder: "发票限额",
  31. valueName: "quota",
  32. required: false
  33. }, {
  34. label: "发票复核人",
  35. error: false,
  36. errMsg: "",
  37. type: "text",
  38. value: "王蒋霞",
  39. placeholder: "发票复核人",
  40. valueName: "invoicechecker",
  41. required: false
  42. }, {
  43. label: "发票收款人",
  44. error: false,
  45. errMsg: "",
  46. type: "text",
  47. value: "孙惠吉",
  48. placeholder: "发票收款人",
  49. valueName: "invoicepayee",
  50. required: false
  51. }, {
  52. label: "发票开票员",
  53. error: false,
  54. errMsg: "",
  55. type: "text",
  56. value: "冯云霞",
  57. placeholder: "发票开票员",
  58. valueName: "invoiceclerk",
  59. required: false
  60. }, {
  61. label: "备注",
  62. error: false,
  63. errMsg: "",
  64. type: "textarea",
  65. value: "",
  66. placeholder: "备注",
  67. valueName: "remarks",
  68. required: false
  69. }, ],
  70. content: {
  71. sa_invoiceapplyid: 0,
  72. byhand: false,
  73. enterprisename: "", //抬头
  74. taxno: "", //税号
  75. bank: "", //开户行
  76. phonenumber: "", //手机号
  77. bankcardno: "", //开户账号
  78. address: "", //开票地址
  79. quota: 0,
  80. }
  81. },
  82. onLoad(options) {
  83. console.log(wx.getStorageSync('userrole'))
  84. if (wx.getStorageSync('userrole') == '业务员') {
  85. this.data.form.unshift({
  86. label: "开票企业",
  87. error: false,
  88. errMsg: "",
  89. type: "route",
  90. url: "/select/agent/index",
  91. params: {
  92. "id": "20221216145803",
  93. "version": 1,
  94. "content": {
  95. nocache: true,
  96. "where": {
  97. "condition": ""
  98. }
  99. }
  100. },
  101. interrupt: true,
  102. query: '&radio=true',
  103. value: "",
  104. placeholder: "选择开票企业",
  105. valueName: "sys_enterpriseid",
  106. required: true
  107. })
  108. } else {
  109. this.data.form.unshift({
  110. label: "开票抬头",
  111. error: false,
  112. errMsg: "",
  113. type: "route",
  114. url: "/select/finance/index",
  115. params: {
  116. "id": 20221013160602,
  117. "content": {
  118. nocache: true,
  119. "pageSize": 20,
  120. "where": {
  121. "condition": "",
  122. },
  123. },
  124. },
  125. interrupt: true,
  126. query: '&radio=true',
  127. value: "",
  128. placeholder: "选择开票抬头信息",
  129. valueName: "principal",
  130. checking: "base",
  131. required: true
  132. })
  133. }
  134. this.setData({
  135. form: this.data.form
  136. })
  137. },
  138. /* 打断处理form */
  139. interrupt({
  140. detail
  141. }) {
  142. console.log("打断", detail)
  143. if (detail.temporary.item.label == "开票抬头") {
  144. let item = detail.data.item;
  145. detail.data.value[0] = `抬头:${item.enterprisename}\n税号:${item.taxno}\n地址:${item.address}`;
  146. detail.form[detail.temporary.index].value = detail.data.value;
  147. this.setData({
  148. "content.enterprisename": item.enterprisename,
  149. "content.taxno": item.taxno,
  150. "content.bank": item.bank,
  151. "content.phonenumber": item.phonenumber,
  152. "content.bankcardno": item.bankcardno,
  153. "content.address": item.address,
  154. })
  155. } else if (detail.temporary.item.label == "开票企业") {
  156. detail.form[0].value = detail.data.value;
  157. detail.form.splice(1, detail.form[1].label == '发票种类' ? 0 : 1, {
  158. label: "开票抬头",
  159. error: false,
  160. errMsg: "",
  161. type: "route",
  162. url: "/select/finance/index",
  163. params: {
  164. "id": 20221013160602,
  165. "content": {
  166. nocache: true,
  167. sys_enterpriseid: detail.data.id[0],
  168. "pageSize": 20,
  169. "where": {
  170. "condition": "",
  171. },
  172. },
  173. },
  174. interrupt: true,
  175. query: '&radio=true',
  176. value: "",
  177. placeholder: "选择开票抬头信息",
  178. valueName: "principal",
  179. checking: "base",
  180. required: true
  181. })
  182. }
  183. this.setData({
  184. form: detail.form,
  185. })
  186. this.selectComponent("#Form").confirm();
  187. wx.navigateBack()
  188. },
  189. submit() {
  190. let that = this;
  191. let data = this.selectComponent("#Form").submit();
  192. let content = Object.assign(this.data.content, data);
  193. content.sys_enterpriseid && (content.sys_enterpriseid = data.sys_enterpriseid[1][0]);
  194. delete(content.principal)
  195. wx.showModal({
  196. title: '提示',
  197. content: '是否确定创建开票申请单?',
  198. complete: ({
  199. confirm
  200. }) => {
  201. if (confirm) {
  202. that.setData({
  203. loading: true
  204. })
  205. _Http.basic({
  206. "id": "20221216142903",
  207. "version": 1,
  208. content
  209. }).then(res => {
  210. that.setData({
  211. loading: false
  212. })
  213. console.log("创建开票申请单", res)
  214. wx.showToast({
  215. title: res.msg == '成功' ? '创建成功' : res.msg,
  216. icon: "none",
  217. mask: true
  218. });
  219. if (res.msg == '成功') setTimeout(() => wx.redirectTo({
  220. url: '/packageA/invoice/detail?id=' + res.data.sa_invoiceapplyid,
  221. }), 500)
  222. })
  223. }
  224. }
  225. })
  226. },
  227. // 是否显示全部
  228. onChange({
  229. detail
  230. }) {
  231. this.setData({
  232. showAll: detail
  233. })
  234. },
  235. /* 表单必填项是否完成 */
  236. onConfirm({
  237. detail
  238. }) {
  239. this.setData({
  240. disabled: detail
  241. })
  242. }
  243. })