index.ts 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168
  1. import { accountid, clientType, getErrorMsg, isEncrypted, marketid, protoHeader, timetample, userid } from "../../../../services/utils"
  2. import { hideLoading, showLoading, showModel } from "../../../../utils/message/index"
  3. import { encryptBody } from "../../../../utils/websocket/crypto"
  4. import { FunCode } from "../../../../constants/enum/funcode"
  5. import { sendMsgToMQ } from "../../../../services/api/common/index"
  6. import { formatDateString } from "../../../../utils/util"
  7. import { queryPermancePlanTmp } from "../../../../services/api/orders/index"
  8. import services from "../../../../services/index"
  9. Page({
  10. /**
  11. * 页面的初始数据
  12. */
  13. data: {
  14. navTitle: '预售详情',
  15. /// 底部安全区域
  16. safeBottom: getApp().globalData.safeBottom,
  17. /// 数据信息
  18. item: {},
  19. /// 选中履约模板
  20. tmp: <GuangZuan.PermancePlanTmp>({}),
  21. /// 颜色
  22. colors: ['rebeccapurple', 'green', 'hotpink', 'orange', 'darkgoldenrod', 'firebrick', 'forestgreen', 'darksalmon', 'goldenrod', 'khaki', 'rosybrown', 'sandybrown'],
  23. /// banner图
  24. banners: ['']
  25. },
  26. /**
  27. * 返回上层视图
  28. */
  29. backToParent() {
  30. /// 返回上层视图
  31. wx.navigateBack()
  32. },
  33. /**
  34. * 立即购买
  35. */
  36. doSubmit(orderID: string, qty: string) {
  37. /// showModel
  38. showModel(() => {
  39. /// showLoading
  40. showLoading(() => {
  41. /// 请求参数
  42. const info = JSON.stringify({
  43. Header: protoHeader(FunCode.GZPresaleOrderReq),
  44. UserID: userid(),
  45. AccountID: accountid(),
  46. WRTradeOrderID: Number(orderID),
  47. OrderQty: Number(qty),
  48. MarketID: marketid(),
  49. ClientType: clientType(),
  50. ClientOrderTime: formatDateString(new Date().toString()),
  51. ClientSerialNo: timetample().toString()
  52. })
  53. /// 发送请求
  54. sendMsgToMQ({
  55. data: {
  56. data: encryptBody(info),
  57. funCodeReq: FunCode.GZPresaleOrderReq,
  58. funCodeRsp: FunCode.GZPresaleOrderRsp,
  59. isEncrypted: isEncrypted()
  60. },
  61. success: (res) => {
  62. /// 解析对象
  63. const data = JSON.parse(res.data.data)
  64. if (data.RetCode != 0) {
  65. hideLoading(() => {}, getErrorMsg(data.RetCode))
  66. return
  67. }
  68. /// 求购发布请求成功
  69. hideLoading(() => {
  70. wx.navigateBack()
  71. }, '立即购买申请成功', 'success')
  72. },
  73. fail: (emsg) => {
  74. hideLoading(()=>{}, emsg)
  75. }
  76. })
  77. }, '提交申请请求中....')
  78. }, '提示', '确认要立即购买申请吗?')
  79. },
  80. /// 获取履约模板信息
  81. queryPermancePlanTmp(performancetemplateid: number) {
  82. /// showLoading
  83. showLoading(() => {
  84. queryPermancePlanTmp({
  85. success: (res) => {
  86. /// 获取数据
  87. this.setData({
  88. tmp: res.data.filter(obj => { return obj.autoid === performancetemplateid })[0]
  89. })
  90. },
  91. complete: () => {
  92. /// hideLoading
  93. hideLoading()
  94. }
  95. })
  96. })
  97. },
  98. /**
  99. * 生命周期函数--监听页面加载
  100. */
  101. onLoad(options: any) {
  102. const obj = JSON.parse(options.item)
  103. /// 解析数据
  104. this.setData({
  105. item: obj,
  106. banners: String(obj.pictureurls).split(',').map(itm => {
  107. return (services.config.openApiUrl+itm).replace('./uploadFile', '/uploadFile')
  108. })
  109. })
  110. /// 查询履约模板
  111. this.queryPermancePlanTmp(obj.performancetemplateid)
  112. },
  113. /**
  114. * 生命周期函数--监听页面初次渲染完成
  115. */
  116. onReady() {
  117. },
  118. /**
  119. * 生命周期函数--监听页面显示
  120. */
  121. onShow() {
  122. },
  123. /**
  124. * 生命周期函数--监听页面隐藏
  125. */
  126. onHide() {
  127. },
  128. /**
  129. * 生命周期函数--监听页面卸载
  130. */
  131. onUnload() {
  132. },
  133. /**
  134. * 页面相关事件处理函数--监听用户下拉动作
  135. */
  136. onPullDownRefresh() {
  137. },
  138. /**
  139. * 页面上拉触底事件的处理函数
  140. */
  141. onReachBottom() {
  142. },
  143. /**
  144. * 用户点击右上角分享
  145. */
  146. onShareAppMessage() {
  147. }
  148. })