Files
gjt_mini/pages/audit/index.vue
2025-12-30 09:44:46 +08:00

291 lines
7.4 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>
<u-sticky>
<view style="background-color: #fff">
<u-subsection
mode="subsection"
:list="list"
:current="current"
@change="sectionChange"
activeColor="#7ba746"
:fontSize="30"
>
</u-subsection>
</view>
<u-search
placeholder="请输入"
v-model="keyword"
:showAction="false"
@search="searchList()"
></u-search>
</u-sticky>
<view class="list">
<view class="item" v-for="item in dataList" :key="item.id">
<view class="line">
<view class="text-normal" v-if="current == 0 || item.approvalName"
>@{{ item.approvalName }}请处理待处理审批单:
</view>
</view>
<view class="block">
<view class="line">
<view class="text-small">
{{ item.createName }}提交的{{ item.contractTypeName }}申请</view
>
</view>
<view class="line">
<view class="text-small"> {{ item.customerName }}</view>
</view>
<view class="line">
<view class="text-small">等待</view>
<view class="text-small hot">{{ item.waitTime || "--" }}</view>
<view class="text-small">小时</view>
</view>
</view>
<view class="line" style="justify-content: flex-end">
<view class="buttons">
<!--deliveryPermit为1的时候准许交车 -->
<button
@tap="goto"
v-if="current == 0"
:data-url="`/pages/audit/detail?id=${item.id}`"
>
处理
</button>
<button
v-else
@tap="goto"
:data-url="`/pages/audit/detail?id=${item.id}&isRead=1`"
>
查看
</button>
</view>
</view>
<view class="line">
<view class="line" style="justify-content: space-between">
<view class="text-small left"
>合同提交时间: {{ formatDateTime(item.createTime) }}</view
>
</view>
</view>
</view>
<view class="no-more" v-if="noMoreData">没有更多数据了</view>
</view>
<view
clas="line"
style="margin-top: 150rpx"
v-if="!dataList || dataList.length === 0"
>
<u-empty mode="search" text="暂无数据" width="400" textSize="16">
</u-empty
></view>
<u-loading-page
bg-color="#ffffff"
:loading="loading"
color="#7ba746"
font-size="24"
></u-loading-page>
</view>
</template>
<script>
import stora from "@/utils/storage";
export default {
options: {
styleIsolation: "shared", // 解除样式隔离
},
data() {
return {
keyword: "",
current: 0,
list: ["待审批", "审批通过"],
queryPage: {
pageNo: 1, // 页码
pageSize: 10, //每页查询条数
total: 0, //总页数
pages: -1, //总页数
// contractStatus: "2", // 交车许可 1表示 准许交车
},
dataList: [],
pageNo: 1,
noMoreData: false,
loading: false,
};
},
methods: {
// 新增的搜索方法
searchList() {
this.queryPage.customerName = this.keyword.trim(); // 设置车牌号条件
this.queryPage.pageNo = 1; // 重置页码为1
this.dataList = []; // 清空数据列表
this.noMoreData = false; // 重置没有更多数据的标志
this.loadmore(); // 重新加载数据
},
sectionChange(index) {
this.queryPage.customerName = "";
this.keyword = "";
this.current = index;
// if (index == 1) {
// // 全部 (准许交车 + 已交车)
// this.queryPage.contractStatus = "3";
// } else {
// // 仅显示准许交车
// this.queryPage.contractStatus = "2";
// }
this.queryPage.pageNo = 1;
this.dataList = [];
this.loadmore();
},
formatDateTime(obj) {
if (obj == null) {
return "";
}
let date = new Date(obj);
let y = 1900 + date.getYear();
let m = "0" + (date.getMonth() + 1);
let d = "0" + date.getDate();
return (
y +
"-" +
m.substring(m.length - 2, m.length) +
"-" +
d.substring(d.length - 2, d.length)
);
},
loadmore() {
this.loading = true;
if (this.current == 0) {
this.$api.audit
.queryAuditList(this.queryPage)
.then((res) => {
console.log(res);
this.queryPage.pageNo = res.data.current;
this.queryPage.pages = res.data.pages;
this.queryPage.total = res.data.total;
this.dataList.push(...(res.data.records || []));
this.loading = false;
})
.catch((errors) => {
this.loading = false;
});
} else {
this.$api.audit
.queryAuditedList(this.queryPage)
.then((res) => {
console.log(res);
this.queryPage.pageNo = res.data.current;
this.queryPage.pages = res.data.pages;
this.queryPage.total = res.data.total;
this.dataList.push(...(res.data.records || []));
this.loading = false;
})
.catch((errors) => {
this.loading = false;
});
}
},
goto(e) {
uni.navigateTo({ url: e.target.dataset.url });
},
},
onLoad() {},
onPullDownRefresh() {
this.sectionChange(this.current);
uni.stopPullDownRefresh(); //刷新数据之后停止刷新效果
},
destroyed() {
//页面销毁删除掉数据缓存
stora.remove("fault_fromData");
},
onReachBottom() {
console.log("触底了");
//当前页数小于总页数
if (this.queryPage.pageNo < this.queryPage.pages) {
this.queryPage.pageNo++;
this.loadmore();
} else {
this.noMoreData = true;
console.log("没有更多数据了");
}
},
onShow() {
this.sectionChange(this.current);
},
};
</script>
<style lang="less" scoped>
/deep/ .u-search {
background: #d7d7d7 !important;
padding: 20rpx 10rpx !important;
}
// /deep/ .u-search__content__input {
// height: 50rpx !important;
// padding-top: 20rpx !important; /* 上边距 */
// padding-bottom: 20rpx !important; /* 下边距 */
// }
.list {
background: #d7d7d7;
padding: 0 20px 20rpx;
.item {
background: white;
padding: 20rpx;
margin-bottom: 20rpx;
position: relative;
border-radius: 15rpx;
.block {
display: flex;
line-height: 1.5;
padding: 10px;
flex-direction: column;
align-items: left;
margin-bottom: 15rpx;
border: 1px solid #ccc;
}
.hot {
color: red;
}
.line {
display: flex;
align-items: center;
margin-bottom: 15rpx;
.left {
margin-right: 50rpx;
width: 300rpx;
}
.text-small {
font-size: x-small;
}
.text-normal {
font-size: small;
}
}
.buttons {
button {
width: 130rpx;
display: inline-block;
height: 50rpx;
padding: 12rpx 0;
font-size: 26rpx;
line-height: 26rpx;
margin-bottom: 10rpx;
}
}
}
.no-more {
width: 100%;
text-align: center;
font-size: xx-small;
color: white;
}
}
</style>