update.js 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248
  1. const _Http = getApp().globalData.http;
  2. Page({
  3. data: {
  4. loading: false,
  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": "20230228103104",
  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. getApp().globalData.Language.getLanguagePackage(this, 'E-订单');
  138. },
  139. /* 打断处理form */
  140. interrupt({
  141. detail
  142. }) {
  143. console.log("打断", detail)
  144. if (detail.temporary.item.label == "开票抬头") {
  145. let item = detail.data.item;
  146. detail.data.value[0] = `抬头:${item.enterprisename}\n税号:${item.taxno}\n地址:${item.address}`;
  147. detail.form[detail.temporary.index].value = detail.data.value;
  148. this.setData({
  149. "content.enterprisename": item.enterprisename,
  150. "content.taxno": item.taxno,
  151. "content.bank": item.bank,
  152. "content.phonenumber": item.phonenumber,
  153. "content.bankcardno": item.bankcardno,
  154. "content.address": item.address,
  155. })
  156. } else if (detail.temporary.item.label == "开票企业") {
  157. detail.form[0].value = detail.data.value;
  158. detail.form.splice(1, detail.form[1].label == '发票种类' ? 0 : 1, {
  159. label: "开票抬头",
  160. error: false,
  161. errMsg: "",
  162. type: "route",
  163. url: "/select/finance/index",
  164. params: {
  165. "id": 20221013160602,
  166. "content": {
  167. nocache: true,
  168. sys_enterpriseid: detail.data.id[0],
  169. "pageSize": 20,
  170. "where": {
  171. "condition": "",
  172. },
  173. },
  174. },
  175. interrupt: true,
  176. query: '&radio=true',
  177. value: "",
  178. placeholder: "选择开票抬头信息",
  179. valueName: "principal",
  180. checking: "base",
  181. required: true
  182. })
  183. }
  184. this.setData({
  185. form: detail.form,
  186. })
  187. this.selectComponent("#Form").confirm();
  188. wx.navigateBack()
  189. },
  190. submit() {
  191. let that = this;
  192. let data = this.selectComponent("#Form").submit();
  193. let content = Object.assign(this.data.content, data);
  194. content.sys_enterpriseid && (content.sys_enterpriseid = data.sys_enterpriseid[1][0]);
  195. delete(content.principal)
  196. wx.showModal({
  197. cancelText: getApp().globalData.Language.getMapText('取消'),
  198. confirmText: getApp().globalData.Language.getMapText('确定'),
  199. title: getApp().globalData.Language.getMapText('提示'),
  200. content: getApp().globalData.Language.getMapText('是否确定创建开票申请单') + '?',
  201. complete: ({
  202. confirm
  203. }) => {
  204. if (confirm) {
  205. that.setData({
  206. loading: true
  207. })
  208. _Http.basic({
  209. "id": "20221216142903",
  210. "version": 1,
  211. content
  212. }).then(res => {
  213. that.setData({
  214. loading: false
  215. })
  216. console.log("创建开票申请单", res)
  217. wx.showToast({
  218. title: res.code == '1' ? getApp().globalData.Language.getMapText('创建成功') : res.msg,
  219. icon: "none",
  220. mask: true
  221. });
  222. if (res.code == '1') setTimeout(() => wx.redirectTo({
  223. url: '/packageA/invoice/detail?id=' + res.data.sa_invoiceapplyid,
  224. }), 500)
  225. })
  226. }
  227. }
  228. })
  229. },
  230. // 是否显示全部
  231. onChange({
  232. detail
  233. }) {
  234. this.setData({
  235. showAll: detail
  236. })
  237. },
  238. /* 表单必填项是否完成 */
  239. onConfirm({
  240. detail
  241. }) {
  242. this.setData({
  243. disabled: detail
  244. })
  245. }
  246. })