src/api/error-log.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/err-log/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/relocatablePersonnel/add.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/relocatablePersonnel/detail.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/api/error-log.js
New file @@ -0,0 +1,10 @@ import request from '@/utils/request' // 获取纠错日志列表 export function getPageList(data) { return request({ url: '/placement-error/page', method: 'post', data }) } src/views/err-log/index.vue
@@ -20,13 +20,13 @@ <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> @@ -42,7 +42,7 @@ <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 { @@ -56,18 +56,7 @@ loading: false, // 总条数 total: 4, // 状态数据字典 statusOptions: [ { value: "待审核", label: "待审核" }, { value: "已通过", label: "已通过" }, { value: "已驳回", label: "已驳回" }, ], // 审核相关 approvalType: "audit", // 'audit' 或 'detail' currentRow: {}, // 上传相关 uploadDialogVisible: false, uploadType: "add", // 'add' 或 'batch' // 表格数据 tableData: [], // 查询参数 @@ -75,7 +64,6 @@ pageNum: 1, pageSize: 10, street: undefined, name: undefined }, streetOptions: [] }; @@ -90,7 +78,7 @@ methods: { /** 查询列表 */ getList() { list(this.queryParams).then(res => { getPageList(this.queryParams).then(res => { this.tableData = res.data.records; this.total = res.data.total; }); @@ -105,115 +93,19 @@ 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) { }, /** 每页条数改变 */ 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; }); }, }, }; src/views/relocatablePersonnel/add.vue
@@ -251,7 +251,7 @@ endDateOptions: { disabledDate: (time) => { if (this.form.lastBeginTime) { return time.getTime() < this.form.lastBeginTime.getTime() return time.getTime() < new Date(this.form.lastBeginTime).getTime() } return false } src/views/relocatablePersonnel/detail.vue
@@ -173,31 +173,31 @@ </el-form-item> </el-col> </el-row> <div v-if="$route.query.type=='view'"> <div v-if="$route.query.type == 'view'" class="mb-20"> <div class="section-title">补偿金额标准</div> <el-table v-loading="loading" :data="listData"> <el-table-column label="购房时间" prop="projectName" :show-overflow-tooltip="true" /> <el-table-column label="成交金额(万元)" prop="startTime" width="150" /> <el-table-column label="购房时间" prop="buyTime" :show-overflow-tooltip="true" /> <el-table-column label="成交金额(万元)" prop="dealAmount" width="150" /> <el-table-column label="新建商品住房" prop="street" :show-overflow-tooltip="true"> <el-table-column prop="noHouseArea" label="楼盘名称" /> <el-table-column prop="noShopArea" label="面积(㎡)" /> <el-table-column prop="standardPrice" label="套数" /> <el-table-column prop="newHousingName" label="楼盘名称" /> <el-table-column prop="newHousingArea" width="100" label="面积(㎡)" /> <el-table-column prop="newHousingNum" label="套数" /> </el-table-column> <el-table-column label="二手住房" prop="street" :show-overflow-tooltip="true"> <el-table-column prop="noHouseArea" label="小区名称" /> <el-table-column prop="noShopArea" label="面积(㎡)" /> <el-table-column prop="standardPrice" label="套数" /> <el-table-column prop="oldHousingName" label="小区名称" /> <el-table-column prop="oldHousingArea" width="100" label="面积(㎡)" /> <el-table-column prop="oldHousingNum" label="套数" /> </el-table-column> <el-table-column label="新建商业用房" prop="street" :show-overflow-tooltip="true"> <el-table-column prop="noHouseArea" label="小区名称" /> <el-table-column prop="noShopArea" label="金额(万元)" /> <el-table-column prop="noShopArea" label="面积(㎡)" /> <el-table-column prop="standardPrice" label="套数" /> <el-table-column prop="buildHousingName" label="小区名称" /> <el-table-column prop="buildHousingAmount" width="100" label="金额(万元)" /> <el-table-column prop="buildHousingArea" width="100" label="面积(㎡)" /> <el-table-column prop="buildHousingNum" label="套数" /> </el-table-column> <el-table-column label="新建停车位" prop="street" :show-overflow-tooltip="true"> <el-table-column prop="noHouseArea" label="楼盘名称" /> <el-table-column prop="noShopArea" label="金额(万元)" /> <el-table-column prop="standardPrice" label="个数" /> <el-table-column prop="newStopName" label="楼盘名称" /> <el-table-column prop="newStopArea" width="100" label="金额(万元)" /> <el-table-column prop="newStopNum" label="个数" /> </el-table-column> </el-table> </div> @@ -207,7 +207,7 @@ <el-col :span="24"> <el-form-item> <el-button v-if="!isView" type="primary" @click="submitForm">保存</el-button> <el-button @click="cancel">返回</el-button> <el-button @click="cancel" >返回</el-button> </el-form-item> </el-col> </el-row> @@ -283,7 +283,7 @@ endDateOptions: { disabledDate: (time) => { if (this.form.lastBeginTime) { return time.getTime() < this.form.lastBeginTime.getTime() return time.getTime() < new Date(this.form.lastBeginTime).getTime() } return false } @@ -370,6 +370,7 @@ getInfo(id) { getDetail({ id }).then(response => { this.form = response.data this.listData = response.data.households }) }, submitForm() { @@ -434,6 +435,10 @@ </script> <style scoped> .mb-20 { margin-bottom: 20px; } .section-title { font-size: 16px; font-weight: bold;