index.ts 6.3 KB

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