| | |
| | | <el-table v-loading="loading" :data="tableData" border style="width: 100%"> |
| | | <el-table-column type="index" width="50" label="序号" align="center" /> |
| | | <el-table-column prop="street" label="镇(街道)" min-width="120" align="center" /> |
| | | <el-table-column prop="name" label="报错次数总计" min-width="100" align="center"> |
| | | <el-table-column prop="errorNum" label="报错次数总计" min-width="100" align="center"> |
| | | </el-table-column> |
| | | <el-table-column prop="totalApplicants" label="错误类型" min-width="100" align="center"> |
| | | <el-table-column prop="updateTime" label="安置人员信息错误" min-width="150" align="center" /> |
| | | <el-table-column prop="updateTime" label="安置面积计算错误" min-width="150" align="center" /> |
| | | <el-table-column prop="updateTime" label="补偿金额计算错误" min-width="150" align="center" /> |
| | | <el-table-column prop="updateTime" label="房源面积数据错误" min-width="150" align="center" /> |
| | | <el-table-column prop="settleNum" label="安置人员信息错误" min-width="150" align="center" /> |
| | | <el-table-column prop="areaNum" label="安置面积计算错误" min-width="150" align="center" /> |
| | | <el-table-column prop="compensationNum" label="补偿金额计算错误" min-width="150" align="center" /> |
| | | <el-table-column prop="houseNum" label="房源面积数据错误" min-width="150" align="center" /> |
| | | </el-table-column> |
| | | </el-table> |
| | | |
| | |
| | | |
| | | <script> |
| | | import Pagination from "@/components/Pagination"; |
| | | import { list, add, del, update } from "@/api/storing-data"; |
| | | import { getPageList } from "@/api/error-log"; |
| | | import { getDictData } from '@/api/placement' |
| | | |
| | | export default { |
| | |
| | | loading: false, |
| | | // 总条数 |
| | | total: 4, |
| | | // 状态数据字典 |
| | | statusOptions: [ |
| | | { value: "待审核", label: "待审核" }, |
| | | { value: "已通过", label: "已通过" }, |
| | | { value: "已驳回", label: "已驳回" }, |
| | | ], |
| | | // 审核相关 |
| | | approvalType: "audit", // 'audit' 或 'detail' |
| | | currentRow: {}, |
| | | // 上传相关 |
| | | uploadDialogVisible: false, |
| | | uploadType: "add", // 'add' 或 'batch' |
| | | // 表格数据 |
| | | tableData: [], |
| | | // 查询参数 |
| | |
| | | pageNum: 1, |
| | | pageSize: 10, |
| | | street: undefined, |
| | | name: undefined |
| | | }, |
| | | streetOptions: [] |
| | | }; |
| | |
| | | methods: { |
| | | /** 查询列表 */ |
| | | getList() { |
| | | list(this.queryParams).then(res => { |
| | | getPageList(this.queryParams).then(res => { |
| | | this.tableData = res.data.records; |
| | | this.total = res.data.total; |
| | | }); |
| | |
| | | this.queryParams = { |
| | | pageNum: 1, |
| | | pageSize: 10, |
| | | projectName: undefined, |
| | | town: undefined, |
| | | owner: undefined, |
| | | idCard: undefined, |
| | | status: undefined, |
| | | street: undefined, |
| | | }; |
| | | this.handleQuery(); |
| | | }, |
| | | /** 新增按钮操作 */ |
| | | handleAdd() { |
| | | this.uploadType = "add"; |
| | | this.uploadDialogVisible = true; |
| | | }, |
| | | /** 导入模板下载操作 */ |
| | | handleImport() { |
| | | // 实现下载逻辑 |
| | | }, |
| | | /** 每页条数改变 */ |
| | | handleSizeChange(size) { |
| | | this.queryParams.pageSize = size; |
| | | this.getList(); |
| | | }, |
| | | /** 当前页改变 */ |
| | | handleCurrentChange(page) { |
| | | this.queryParams.pageNum = page; |
| | | this.getList(); |
| | | }, |
| | | /** 批量导入按钮操作 */ |
| | | handleBatchImport() { |
| | | this.uploadType = "batch"; |
| | | this.uploadDialogVisible = true; |
| | | }, |
| | | /** 统一的查看/详情按钮操作 */ |
| | | handleView(row, type) { |
| | | this.$refs.uploadDialog.form = JSON.parse(JSON.stringify(row)); |
| | | this.$refs.uploadDialog.fileList = [{ name: row.attachName, url: row.attachUrl }]; |
| | | this.uploadType = type; |
| | | this.uploadDialogVisible = true; |
| | | }, |
| | | /** 审核提交处理 */ |
| | | handleApprovalSubmit(data) { |
| | | // 处理审核提交 |
| | | const { result, comment } = data; |
| | | this.$message({ |
| | | type: "success", |
| | | message: result === "pass" ? "审核通过成功!" : "审核驳回成功!", |
| | | }); |
| | | // 刷新列表 |
| | | this.getList(); |
| | | }, |
| | | /** 删除按钮操作 */ |
| | | handleDelete(row) { |
| | | this.$confirm("是否确认删除该资料?", "警告", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning", |
| | | }) |
| | | .then(() => { |
| | | del({ id: row.id }).then(res => { |
| | | this.$message({ |
| | | type: "success", |
| | | message: "删除成功!", |
| | | }); |
| | | this.getList(); |
| | | }) |
| | | .catch(() => { }); |
| | | }) |
| | | .catch(() => { }); |
| | | }, |
| | | /** 上传成功回调 */ |
| | | handleUploadSuccess() { |
| | | this.uploadDialogVisible = false; |
| | | this.getList(); |
| | | this.$message({ |
| | | type: "success", |
| | | message: this.uploadType === "add" ? "新增成功!" : "批量导入成功!", |
| | | }); |
| | | }, |
| | | // 处理文件下载 |
| | | handleDownload(row) { |
| | | if (!row.attachUrl) { |
| | | this.$message.error('文件不存在'); |
| | | return; |
| | | } |
| | | |
| | | // 显示加载提示 |
| | | this.loading = true; |
| | | |
| | | // 使用fetch获取文件内容 |
| | | fetch(row.attachUrl) |
| | | .then(response => response.blob()) |
| | | .then(blob => { |
| | | // 创建blob URL |
| | | const url = window.URL.createObjectURL(blob); |
| | | // 创建临时a标签 |
| | | const link = document.createElement('a'); |
| | | link.href = url; |
| | | link.download = row.attachName || '下载文件'; |
| | | document.body.appendChild(link); |
| | | link.click(); |
| | | // 清理 |
| | | document.body.removeChild(link); |
| | | window.URL.revokeObjectURL(url); |
| | | }) |
| | | .catch(error => { |
| | | console.error('下载失败:', error); |
| | | this.$message.error('文件下载失败'); |
| | | }) |
| | | .finally(() => { |
| | | this.loading = false; |
| | | }); |
| | | }, |
| | | }, |
| | | }; |