detail.js 8.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347
  1. // pages/ticketWaiting/detail.js
  2. const utils = require('../../utils/util.js')
  3. Page({
  4. /**
  5. * 页面的初始数据
  6. */
  7. data: {
  8. seller: '', //销方信息
  9. recordId: '',
  10. belongEntTaxId: '',
  11. status: '',
  12. userInfo: '',
  13. buyer: '',
  14. invoiceCategory: 1,
  15. cmdParamObject: '', //详情数据
  16. curValue: 3, //接收方式
  17. interactTypeDetail: '微信卡包',
  18. payees: ['手动输入'], //收款人
  19. payeesIndex: '',
  20. payeesText: '',
  21. reviewers: ['手动输入'], //复核人
  22. reviewersIndex: '',
  23. reviewersText: '',
  24. drawers: ['手动输入'], //开票人
  25. drawersIndex: '',
  26. drawersText: '',
  27. },
  28. /**
  29. * 生命周期函数--监听页面加载
  30. */
  31. onLoad: function (options) {
  32. this.setData({
  33. recordId: options.recordId,
  34. belongEntTaxId: options.belongEntTaxId,
  35. status: options.status
  36. })
  37. this.getUser()
  38. this.getDetail()
  39. },
  40. //提交开票
  41. submitData() {
  42. let cmdParamObject = this.data.cmdParamObject.REQUEST_COMMON_FPKJ
  43. //接收方式
  44. let interactTypeDetail = utils.trimAll(this.data.interactTypeDetail)
  45. if (interactTypeDetail === '') {
  46. utils.toast('接收方式不能为空')
  47. return
  48. } else {
  49. if (this.data.curValue === 1) {
  50. if (!utils.testEmail(interactTypeDetail)) {
  51. utils.toast('接收方式请填写正确的邮箱')
  52. return
  53. }
  54. }
  55. if (this.data.curValue === 2) {
  56. if (!utils.testMobile(interactTypeDetail)) {
  57. utils.toast('接收方式请填写正确的手机号码')
  58. return
  59. }
  60. }
  61. }
  62. //复核人,收款人, 开票人
  63. let SKR = ''
  64. let payeesIndex = this.data.payeesIndex
  65. if (payeesIndex !== '') {
  66. if (payeesIndex === 0) {
  67. SKR = utils.trimAll(this.data.payeesText)
  68. } else {
  69. SKR = this.data.payees[payeesIndex]
  70. }
  71. }
  72. let FHR = ''
  73. let reviewersIndex = this.data.reviewersIndex
  74. if (reviewersIndex !== '') {
  75. if (reviewersIndex === 0) {
  76. FHR = utils.trimAll(this.data.reviewersText)
  77. } else {
  78. FHR = this.data.reviewers[reviewersIndex]
  79. }
  80. }
  81. let KPR = ''
  82. let drawersIndex = this.data.drawersIndex
  83. if (drawersIndex !== '') {
  84. if (drawersIndex === 0) {
  85. KPR = utils.trimAll(this.data.drawersText)
  86. } else {
  87. KPR = this.data.drawers[drawersIndex]
  88. }
  89. }
  90. let params = {
  91. mobile: this.data.userInfo.mobile,
  92. todoRecordId: this.data.recordId,
  93. reqChannel: 5,
  94. interactType: this.data.curValue,
  95. interactTypeDetail: utils.trimAll(this.data.interactTypeDetail),
  96. cmdParam: {
  97. "REQUEST_COMMON_FPKJ": {
  98. "SBLX": this.data.seller.defaultDeviceInfo.deviceType,
  99. "SBBH": this.data.seller.defaultDeviceInfo.taxDiscId,
  100. "KPLX":"0",
  101. "FPZL":1,
  102. "TTLX": this.data.buyer.customerType,
  103. "KPF_NSRSBH": cmdParamObject.KPF_NSRSBH,
  104. "KPF_MC": cmdParamObject.KPF_MC,
  105. "KPF_DZ": cmdParamObject.KPF_DZ,
  106. "KPF_DH": cmdParamObject.KPF_DH,
  107. "KPF_YHZH":cmdParamObject.KPF_YHZH,
  108. "KPF_KHHMC":cmdParamObject.KPF_KHHMC,
  109. "SPF_NSRSBH": utils.trimAll(this.data.buyer.customerEntTaxId),
  110. "SPF_MC": utils.trimAll(this.data.buyer.customerName),
  111. "SPF_DH": utils.trimAll(this.data.buyer.customerMobile),
  112. "SPF_DZ": utils.trimAll(this.data.buyer.address),
  113. "SPF_KHHMC": utils.trimAll(this.data.buyer.bankName),
  114. "SPF_YHZH": utils.trimAll(this.data.buyer.bankAccountNo),
  115. "KPR": KPR,
  116. "SKR": SKR,
  117. "FHR": FHR,
  118. "JSHJ": cmdParamObject.JSHJ,
  119. "HJJE": cmdParamObject.HJJE,
  120. "HJSE": cmdParamObject.HJSE,
  121. "BZ": utils.trimAll(this.data.buyer.remark),
  122. "TSPZ": cmdParamObject.TSPZ,
  123. "COMMON_FPKJ_XMXXS": {
  124. "COMMON_FPKJ_XMXX": cmdParamObject.COMMON_FPKJ_XMXXS.COMMON_FPKJ_XMXX
  125. }
  126. }
  127. }
  128. }
  129. utils.axios({
  130. method: 'post',
  131. url: '/sys/fapiao/todo/commit',
  132. data: params,
  133. sendBefore() {
  134. wx.showLoading({
  135. title: '提交开票中...',
  136. mask: true
  137. })
  138. },
  139. complete() {
  140. wx.hideLoading()
  141. },
  142. success: res => {
  143. wx.redirectTo({
  144. url: '/pages/ticketWaiting/success'
  145. })
  146. }
  147. })
  148. },
  149. //购方企业信息
  150. getUser() {
  151. this.setData({
  152. buyer: wx.getStorageSync('ticketWaitingData'),
  153. seller:utils.getCurrEntInfo(),
  154. userInfo:utils.getInfo()
  155. })
  156. this.setData({
  157. curValue: this.data.buyer.interactType,
  158. interactTypeDetail: this.data.buyer.customerEmail
  159. })
  160. let payees = this.data.payees
  161. if (this.data.seller.payees) {
  162. let arr = this.data.seller.payees.split(',')
  163. payees = payees.concat(arr)
  164. this.setData({
  165. payees
  166. })
  167. }
  168. let reviewers = this.data.reviewers
  169. if (this.data.seller.reviewers) {
  170. let arr = this.data.seller.reviewers.split(',')
  171. reviewers = reviewers.concat(arr)
  172. this.setData({
  173. reviewers
  174. })
  175. }
  176. let drawers = this.data.drawers
  177. if (this.data.seller.drawers) {
  178. let arr = this.data.seller.drawers.split(',')
  179. arr.push(this.data.userInfo.userName)
  180. drawers = drawers.concat(arr)
  181. this.setData({
  182. drawers
  183. })
  184. }
  185. // utils.getCompany().then(res => {
  186. // this.setData({
  187. // seller: res.data
  188. // })
  189. // })
  190. },
  191. //收款人,复核人, 开票人
  192. setPayees(e) {
  193. let index = Number(e.detail.value)
  194. this.setData({
  195. payeesIndex: index
  196. })
  197. },
  198. getPayees(e) {
  199. let value = e.detail.value
  200. this.setData({
  201. payeesText: value
  202. })
  203. },
  204. setReviewers(e) {
  205. let index = Number(e.detail.value)
  206. this.setData({
  207. reviewersIndex: index
  208. })
  209. },
  210. setDrawers(e) {
  211. let index = Number(e.detail.value)
  212. this.setData({
  213. drawersIndex: index
  214. })
  215. },
  216. getReviewers(e) {
  217. let value = e.detail.value
  218. this.setData({
  219. reviewersText: value
  220. })
  221. },
  222. getDrawers(e) {
  223. let value = e.detail.value
  224. this.setData({
  225. drawersText: value
  226. })
  227. },
  228. //获取详情
  229. getDetail() {
  230. let params = {
  231. recordId: this.data.recordId,
  232. belongEntTaxId: this.data.belongEntTaxId
  233. }
  234. utils.axios({
  235. method: 'get',
  236. url: '/sys/fapiao/todo/findCmdParam',
  237. data: params,
  238. sendBefore() {
  239. wx.showLoading({
  240. title: '加载中...'
  241. })
  242. },
  243. complete() {
  244. wx.hideLoading()
  245. },
  246. success: res => {
  247. console.log(res);
  248. this.setData({
  249. cmdParamObject: res.data.cmdParamObject
  250. })
  251. }
  252. })
  253. },
  254. //去详情
  255. toDetail() {
  256. wx.navigateTo({
  257. url: `/pages/ticketWaiting/prodetail?recordId=${this.data.recordId}&belongEntTaxId=${this.data.belongEntTaxId}&status=${this.data.status}`
  258. })
  259. },
  260. //选择接收方式
  261. selectType(e) {
  262. let curValue = e.detail.value
  263. let interactTypeDetail = ''
  264. if (curValue === 1) {
  265. if (this.data.buyer.email) {
  266. interactTypeDetail = this.data.buyer.email
  267. }
  268. }
  269. if (curValue === 2) {
  270. if (this.data.buyer.customerMobile) {
  271. interactTypeDetail = this.data.buyer.customerMobile
  272. }
  273. }
  274. if (curValue === 3) {
  275. interactTypeDetail = '微信卡包'
  276. }
  277. if (curValue === 4) {
  278. interactTypeDetail = '支付宝发票管家'
  279. }
  280. this.setData({
  281. curValue,
  282. interactTypeDetail
  283. })
  284. },
  285. //以下是获取表单信息的函数
  286. getremark(e) {
  287. this.setData({
  288. ['buyer.remark']: e.detail.value
  289. })
  290. },
  291. /**
  292. * 生命周期函数--监听页面初次渲染完成
  293. */
  294. onReady: function () {
  295. },
  296. /**
  297. * 生命周期函数--监听页面显示
  298. */
  299. onShow: function () {
  300. },
  301. /**
  302. * 生命周期函数--监听页面隐藏
  303. */
  304. onHide: function () {
  305. },
  306. /**
  307. * 生命周期函数--监听页面卸载
  308. */
  309. onUnload: function () {
  310. },
  311. /**
  312. * 页面相关事件处理函数--监听用户下拉动作
  313. */
  314. onPullDownRefresh: function () {
  315. },
  316. /**
  317. * 页面上拉触底事件的处理函数
  318. */
  319. onReachBottom: function () {
  320. },
  321. /**
  322. * 用户点击右上角分享
  323. */
  324. onShareAppMessage: function () {
  325. }
  326. })