detail.js 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227
  1. const _Http = getApp().globalData.http,
  2. currency = require("../../utils/currency"),
  3. CNY = num => currency(num, {
  4. symbol: "¥",
  5. precision: 2
  6. }).format();
  7. Page({
  8. loading: true,
  9. data: {
  10. tabsActive: 2,
  11. sa_invoiceapplyid: "",
  12. tabsList: [{
  13. label: "详细信息",
  14. icon: "icon-tabchanpin"
  15. }, {
  16. label: "开票单位",
  17. icon: "icon-tabchanpin"
  18. }, {
  19. label: "开票明细",
  20. icon: "icon-tabchanpin",
  21. model: "#DetailLine"
  22. }, {
  23. label: "发票",
  24. icon: "icon-tabchanpin",
  25. model: "#InvoiceList"
  26. }],
  27. sColors: getApp().globalData.sColors,
  28. },
  29. onLoad(options) {
  30. getApp().globalData.Language.getLanguagePackage(this, 'E-订单');
  31. this.setData({
  32. sa_invoiceapplyid: options.id
  33. });
  34. this.getDetail();
  35. },
  36. getDetail() {
  37. _Http.basic({
  38. "id": "20221216143003",
  39. "version": 1,
  40. "content": {
  41. "sa_invoiceapplyid": this.data.sa_invoiceapplyid
  42. }
  43. }).then(res => {
  44. console.log("开票单详情", res)
  45. if (res.code != '1') return wx.showToast({
  46. title: res.msg,
  47. icon: "none"
  48. })
  49. res.data.suminvoiceamount = CNY(res.data.suminvoiceamount)
  50. res.data.factamount = CNY(res.data.factamount)
  51. this.setData({
  52. detail: res.data,
  53. loading: false
  54. });
  55. this.setPreview();
  56. this.partialRenewal();
  57. })
  58. },
  59. /* 设置显示信息 */
  60. setPreview() {
  61. let item = this.data.detail;
  62. let list1 = [{
  63. label: "申请单号",
  64. value: item.billno
  65. }, {
  66. label: "发票限额",
  67. value: CNY(item.quota)
  68. }, {
  69. label: "是否手工单",
  70. value: item.byhand ? getApp().globalData.Language.getMapText('是') : getApp().globalData.Language.getMapText('否')
  71. }, {
  72. label: "发票种类",
  73. value: item.invoiceline
  74. }, {
  75. label: "发票收款人",
  76. value: item.invoicepayee
  77. }, {
  78. label: "开票员",
  79. value: item.invoiceclerk
  80. }, {
  81. label: "发票复核人",
  82. value: item.invoicechecker
  83. }, {
  84. label: "提交人",
  85. value: item.submitby
  86. }, {
  87. label: "提交日期",
  88. value: item.submitdate
  89. }, {
  90. label: "备注",
  91. value: item.remarks
  92. }];
  93. let list2 = [{
  94. label: "状态",
  95. value: item.status,
  96. style: `color:${this.data.sColors[item.status]}`
  97. }, {
  98. label: "创建人",
  99. value: item.createby
  100. }, {
  101. label: "创建时间",
  102. value: item.createdate
  103. }, {
  104. label: "审核人",
  105. value: item.checkby
  106. }, {
  107. label: "审核时间",
  108. value: item.checkdate
  109. }, {
  110. label: "修改人",
  111. value: item.changeby
  112. }, {
  113. label: "修改时间",
  114. value: item.changedate
  115. }, ];
  116. let riseLine = [{
  117. label: "抬头",
  118. value: item.enterprisename
  119. }, {
  120. label: "税号",
  121. value: item.taxno
  122. }, {
  123. label: "开户行",
  124. value: item.bank
  125. }, {
  126. label: "开户账号",
  127. value: item.bankcardno
  128. }, {
  129. label: "开票地址",
  130. value: item.address
  131. }, {
  132. label: "联系方式",
  133. value: item.phonenumber
  134. }];
  135. this.setData({
  136. list1,
  137. list2,
  138. riseLine
  139. })
  140. },
  141. //tabs 切换
  142. tabsChange({
  143. detail
  144. }) {
  145. this.setData({
  146. tabsActive: detail
  147. });
  148. this.partialRenewal();
  149. },
  150. //局部数据更新 tabs
  151. partialRenewal(init = false) {
  152. let model = this.data.tabsList[this.data.tabsActive].model;
  153. if (model) {
  154. let Component = this.selectComponent(model),
  155. {
  156. total,
  157. pageNumber,
  158. pageTotal
  159. } = Component.data.content,
  160. id = this.data.sa_invoiceapplyid;
  161. if (total == null || init) {
  162. Component.getList(id, init);
  163. } else if (pageNumber <= pageTotal) {
  164. Component.getList(id, false);
  165. }
  166. }
  167. },
  168. submit() {
  169. if (this.selectComponent("#DetailLine").data.list.length == 0) {
  170. getApp().globalData.Language.showToast('还未添加开票订单行不可提交')
  171. this.setData({
  172. tabsActive: 2
  173. })
  174. } else {
  175. let that = this;
  176. wx.showModal({
  177. cancelText: getApp().globalData.Language.getMapText('取消'),
  178. confirmText: getApp().globalData.Language.getMapText('确定'),
  179. title: getApp().globalData.Language.getMapText('提示'),
  180. content: getApp().globalData.Language.getMapText('是否确认提交该申请单') + '?',
  181. complete: ({
  182. confirm
  183. }) => {
  184. if (confirm) _Http.basic({
  185. "id": "20221219133803",
  186. "version": 1,
  187. "content": {
  188. "sa_invoiceapplyid": that.data.sa_invoiceapplyid
  189. }
  190. }).then(res => {
  191. console.log("提交申请单", res);
  192. if (res.code != '1') return wx.showToast({
  193. title: res.msg,
  194. icon: "none"
  195. });
  196. that.getDetail();
  197. })
  198. }
  199. })
  200. }
  201. },
  202. onReachBottom() {
  203. this.partialRenewal();
  204. },
  205. onUnload() {
  206. let page = getCurrentPages().find(v => v.__route__ == 'packageA/invoice/index');
  207. let content = JSON.parse(JSON.stringify(page.data.content));
  208. content.pageNumber = 1;
  209. content.pageSize = (page.data.content.pageNumber - 1) * page.data.content.pageSize;
  210. _Http.basic({
  211. "id": 20221216143103,
  212. "version": 1,
  213. content
  214. }).then(res => {
  215. console.log("开票列表", res)
  216. page.setData({
  217. list: res.data.map(v => {
  218. v.redamount = CNY(v.redamount)
  219. v.suminvoiceamount = CNY(v.suminvoiceamount)
  220. v.factamount = CNY(v.factamount)
  221. return v
  222. })
  223. })
  224. })
  225. },
  226. })