# 引入文件
// 现在写法
import { skipPageEngine } from 'suit-promis-front-components'
// 之前写法
import skipPageEngine from '@/utils/skipPageEngine'
# 页面跳转设置
skipPageEngine.skipPage(this, val, true)
提示
skipPage
方法参数有四:context
是执行上下文this
;info
是进行跳转的相应某项数据;isSame
是否为同一平台;tag
是在某个各个类型相对于路径、平台的数组中进行比对的字段,默认tag
。先比对出数据应对应的相应跳转路径等,把得到的数据的路径添加到路由,而后把info
存储到vuex
的pageParams
字段中。
# 初始化设置
mounted() {
// 跳转引导
skipPageEngine.guide(this, {
noReadControl: 'approvalFun',
readControl: 'viewFun',
getApi: get
})
},
提示
在会被跳转到的页面的mounted
阶段阶段进行跳转引导而后进行相应的操作(如:定位到某条数据的选中状态、打开某条数据对应的弹框等),通过skipPage
的跳转就能及时进行相应处理。guide
方法参数有二:context
是执行上下文this;options
是相关参数如:noReadControl
(未读的参数名,参数传入相应的打开未读状态的方法名)、getApi
(获取弹框内容的接口)等。
# pageParams的监听
this.initWatch(context)
提示
initWatch
方法会对vuex
中的pageParams
字段进行监听,此方法有效的前提是在skipPage
方法中获取到数据详情后存储在vuex
中。监听到变化后进行getInfo
方法操作。
# 根据参数查询信息
this.getInfo(pageParams)
提示
getInfo
方法是在initWatch
方法中监听到变化后进行的操作,参数是变化之后的值。先对参数中的param
字段进行处理成js
对象。如果获取的数据的详情的sight
字段不为true
,则表示此消息还是未读状态,点击跳转后消息应为已读,此时判断sight
字段后进行已读的接口调用。然后进行guide
方法传入的getApi
的接口调用,参数传入param
处理的对象。接口的值传入actionControl
方法进行处理。
# 行为控制
this.actionControl(info, sight)
提示
actionControl
方法参数有二:其中sight
是根据监听pageParams
时获取的变化值中的sight
字段来(表点击跳转过来时需要进行已读控制还是未读控制);info
就是getInfo
方法时调用接口获取的值。相应判断后根据初始化设置时noReadControl
或readControl
参数对应的值来进行运行处理。