searchResults.js 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493
  1. // pages/searchResults/searchResults.js
  2. const app = getApp()
  3. const api = require('../../api/index')
  4. import { $startWuxRefresher, $stopWuxRefresher,$stopWuxLoader,$wuxGallery} from '../../miniprogram_npm/wux-weapp/index'
  5. Page({
  6. /**
  7. * 页面的初始数据
  8. */
  9. data: {
  10. imgHttp:app.globalData.imghttp,
  11. phone:app.globalData.phone,
  12. queryParams:{
  13. current:1,
  14. size:10
  15. },
  16. ifAddSearchRecord:true,
  17. total:0,
  18. loading:false,
  19. tableData:[],
  20. keyword:'',
  21. scrollTop: 0,
  22. searchType:1,//检索类型1是爆款产品0是手动检索
  23. product:{},//产品信息
  24. patentNoList:[],
  25. patentList:[],
  26. buttons:[
  27. {
  28. label: '提交工单',
  29. method:'check'
  30. },
  31. {
  32. label: '一键导出',
  33. method:'export'
  34. },
  35. {
  36. label:'人工客服',
  37. method:'makePhoneCall'
  38. }
  39. ],
  40. concernType:{
  41. '0':'myIconicon-test',//黑
  42. '1':'myIconanquanbangzhu',//白
  43. '2':'myIcongroup43'//灰
  44. },
  45. showDialog:false,
  46. followType:null,
  47. isAdd:false
  48. },
  49. /**
  50. * 生命周期函数--监听页面加载
  51. */
  52. onLoad(options) {
  53. this.setData(
  54. {
  55. searchType:options.type,
  56. product:JSON.parse(decodeURIComponent(options.product))
  57. }
  58. )
  59. console.log(this.data.product)
  60. this.init()
  61. },
  62. /**
  63. * 生命周期函数--监听页面初次渲染完成
  64. */
  65. onReady() {
  66. },
  67. /**
  68. * 生命周期函数--监听页面显示
  69. */
  70. onShow() {
  71. },
  72. /**
  73. * 页面功能
  74. */
  75. //初始化加载
  76. init(){
  77. var params = {
  78. current:1,
  79. size:10
  80. }
  81. this.setData(
  82. {
  83. queryParams:params,
  84. total:0,
  85. tableData:[],
  86. patentNoList:[]
  87. }
  88. )
  89. this.getPatentVectors()
  90. },
  91. //下拉
  92. onPulling() {
  93. console.log('onPulling')
  94. },
  95. //下拉刷新
  96. onRefresh() {
  97. console.log('onRefresh')
  98. this.init()
  99. },
  100. //查看图片
  101. previewImage(e) {
  102. console.log(e)
  103. var { current,imglist } = e.currentTarget.dataset
  104. var imgs = []
  105. for(var i =0;i<imglist.length;i++){
  106. imgs.push(this.data.imgHttp + imglist[i].guid)
  107. }
  108. current = this.data.imgHttp + current
  109. $wuxGallery().show({
  110. current,
  111. urls: imgs.map((n) => ({ image: n, remark: n })),
  112. indicatorDots: true,
  113. indicatorColor: '#fff',
  114. indicatorActiveColor: '#04BE02',
  115. showDelete:false
  116. })
  117. // wx.previewImage({
  118. // current,
  119. // urls:imgs,
  120. // })
  121. },
  122. //修改输入的关键词
  123. changeKeyword(e){
  124. this.setData(
  125. {
  126. keyword:e.detail
  127. }
  128. )
  129. },
  130. //点击输入框内部图标
  131. clickInnerIcon(e){
  132. // console.log(e)
  133. },
  134. //点击搜索按钮
  135. search(e){
  136. // console.log(e)
  137. },
  138. //查询产品相关专利
  139. getPatentVectors(){
  140. console.log(this.data.product)
  141. var params = {
  142. pageNum:this.data.queryParams.current,
  143. pageSize:this.data.queryParams.size,
  144. ifAddSearchRecord:this.data.ifAddSearchRecord
  145. }
  146. if(this.data.searchType == 1){
  147. params.productId = this.data.product.id
  148. }else{
  149. params.key = this.data.product.key
  150. params.description = this.data.product.description
  151. }
  152. var vectorDTO = JSON.stringify(params)
  153. var url = 'getPatentVectors'
  154. var data = {
  155. vectorDTO:vectorDTO
  156. }
  157. if(this.data.product.filePath){
  158. url = "getPatentVectorsByImage"
  159. }
  160. wx.showLoading({
  161. title: '加载中',
  162. })
  163. api[url](data,this.data.product.filePath).then(res=>{
  164. if(res.code == 200){
  165. console.log(res)
  166. var len1 = this.data.tableData.length
  167. var len = len1>0?len1-1: 0
  168. this.setData(
  169. {
  170. tableData:this.data.tableData.concat(res.data.data),
  171. total:res.data.total,
  172. ifAddSearchRecord:false
  173. }
  174. )
  175. for(let i = 0;i<res.data.data.length;i++){
  176. this.getPictureByNo(res.data.data[i],len)
  177. len += 1
  178. }
  179. // res.data.data(item=>{
  180. // this.getPictureByNo(item,len)
  181. // len += 1
  182. // })
  183. }
  184. })
  185. },
  186. //根据专利号获取相关图片
  187. getPictureByNo(data,index){
  188. var params = {
  189. appNo:data.appNo
  190. }
  191. api.getPictureByNo(params).then(res=>{
  192. if(res.code == 200){
  193. this.setData(
  194. {
  195. ["tableData["+index+"].imageList"]:res.data
  196. }
  197. )
  198. }
  199. })
  200. },
  201. //加载更多
  202. loadMore(){
  203. var current = this.data.queryParams.current
  204. this.setData(
  205. {
  206. ['queryParams.current']:current+1
  207. }
  208. )
  209. this.getPatentVectors()
  210. },
  211. //选择专利
  212. changePatentNoList(event) {
  213. console.log(event)
  214. var {item,appNo} = event.currentTarget.dataset
  215. var data = event.detail
  216. var patent = this.data.patentList
  217. var index = data.indexOf(appNo)
  218. if(index != -1){
  219. var index1 = patent.findIndex(item=>{
  220. return item.appNo == appNo
  221. })
  222. patent.splice(index1,1)
  223. }else{
  224. patent.push(item)
  225. }
  226. this.setData({
  227. patentNoList: event.detail,
  228. patentList:patent
  229. });
  230. },
  231. onchange(e){
  232. console.log(1)
  233. },
  234. //查看已选择的专利
  235. clickButton(e){
  236. console.log(e)
  237. var that = this
  238. wx.navigateTo({
  239. url: '/pages/selectedPatents/selectedPatents',
  240. events: {
  241. // 为指定事件添加一个监听器,获取被打开页面传送到当前页面的数据
  242. acceptDataFromOpenedPage: function(data) {
  243. console.log(data)
  244. },
  245. someEvent: function(data) {
  246. console.log(data)
  247. }
  248. },
  249. success: function(res) {
  250. // 通过eventChannel向被打开页面传送数据
  251. res.eventChannel.emit('acceptDataFromOpenerPage', { data: that.data.patentList })
  252. }
  253. })
  254. },
  255. //关注产品
  256. open(){
  257. this.setData(
  258. {
  259. showDialog:true
  260. }
  261. )
  262. },
  263. //取消关注
  264. closeDialog(){
  265. this.setData(
  266. {
  267. showDialog:false,
  268. followType:null,
  269. }
  270. )
  271. },
  272. attention(e){
  273. var {type} = e.currentTarget.dataset
  274. this.setData(
  275. {
  276. followType:type
  277. }
  278. )
  279. },
  280. //是否收藏
  281. changeIsAdd(e){
  282. this.setData(
  283. {
  284. isAdd:e.detail
  285. }
  286. )
  287. console.log(e)
  288. },
  289. //确认关注
  290. confirm(){
  291. console.log(this.data.followType)
  292. if(this.data.followType != 0 && !this.data.followType){
  293. api.notify(
  294. {
  295. type:'warning',
  296. message:'请选择关注类型',
  297. top:'90'
  298. }
  299. )
  300. return false
  301. }
  302. var that = this
  303. if(this.data.searchType == 0){
  304. console.log(1)
  305. wx.navigateTo({
  306. url: `/pages/form/addProduct/addProduct`,
  307. success: function(res) {
  308. // 通过eventChannel向被打开页面传送数据
  309. var data = {
  310. ...that.data.product,
  311. concernType:that.data.followType
  312. }
  313. res.eventChannel.emit('acceptDataFromOpenerPage', data)
  314. }
  315. })
  316. return false
  317. }
  318. var params = {
  319. productId:this.data.product.id,
  320. concernType:this.data.followType
  321. }
  322. wx.showLoading({
  323. title: '加载中',
  324. })
  325. api.follow(params).then(res=>{
  326. if(res.code == 200){
  327. var obj = {
  328. type: 'success',
  329. message: '关注成功',
  330. top:'90'
  331. }
  332. api.notify(obj)
  333. that.setData({
  334. ['product.concernType'] : that.data.followType,
  335. })
  336. that.closeDialog()
  337. // console.log(that.data.isAdd,this.data.patentNoList)
  338. if(that.data.isAdd ){
  339. that.setData(
  340. {
  341. idAdd:false
  342. }
  343. )
  344. if(that.data.patentNoList && that.data.patentNoList.length>0){
  345. var params1 = {
  346. productId:that.data.product.id,
  347. patentNos:that.data.patentNoList
  348. }
  349. api.collectPatent(params1).then(res=>{
  350. if(res.code == 200){
  351. }
  352. })
  353. }
  354. }
  355. }
  356. })
  357. },
  358. //取消关注
  359. cancelFollow(e){
  360. if(!this.data.product.id){
  361. return false
  362. }
  363. wx.showModal({
  364. title: '提示',
  365. content: '确认取消关注?',
  366. complete: (res) => {
  367. if (res.cancel) {}
  368. if (res.confirm) {
  369. var product = this.data.product
  370. var params = {
  371. productId:product.id
  372. }
  373. wx.showLoading({
  374. title: '取消中',
  375. })
  376. api.unFollow(params).then(res=>{
  377. if(res.code == 200){
  378. var obj = {
  379. type: 'success',
  380. message: '取关成功',
  381. }
  382. if(this.properties.isFollow){
  383. obj.top = '90'
  384. }
  385. api.notify(obj)
  386. this.setData({
  387. ['product.concernType'] : null
  388. })
  389. if(this.data.searchType == 0){
  390. this.setData({
  391. ['product.id'] : null
  392. })
  393. }
  394. }
  395. })
  396. }
  397. }
  398. })
  399. },
  400. //监控
  401. control(e){
  402. // var index = e.currentTarget.dataset.index
  403. wx.showModal({
  404. title: '提示',
  405. content: '敬请期待!',
  406. complete: (res) => {
  407. if (res.cancel) {}
  408. if (res.confirm) {}
  409. }
  410. })
  411. },
  412. //点击button
  413. onClick(e){
  414. console.log(e)
  415. var btn = e.detail.value
  416. this[btn.method]()
  417. },
  418. //导出
  419. export(){
  420. if(!this.data.patentNoList || this.data.patentNoList.length==0){
  421. wx.showToast({
  422. title: '您未选择专利!',
  423. icon:'none',
  424. duration: 2000
  425. })
  426. return false
  427. }
  428. },
  429. //我要查风险
  430. check(){
  431. wx.navigateTo({
  432. url: '/pages/form/riskAssessment/riskAssessment',
  433. })
  434. },
  435. makePhoneCall(){
  436. wx.makePhoneCall({
  437. phoneNumber: this.data.phone
  438. })
  439. },
  440. /**
  441. * 生命周期函数--监听页面隐藏
  442. */
  443. onHide() {
  444. },
  445. /**
  446. * 生命周期函数--监听页面卸载
  447. */
  448. onUnload() {
  449. },
  450. /**
  451. * 页面相关事件处理函数--监听用户下拉动作
  452. */
  453. onPullDownRefresh() {
  454. },
  455. /**
  456. * 页面上拉触底事件的处理函数
  457. */
  458. onReachBottom() {
  459. },
  460. /**
  461. * 用户点击右上角分享
  462. */
  463. onShareAppMessage() {
  464. }
  465. })