detail.js 6.4 KB

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