增加审批详情

This commit is contained in:
xuli3099
2025-08-25 10:04:13 +08:00
parent 48912d6319
commit e34fa23547
7 changed files with 213 additions and 5 deletions

View File

@@ -115,6 +115,12 @@
"navigationBarTitleText": ""
}
},
{
"path": "pages/notice/waitApproveDetail",
"style": {
"navigationBarTitleText": ""
}
},
{
"path": "pages/userinfo/userinfo",
"style": {

View File

@@ -82,7 +82,10 @@ const mescrollRef = ref(null);
const upOption = ref({
page: { num: 0, size: 10 },
noMoreSize: 5,
empty: { tip: '~ 空空如也 ~' },
empty: {
tip: '~ 空空如也 ~',
icon: "../../static/images/mescroll-empty.png"
},
textLoading: '加载中...',
textNoMore: '已经到底了'
});

View File

@@ -89,7 +89,10 @@ const mescrollRef = ref(null);
const upOption = ref({
page: { num: 0, size: 10 },
noMoreSize: 5,
empty: { tip: '~ 空空如也 ~' },
empty: {
tip: '~ 空空如也 ~',
icon: "../../static/images/mescroll-empty.png"
},
textLoading: '加载中...',
textNoMore: '已经到底了'
});

View File

@@ -133,7 +133,10 @@ const mescrollRef = ref(null);
const upOption = ref({
page: { num: 0, size: 10 },
noMoreSize: 5,
empty: { tip: '~ 空空如也 ~' },
empty: {
tip: '~ 空空如也 ~',
icon: "../../static/images/mescroll-empty.png"
},
textLoading: '加载中...',
textNoMore: '已经到底了'
});

View File

@@ -73,7 +73,10 @@ const mescrollRef = ref(null);
const upOption = ref({
page: { num: 0, size: 10 },
noMoreSize: 5,
empty: { tip: '~ 空空如也 ~' },
empty: {
tip: '~ 空空如也 ~',
icon: "../../static/images/mescroll-empty.png"
},
textLoading: '加载中...',
textNoMore: '已经到底了'
});
@@ -143,8 +146,9 @@ const getFlowList = (pageIndex, pageSize) => {
// 跳转webview
const handleJump = (item)=>{
uni.navigateTo({
url: '/pages/h5-webview/h5-webview?url=' + item.mobileLink+"&title="+item.subject
url: `/pages/notice/waitApproveDetail?detail=${encodeURIComponent(JSON.stringify(item))}`
});
}
</script>

View File

@@ -0,0 +1,189 @@
<template>
<view class="con-body">
<view class="con-bg">
<!-- 头部 -->
<customHeader ref="customHeaderRef" :title="'待审批'" :leftFlag="true" :rightFlag="true"></customHeader>
<!-- 高度来避免头部遮挡 -->
<view class="top-height"></view>
<!-- 正文内容 -->
<view class="all-body">
<view class="white-bg bg-height">
<view class="report-list">
<view class="title">{{ detail.subject }}</view>
<view class="r-list">
<view class="r-name">进度</view>
<view class="r-right btn-orange" size="mini" v-if="detail.status==1">待处理</view>
<view v-else-if="detail.status==2">已处理</view>
</view>
<view class="border-bottom"></view>
<view class="r-list">
<view class="r-left">来自</view>
<view class="r-right">{{ detail.appName }}</view>
</view>
<view class="border-bottom"></view>
<view class="r-list">
<view class="r-left">状态</view>
<view class="r-right">
<text style="color:#FF2B44" v-if="detail.status==1 && (detail.level==1 || detail.level==2)">
{{ formatLevel(detail.level) }}
</text>
<text v-else>{{ formatLevel(detail.level) }}</text>
</view>
</view>
<view class="border-bottom"></view>
<view class="r-list">
<view class="r-left">创建人</view>
<view class="r-right">{{ detail.createUser.userId }}</view>
</view>
<view class="border-bottom"></view>
<view class="r-list">
<view class="r-left">创建时间</view>
<view class="r-right">{{ parseTime(detail.createTime,'{y}-{m}-{d} {h}:{i}') }}</view>
</view>
</view>
<view class="btn-blue" @click="handleJump">跳转详情页</view>
</view>
</view>
</view>
</view>
</template>
<script setup>
import { ref, onMounted } from 'vue';
import { onLoad } from '@dcloudio/uni-app';
import customHeader from '@/components/customHeader.vue'
// import MescrollUni from 'mescroll-uni/mescroll-uni.vue';
import { getNavBarPaddingTop } from '@/utils/system.js'
import {formatLevel} from '@/utils/status.js'
import { parseTime } from '@/utils/datetime.js'
let detail = ref({})
onLoad(async(opt) => {
try {
detail.value = JSON.parse(decodeURIComponent(opt.detail));
console.log(detail.value);
} catch (e) {
console.error('参数解析失败', e);
}
});
// 获取导航栏高度用于内容区域padding
const navBarPaddingTop = ref(0);
onMounted(() => {
navBarPaddingTop.value = getNavBarPaddingTop() * 2;
})
// 查询列表
let list = ref([]);
const mescrollRef = ref(null);
const upOption = ref({
page: { num: 0, size: 10 },
noMoreSize: 5,
empty: {
tip: '~ 空空如也 ~',
icon: "../../static/images/mescroll-empty.png"
},
textLoading: '加载中...',
textNoMore: '已经到底了'
});
const downOption = ref({
auto: false,
textInOffset: '下拉刷新',
textOutOffset: '释放更新',
textLoading: '刷新中...'
});
const mescrollInit = (mescroll) => {
console.log("mescrollInit=>")
mescrollRef.value = mescroll;
};
// 下拉刷新
const downCallback = async (mescroll) => {
try {
// 查询数据
mescroll.resetUpScroll();
} catch (error) {
mescroll.endErr();
} finally {
mescroll.endSuccess();
}
}
// 跳转webview
const handleJump = ()=>{
let item = detail.value;
console.log(111,item)
uni.navigateTo({
url: `/pages/h5-webview/h5-webview?url=${item.mobileLink}&title=${item.subject}`
});
}
</script>
<style scoped>
.all-body {
/* #ifdef APP-PLUS */
top: 150rpx;
height: calc(100vh - 75px);
/* #endif */
/* #ifndef APP-PLUS */
top:120rpx;
height: calc(100vh - 60px);
/* #endif */
}
.scroll-h{
/* #ifdef APP-PLUS */
height:calc(100vh - 78px) !important;
/* #endif */
/* #ifndef APP-PLUS */
height: calc(100vh - 10px) !important;
/* #endif */
}
.white-bg{
width: 750rpx;
padding: 25rpx 0 20rpx;
margin-bottom:0;
border-radius: 8px 8px 0 0;
}
.white-bg.bg-height{
/* #ifdef APP-PLUS */
height:calc(100vh - 78px) !important;
/* #endif */
/* #ifndef APP-PLUS */
height: calc(100vh - 80px) !important;
/* #endif */
}
.report-list{
padding: 0 0 0 30rpx;
}
.report-list .r-list{
padding-right: 30rpx;
}
.report-list .r-list:first-child{
padding-bottom:10rpx;
}
.report-list .border-bottom{
width:720rpx;
}
.btn-blue {
background-color: #05A3F4;
color: #fff;
width:380rpx;
height:80rpx;
line-height: 80rpx;
margin:120rpx auto 0;
text-align: center;
border-radius: 40rpx;
}
</style>

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.0 KiB