100 lines
2.3 KiB
Vue
100 lines
2.3 KiB
Vue
<template>
|
|
<view>
|
|
<uni-card spacing="0">
|
|
<view style="height: 72vh">
|
|
<zb-table
|
|
ref="zbTableRef"
|
|
isShowLoadMore
|
|
stripe
|
|
:fit="false"
|
|
:columns="column"
|
|
:cellStyle="setCellStyle"
|
|
:cellHeaderStyle="setCellHeaderStyle"
|
|
:data="listData"
|
|
@detail="handleDetail"
|
|
@pullUpLoading="pullUpLoadingAction"
|
|
></zb-table>
|
|
</view>
|
|
</uni-card>
|
|
<giveback-detail-popup :show="detailShow" :checkInfo="checkInfo" @close="detailShow = false" />
|
|
</view>
|
|
</template>
|
|
|
|
<script setup>
|
|
import { ref, reactive, onMounted, watch, computed } from 'vue'
|
|
import { onLoad } from '@dcloudio/uni-app'
|
|
import GivebackDetailPopup from './detail.vue'
|
|
import { setCellHeaderStyle, setCellStyle } from '@/nx/config/zbTable'
|
|
import { givebackList } from '@/nx/api/deviceInfo'
|
|
import { useListData } from '@/nx/hooks/usePageListData'
|
|
import nx from '@/nx'
|
|
|
|
const column = reactive([
|
|
{
|
|
label: '归还人',
|
|
name: 'givebackOper',
|
|
width: 140
|
|
},
|
|
{
|
|
label: '归还日期',
|
|
name: 'givebackDate',
|
|
width: 140
|
|
},
|
|
{
|
|
label: '接收人',
|
|
name: 'givebackReceiveOper',
|
|
width: 140
|
|
},
|
|
{
|
|
label: '备注',
|
|
name: 'remark',
|
|
width: 140
|
|
},
|
|
{
|
|
name: 'operation',
|
|
type: 'operation',
|
|
label: '操作',
|
|
renders: [{ name: '详情', func: 'detail' }]
|
|
}
|
|
])
|
|
const deviceId = ref('')
|
|
const deviceText = ref('')
|
|
|
|
onMounted(() => {
|
|
const { id, deviceName } = nx.$store('biz').deviceInfo
|
|
deviceId.value = id
|
|
deviceText.value = deviceName
|
|
getInitData()
|
|
})
|
|
const searchParams = computed(() => ({
|
|
deviceBusInfoId: deviceId.value,
|
|
givebackStatus: '已归还'
|
|
}))
|
|
const { listData, loadingData, scrollToLower, loadStatus, getInitData } = useListData({
|
|
searchParams,
|
|
api: givebackList
|
|
})
|
|
const zbTableRef = ref()
|
|
function pullUpLoadingAction() {
|
|
if (loadingData.value) return
|
|
if (loadStatus.value === 'nomore') {
|
|
zbTableRef.value.pullUpCompleteLoading('ok')
|
|
} else {
|
|
scrollToLower()
|
|
}
|
|
}
|
|
|
|
const detailShow = ref(false)
|
|
const checkInfo = ref({})
|
|
function handleDetail(row) {
|
|
checkInfo.value = row
|
|
detailShow.value = true
|
|
}
|
|
</script>
|
|
|
|
<style lang="scss" scoped>
|
|
:deep(.zb-table uni-button[type='primary']) {
|
|
background-color: $uni-color-primary !important;
|
|
}
|
|
</style>
|