index.ts 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242
  1. import { gzCertAddressConfig, gzCertAddressParam } from "../../../services/api/orders/index"
  2. import { hideLoading, showLoading, showToast } from "../../../utils/message/index"
  3. Page({
  4. /**
  5. * 页面的初始数据
  6. */
  7. data: {
  8. /// tabs
  9. tabs: [{id: 0, name: '国内'}, {id: 1, name: '国际'}],
  10. /// tab索引
  11. active: 0,
  12. /// 参数配置信息
  13. configs: <GuangZuan.GzCertAddressConfig[]>[],
  14. /// 显示的数据
  15. datas: <GuangZuan.GzCertAddressConfig[]>[],
  16. /// 选中的证书类型
  17. config: <GuangZuan.GzCertAddressConfig>{},
  18. /// 证书参数信息
  19. params: <GuangZuan.GzCertAddressParam[]>[],
  20. /// 证书号
  21. certno: '',
  22. /// 防伪码
  23. securityCode: '',
  24. /// 查询地址
  25. paramAddress: ''
  26. },
  27. /**
  28. * 证书查询
  29. */
  30. certSearch() {
  31. /// 合规性校验
  32. if (!this.check()) { return }
  33. var param = ''
  34. /// 参数拼接
  35. var filters = this.data.params.filter(itm => {
  36. return itm.certtype == this.data.config.certtype
  37. })
  38. /// 地址拼接
  39. filters.forEach(obj => {
  40. if (obj.orderindex == 1) {
  41. param = param.concat(obj.paramkey+'='+this.data.certno+(filters.length > 1 ? '&' : ''))
  42. } else {
  43. param = param.concat(obj.paramkey+'='+this.data.securityCode)
  44. }
  45. })
  46. /// 最终的查询地址
  47. this.setData({ paramAddress: this.data.config.queryaddress+(param != "" ? param : '') })
  48. },
  49. /**
  50. * 清空
  51. */
  52. clear() {
  53. /// 数据清空
  54. this.setData({
  55. certno: '',
  56. securityCode: '',
  57. paramAddress: ''
  58. })
  59. },
  60. /**
  61. * 获取证书地址参数查询
  62. */
  63. gzCertAddressConfig() {
  64. /// loding.....
  65. showLoading(()=>{
  66. /// 发送查询
  67. gzCertAddressConfig({
  68. success: (res) => {
  69. if (res.code != 200) {
  70. hideLoading(()=>{}, '参数加载失败,原因:'+res.msg)
  71. return
  72. }
  73. /// 加载成功
  74. hideLoading(()=>{
  75. /// 设置数据
  76. this.setData({
  77. /// 配置数据
  78. configs: res.data,
  79. /// 显示数据
  80. datas: res.data.filter(itm => {
  81. /// 默认选中第一个
  82. if (itm.orderindex == 1) { itm.isCheck = true }
  83. return itm.certregion == this.data.active+1
  84. }),
  85. })
  86. /// 默认选中第一个
  87. this.setData({ config: this.data.datas[0] })
  88. })
  89. },
  90. fail: (emsg) => {
  91. hideLoading(()=>{}, emsg)
  92. }
  93. })
  94. })
  95. },
  96. /**
  97. * 钻石证书地址参数
  98. */
  99. gzCertAddressParam() {
  100. /// showLoading
  101. showLoading(()=>{
  102. /// 发送查询
  103. gzCertAddressParam({
  104. success: (res) => {
  105. if (res.code != 200) {
  106. hideLoading(()=>{}, '证书地址参数加载失败,原因:'+res.msg)
  107. return
  108. }
  109. hideLoading(()=>{
  110. /// 设置数据
  111. this.setData({
  112. /// 配置数据
  113. params: res.data,
  114. })
  115. })
  116. },
  117. fail: (emsg) => {
  118. hideLoading(()=>{}, emsg)
  119. }
  120. })
  121. })
  122. },
  123. /**
  124. * tab触发事件
  125. */
  126. onTabChange(e: any) {
  127. /// 设置激活项
  128. this.setData({
  129. active: e.detail.index,
  130. /// 显示数据
  131. datas: this.data.configs.filter(itm => {
  132. return itm.certregion == e.detail.index+1
  133. })
  134. })
  135. /// 默认选中第一个
  136. this.setData({ config: this.data.datas[0] })
  137. },
  138. /**
  139. * 返回上层视图
  140. */
  141. backToParent() {
  142. /// 返回上层视图
  143. wx.navigateBack()
  144. },
  145. /// 形状按钮点击事件
  146. onButtonClick(e: any) {
  147. const index = e.target.id
  148. /// 设置数据
  149. this.setData({
  150. datas: this.data.datas.map(item => {
  151. item.isCheck = item.orderindex == index
  152. return item
  153. }),
  154. })
  155. this.setData({ config: this.data.datas.filter(itm => { return itm.orderindex == index })[0] })
  156. },
  157. /**
  158. * 生命周期函数--监听页面加载
  159. */
  160. onLoad() {
  161. /// 获取参数配置信息
  162. this.gzCertAddressConfig()
  163. /// 获取钻石证书地址参数
  164. this.gzCertAddressParam()
  165. },
  166. /**
  167. * 生命周期函数--监听页面初次渲染完成
  168. */
  169. onReady() {
  170. },
  171. /// 合规性校验
  172. check(): boolean {
  173. /// 请输入证书号
  174. if (this.data.certno.length == 0) {
  175. showToast('请输入证书号!')
  176. return false
  177. }
  178. /// 请输入防伪码
  179. if (this.data.securityCode.length == 0) {
  180. showToast('请输入防伪码!')
  181. return false
  182. }
  183. return true
  184. },
  185. /**
  186. * 生命周期函数--监听页面显示
  187. */
  188. onShow() {
  189. },
  190. /**
  191. * 生命周期函数--监听页面隐藏
  192. */
  193. onHide() {
  194. },
  195. /**
  196. * 生命周期函数--监听页面卸载
  197. */
  198. onUnload() {
  199. },
  200. /**
  201. * 页面相关事件处理函数--监听用户下拉动作
  202. */
  203. onPullDownRefresh() {
  204. },
  205. /**
  206. * 页面上拉触底事件的处理函数
  207. */
  208. onReachBottom() {
  209. },
  210. /**
  211. * 用户点击右上角分享
  212. */
  213. onShareAppMessage() {
  214. }
  215. })