.env.development | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
.env.production | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
.env.staging | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
package.json | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/api/application-batch.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/api/placement-details.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/utils/request.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/applicationBatchList/detail.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/login.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/placement-batch/applayPerson.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/placement-batch/components/ApprovalDialog.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/placement-batch/person.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/relocatablePersonnel/detail.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/relocatablePersonnel/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
vue.config.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
.env.development
@@ -1,10 +1,10 @@ # 页面标题 VUE_APP_TITLE = 崇州自主安置管理后台 VUE_APP_TITLE = 自主购房智能审核管理系统 # 开发环境配置 ENV = 'development' # 崇州自主安置管理后台/开发环境 # 自主购房智能审核管理系统/开发环境 VUE_APP_BASE_API = 'http://182.140.209.168:8888/api' # http://182.140.209.168:8888/api/ .env.production
@@ -1,8 +1,8 @@ # 页面标题 VUE_APP_TITLE = 崇州自主安置管理后台 VUE_APP_TITLE = 自主购房智能审核管理系统 # 生产环境配置 ENV = 'production' # 崇州自主安置管理后台/生产环境 # 自主购房智能审核管理系统/生产环境 VUE_APP_BASE_API = 'http://182.140.209.168:8888/api' .env.staging
@@ -1,5 +1,5 @@ # 页面标题 VUE_APP_TITLE = 崇州自主安置管理后台 VUE_APP_TITLE = 自主购房智能审核管理系统 BABEL_ENV = production @@ -8,5 +8,5 @@ # 测试环境配置 ENV = 'staging' # 崇州自主安置管理后台/测试环境 # 自主购房智能审核管理系统/测试环境 VUE_APP_BASE_API = '/stage-api' package.json
@@ -1,8 +1,8 @@ { "name": "ruoyi", "version": "3.8.9", "description": "崇州自主安置管理后台", "author": "崇州自主安置管理后台", "description": "自主购房智能审核管理系统", "author": "自主购房智能审核管理系统", "license": "MIT", "scripts": { "dev": "vue-cli-service serve", src/api/application-batch.js
@@ -84,3 +84,21 @@ // data }) } //自动审核 export function autoApprove(data) { return request({ url: '/placement-apply/data-approve', method: 'post', data }) } //数据已核对 export function dataCheck(data) { return request({ url: '/placement-apply/record-check', method: 'post', data }) } src/api/placement-details.js
@@ -116,3 +116,31 @@ data }) } //安置批次自动纠错 export function autoCorrectPlacementBatch(data) { return request({ url: '/placement-batch/data-approve', method: 'post', data }) } // 安置批次资金数据核对 export function checkPlacementBatchMoney(data) { return request({ url: '/placement-batch/asset-check', method: 'post', data }) } // 安置批次购房数据核对 export function checkPlacementBatchHouse(data) { return request({ url: '/placement-batch/household-check', method: 'post', data }) } src/utils/request.js
@@ -17,7 +17,7 @@ // axios中请求配置有baseURL选项,表示请求URL公共部分 baseURL: process.env.VUE_APP_BASE_API, // 超时 timeout: 10000 timeout: 1500000 }) // request拦截器 src/views/applicationBatchList/detail.vue
@@ -1,21 +1,11 @@ <template> <div class="app-container" v-loading="loading" element-loading-text="加载中..." > <div class="app-container" v-loading="loading" :element-loading-text="loadingText"> <!-- 头部信息卡片 --> <div class="batch-info"> <div class="header"> <div class="batch-title">批次号:{{ batchInfo.batchNumber }}</div> <div class="back-btn"> <el-button type="primary" size="small" icon="el-icon-back" @click="goBack" >返回</el-button > <el-button type="primary" size="small" icon="el-icon-back" @click="goBack">返回</el-button> </div> </div> <div class="info-cards"> @@ -37,237 +27,126 @@ <!-- 搜索表单 --> <el-form :inline="true" :model="queryParams" class="search-form"> <el-form-item label="镇街"> <el-select v-model="queryParams.street" placeholder="请选择镇街" clearable filterable size="small" > <el-option v-for="item in streetOptions" :key="item.dictCode" :label="item.dictLabel" :value="item.dictLabel" /> <el-select v-model="queryParams.street" placeholder="请选择镇街" clearable filterable size="small"> <el-option v-for="item in streetOptions" :key="item.dictCode" :label="item.dictLabel" :value="item.dictLabel" /> </el-select> </el-form-item> <el-form-item label="拆迁项目"> <el-input v-model="queryParams.projectName" placeholder="请输入" clearable size="small" /> <el-input v-model="queryParams.projectName" placeholder="请输入" clearable size="small" /> </el-form-item> <el-form-item label="所在村(社区)"> <el-input v-model="queryParams.community" placeholder="请输入" clearable size="small" /> <el-input v-model="queryParams.community" placeholder="请输入" clearable size="small" /> </el-form-item> <el-form-item label="户主姓名/身份证号"> <el-input v-model="queryParams.headOrIdCard" placeholder="请输入" clearable size="small" /> <el-input v-model="queryParams.headOrIdCard" placeholder="请输入" clearable size="small" /> </el-form-item> <el-form-item> <el-button type="primary" icon="el-icon-search" size="small" @click="handleQuery" >查询</el-button > <el-button icon="el-icon-refresh" size="small" @click="resetQuery" >重置</el-button > <el-button type="primary" icon="el-icon-search" size="small" @click="handleQuery">查询</el-button> <el-button icon="el-icon-refresh" size="small" @click="resetQuery">重置</el-button> </el-form-item> </el-form> <!-- 操作按钮区域 --> <el-row :gutter="10" class="mb8" v-if="batchInfo.status == '0'"> <el-col :span="1.5"> <el-button type="primary" size="small" @click="handleAddHousehold" >新增安置户信息</el-button > <el-button type="primary" size="small" @click="handleAddHousehold">新增安置户信息</el-button> </el-col> <el-col :span="1.5"> <el-button type="success" size="small" @click="handleDownloadTemplate" >下载导入模板</el-button > <el-button type="success" size="small" @click="handleDownloadTemplate">下载导入模板</el-button> </el-col> <el-col :span="1.5"> <el-button type="warning" size="small" @click="handleBatchImport" >批量导入</el-button > <el-button type="warning" size="small" @click="handleBatchImport">批量导入</el-button> </el-col> <el-col :span="1.5"> <el-button type="danger" size="small" @click="handleExportIssueData" >问题数据导出</el-button > <el-button type="danger" size="small" @click="handleExportIssueData">问题数据导出</el-button> </el-col> <el-col :span="1.5"> <el-button type="primary" size="small" @click="autoAudit">自动纠错</el-button> </el-col> </el-row> <el-row :gutter="10" class="mb8" v-else> <el-col :span="1.5"> <el-button type="primary" size="small" @click="handleExportAll" >全部导出为Excel</el-button > <el-button type="primary" size="small" @click="handleExportAll">全部导出为Excel</el-button> </el-col> <el-col :span="1.5"> <el-button type="danger" size="small" @click="handleExportIssueData" >问题数据导出</el-button > <el-button type="danger" size="small" @click="handleExportIssueData">问题数据导出</el-button> </el-col> </el-row> <!-- 表格区域 --> <el-table :data="tableData" border style="width: 100%" :row-class-name="tableRowClassName" > <el-table :data="tableData" border style="width: 100%" :row-class-name="tableRowClassName"> <el-table-column type="index" label="序号" width="50" align="center" /> <el-table-column prop="street" label="镇(街道)" align="center" width="80" > <el-table-column prop="street" label="镇(街道)" align="center" width="80"> <template slot-scope="scope"> {{ scope.row.street }} </template> </el-table-column> <el-table-column prop="projectName" label="拆迁项目名称" align="center" width="150" > <el-table-column prop="projectName" label="拆迁项目名称" align="center" width="150"> <template slot-scope="scope"> {{ scope.row.projectName }} </template> </el-table-column> <el-table-column prop="community" label="所在村(社区)" align="center" width="100" > <el-table-column prop="community" label="所在村(社区)" align="center" width="100"> <template slot-scope="scope"> {{ scope.row.community }} </template> </el-table-column> <el-table-column prop="demolitionTime" label="拆迁时间" align="center" width="100" > <el-table-column prop="demolitionTime" label="拆迁时间" align="center" width="100"> <template slot-scope="scope"> {{ scope.row.demolitionTime }} </template> </el-table-column> <el-table-column prop="householdHead" label="户主名称" align="center" width="80" > <el-table-column prop="householdHead" label="户主名称" align="center" width="80"> <template slot-scope="scope"> {{ scope.row.householdHead }} </template> </el-table-column> <el-table-column prop="idCard" label="身份证号" align="center" width="180" > <el-table-column prop="idCard" label="身份证号" align="center" width="180"> <template slot-scope="scope"> {{ scope.row.idCard }} <el-tooltip v-if="scope.row.idCardExistsWarn == 1" placement="top"> <div slot="content">{{ "身份证不在安置库" }}</div> <el-image style="width: 12px; height: 12px;margin-left:5px" :src="require('../../assets/logo/warning.png')" :fit="fit" ></el-image> <el-image style="width: 12px; height: 12px;margin-left:5px" :src="require('../../assets/logo/warning.png')" fit="fit"></el-image> </el-tooltip> <el-tooltip v-if="scope.row.idCardNoWarn == 1" placement="top"> <div slot="content">{{ "身份证重复" }}</div> <el-image style="width: 12px; height: 12px;margin-left:5px" :src="require('../../assets/logo/warning.png')" :fit="fit" ></el-image> <el-image style="width: 12px; height: 12px;margin-left:5px" :src="require('../../assets/logo/warning.png')" fit="fit"></el-image> </el-tooltip> </template> </el-table-column> <el-table-column prop="mobile" label="联系电话" align="center" width="120" > <el-table-column prop="mobile" label="联系电话" align="center" width="120"> <template slot-scope="scope"> {{ scope.row.mobile }} </template> </el-table-column> <el-table-column label="本次安置人数(人)" align="center"> <el-table-column prop="currentCollectiveNum" label="集体经济组织成员" align="center" width="120" > <el-table-column prop="currentCollectiveNum" label="集体经济组织成员" align="center" width="120"> <template slot-scope="scope"> {{ scope.row.currentCollectiveNum }} </template> </el-table-column> <el-table-column prop="currentNoCollectiveNum" label="非集体经济组织成员" align="center" width="120" > <el-table-column prop="currentNoCollectiveNum" label="非集体经济组织成员" align="center" width="120"> <template slot-scope="scope"> {{ scope.row.currentNoCollectiveNum }} </template> </el-table-column> <el-table-column prop="currentCount" label="合计" align="center" width="60" > <el-table-column prop="currentCount" label="合计" align="center" width="60"> <template slot-scope="scope"> {{ scope.row.currentCount }} </template> </el-table-column> </el-table-column> <el-table-column prop="waitFamilyNames" label="待安置家庭成员姓名" align="center" width="120" > <el-table-column prop="waitFamilyNames" label="待安置家庭成员姓名" align="center" width="120"> <template slot-scope="scope"> {{ scope.row.waitFamilyNames }} <el-tooltip v-if="scope.row.waitFamilyNamesWarn == 1" placement="top"> <div slot="content">{{ "身份信息存在重复数据" }}</div> <el-image style="width: 12px; height: 12px;margin-left:5px" :src="require('../../assets/logo/warning.png')" :fit="fit" ></el-image> <el-image style="width: 12px; height: 12px;margin-left:5px" :src="require('../../assets/logo/warning.png')" fit="fit"></el-image> </el-tooltip> <el-tooltip v-if="scope.row.waitFamilyNamesNoWarn == 1" placement="top"> <div slot="content">{{ "不在安置库" }}</div> @@ -279,131 +158,90 @@ </el-tooltip> </template> </el-table-column> <el-table-column prop="waitFamilyArea" label="待安置人员应安置面积合计(㎡)" align="center" width="120" > <el-table-column prop="orgArea" label="集体成员面积" align="center" width="150"> <template slot-scope="scope"> {{ scope.row.orgArea }} </template> </el-table-column> <el-table-column prop="noOrgArea" label="非集体成员面积" align="center" width="150"> <template slot-scope="scope"> {{ scope.row.noOrgArea }} </template> </el-table-column> <el-table-column prop="waitFamilyArea" label="待安置人员应安置面积合计(㎡)" align="center" width="120"> <template slot-scope="scope"> {{ scope.row.waitFamilyArea }} <el-tooltip v-if="scope.row.waitFamilyAreaWarn == 1" placement="top"> <div slot="content">{{ "应补偿面积数据异常" }}</div> <el-image style="width: 12px; height: 12px;margin-left:5px" :src="require('../../assets/logo/warning.png')" :fit="fit" ></el-image> <el-image style="width: 12px; height: 12px;margin-left:5px" :src="require('../../assets/logo/warning.png')" fit="fit"></el-image> </el-tooltip> </template> </el-table-column> <el-table-column label="补偿金额(万元)" align="center"> <el-table-column prop="compensationNewAmount" label="新建商品住房、商业用房、停车位" align="center" width="100" > <el-table-column prop="compensationNewAmount" label="新建商品住房、商业用房、停车位" align="center" width="100"> <template slot-scope="scope"> {{ scope.row.compensationNewAmount }} <!-- 重新对接字段 --> <el-tooltip v-if="scope.row.compensationAmountWarn == 1" placement="top" > <el-tooltip v-if="scope.row.compensationAmountWarn == 1" placement="top"> <div slot="content">{{ "检测到多个购房情况,请人工核对" }}</div> <el-image style="width: 12px; height: 12px;margin-left:5px" :src="require('../../assets/logo/warning.png')" :fit="fit" ></el-image> <el-image style="width: 12px; height: 12px;margin-left:5px" :src="require('../../assets/logo/warning.png')" fit="fit"></el-image> </el-tooltip> </template> </el-table-column> <el-table-column prop="compensationOldAmount" label="二手住房" align="center" width="80" > <el-table-column prop="compensationOldAmount" label="二手住房" align="center" width="80"> <template slot-scope="scope"> {{ scope.row.compensationOldAmount }} </template> </el-table-column> <el-table-column prop="compensationSum" label="合计" align="center" width="60" > <el-table-column prop="compensationSum" label="合计" align="center" width="60"> <template slot-scope="scope"> {{ scope.row.compensationSum }} <el-tooltip v-if="scope.row.compensationSumWarn == 1" placement="top" > <el-tooltip v-if="scope.row.compensationSumWarn == 1" placement="top"> <div slot="content">{{ "补偿标准金额异常" }}</div> <!-- <i class="el-icon-warning-outline" style="color: #e6a23c; margin-left: 5px" ></i> --> <el-image style="width: 12px; height: 12px;margin-left:5px" :src="require('../../assets/logo/warning.png')" :fit="fit" ></el-image> <el-image style="width: 12px; height: 12px;margin-left:5px" :src="require('../../assets/logo/warning.png')" fit="fit"></el-image> </el-tooltip> </template> </el-table-column> </el-table-column> <el-table-column prop="downPaymentAmount" label="25%首付款(万元)" align="center" width="130" > <el-table-column prop="downPaymentAmount" label="25%首付款(万元)" align="center" width="130"> <template slot-scope="scope"> {{ scope.row.downPaymentAmount }} </template> </el-table-column> <el-table-column prop="quarterPayAmount" label="每季度需支付款项(万元)" align="center" width="120" > <template slot-scope="scope"> {{ scope.row.quarterPayAmount }} <el-tooltip v-if="scope.row.quarterPayAmountWarn == 1" placement="top" > {{ scope.row.downPaymentAmount }} <el-tooltip v-if="scope.row.downPaymentAmountWarn == 1" placement="top"> <div slot="content"> {{ "季度款金额异常" }} {{ "首付款金额异常" }} </div> <el-image style="width: 12px; height: 12px;margin-left:5px" :src="require('../../assets/logo/warning.png')" :fit="fit" ></el-image> <el-image style="width: 12px; height: 12px;margin-left:5px" :src="require('../../assets/logo/warning.png')" fit="fit"></el-image> </el-tooltip> </template> </el-table-column> <el-table-column prop="subsidyAmount" label="过渡补贴(万元)" align="center" width="60" > <el-table-column prop="quarterPayAmount" label="每季度需支付款项(万元)" align="center" width="120"> <template slot-scope="scope"> {{ scope.row.quarterPayAmount }} <el-tooltip v-if="scope.row.quarterPayAmountWarn == 1" placement="top"> <div slot="content"> {{ "季度款金额异常" }} </div> <el-image style="width: 12px; height: 12px;margin-left:5px" :src="require('../../assets/logo/warning.png')" fit="fit"></el-image> </el-tooltip> </template> </el-table-column> <el-table-column prop="subsidyAmount" label="过渡补贴(万元)" align="center" width="60"> <template slot-scope="scope"> {{ scope.row.subsidyAmount }} <el-tooltip v-if="scope.row.subsidyAmountWarn == 1" placement="top"> <div slot="content">{{ "过度补贴数据异常" }}</div> <el-image style="width: 12px; height: 12px;margin-left:5px" :src="require('../../assets/logo/warning.png')" :fit="fit" ></el-image> <el-image style="width: 12px; height: 12px;margin-left:5px" :src="require('../../assets/logo/warning.png')" fit="fit"></el-image> </el-tooltip> </template> </el-table-column> @@ -412,37 +250,18 @@ {{ scope.row.remark }} </template> </el-table-column> <el-table-column prop="situation" label="购房差异情况" align="center" width="60" > <el-table-column prop="situation" label="购房差异情况" align="center" width="60"> <template slot-scope="scope"> {{ scope.row.situation }} </template> </el-table-column> <el-table-column label="操作" align="center" width="150" fixed="right"> <el-table-column label="操作" align="center" width="200" fixed="right"> <template slot-scope="scope"> <el-button size="mini" type="text" @click="handleHouseholdDetail(scope.row)" >详情</el-button > <el-button size="mini" type="text" @click="handleHouseholdDetail(scope.row)">详情</el-button> <template v-if="batchInfo.status == '0'"> <el-button size="mini" type="text" @click="handleHouseholdEdit(scope.row)" >编辑</el-button > <el-button size="mini" type="text" @click="handleHouseholdDelete(scope.row)" >删除</el-button > <el-button size="mini" type="text" @click="handleHouseholdEdit(scope.row)">编辑</el-button> <el-button size="mini" type="text" @click="handleHouseholdDelete(scope.row)">删除</el-button> <el-button size="mini" type="text" @click="handleCheck(scope.row)">已核对</el-button> </template> </template> </el-table-column> @@ -450,25 +269,14 @@ <!-- 分页 --> <div class="pagination-container"> <el-pagination background @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="queryParams.pageNum" :page-sizes="[10, 20, 30, 50]" :page-size="queryParams.pageSize" layout="total, sizes, prev, pager, next, jumper" :total="total" /> <el-pagination background @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="queryParams.pageNum" :page-sizes="[10, 20, 30, 50]" :page-size="queryParams.pageSize" layout="total, sizes, prev, pager, next, jumper" :total="total" /> </div> <!-- 上传组件 --> <upload-dialog ref="uploadDialog" :info="batchInfo" :visible.sync="uploadDialogVisible" @success="handleUploadSuccess" /> <upload-dialog ref="uploadDialog" :info="batchInfo" :visible.sync="uploadDialogVisible" @success="handleUploadSuccess" /> <!-- 详情弹窗 --> <DetailDialog :visible.sync="detailDialogVisible" :id="currentId" /> @@ -480,6 +288,8 @@ geDetailTabletList, delDetail, getDictList, autoApprove, dataCheck } from "@/api/application-batch"; import { downLoad, exportExcell } from "@/utils"; import UploadDialog from "./components/UploadDialog.vue"; @@ -507,6 +317,8 @@ // 补偿资金总额 totalAmount: "", }, //加载文案 loadingText: "加载中...", // 加载状态 loading: false, // 上传组件 @@ -543,6 +355,38 @@ this.getStreetOptions(); }, methods: { /**自动审核*/ autoAudit() { this.$confirm('是否确认自动纠错', '提示', { confirmButtonText: '确定', cancelButtonText: '取消', type: 'warning' }).then(() => { this.loading = true this.loadingText = '系统自动纠错中...' autoApprove({ id: this.batchInfo.id }).then((res) => { this.loadingText = '加载中...' this.getList(); }) .catch(() => { this.loadingText = '加载中...' this.loading = false }) }) }, handleCheck(row) { this.$confirm('是否确认已核对', '提示', { confirmButtonText: '确定', cancelButtonText: '取消', type: 'warning' }).then(() => { dataCheck({ id: row.id }).then((res) => { this.getList(); }) }) }, /** 获取镇街选项 */ getStreetOptions() { getDictList().then((res) => { @@ -677,7 +521,7 @@ } }); }) .catch(() => {}); .catch(() => { }); }, /** 每页显示条数变化 */ handleSizeChange(val) { @@ -701,7 +545,8 @@ row.quarterPayAmountWarn == 1 || row.idCardNoWarn == 1 || row.idCardExistsWarn == 1 || row.compensationSumWarn == 1 row.compensationSumWarn == 1 || row.downPaymentAmountWarn == 1 ) { return "warning-row"; } @@ -721,6 +566,14 @@ </script> <style scoped> ::v-deep .el-loading-spinner { position: fixed; left: 8%; right: 0; margin: auto; /* margin: 0 auto; */ } .app-container { padding: 20px; } src/views/login.vue
@@ -1,7 +1,7 @@ <template> <div class="login"> <el-form ref="loginForm" :model="loginForm" :rules="loginRules" class="login-form"> <h3 class="title">崇州自主安置管理后台</h3> <h3 class="title">自主购房智能审核管理系统</h3> <el-form-item prop="username"> <el-input v-model="loginForm.username" src/views/placement-batch/applayPerson.vue
@@ -27,7 +27,7 @@ </el-col> <el-col :span="6"> <el-form-item label="拆迁时间" prop="demolitionTime"> <el-date-picker :disabled="$route.query.type === 'detail'" v-model="form.demolitionTime" type="date" <el-date-picker :disabled="$route.query.type === 'detail'" :value-format="'yyyy-MM-dd'" v-model="form.demolitionTime" type="date" placeholder="请选择拆迁时间" style="width:180px;" /> </el-form-item> </el-col> @@ -191,7 +191,7 @@ <el-row> <el-col :span="8"> <el-form-item label="凭证发放时间" label-width="215px" prop="certificateTime"> <el-date-picker :disabled="$route.query.type === 'detail'" v-model="form.certificateTime" type="date" <el-date-picker :disabled="$route.query.type === 'detail'" :value-format="'yyyy-MM-dd'" v-model="form.certificateTime" type="date" placeholder="请选择凭证发放时间" style="width: 250px;" /> </el-form-item> </el-col> @@ -202,7 +202,7 @@ <el-row :gutter="20"> <el-col :span="8"> <el-form-item label="购房时间" prop="buyTime"> <el-date-picker :disabled="$route.query.type === 'detail'" v-model="form.buyTime" type="date" <el-date-picker :disabled="$route.query.type === 'detail'" :value-format="'yyyy-MM-dd'" v-model="form.buyTime" type="date" placeholder="请选择购房时间" style="width: 250px;" /> </el-form-item> </el-col> @@ -362,13 +362,13 @@ <el-row :gutter="20"> <el-col :span="12"> <el-form-item label="自主购房协议签订时间" prop="signTime"> <el-date-picker :disabled="$route.query.type === 'detail'" v-model="form.signTime" type="date" <el-date-picker :disabled="$route.query.type === 'detail'" :value-format="'yyyy-MM-dd'" v-model="form.signTime" type="date" placeholder="请选择时间" style="width: 250px;" /> </el-form-item> </el-col> <el-col :span="12"> <el-form-item label="25%补偿款及过渡补贴支付时间" label-width="220px" prop="compensationPayTime"> <el-date-picker :disabled="$route.query.type === 'detail'" v-model="form.compensationPayTime" type="date" <el-date-picker :disabled="$route.query.type === 'detail'" :value-format="'yyyy-MM-dd'" v-model="form.compensationPayTime" type="date" placeholder="请选择时间" style="width: 250px;" /> </el-form-item> </el-col> src/views/placement-batch/components/ApprovalDialog.vue
@@ -28,7 +28,7 @@ :src="require('../../../assets/logo/warning.png')" :fit="fit"></el-image> </el-tooltip></span> </template> </el-table-column> <el-table-column prop="idCard" label="身份证号" key="table_A" min-width="180" align="center"> <el-table-column prop="idCard" label="身份证号" key="table_A" min-width="180" align="center"> <template slot-scope="scope"> {{ scope.row.idCard || "-" }} <el-tooltip v-if="scope.row.idCardWarn == 1" class="item" effect="dark" content="身份信息不存在于待安置人员库" @@ -38,7 +38,7 @@ </el-tooltip> </template> </el-table-column> <el-table-column prop="resettledNum" key="table_A" label="应安置人数(人)" min-width="140" align="center" /> <el-table-column prop="resettledNum" key="table_A" label="应安置人数(人)" min-width="140" align="center" /> <el-table-column label="所有家庭人员应安置面积(㎡)" key="table_A" prop="resettledArea" min-width="160" align="center"> <template slot-scope="scope"> <span>{{ scope.row.resettledArea }} @@ -49,7 +49,8 @@ </template> </el-table-column> <el-table-column label="补偿单位标准(万元)" key="table_A" min-width="160" align="center"> <el-table-column prop="priceNewAmount" key="table_A" label="新建商品住房、商业用房、停车位" min-width="160" align="center"> <el-table-column prop="priceNewAmount" key="table_A" label="新建商品住房、商业用房、停车位" min-width="160" align="center"> <template slot-scope="scope"> <span>{{ scope.row.priceNewAmount }} <el-tooltip v-if="scope.row.priceAmountWarn == 1" class="item" effect="dark" content="补充标准数据异常" @@ -77,9 +78,20 @@ :src="require('../../../assets/logo/warning.png')" :fit="fit"></el-image> </el-tooltip></span> </template> </el-table-column> <el-table-column prop="downPaymentAmount" key="table_A" label="25%首付款(㎡)" min-width="150" align="center" /> <el-table-column prop="quarterPayAmount" key="table_A" v-if="activeTab == '1'" label="每季度需支付款项(万元)" min-width="180" align="center"> <el-table-column prop="downPaymentAmount" key="table_A" label="25%首付款(㎡)" min-width="150" align="center" > <template slot-scope="scope"> <span>{{ scope.row.downPaymentAmount }}</span> <el-tooltip v-if="scope.row.downPaymentAmountWarn == 1" placement="top"> <div slot="content"> {{ "首付款金额异常" }} </div> <el-image style="width: 12px; height: 12px;margin-left:5px" :src="require('../../../assets/logo/warning.png')" fit="fit"></el-image> </el-tooltip> </template> </el-table-column> <el-table-column prop="quarterPayAmount" key="table_A" v-if="activeTab == '1'" label="每季度需支付款项(万元)" min-width="180" align="center"> <template slot-scope="scope"> <span>{{ scope.row.quarterPayAmount }} <el-tooltip v-if="scope.row.quarterPayAmountWarn == 1" class="item" effect="dark" content="季度款金额数据异常" @@ -91,7 +103,7 @@ <el-table-column prop="subsidyAmount" key="table_A" label="过渡补贴(万元)" min-width="180" align="center"> <template slot-scope="scope"> <span>{{ scope.row.subsidyAmount }} <el-tooltip v-if="scope.row.subsidyAmount == 1" class="item" effect="dark" content="过渡补贴金额数据异常" <el-tooltip v-if="scope.row.subsidyAmountWarn == 1" class="item" effect="dark" content="过渡补贴金额数据异常" placement="top"> <el-image style="width: 12px; height: 12px; margin-left: 5px" :src="require('../../../assets/logo/warning.png')" :fit="fit"></el-image> </el-tooltip></span> @@ -149,12 +161,14 @@ </el-table-column> <el-table-column key="table_B" label="本次安置人数(人)" min-width="100" align="center"> <el-table-column key="table_B" prop="currentCollectiveNum" label="集体经济组织成员" min-width="100" align="center"> <el-table-column key="table_B" prop="currentCollectiveNum" label="集体经济组织成员" min-width="100" align="center"> <template slot-scope="scope"> {{ scope.row.currentCollectiveNum || '-' }} </template> </el-table-column> <el-table-column key="table_B" prop="currentNoCollectiveNum" label="非集体经济组织成员" min-width="100" align="center"> <el-table-column key="table_B" prop="currentNoCollectiveNum" label="非集体经济组织成员" min-width="100" align="center"> <template slot-scope="scope"> {{ scope.row.currentNoCollectiveNum || '-' }} </template> @@ -174,6 +188,19 @@ </el-tooltip> </template> </el-table-column> <el-table-column prop="orgArea" key="table_B" label="集体成员面积" align="center" width="150"> <template slot-scope="scope"> {{ scope.row.orgArea }} </template> </el-table-column> <el-table-column prop="noOrgArea" key="table_B" label="非集体成员面积" align="center" width="150"> <template slot-scope="scope"> {{ scope.row.noOrgArea }} </template> </el-table-column> <el-table-column key="table_B" prop="waitFamilyArea" label="待安置人员应安置面积合计(㎡)" min-width="100" align="center"> <template slot-scope="scope"> <span>{{ scope.row.waitFamilyArea }} <el-tooltip v-if="scope.row.waitFamilyAreaWarn == 1" class="item" @@ -184,7 +211,8 @@ </template> </el-table-column> <el-table-column key="table_B" label="补偿金额(万元)" min-width="100" align="center"> <el-table-column key="table_B" prop="compensationNewAmount" label="新建商品住房、商业用房、停车位" min-width="100" align="center"> <el-table-column key="table_B" prop="compensationNewAmount" label="新建商品住房、商业用房、停车位" min-width="100" align="center"> <template slot-scope="scope"> <span>{{ scope.row.compensationNewAmount }} <el-tooltip v-if="scope.row.compensationAmountWarn == 1" class="item" effect="dark" content="检测到多个购房情况请人工核对" placement="top"> @@ -211,6 +239,13 @@ <el-table-column key="table_B" prop="downPaymentAmount" label="25%首付款(万元)" min-width="100" align="center"> <template slot-scope="scope"> <span>{{ scope.row.downPaymentAmount }}</span> <el-tooltip v-if="scope.row.downPaymentAmountWarn == 1" placement="top"> <div slot="content"> {{ "首付款金额异常" }} </div> <el-image style="width: 12px; height: 12px;margin-left:5px" :src="require('../../../assets/logo/warning.png')" fit="fit"></el-image> </el-tooltip> </template> </el-table-column> <el-table-column key="table_B" prop="quarterPayAmount" v-if="activeTab == '2'" label="每季度需支付款项(万元)" @@ -341,7 +376,8 @@ <span>{{ scope.row.signTime }}</span> </template> </el-table-column> <el-table-column key="table_B" prop="compensationPayTime" label="25%补偿款及过渡补贴支付时间" min-width="100" align="center"> <el-table-column key="table_B" prop="compensationPayTime" label="25%补偿款及过渡补贴支付时间" min-width="100" align="center"> <template slot-scope="scope"> <span>{{ scope.row.compensationPayTime }}</span> </template> @@ -598,13 +634,13 @@ this.getList(); }, tableRowClassName({ row, rowIndex }) { if (row.compensationSumWarn == 1 || row.householdHeadWarn == 1 || row.idCardWarn == 1 || row.priceAmountWarn == 1 || row.quarterPayAmountWarn == 1 || row.subsidyAmountWarn == 1 || row.twoPriceWarn == 1 || row.waitFamilyAreaWarn == 1) { if (row.compensationSumWarn == 1 || row.householdHeadWarn == 1 || row.idCardWarn == 1 || row.priceAmountWarn == 1 || row.quarterPayAmountWarn == 1 || row.subsidyAmountWarn == 1 || row.twoPriceWarn == 1 || row.waitFamilyAreaWarn == 1 || row.downPaymentAmountWarn == 1) { return 'warning-row' } return '' }, tableRowClassName1({ row, rowIndex }) { if (row.areaWarn == 1 || row.compensationAmountWarn == 1 || row.compensationSumWarn == 1 || row.householdHeadWarn == 1 || row.idCardWarn == 1 || row.waitFamilyAreaWarn == 1 || row.waitFamilyNamesWarn == 1 || row.subsidyAmountWarn == 1 || row.quarterPayAmountWarn == 1) { if (row.areaWarn == 1 || row.compensationAmountWarn == 1 || row.compensationSumWarn == 1 || row.householdHeadWarn == 1 || row.idCardWarn == 1 || row.waitFamilyAreaWarn == 1 || row.waitFamilyNamesWarn == 1 || row.subsidyAmountWarn == 1 || row.quarterPayAmountWarn == 1 || row.downPaymentAmountWarn) { return 'warning-row' } return '' src/views/placement-batch/person.vue
@@ -1,5 +1,5 @@ <template> <div class="app-container"> <div class="app-container" v-loading="loading" :element-loading-text="loadingText" > <!-- 搜索区域 --> <div class="filter-container"> <el-form :inline="true" :model="queryParams" class="demo-form-inline"> @@ -66,11 +66,12 @@ <el-button type="success" size="small" @click="handleDownloadTemplate">下载导入模板</el-button> <el-button type="primary" size="small" @click="handleImport">批量导入</el-button> <el-button type="danger" size="small" @click="handleExportSelected">问题数据导出</el-button> <el-button type="primary" size="small" @click="autoApprove">自动纠错</el-button> </div> <div v-if="activeTab === 'fullReport'"> <!-- 表格区域 --> <el-table v-loading="loading" :data="tableData" border style="width: 100%" :row-class-name="tableRowClassName"> <el-table :data="tableData" border style="width: 100%" :row-class-name="tableRowClassName"> <el-table-column type="index" key="table_A" label="序号" width="50" align="center" /> <el-table-column prop="street" key="table_A" label="镇(街道)" min-width="120" align="center" /> <el-table-column prop="projectName" key="table_A" label="拆迁项目名称" min-width="180" align="center" /> @@ -135,6 +136,13 @@ <el-table-column prop="downPaymentAmount" label="25%首付款(㎡)" key="table_A" min-width="150" align="center"> <template slot-scope="scope"> <span>{{ scope.row.downPaymentAmount }}</span> <el-tooltip v-if="scope.row.downPaymentAmountWarn == 1" placement="top"> <div slot="content"> {{ "首付款金额异常" }} </div> <el-image style="width: 12px; height: 12px;margin-left:5px" :src="require('../../assets/logo/warning.png')" fit="fit"></el-image> </el-tooltip> </template> </el-table-column> <el-table-column prop="quarterPayAmount" label="每季度需支付款项(万元)" key="table_A" min-width="180" align="center"> @@ -148,7 +156,7 @@ </el-table-column> <el-table-column prop="subsidyAmount" label="过渡补贴(万元)" min-width="180" key="table_A" align="center"> <template slot-scope="scope"> <span>{{ scope.row.subsidyAmount }} <el-tooltip v-if="scope.row.subsidyAmount == 1" class="item" <span>{{ scope.row.subsidyAmount }} <el-tooltip v-if="scope.row.subsidyAmountWarn == 1" class="item" effect="dark" content="过渡补贴金额数据异常" placement="top"> <el-image style="width: 12px; height: 12px;margin-left:5px" :src="require('../../assets/logo/warning.png')" fit="fit"></el-image> @@ -160,6 +168,7 @@ <el-button type="text" size="small" @click="handleView(scope.row)">详情</el-button> <el-button type="text" size="small" @click="handleEdit(scope.row)">编辑</el-button> <el-button type="text" size="small" @click="handleDelete(scope.row)">删除</el-button> <el-button type="text" size="small" @click="handleCheckMoney(scope.row)">已核对</el-button> </template> </el-table-column> </el-table> @@ -191,7 +200,7 @@ <span>{{ scope.row.community }}</span> </template> </el-table-column> <el-table-column prop="demolitionTime" key="table_B" label="拆迁时间" min-width="100" align="center"> <el-table-column prop="demolitionTime" key="table_B" label="拆迁时间" min-width="100" align="center"> <template slot-scope="scope"> <span>{{ scope.row.demolitionTime }}</span> </template> @@ -239,11 +248,26 @@ </el-table-column> <el-table-column prop="waitFamilyNames" key="table_B" label="待安置家庭成员姓名" min-width="100" align="center"> <template slot-scope="scope"> {{ scope.row.waitFamilyNames || '-' }} <el-tooltip v-if="scope.row.waitFamilyNamesWarn == 1 || scope.row.waitFamilyNamesNoWarn==1" class="item" effect="dark" :content="scope.row.waitFamilyNamesWarn==1?'身份信息存在重复数据':'家庭成员不在安置库'" placement="top"> {{ scope.row.waitFamilyNames || '-' }} <el-tooltip v-if="scope.row.waitFamilyNamesWarn == 1" class="item" effect="dark" content="身份信息存在重复数据" placement="top"> <el-image style="width: 12px; height: 12px;margin-left:5px" :src="require('../../assets/logo/warning.png')" fit="fit"></el-image> </el-tooltip> <el-tooltip v-if="scope.row.waitFamilyNamesNoWarn == 1" class="item" effect="dark" content="家庭成员不在安置库" placement="top"> <el-image style="width: 12px; height: 12px;margin-left:5px" :src="require('../../assets/logo/warning.png')" fit="fit"></el-image> </el-tooltip> </template> </el-table-column> <el-table-column prop="orgArea" key="table_B" label="集体成员面积" align="center" width="150"> <template slot-scope="scope"> {{ scope.row.orgArea }} </template> </el-table-column> <el-table-column prop="noOrgArea" key="table_B" label="非集体成员面积" align="center" width="150"> <template slot-scope="scope"> {{ scope.row.noOrgArea }} </template> </el-table-column> <el-table-column prop="waitFamilyArea" key="table_B" label="待安置人员应安置面积合计(㎡)" min-width="100" align="center"> @@ -256,7 +280,8 @@ </template> </el-table-column> <el-table-column label="补偿金额(万元)" key="table_B" min-width="100" align="center"> <el-table-column prop="compensationNewAmount" key="table_B" label="新建商品住房、商业用房、停车位" min-width="100" align="center"> <el-table-column prop="compensationNewAmount" key="table_B" label="新建商品住房、商业用房、停车位" min-width="100" align="center"> <template slot-scope="scope"> <span>{{ scope.row.compensationNewAmount }} <el-tooltip v-if="scope.row.compensationAmountWarn == 1" class="item" effect="dark" content="检测到多个购房情况请人工核对" placement="top"> @@ -283,10 +308,16 @@ <el-table-column prop="downPaymentAmount" key="table_B" label="25%首付款(万元)" min-width="100" align="center"> <template slot-scope="scope"> <span>{{ scope.row.downPaymentAmount }}</span> <el-tooltip v-if="scope.row.downPaymentAmountWarn == 1" placement="top"> <div slot="content"> {{ "首付款金额异常" }} </div> <el-image style="width: 12px; height: 12px;margin-left:5px" :src="require('../../assets/logo/warning.png')" fit="fit"></el-image> </el-tooltip> </template> </el-table-column> <el-table-column prop="quarterPayAmount" key="table_B" label="每季度需支付款项(万元)" min-width="100" align="center"> <el-table-column prop="quarterPayAmount" key="table_B" label="每季度需支付款项(万元)" min-width="100" align="center"> <template slot-scope="scope"> <span>{{ scope.row.quarterPayAmount }} <el-tooltip v-if="scope.row.quarterPayAmountWarn == 1" class="item" effect="dark" content="季度款金额数据异常" placement="top"> @@ -309,7 +340,7 @@ <span>{{ scope.row.remark }}</span> </template> </el-table-column> <el-table-column prop="certificateTime" key="table_B" label="凭证发放时间" min-width="100" align="center"> <el-table-column prop="certificateTime" key="table_B" label="凭证发放时间" min-width="100" align="center"> <template slot-scope="scope"> <span>{{ scope.row.certificateTime }}</span> </template> @@ -413,7 +444,8 @@ <span>{{ scope.row.signTime }}</span> </template> </el-table-column> <el-table-column prop="compensationPayTime" key="table_B" label="25%补偿款及过渡补贴支付时间" min-width="100" align="center"> <el-table-column prop="compensationPayTime" key="table_B" label="25%补偿款及过渡补贴支付时间" min-width="100" align="center"> <template slot-scope="scope"> <span>{{ scope.row.compensationPayTime }}</span> </template> @@ -450,6 +482,7 @@ <el-button type="text" size="small" @click="handleView(scope.row)">详情</el-button> <el-button type="text" size="small" @click="handleEdit(scope.row)">编辑</el-button> <el-button type="text" size="small" @click="handleDelete(scope.row)">删除</el-button> <el-button type="text" size="small" @click="handleCheckHousehold(scope.row)">已核对</el-button> </template> </el-table-column> </el-table> @@ -471,11 +504,15 @@ getPlacementBatchDetail, deletePlacementBatchMoney, deletePlacementBatchHouse, importPlacementBatch importPlacementBatch, checkPlacementBatchMoney, autoCorrectPlacementBatch, checkPlacementBatchHouse } from '@/api/placement-details' import ExportMoneyApplay from './components/exportMoneyApplay.vue' import { downLoad, exportExcell } from '@/utils' import { autoApprove } from '../../api/application-batch' export default { name: 'PlacementPerson', components: { @@ -493,6 +530,8 @@ single: true, // 非多个禁用 multiple: true, //加载文案 loadingText: '加载中', // 总条数 total: 0, // 表格数据 @@ -520,6 +559,55 @@ this.getList() }, methods: { /** 自动纠错 */ autoApprove() { this.$confirm('是否确认自动纠错', '提示', { confirmButtonText: '确定', cancelButtonText: '取消', type: 'warning' }).then(() => { this.loading = true this.loadingText = '系统自动纠错中...' autoCorrectPlacementBatch({ id: this.detailData.id }).then((res) => { this.loadingText = '加载中...' this.getList(); }) .catch(() => { this.loadingText = '加载中...' this.loading = false }) }) }, /** 资金核对数据 */ handleCheckMoney(row) { this.$confirm('是否确认已核对数据', '提示', { confirmButtonText: '确定', cancelButtonText: '取消', type: 'warning' }).then(() => { checkPlacementBatchMoney({ id: row.id }).then((res) => { this.getList(); }) }) }, /** 购房信息核对数据 */ handleCheckHousehold(row) { this.$confirm('是否确认核对数据', '提示', { confirmButtonText: '确定', cancelButtonText: '取消', type: 'warning' }).then(() => { checkPlacementBatchHouse({ id: row.id }).then((res) => { this.getList(); }) }) }, /** 查询列表 */ getList() { this.loading = true @@ -544,13 +632,13 @@ this.getList() }, tableRowClassName({ row, rowIndex }) { if (row.compensationSumWarn == 1 || row.householdHeadWarn == 1 || row.idCardWarn == 1 || row.waitFamilyNamesNoWarn==1 || row.priceAmountWarn == 1 || row.quarterPayAmountWarn == 1 || row.subsidyAmountWarn == 1 || row.twoPriceWarn == 1 || row.waitFamilyAreaWarn == 1) { if (row.compensationSumWarn == 1 || row.householdHeadWarn == 1 || row.idCardWarn == 1 || row.waitFamilyNamesNoWarn == 1 || row.priceAmountWarn == 1 || row.quarterPayAmountWarn == 1 || row.subsidyAmountWarn == 1 || row.twoPriceWarn == 1 || row.waitFamilyAreaWarn == 1 || row.downPaymentAmountWarn == 1) { return 'warning-row' } return '' }, tableRowClassName1({ row, rowIndex }) { if (row.areaWarn == 1 || row.compensationAmountWarn == 1 || row.compensationSumWarn == 1 || row.householdHeadWarn == 1 || row.waitFamilyNamesNoWarn==1 || row.idCardWarn == 1 || row.waitFamilyAreaWarn == 1 || row.waitFamilyNamesWarn == 1 || row.subsidyAmountWarn == 1 || row.quarterPayAmountWarn == 1) { if (row.areaWarn == 1 || row.compensationAmountWarn == 1 || row.compensationSumWarn == 1 || row.householdHeadWarn == 1 || row.waitFamilyNamesNoWarn == 1 || row.idCardWarn == 1 || row.waitFamilyAreaWarn == 1 || row.waitFamilyNamesWarn == 1 || row.subsidyAmountWarn == 1 || row.quarterPayAmountWarn == 1 || row.downPaymentAmountWarn == 1) { return 'warning-row' } return '' @@ -705,6 +793,13 @@ </script> <style scoped lang="scss"> ::v-deep .el-loading-spinner{ position: fixed; left: 8%; right: 0; margin: auto; /* margin: 0 auto; */ } ::v-deep .warning-row { background: #DE868F !important; } src/views/relocatablePersonnel/detail.vue
@@ -174,7 +174,7 @@ </el-col> </el-row> <div v-if="$route.query.type == 'view'" class="mb-20"> <div class="section-title">补偿金额标准</div> <div class="section-title">购房信息 </div> <el-table v-loading="loading" :data="listData"> <el-table-column label="购房时间" prop="buyTime" :show-overflow-tooltip="true" /> <el-table-column label="成交金额(万元)" prop="dealAmount" width="150" /> src/views/relocatablePersonnel/index.vue
@@ -2,23 +2,29 @@ <div class="app-container"> <el-form :model="queryParams" ref="queryForm" size="small" :inline="true"> <el-form-item label="拆迁项目" prop="projectName"> <el-input v-model="queryParams.projectName" placeholder="请输入" clearable style="width: 240px" <el-input v-model="queryParams.projectName" placeholder="请输入" clearable style="width: 180px" @keyup.enter.native="handleQuery" /> </el-form-item> <el-form-item label="镇街" prop="street"> <el-select v-model="queryParams.street" placeholder="请选择" style="width: 240px"> <el-select v-model="queryParams.street" placeholder="请选择" style="width: 180px"> <el-option v-for="item in streetOptions" :key="item.dictCode" :label="item.dictLabel" :value="item.dictLabel" /> </el-select> </el-form-item> <el-form-item label="所属村(社区)" prop="community"> <el-input v-model="queryParams.community" placeholder="请输入" clearable style="width: 240px" <el-input v-model="queryParams.community" placeholder="请输入" clearable style="width: 180px" @keyup.enter.native="handleQuery" /> </el-form-item> <el-form-item label="户主姓名/身份证号" prop="headOrIdCard"> <el-input v-model="queryParams.headOrIdCard" placeholder="请输入" clearable style="width: 240px" <el-input v-model="queryParams.headOrIdCard" placeholder="请输入" clearable style="width: 180px" @keyup.enter.native="handleQuery" /> </el-form-item> <el-form-item label="安置状态" prop="status"> <el-select v-model="queryParams.status" placeholder="请选择" style="width: 180px"> <el-option label="未安置" :value="null" /> <el-option label="已安置" value="1" /> </el-select> </el-form-item> <el-form-item> <el-button type="primary" icon="el-icon-search" size="small" @click="handleQuery">搜索</el-button> <el-button icon="el-icon-refresh" size="small" @click="resetQuery">重置</el-button> vue.config.js
@@ -7,7 +7,7 @@ const CompressionPlugin = require('compression-webpack-plugin') const name = process.env.VUE_APP_TITLE || '崇州自主安置管理后台' // 网页标题 const name = process.env.VUE_APP_TITLE || '自主购房智能审核管理系统' // 网页标题 const port = process.env.port || process.env.npm_config_port || 80 // 端口