new-cashier/jeepay-ui-uapp-merchant/pages/applyment/h5/applyDetail.vue

93 lines
3.2 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<template>
<view class="page">
<!-- 注意 App 网页向应用 postMessage 为实时消息 -->
<web-view v-if="vdata.url" :src="vdata.url" @message="onMessageFunc"></web-view>
</view>
</template>
<script setup>
import { ref, reactive } from 'vue';
import { onLoad } from '@dcloudio/uni-app';
import appConfig from '@/config/appConfig.js';
import ak from '@/commons/utils/ak.js';
import storageManage from '@/commons/utils/storageManage.js';
import env from '@/env/env.development.js';
const vdata = reactive({
url: null,
isAdd: false // 是否新增, 新增将返回两个页面, 修改返回一个。
});
onLoad((option) => {
// console.log(option);
let jeepayToken = storageManage.token();
let mchNo = storageManage.userInfo().mchNo;
let uploadImgSize = storageManage.uploadImgSize() || '';
let isView = option.isView == 1 ? true : false; // 是否预览模式
let isvNo = option.isvNo || ''; // 渠道号
let range = option.range || 0; // 渠道号
let autoConfigMchAppId = option.autoConfigMchAppId || ''; // 应用号
let baseUrl = `${env.JEEPAY_BASE_URL_H5}`;
let url = '';
// 包含 记录ID
if (option.applyId) {
url = `${baseUrl}/h5MchApplyment?isView=${isView ? 1 : 0}&jeepayToken=${jeepayToken}&applyId=${
option.applyId
}&uploadImgSize=${uploadImgSize}&autoConfigMchAppId=${autoConfigMchAppId}&isvNo=${isvNo}&range=${range}`;
} else {
vdata.isAdd = true;
// 副本。
let copyInfoSourceApplyIdParam = option.copyInfoSourceApplyId || '';
url = `${baseUrl}/h5MchApplyment?isView=0&jeepayToken=${jeepayToken}&mchNo=${mchNo}&ifCode=${option.ifCode}&copyInfoSourceApplyId=${copyInfoSourceApplyIdParam}&isvNo=${isvNo}&range=${range}&autoConfigMchAppId=${autoConfigMchAppId}`;
// url = `${baseUrl}/h5MchApplyment?isView=0&jeepayToken=${jeepayToken}&mchNo=${mchNo}&ifCode=${option.ifCode}&copyInfoSourceApplyId=${copyInfoSourceApplyIdParam}&uploadImgSize=${uploadImgSize}&autoConfigMchAppId=${option.appId || ''}&isvNo=${isvNo}&range=${range}`
}
console.log(url, 'urlurlurl');
vdata.url = url;
});
// App 网页向应用 postMessage 为实时消息
// 接收到 web-view事件 ,
// 注意:放置数据, 必须在data字段下 比如: uni.postMessage({data: {ctrl: 'TOTOTOTOTOT'}})
function onMessageFunc(msg) {
// 接收到响应的数据 [数组格式, 比如接收到 web-view的返回等特定事件 将数据入栈全部返回 ]
let postDataArray = msg.detail.data;
// 无数据
if (!postDataArray || !Array.isArray(postDataArray)) {
return false;
}
for (var i = 0; i < postDataArray.length; i++) {
if (postDataArray[i].ctrl == 'toApplymentListAndRef') {
// 跳转到进件列表 && 刷新
// APP 可以实时接收到消息, 微信小程序需要在返回事件 (会关闭当前页面)时再接收到消息。
// #ifdef APP-PLUS
ak.go.back(1, ak.emit.ENAME_REF_APPLYMENT_LIST); //返回上一页
// #endif
// #ifdef MP-WEIXIN
ak.emit.pageEmit(ak.emit.ENAME_REF_APPLYMENT_LIST); // 刷新页面。
// #endif
break;
}
}
}
</script>
<style lang="scss" scoped>
.page {
padding: 30rpx;
box-sizing: border-box;
padding-bottom: 150rpx;
background-color: #f5f6fd;
min-height: calc(100vh - 0px);
}
</style>