| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- <template>
- <div class="page-container">
- <PageTitle title="部门采购金额" />
- <SearchBar :form="searchForm" :filters="filters" @search="handleSearch" @reset="handleReset">
- <template #buttons>
- <el-button type="danger">导出</el-button>
- </template>
- </SearchBar>
- <el-table :data="tableData" border style="width: 100%">
- <el-table-column type="index" label="序号" width="60" align="center" />
- <el-table-column prop="deptName" label="部门名称" width="120" align="center" />
- <el-table-column prop="orderPerson" label="下单人" width="100" align="center" />
- <el-table-column prop="orderAmount" label="下单金额" min-width="120" align="center">
- <template #default="{ row }">¥{{ row.orderAmount.toLocaleString() }}</template>
- </el-table-column>
- <el-table-column prop="completedAmount" label="已完成订单金额" min-width="140" align="center">
- <template #default="{ row }">¥{{ row.completedAmount.toLocaleString() }}</template>
- </el-table-column>
- <el-table-column prop="pendingAmount" label="待完成订单金额" min-width="140" align="center">
- <template #default="{ row }">¥{{ row.pendingAmount.toLocaleString() }}</template>
- </el-table-column>
- </el-table>
- <TablePagination v-model:page="pagination.page" v-model:pageSize="pagination.pageSize" :total="pagination.total" />
- </div>
- </template>
- <script setup lang="ts">
- import { reactive, ref } from 'vue';
- import { PageTitle, SearchBar, TablePagination } from '@/components';
- const searchForm = reactive({
- keyword: '',
- dateRange: [],
- deptId: ''
- });
- const filters = [
- {
- field: 'deptId',
- label: '下单部门',
- options: [
- { label: '全部', value: '' },
- { label: '人事部', value: '1' },
- { label: '行政部', value: '2' },
- { label: '设计部', value: '3' },
- { label: '技术部', value: '4' }
- ]
- }
- ];
- const pagination = reactive({ page: 1, pageSize: 10, total: 100 });
- const tableData = ref([
- { deptName: '人事部', orderPerson: '李世海', orderAmount: 2115.97, completedAmount: 2115.97, pendingAmount: 2115.97 },
- { deptName: '行政部', orderPerson: '李书萍', orderAmount: 4476.12, completedAmount: 4476.12, pendingAmount: 4476.12 },
- { deptName: '人事部', orderPerson: '邓文锦', orderAmount: 7751.34, completedAmount: 7751.34, pendingAmount: 7751.34 },
- { deptName: '设计部', orderPerson: '王凡宏', orderAmount: 7936.37, completedAmount: 7936.37, pendingAmount: 7936.37 },
- { deptName: '技术部', orderPerson: '赵昊艳', orderAmount: 3931.45, completedAmount: 3931.45, pendingAmount: 3931.45 },
- { deptName: '人事部', orderPerson: '钱君霞', orderAmount: 6132.75, completedAmount: 6132.75, pendingAmount: 6132.75 },
- { deptName: '行政部', orderPerson: '周静', orderAmount: 3189.56, completedAmount: 3189.56, pendingAmount: 3189.56 },
- { deptName: '行政部', orderPerson: '吴彦琛', orderAmount: 993.66, completedAmount: 993.66, pendingAmount: 993.66 },
- { deptName: '设计部', orderPerson: '钱慧倩', orderAmount: 2763.35, completedAmount: 2763.35, pendingAmount: 2763.35 },
- { deptName: '技术部', orderPerson: '孙银茹', orderAmount: 9286.45, completedAmount: 9286.45, pendingAmount: 9286.45 }
- ]);
- const handleSearch = () => {
- // 搜索逻辑
- };
- const handleReset = () => {
- // 重置逻辑
- };
- </script>
|