You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

75 lines
1.5 KiB

<template>
<view class="steps">
<movable-area class="movableArea">
<movable-view class="movableView" :x="x" :out-of-bounds="true" direction="all" :inertia="true" :scale="true"
:animation="false">
<FlowCard :options="options" ref="FlowCard" @showTabs="getFlowInfo" />
<section class="end-node">流程结束</section>
</movable-view>
</movable-area>
</view>
</template>
<script>
import FlowCard from './FlowCard.vue'
export default {
components: {
FlowCard
},
name: 'steps',
props: {
options: {},
config: {}
},
data() {
return {
x: 30
}
},
mounted() {
let movableView = uni.createSelectorQuery().in(this).select(".movableView");
movableView.boundingClientRect(res => {
const allWith = res.width
const winWidth = uni.getSystemInfoSync().windowWidth
this.x = -(allWith / 2) + (winWidth / 2)
}).exec();
},
methods: {
getFlowInfo(options) {
let data = {
subId: options.id,
nodeId: options.nodeId,
prevId: options.prevId,
type: options.type,
...this.config
}
uni.navigateTo({
url: './subFlowForm?config=' + this.base64.encode(
JSON.stringify(data), "UTF-8")
})
}
}
}
</script>
<style scoped lang="scss">
@import "./FlowCard.scss";
.movableArea {
width: 100%;
/* #ifdef H5 */
height: calc(100vh - 108rpx - 60rpx - 88rpx - 88rpx);
/* #endif */
/* #ifndef H5 */
height: calc(100vh - 108rpx - 60rpx - 88rpx);
/* #endif */
}
.movableView {
width: unset;
height: unset;
}
.end-node {
padding-bottom: 15rpx;
}
</style>