update.js 7.3 KB

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