董国庆
2025-04-07 4f37bfba6f497e188cce9a478c7b22c8ef20ef20
Merge branch 'main' of http://120.76.84.145:10101/gitblit/r/H5/chongzhouResettle
3个文件已修改
1个文件已添加
185 ■■■■ 已修改文件
src/api/error-log.js 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/err-log/index.vue 132 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/relocatablePersonnel/add.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/relocatablePersonnel/detail.vue 41 ●●●●● 补丁 | 查看 | 原始文档 | 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;