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.
170 lines
4.1 KiB
170 lines
4.1 KiB
<template>
|
|
<view class="content">
|
|
<uni-nav-bar left-icon="back" @clickLeft="back" statusBar fixed title="验厂申请"></uni-nav-bar>
|
|
<scroll-list ref="list" :option="option" @load="upCallback" @refresh="downCallback">
|
|
<view class="list-item flex-col" v-for="item in list" :key="item.id" @click="go2('apply-detail', { id: item.id })">
|
|
<view class="top-group flex-col">
|
|
<text class="text_8">{{ item.userName }} 申请远程验厂</text>
|
|
<view class="center-text-wrapper flex-col items-center view_1" :class="bgMap[item.status].bg">
|
|
<text>{{ bgMap[item.status].text }}</text>
|
|
</view>
|
|
<text class="text_11">{{ item.createTime }}</text>
|
|
</view>
|
|
<text class="text_13">{{ item.enterpriseName }}</text>
|
|
</view>
|
|
</scroll-list>
|
|
</view>
|
|
</template>
|
|
|
|
<script>
|
|
import { go2, back } from '@/utils/hook.js'
|
|
import { applyingTypeEnum } from '@/enums/index'
|
|
import { getApplyingList } from '@/apis/applyApi'
|
|
const bgMap = {
|
|
[applyingTypeEnum.WAITING]: {
|
|
bg: 'waiting-bg',
|
|
text: '待处理'
|
|
},
|
|
[applyingTypeEnum.AGREE]: {
|
|
bg: 'agree-bg',
|
|
text: '已同意'
|
|
},
|
|
[applyingTypeEnum.REJECT]: {
|
|
bg: 'reject-bg',
|
|
text: '已拒绝'
|
|
},
|
|
[applyingTypeEnum.EXPIRED]: {
|
|
bg: 'expired-bg',
|
|
text: '已过期'
|
|
}
|
|
}
|
|
export default {
|
|
data() {
|
|
return {
|
|
bgMap: Object.freeze(bgMap),
|
|
option: {
|
|
size: 10,
|
|
auto: true,
|
|
emptyText: '暂无数据~',
|
|
background: '#F7F8FA',
|
|
disabled: false
|
|
},
|
|
pagination: {
|
|
pageNum: 0, // 初始会执行一次下拉加载
|
|
pageSize: 10
|
|
},
|
|
list: []
|
|
}
|
|
},
|
|
methods: {
|
|
go2,
|
|
back,
|
|
getList() {
|
|
return new Promise((resolve, reject) => {
|
|
getApplyingList({ ...this.pagination })
|
|
.then((res) => {
|
|
// console.log('询价列表', res.records)
|
|
if (res) {
|
|
if (res.current == 1) {
|
|
this.list = res.records
|
|
} else {
|
|
this.list = this.list.concat(res.records)
|
|
}
|
|
resolve({ list: this.list, total: res.total })
|
|
} else {
|
|
reject()
|
|
}
|
|
})
|
|
.catch((err) => {
|
|
reject(err)
|
|
})
|
|
})
|
|
},
|
|
downCallback() {
|
|
this.pagination.pageNum = 1
|
|
this.getList()
|
|
.then(({ list, total }) => {
|
|
this.$refs.list.refreshSuccess({ list, total })
|
|
})
|
|
.catch(() => {
|
|
this.$refs.list.refreshFail()
|
|
})
|
|
},
|
|
upCallback() {
|
|
this.pagination.pageNum++
|
|
this.getList()
|
|
.then(({ list, total }) => {
|
|
this.$refs.list.loadSuccess({ list, total })
|
|
})
|
|
.catch(() => {
|
|
this.$refs.list.loadFail()
|
|
})
|
|
}
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<style lang="scss" scoped>
|
|
.content {
|
|
width: 750rpx;
|
|
}
|
|
.list-item {
|
|
margin-bottom: 20rpx;
|
|
padding-left: 32rpx;
|
|
padding-bottom: 24rpx;
|
|
background-color: rgb(255, 255, 255);
|
|
.top-group {
|
|
padding-top: 24rpx;
|
|
position: relative;
|
|
.text_8 {
|
|
color: rgb(0, 58, 140);
|
|
font-size: 32rpx;
|
|
font-weight: 500;
|
|
line-height: 45rpx;
|
|
white-space: nowrap;
|
|
}
|
|
.center-text-wrapper {
|
|
color: rgb(255, 255, 255);
|
|
font-size: 28rpx;
|
|
font-weight: 500;
|
|
line-height: 40rpx;
|
|
white-space: nowrap;
|
|
}
|
|
.view_1 {
|
|
padding: 5rpx 0;
|
|
border-radius: 0px 0px 0px 20rpx;
|
|
width: 120rpx;
|
|
position: absolute;
|
|
right: 0;
|
|
top: 0;
|
|
}
|
|
.agree-bg {
|
|
background-color: rgba(19, 194, 194, 0.6);
|
|
}
|
|
.reject-bg {
|
|
background-color: rgba(255, 122, 69, 0.6);
|
|
}
|
|
.expired-bg {
|
|
background-color: rgb(217, 217, 217);
|
|
}
|
|
.waiting-bg {
|
|
background-color: rgba(89, 126, 247, 0.6);
|
|
}
|
|
.text_11 {
|
|
margin-top: 5rpx;
|
|
color: rgb(136, 136, 136);
|
|
font-size: 24rpx;
|
|
line-height: 33rpx;
|
|
white-space: nowrap;
|
|
position: relative;
|
|
}
|
|
}
|
|
.text_13 {
|
|
margin-top: 15rpx;
|
|
color: rgb(85, 85, 85);
|
|
font-size: 28rpx;
|
|
line-height: 40rpx;
|
|
white-space: nowrap;
|
|
}
|
|
}
|
|
</style>
|