calculator.ts 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187
  1. import { priceCalc } from "../../../services/api/orders/index"
  2. // mHome/pages/calculator/calculator.ts
  3. Page({
  4. /**
  5. * 页面的初始数据
  6. */
  7. data: {
  8. /// 底部安全区域
  9. safeBottom: getApp().globalData.safeBottom,
  10. /// 窗口高度
  11. windowHeight: getApp().globalData.windowHeight,
  12. /// 形状
  13. zsshapes: [{id: 1, name: '圆形', isCheck: true},
  14. {id: 2, name: '异性', isCheck: false}],
  15. /// 选中形状
  16. zsshape: 1,
  17. /// 当前日期
  18. date: Date(),
  19. /// 颜色
  20. zscolors: [{id: 1, name: 'D', isCheck: true},
  21. {id: 2, name: 'E', isCheck: false},
  22. {id: 3, name: 'F', isCheck: false},
  23. {id: 4, name: 'G', isCheck: false},
  24. {id: 5, name: 'H', isCheck: false},
  25. {id: 6, name: 'I', isCheck: false},
  26. {id: 7, name: 'J', isCheck: false},
  27. {id: 8, name: 'K', isCheck: false},
  28. {id: 9, name: 'L', isCheck: false}],
  29. /// 选中形状
  30. zscolor: 'D',
  31. /// 净度
  32. zsclaritys: [{id: 1, name: 'IF', isCheck: true},
  33. {id: 2, name: 'VVS1', isCheck: false},
  34. {id: 3, name: 'VVS2', isCheck: false},
  35. {id: 4, name: 'VS1', isCheck: false},
  36. {id: 5, name: 'VS2', isCheck: false},
  37. {id: 6, name: 'SL1', isCheck: false},
  38. {id: 7, name: 'SL2', isCheck: false},
  39. {id: 8, name: 'SL3', isCheck: false},
  40. {id: 9, name: 'I1', isCheck: false},
  41. {id: 10, name: 'I2', isCheck: false},
  42. {id: 11, name: 'I3', isCheck: false}],
  43. /// 选中净度
  44. zsclarity: 'IF',
  45. /// 重量
  46. weight: 1.0,
  47. /// 汇率
  48. dayrate: 1.0,
  49. /// 折扣
  50. discount: 10.0,
  51. /// 美元
  52. doller: 0.0,
  53. /// 人民币
  54. rmb: 0.0,
  55. /// 克拉单价
  56. unitPrice: 0.0,
  57. },
  58. /// 钻石价格计算器
  59. priceCalc() {
  60. /// showLoding....
  61. wx.showLoading({ title: '计算中....' })
  62. /// 进行查询
  63. priceCalc({
  64. data: {
  65. zsshape: this.data.zsshape,
  66. zscolor: 'D',
  67. zsclarity: this.data.zsclarity,
  68. weight: this.data.weight,
  69. rate: this.data.dayrate,
  70. discount: this.data.discount
  71. },
  72. /// 查询成功
  73. success: (res) => {
  74. console.log(res)
  75. },
  76. /// 查询失败
  77. fail: (emsg) => {
  78. wx.showToast({
  79. title: '请求失败,原因:' + emsg,
  80. icon: 'error'
  81. })
  82. },
  83. complete: () => {
  84. /// hideLoading
  85. wx.hideLoading()
  86. }
  87. })
  88. },
  89. /**
  90. * 按钮点击响应事件
  91. */
  92. /// 形状按钮点击事件
  93. onButtonPressed(e: any) {
  94. /// 获取对应的id
  95. const ids = (<string> e.target.id).split(' ')
  96. let id = (<string> e.target.id).split(' ')[0]
  97. const index = <number> <unknown>ids[1]
  98. switch (id) {
  99. case 'zsshape': /// 形状
  100. this.setData({
  101. zsshapes: this.data.zsshapes.map(item => {
  102. if (item.id == index) {
  103. item.isCheck = true
  104. /// 设置形状
  105. this.setData({ zsshape: item.id })
  106. } else {
  107. item.isCheck = false
  108. }
  109. return item
  110. })
  111. })
  112. break;
  113. case 'zscolor': /// 颜色
  114. this.setData({ colors: this.data.zscolors.map(item => {
  115. if (item.id == index) {
  116. item.isCheck = true
  117. /// 设置形状
  118. this.setData({ zscolor: item.name })
  119. } else {
  120. item.isCheck = false
  121. }
  122. return item
  123. }) })
  124. break;
  125. case 'zsclarity': /// 净度
  126. this.setData({ neatness: this.data.zsclaritys.map(item => {
  127. if (item.id == index) {
  128. item.isCheck = true
  129. /// 设置形状
  130. this.setData({ zsclarity: item.name })
  131. } else {
  132. item.isCheck = false
  133. }
  134. return item
  135. }) })
  136. break;
  137. default: /// 计算
  138. this.priceCalc()
  139. break;
  140. }
  141. },
  142. /**
  143. * 生命周期函数--监听页面加载
  144. */
  145. onLoad() {},
  146. /**
  147. * 生命周期函数--监听页面初次渲染完成
  148. */
  149. onReady() {},
  150. /**
  151. * 生命周期函数--监听页面显示
  152. */
  153. onShow() {},
  154. /**
  155. * 生命周期函数--监听页面隐藏
  156. */
  157. onHide() {},
  158. /**
  159. * 生命周期函数--监听页面卸载
  160. */
  161. onUnload() {},
  162. /**
  163. * 页面相关事件处理函数--监听用户下拉动作
  164. */
  165. onPullDownRefresh() {},
  166. /**
  167. * 页面上拉触底事件的处理函数
  168. */
  169. onReachBottom() {},
  170. /**
  171. * 用户点击右上角分享
  172. */
  173. onShareAppMessage() {}
  174. })