<template>
    <view class="container">
        <MBCard>
            <uni-forms ref="baseForm" :modelValue="queryParams">
                <uni-forms-item label="生产单位">
                    <ProductionUnit v-model="queryParams.companyId" @change="handleQuery"/>
                </uni-forms-item>
            </uni-forms>
        </MBCard>

        <MBLoading v-if="loading"/>
        <view v-else>
            <ListItem v-if="tableData.length > 0" :items="tableData"/>
            <uni-load-more
                v-else
                :contentText="{
                    contentnomore: '- 暂无财务审批数据 -'
                }"
                :status="'no-more'"
            />
            <MBPagination
                v-if="total > 0"
                v-model:limit="paging.pageSize"
                v-model:page="paging.pageNum"
                :total="total"
                @pagination="handleQuery"
            />
        </view>
    </view>
</template>

<script setup>
import {getCurrentInstance, onMounted, ref} from "vue"
import UniForms from "../../../uni_modules/uni-forms/components/uni-forms/uni-forms.vue";
import UniFormsItem from "../../../uni_modules/uni-forms/components/uni-forms-item/uni-forms-item.vue";
import MBCard from "../../../components/MB/MBCard.vue";
import ProductionUnit from "../../../components/ProductionUnit/ProductionUnit.vue";
import MBLoading from "../../../components/MB/MBLoading.vue";
import MBPagination from "../../../components/MB/MBPagination.vue";
import ListItem from "./ListItem.vue"
import {financeList} from "../../../api/Salemain";

const {proxy} = getCurrentInstance()

const queryParams = ref({
    CompanyId: '',
    contractcode: '',
    state: '',
    userid: ''
})
const loading = ref(true)
const total = ref(0)
const paging = ref({
    pageNum: 1,
    pageSize: 100,
    isAsc: 'descending',
    orderByColumn: 'adddate'
})
const tableData = ref([])

const handleQuery = async () => {
    loading.value = true
    const data = await financeList(queryParams.value, paging.value)
    total.value = data.total
    tableData.value = data.rows
    loading.value = false
}

onMounted(async () => {
    await handleQuery()
})

</script>
