为了满足在uniapp上也能进行webview的流程页面操作与显示,需要对流程页面,特别是record/index.vue进行修改与适配。
一、对各个内容的宽带进行调整
主要是样式的调整
<el-col :span="16" :offset="4" 都修改成<el-col :span="24" :offset="2"
对于审批等操作的弹出的对话框里的宽度也要进行调整进行调整
style="width: 85%" 主要是宽度样式进行调整
同时对流程显示的图要能支持水平滚动,所以样式要做调整
.el-loading-mask {//设置流程图上面的一层屏蔽层,否则影响其它窗口操作
background-color: initial;
z-index: 200;
position:relative; //支持相对
overflow:auto; //支持滚动
}
二、对返回操作进行修改
因为要适配app,h5与微信小程序,所以需要知道当前是在哪个平台上进行操作,所以需要uniapp进行平台参数的传递。
同时要引起微信与uni,
import wx from 'weixin-js-sdk'
import * as uni from "@dcloudio/uni-webview-js"
这边接收到后进行分别处理,代码如下:
/** 返回页面 */
goBack() {
// 关闭当前标签页并返回上个页面
//this.$store.dispatch("tagsView/delView", this.$route);
// 关闭当前标签页并返回上个页面
console.log("goBack types=",this.types);
console.log("goBack platform=",this.platform);
if(this.platform === "weixin") {
setTimeout(() => {
if (this.types == 999) {
console.log(23232);
/*wx.miniProgram.navigateTo({
url: "/pages/toDoProcess/toDoProcess"
});*/
wx.miniProgram.navigateBack();
} else if (this.types == 888) {
/*wx.miniProgram.navigateTo({
url: "/pages/toDoProcess/newProcess"
});*/
wx.miniProgram.navigateBack();
} else {
wx.miniProgram.navigateBack();
//window.close();
}
}, 500);
}
else if (this.platform === "app") {
setTimeout(() => {
if (this.types == 999) {
console.log(23232);
// uni.redirectTo({
// url: "/pages/toDoProcess/toDoProcess"
// });
uni.navigateBack({
delta: 1
});
} else if (this.types == 888) {
//uni.redirectTo({
// url: "/pages/toDoProcess/newProcess"
//});
uni.navigateBack({
delta: 1
});
} else {
uni.navigateBack({
delta: 1
});
//window.close();
}
}, 500);
}
else if (this.platform === "h5") {
this.$router.go(-1);
}
else {
this.$router.go(-1);
}
//this.$router.go(-1)
},
三、当然目前还剩下一个二次登录问题,因为通过webview进行访问,后续再进行解决
四、效果图
流程图也可以拖动进行查看
标签:uniapp,flowable,适配,toDoProcess,else,navigateBack,uni,types,wx From: https://blog.51cto.com/u_15070324/6088408