detail.js 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288
  1. const _Http = getApp().globalData.http,
  2. getTime = require("../../utils/getTime")
  3. Page({
  4. data: {
  5. loading: true,
  6. sa_aftersalesmagid: null,
  7. tabsActive: 1,
  8. currentDate: new Date().getTime(),
  9. formatter(type, value) {
  10. if (type === 'year') {
  11. return `${value}年`;
  12. }
  13. if (type === 'month') {
  14. return `${value}月`;
  15. }
  16. return value;
  17. },
  18. show:false,
  19. tabsList: [{
  20. label: "详细信息",
  21. icon: "icon-tabchanpin"
  22. }, {
  23. label: "商品明细",
  24. icon: "icon-tabcaozuojilu1",
  25. model: "#toolBill"
  26. }],
  27. tabbarsList: []
  28. },
  29. onLoad(options) {
  30. this.setData({
  31. sa_aftersalesmagid: options.id
  32. });
  33. this.getDetail(true);
  34. },
  35. /* 获取详情 */
  36. getDetail(init = false, show = true) {
  37. _Http.basic({
  38. "id": 20230104160603,
  39. "content": {
  40. nocache: true,
  41. "sa_aftersalesmagid": this.data.sa_aftersalesmagid
  42. }
  43. }, show).then(res => {
  44. console.log("出货详情", res)
  45. if (res.msg != '成功') return wx.showToast({
  46. title: res.msg,
  47. icon: "none"
  48. });
  49. let tabbarsList = []
  50. if (res.data.status == '新建') tabbarsList = [{
  51. label: "编辑",
  52. icon: "icon-dibu-bianji"
  53. },{
  54. label: "提交",
  55. icon: "icon-tijiao",
  56. },{
  57. label: "删除",
  58. icon: "icon-guanlian-shanchu"
  59. }]
  60. if (res.data.status == '提交') tabbarsList = [{
  61. label: "取消提交",
  62. icon: "icon-tabgenjinjilu"
  63. }
  64. ]
  65. if (res.data.status == '审核') tabbarsList = []
  66. this.setPreview(res.data);
  67. this.setData({
  68. detail: res.data,
  69. tabbarsList,
  70. loading: false
  71. });
  72. if (init) this.partialRenewal(true)
  73. })
  74. },
  75. /* 设置详情信息 */
  76. setPreview(data) {
  77. let list1 = [{
  78. label: "单号",
  79. value: data.billno
  80. }, {
  81. label: "单据日期",
  82. value: data.billdate
  83. }, {
  84. label: "状态",
  85. value: data.status
  86. },
  87. {
  88. label:'是否实物返回',
  89. value:data.isitemreturn ? '是' : '否'
  90. }, {
  91. label: "提交日期",
  92. value: data.submitdate
  93. },{
  94. label: "审核日期",
  95. value: data.checkdate
  96. }, {
  97. label: "备注",
  98. value: data.remarks
  99. }],
  100. list2 = [{
  101. label: "创建人",
  102. value: data.createby
  103. }, {
  104. label: "创建时间",
  105. value: data.createdate
  106. }, {
  107. label: "审核人",
  108. value: data.checkby
  109. }, {
  110. label: "审核时间",
  111. value: data.checkdate
  112. }];
  113. this.setData({
  114. list1,
  115. list2
  116. })
  117. },
  118. /* 审核选择弹出框关闭 */
  119. onClose () {
  120. this.setData({
  121. show: false
  122. })
  123. },
  124. /* 审核提交 */
  125. async checkSubmit ({
  126. detail
  127. }) {
  128. let res = await _Http.basic({
  129. "id": "20221226153304",
  130. "content": {
  131. "sa_aftersalesmagid":this.data.sa_aftersalesmagid,
  132. "period":getTime.formatTime(new Date(detail), '-').split(' ')[0]
  133. }
  134. })
  135. console.log(res);
  136. if (res.msg == '成功') {
  137. this.setData({
  138. show:false
  139. })
  140. this.getDetail(true)
  141. }
  142. },
  143. tabbarOnClick({
  144. detail
  145. }) {
  146. switch (detail.label) {
  147. case "编辑":
  148. wx.navigateTo({
  149. url: `/packageA/toolBill/update?rowData=${JSON.stringify(this.data.detail)}`,
  150. })
  151. break;
  152. case "提交":
  153. wx.showModal({
  154. title: '提示',
  155. content: `是否确认提交该工具归还单?`,
  156. complete: ({
  157. confirm
  158. }) => {
  159. if (confirm) _Http.basic({
  160. "id": "20230105161603",
  161. "content": {
  162. "sa_aftersalesmagid":this.data.sa_aftersalesmagid
  163. }
  164. }).then(res => {
  165. wx.showToast({
  166. title: res.msg == '成功' ? `已提交该工具归还单` : res.msg,
  167. icon: "none"
  168. });
  169. if (res.msg == '成功') {
  170. this.getDetail()
  171. let pages = getCurrentPages(),
  172. page = pages[pages.length - 2]
  173. page.getList(true)
  174. }
  175. })
  176. }
  177. })
  178. break;
  179. case "取消提交":
  180. wx.showModal({
  181. title: '提示',
  182. content: `是否确认取消提交该工具归还单?`,
  183. complete: ({
  184. confirm
  185. }) => {
  186. if (confirm) _Http.basic({
  187. "id": "20230105161703",
  188. "content": {
  189. "sa_aftersalesmagid":this.data.sa_aftersalesmagid
  190. }
  191. }).then(res => {
  192. wx.showToast({
  193. title: res.msg == '成功' ? `已取消提交该工具归还单` : res.msg,
  194. icon: "none"
  195. });
  196. if (res.msg == '成功') {
  197. this.getDetail()
  198. let pages = getCurrentPages(),
  199. page = pages[pages.length - 2]
  200. page.getList(true)
  201. }
  202. })
  203. }
  204. })
  205. break;
  206. case "删除":
  207. wx.showModal({
  208. title: '提示',
  209. content: `是否删除该工具归还单?`,
  210. complete: ({
  211. confirm
  212. }) => {
  213. if (confirm) _Http.basic({
  214. "id":20230104160803,
  215. "content": {
  216. sa_aftersalesmagids:[this.data.sa_aftersalesmagid]
  217. }
  218. }).then(res => {
  219. wx.showToast({
  220. title: res.msg == '成功' ? `已删除该工具归还单` : res.msg,
  221. icon: "none"
  222. });
  223. if (res.msg == '成功') {
  224. setTimeout(() => {
  225. wx.navigateBack()
  226. getCurrentPages()[getCurrentPages().length - 2].getList(true)
  227. },300)
  228. }
  229. })
  230. }
  231. })
  232. break;
  233. }
  234. },
  235. onInput (detail) {
  236. },
  237. //tabs 切换
  238. tabsChange({
  239. detail
  240. }) {
  241. this.setData({
  242. tabsActive: detail
  243. });
  244. console.log(this.data.tabsActive);
  245. this.partialRenewal();
  246. },
  247. //局部数据更新 tabs
  248. partialRenewal(init = false) {
  249. let model = this.data.tabsList[this.data.tabsActive].model;
  250. if (model) {
  251. let Component = this.selectComponent(model),
  252. {
  253. total,
  254. pageNumber,
  255. pageTotal
  256. } = Component.data.content,
  257. id = this.data.detail.sa_aftersalesmagid;
  258. if (total == null || init) {
  259. Component.getList(id, init);
  260. } else if (pageNumber < pageTotal) {
  261. Component.getList(id, false);
  262. }
  263. }
  264. },
  265. onReachBottom() {
  266. this.partialRenewal();
  267. },
  268. onUnload() {
  269. console.log("更新列表数据")
  270. let page = getCurrentPages().find(v => v.__route__ == 'packageA/toolBill/index');
  271. let content = JSON.parse(JSON.stringify(page.data.content));
  272. content.pageNumber = 1;
  273. content.pageSize = page.data.list.length;
  274. _Http.basic({
  275. "id": 20230111141104,
  276. content
  277. }).then(res => {
  278. console.log("更新订单列表", res)
  279. if (res.msg == '成功') page.setData({
  280. list: res.data
  281. })
  282. })
  283. },
  284. })