index.ts 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245
  1. import { FunCode } from "../../../constants/enum/funcode"
  2. import { EOrderSrc } from "../../../constants/enum/index"
  3. import services from "../../../services/index"
  4. import { sendMsgToMQ } from "../../../services/api/common/index"
  5. import { getGoods, queryPermancePlanTmp } from "../../../services/api/orders/index"
  6. import { accountid, clientType, getErrorMsg, isEncrypted, loginid, marketid, protoHeader, timetample, userid } from "../../../services/utils"
  7. import { hideLoading, showLoading, showModel, showToast } from "../../../utils/message/index"
  8. import { encryptBody } from "../../../utils/websocket/crypto"
  9. Page({
  10. /**
  11. * 页面的初始数据
  12. */
  13. data: {
  14. /// 底部安全区域
  15. safeBottom: getApp().globalData.safeBottom,
  16. /// 商品信息
  17. goods: <GuangZuan.GetGoods>({}),
  18. /// 商品编号
  19. goodsno: '',
  20. /// 选中履约模板
  21. tmp: <GuangZuan.PermancePlanTmp>({}),
  22. /// 卖单信息
  23. order: <GuangZuan.SellOrder>({}),
  24. /// 颜色
  25. colors: ['rebeccapurple', 'green', 'hotpink', 'orange', 'darkgoldenrod', 'firebrick'],
  26. /// 操作
  27. operator: 1,
  28. /// 委托时间
  29. ordertime: ''
  30. },
  31. /**
  32. * 返回上层视图
  33. */
  34. backToParent() {
  35. /// 返回上层视图
  36. wx.navigateBack()
  37. },
  38. /**
  39. * 获取商品数据信息
  40. */
  41. getGoods() {
  42. showLoading(() => {
  43. /// 发送请求
  44. getGoods({
  45. data: {
  46. goodsno: this.data.goodsno
  47. },
  48. success: (res) => {
  49. hideLoading( ()=> {
  50. var obj = res.data
  51. obj.imagepath = (services.config.openApiUrl+obj.imagepath).replace('./uploadFile', '/uploadFile')
  52. this.setData({ goods: obj })
  53. })
  54. },
  55. fail: (emsg) => {
  56. hideLoading( ()=> {}, emsg)
  57. }
  58. })
  59. })
  60. },
  61. /// 获取履约模板信息
  62. queryPermancePlanTmp() {
  63. /// showLoading
  64. showLoading(() => {
  65. queryPermancePlanTmp({
  66. success: (res) => {
  67. /// 获取数据
  68. this.setData({
  69. tmps: res.data,
  70. tmp: res.data[0],
  71. actions: res.data.map(obj => { return obj.templatename })
  72. })
  73. },
  74. complete: () => {
  75. /// hideLoading
  76. hideLoading()
  77. }
  78. })
  79. })
  80. },
  81. /// 钻石买摘牌接口
  82. doZSBuyOrderDesting() {
  83. /// showModel
  84. showModel(() => {
  85. /// showLoding....
  86. showLoading(() => {
  87. /// 构建参数信息
  88. const info = JSON.stringify({
  89. Header: protoHeader(FunCode.ZSBuyOrderDestingReq),
  90. UserID: userid(),
  91. AccountID: accountid(),
  92. RelatedWRTradeOrderID: this.data.order.wrtradeorderid,
  93. OrderQty: this.data.order.remainqty,
  94. OrderSrc: EOrderSrc.ORDERSRC_CLIENT,
  95. ClientSerialNo: timetample().toString(),
  96. ClientType: clientType(),
  97. OperatorID: loginid(),
  98. MarketID: marketid()
  99. })
  100. /// 发送请求
  101. sendMsgToMQ({
  102. data: {
  103. data: encryptBody(info),
  104. funCodeReq: FunCode.ZSBuyOrderDestingReq,
  105. funCodeRsp: FunCode.ZSBuyOrderDestingRsp,
  106. isEncrypted: isEncrypted(),
  107. },
  108. success: (res) => {
  109. /// 请求失败
  110. if (res.code ! = 0) {
  111. hideLoading(() => {}, res.msg)
  112. return
  113. }
  114. /// 解析对象
  115. const data = JSON.parse(res.data.data)
  116. if (data.RetCode != 0) {
  117. hideLoading(() => {}, getErrorMsg(data.RetCode))
  118. return
  119. }
  120. /// 请求成功
  121. hideLoading(() => {
  122. wx.navigateBack()
  123. }, '购买请求成功')
  124. },
  125. fail: (emsg) => {
  126. hideLoading(() => {
  127. showToast('购买操作请求失败,原因:'+emsg)
  128. })
  129. }
  130. })
  131. }, '请求中......')
  132. }, '提示', '确定要购买吗?', true)
  133. },
  134. /**
  135. * 添加收藏
  136. */
  137. onFavoriteOperator() {
  138. /// loding.....
  139. showLoading(()=>{
  140. /// 委托单号
  141. const wrtradeorderid = this.data.goods.wrtradeorderid
  142. /// 参数信息
  143. const info = JSON.stringify({
  144. UserID: userid(),
  145. OperateType: this.data.operator === 1 ? 2 : 1,
  146. ClientType: clientType(),
  147. MarketID: marketid(),
  148. ClientSerialNo: timetample().toString(),
  149. WRTradeOrderID: wrtradeorderid,
  150. Header: protoHeader(FunCode.GoodsFavoriteOperateReq)
  151. })
  152. /// 发送请求
  153. sendMsgToMQ({
  154. data: {
  155. data: encryptBody(info),
  156. funCodeReq: FunCode.GoodsFavoriteOperateReq,
  157. funCodeRsp: FunCode.GoodsFavoriteOperateRsp,
  158. isEncrypted: isEncrypted()
  159. },
  160. success: (res) => {
  161. /// 解析对象
  162. const data = JSON.parse(res.data.data)
  163. if (data.RetCode != 0) {
  164. hideLoading(() => {}, getErrorMsg(data.RetCode))
  165. return
  166. }
  167. /// 操作成功
  168. hideLoading(()=>{
  169. /// 是否收藏
  170. this.setData({ operator: this.data.operator === 1 ? 2 : 1 })
  171. }, '请求成功', 'success')
  172. },
  173. fail: (emsg) => {
  174. /// 操作失败
  175. hideLoading(()=>{}, emsg)
  176. }
  177. })
  178. })
  179. },
  180. /**
  181. * 生命周期函数--监听页面加载
  182. */
  183. onLoad(options: any) {
  184. /// 商品编号
  185. this.setData({ goodsno: options.goodsno, ordertime: options.ordertime })
  186. /// 获取商品数据
  187. this.getGoods()
  188. /// 查询履约模板信息
  189. this.queryPermancePlanTmp()
  190. /// 单据信息
  191. const item = JSON.parse(options.item)
  192. if (item) { this.setData({ order: item }) }
  193. },
  194. /**
  195. * 生命周期函数--监听页面初次渲染完成
  196. */
  197. onReady() {},
  198. /**
  199. * 生命周期函数--监听页面显示
  200. */
  201. onShow() {},
  202. /**
  203. * 生命周期函数--监听页面隐藏
  204. */
  205. onHide() {},
  206. /**
  207. * 生命周期函数--监听页面卸载
  208. */
  209. onUnload() {},
  210. /**
  211. * 页面相关事件处理函数--监听用户下拉动作
  212. */
  213. onPullDownRefresh() {
  214. },
  215. /**
  216. * 页面上拉触底事件的处理函数
  217. */
  218. onReachBottom() {
  219. },
  220. /**
  221. * 用户点击右上角分享
  222. */
  223. onShareAppMessage() {
  224. }
  225. })