From 2adda5537ed677cb5b3a5a0ff434f2da92e87bf3 Mon Sep 17 00:00:00 2001
From: pyt <626651354@qq.com>
Date: 星期一, 24 三月 2025 16:36:09 +0800
Subject: [PATCH] Merge branch 'main' of http://120.76.84.145:10101/gitblit/r/H5/chongzhouResettle

---
 src/views/placement-batch/person.vue |  239 +++++++++++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 207 insertions(+), 32 deletions(-)

diff --git a/src/views/placement-batch/person.vue b/src/views/placement-batch/person.vue
index 46a3f29..4c5cb7c 100644
--- a/src/views/placement-batch/person.vue
+++ b/src/views/placement-batch/person.vue
@@ -62,7 +62,7 @@
 
     <!-- 功能按钮区域 -->
     <div class="button-container">
-      <el-button type="primary" size="small" @click="handleExport">新增安置户记录</el-button>
+      <el-button type="primary" size="small" @click="handleAdd">新增安置户记录</el-button>
       <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>
@@ -84,7 +84,14 @@
               </el-tooltip></span>
           </template>
         </el-table-column>
-        <el-table-column prop="idCard" label="身份证号" min-width="180" align="center" />
+        <el-table-column prop="idCard" label="身份证号" 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="身份信息不存在于待安置人员库" placement="top">
+              <i class="el-icon-warning-outline"></i>
+            </el-tooltip>
+          </template>
+        </el-table-column>
         <el-table-column prop="resettledNum" label="应安置人数(人)" min-width="140" align="center" />
         <el-table-column label="所有家庭人员应安置面积(㎡)" prop="resettledArea" min-width="160" align="center">
           <template slot-scope="scope">
@@ -97,15 +104,22 @@
         <el-table-column label="补偿单位标准(万元)" min-width="160" align="center">
           <el-table-column prop="priceNewAmount" label="新建商品住房、商业用房、停车位" min-width="160" align="center">
             <template slot-scope="scope">
-              <span>{{ scope.row.priceNewAmount }} <el-tooltip v-if="scope.row.priceNewAmountWarn == 1" class="item"
+              <span>{{ scope.row.priceNewAmount }} <el-tooltip v-if="scope.row.priceAmountWarn == 1" class="item"
                   effect="dark" content="补充标准数据异常" placement="top">
                   <i class="el-icon-warning-outline"></i>
                 </el-tooltip></span>
             </template>
           </el-table-column>
-          <el-table-column prop="priceOldAmount" label="二手住房" min-width="150" align="center" />
+          <el-table-column prop="priceOldAmount" label="二手住房" min-width="150" align="center">
+            <template slot-scope="scope">
+              <span>{{ scope.row.priceOldAmount }} <el-tooltip v-if="scope.row.twoPriceWarn == 1" class="item"
+                  effect="dark" content="检测到多个购房情况请人工核对" placement="top">
+                  <i class="el-icon-warning-outline"></i>
+                </el-tooltip></span>
+            </template>
+          </el-table-column>
         </el-table-column>
-        <el-table-column prop="compensationAmount" label="补偿资金总额(万元)" min-width="160" align="center" >
+        <el-table-column prop="compensationAmount" label="补偿资金总额(万元)" min-width="160" align="center">
           <template slot-scope="scope">
             <span>{{ scope.row.compensationAmount }} <el-tooltip v-if="scope.row.compensationSumWarn == 1" class="item"
                 effect="dark" content="补偿总金额数据异常" placement="top">
@@ -115,15 +129,22 @@
         </el-table-column>
         <el-table-column prop="downPaymentAmount" label="25%首付款(㎡)" min-width="150" align="center" />
         <el-table-column prop="quarterPayAmount" v-if="activeTab == 'fullReport'" label="每季度需支付款项(万元)" min-width="180"
-          align="center" >
+          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">
+                effect="dark" content="季度款金额数据异常" placement="top">
                 <i class="el-icon-warning-outline"></i>
               </el-tooltip></span>
           </template>
         </el-table-column>
-        <el-table-column prop="subsidyAmount" label="过渡补贴(万元)" min-width="180" align="center" />
+        <el-table-column prop="subsidyAmount" 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="过渡补贴金额数据异常" placement="top">
+                <i class="el-icon-warning-outline"></i>
+              </el-tooltip></span>
+          </template>
+        </el-table-column>
         <el-table-column label="操作" prop="operation" fixed="right" width="180" align="center">
           <template slot-scope="scope" v-if="activeTab == 'fullReport'">
             <el-button type="text" size="small" @click="handleView(scope.row)">详情</el-button>
@@ -134,8 +155,12 @@
       </el-table>
 
       <!-- 分页区域 -->
-      <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
-        @pagination="getList" />
+      <div class="pagination-container">
+        <el-pagination background @size-change="handleSizeChange" @current-change="handleCurrentChange"
+          :current-page="queryParams.pageNum" :page-sizes="[10, 20, 30, 40]" :page-size="queryParams.pageSize"
+          layout="total, sizes, prev, pager, next, jumper" :total="total">
+        </el-pagination>
+      </div>
     </div>
     <div v-else>
       <!-- 购房信息表格 -->
@@ -146,33 +171,103 @@
         <el-table-column prop="community" label="所在村(社区)" min-width="100" align="center" />
         <el-table-column prop="demolitionTime" label="拆迁时间" min-width="100" align="center" />
         <el-table-column prop="householdHead" label="户主姓名" min-width="100" align="center">
-
+          <template slot-scope="scope">
+            <span>{{ scope.row.householdHead }} <el-tooltip v-if="scope.row.householdHeadWarn == 1" class="item"
+                effect="dark" content="户主信息不存在于待安置人员库" placement="top">
+                <i class="el-icon-warning-outline"></i>
+              </el-tooltip></span>
+          </template>
         </el-table-column>
-        <el-table-column prop="idCard" label="身份证号" min-width="180" align="center" />
-        <el-table-column prop="mobile" label="联系电话" min-width="100" align="center" />
+        <el-table-column prop="idCard" label="身份证号" 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="身份信息不存在于待安置人员库" placement="top">
+              <i class="el-icon-warning-outline"></i>
+            </el-tooltip>
+          </template>
+        </el-table-column>
+        <el-table-column prop="mobile" label="联系电话" min-width="100" align="center">
+          <template slot-scope="scope">
+            {{ scope.row.mobile || '-' }}
+          </template>
+        </el-table-column>
+
         <el-table-column label="本次安置人数(人)" min-width="100" align="center">
-          <el-table-column prop="currentCollectiveNum" label="集体经济组织成员" min-width="100" align="center" />
+          <el-table-column prop="currentCollectiveNum" label="集体经济组织成员" min-width="100" align="center">
+            <template slot-scope="scope">
+              {{ scope.row.currentCollectiveNum || '-' }}
+            </template>
+          </el-table-column>
           <el-table-column prop="currentNoCollectiveNum" label="非集体经济组织成员" min-width="100" align="center" />
           <el-table-column prop="currentCount" label="合计" min-width="100" align="center" />
         </el-table-column>
-        <el-table-column prop="waitFamilyNames" label="待安置家庭成员姓名" min-width="100" align="center" />
-        <el-table-column prop="waitFamilyArea" label="待安置人员应安置面积合计(㎡)" min-width="100" align="center" />
+        <el-table-column prop="waitFamilyNames" label="待安置家庭成员姓名" min-width="100" align="center">
+          <template slot-scope="scope">
+            {{ scope.row.waitFamilyNames || '-' }} <el-tooltip v-if="scope.row.waitFamilyNamesWarn == 1" class="item"
+              effect="dark" content="身份信息存在重复数据" placement="top">
+              <i class="el-icon-warning-outline"></i>
+            </el-tooltip>
+          </template>
+        </el-table-column>
+        <el-table-column 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"
+                effect="dark" content="应补偿面积数据异常" placement="top">
+                <i class="el-icon-warning-outline"></i>
+              </el-tooltip></span>
+          </template>
+        </el-table-column>
         <el-table-column label="补偿金额(万元)" min-width="100" align="center">
-          <el-table-column prop="compensationNewAmount" label="新建商品住房、商业用房、停车位" min-width="100" align="center" />
+          <el-table-column 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">
+                  <i class="el-icon-warning-outline"></i>
+                </el-tooltip></span>
+            </template>
+          </el-table-column>
           <el-table-column prop="compensationOldAmount" label="二手住房" min-width="100" align="center" />
-          <el-table-column prop="compensationSum" label="合计" min-width="100" align="center" />
+          <el-table-column prop="compensationSum" label="合计" min-width="100" align="center">
+            <template slot-scope="scope">
+              <span>{{ scope.row.compensationSum }} <el-tooltip v-if="scope.row.compensationSumWarn == 1" class="item"
+                  effect="dark" content="补偿总金额数据异常" placement="top">
+                  <i class="el-icon-warning-outline"></i>
+                </el-tooltip></span>
+            </template>
+          </el-table-column>
         </el-table-column>
         <el-table-column prop="downPaymentAmount" label="25%首付款(万元)" min-width="100" align="center" />
         <el-table-column prop="quarterPayAmount" v-if="activeTab == 'houseInfo'" label="每季度需支付款项(万元)" min-width="100"
-          align="center" />
-        <el-table-column prop="subsidyAmount" label="过渡补贴(万元)" min-width="100" align="center" />
+          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">
+                <i class="el-icon-warning-outline"></i>
+              </el-tooltip></span>
+          </template>
+        </el-table-column>
+        <el-table-column prop="subsidyAmount" label="过渡补贴(万元)" min-width="100" align="center">
+          <template slot-scope="scope">
+            <span>{{ scope.row.subsidyAmount }} <el-tooltip v-if="scope.row.subsidyAmount == 1" class="item"
+                effect="dark" content="过渡补贴金额数据异常" placement="top">
+                <i class="el-icon-warning-outline"></i>
+              </el-tooltip></span>
+          </template>
+        </el-table-column>
         <el-table-column prop="remark" label="备注" min-width="100" align="center" />
         <el-table-column prop="certificateTime" label="凭证发放时间" min-width="100" align="center" />
         <el-table-column prop="buyTime" label="购房时间" min-width="100" align="center" />
         <el-table-column prop="dealAmount" label="成交金额(万元)" min-width="100" align="center" />
         <el-table-column label="新建商品住房" min-width="100" align="center">
           <el-table-column prop="newHousingName" label="楼盘名称" min-width="100" align="center" />
-          <el-table-column prop="newHousingArea" label="面积(㎡)" min-width="100" align="center" />
+          <el-table-column prop="newHousingArea" label="面积(㎡)" min-width="100" align="center">
+            <template slot-scope="scope">
+              <span>{{ scope.row.newHousingArea }} <el-tooltip v-if="scope.row.areaWarn == 1" class="item" effect="dark"
+                  content="面积数据异常" placement="top">
+                  <i class="el-icon-warning-outline"></i>
+                </el-tooltip></span>
+            </template>
+          </el-table-column>
           <el-table-column prop="newHousingNum" label="套数(套)" min-width="100" align="center" />
         </el-table-column>
         <el-table-column label="二手住房" min-width="100" align="center">
@@ -208,25 +303,41 @@
         </el-table-column>
       </el-table>
 
-      <!-- 分页区域 -->
-      <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
-        @pagination="getHouseList" />
+      <div class="pagination-container">
+        <el-pagination background @size-change="handleSizeChange" @current-change="handleCurrentChange"
+          :current-page="queryParams.pageNum" :page-sizes="[10, 20, 30, 40]" :page-size="queryParams.pageSize"
+          layout="total, sizes, prev, pager, next, jumper" :total="total">
+        </el-pagination>
+      </div>
     </div>
+    <!-- :title="activeTab == 'fullReport' ? '导入资金表' : '导入购房信息表'" -->
+    <export-money-applay @close="dialogVisible = false" :visible.sync="dialogVisible"
+      :batchNumber="detailData.batchNumber" @importPrice="importPrice" :type="activeTab == 'fullReport' ? 1 : 2" />
   </div>
 </template>
-
 <script>
-import { getPlacementBatchDetail } from '@/api/placement-details'
-import { downLoad,exportExcell } from '@/utils'
+import {
+  getPlacementBatchDetail,
+  deletePlacementBatchMoney,
+  deletePlacementBatchHouse,
+  importPlacementBatch
+} from '@/api/placement-details'
+import ExportMoneyApplay from './components/exportMoneyApplay.vue'
+
+import { downLoad, exportExcell } from '@/utils'
 export default {
   name: 'PlacementPerson',
-  components: {},
+  components: {
+    ExportMoneyApplay
+  },
   data() {
     return {
       // 遮罩层
       loading: false,
       // 选中数组
       selectedRows: [],
+      // 弹窗
+      dialogVisible: false,
       // 非单个禁用
       single: true,
       // 非多个禁用
@@ -291,16 +402,41 @@
       this.getList()
     },
     tableRowClassName({ row, rowIndex }) {
-      if (row.householdHeadWarn == 1 || row.waitFamilyAreaWarn == 1 || row.compensationSumWarn == 1 || row.quarterPayAmountWarn == 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) {
         return 'warning-row'
       }
       return ''
     },
     tableRowClassName1({ row, rowIndex }) {
-      if (row.areaWarn == 1 || row.compensationSumWarn == 1 || row.idCardWarn == 1 || row.waitFamilyNamesWarn == 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) {
         return 'warning-row'
       }
       return ''
+    },
+    importPrice(form) {
+      let formData = new FormData()
+      formData.append('assetFile', form.assetFile)
+      formData.append('householdFile', form.householdFile)
+      formData.append('batchNumber', form.batchNumber)
+      formData.append('id', this.$route.query.id)
+      importPlacementBatch(formData).then(res => {
+        if (res.code == 200) {
+          this.$message.success('导入成功')
+          this.dialogVisible = false
+          this.getList()
+        }
+      })
+    },
+
+    /** 分页 */
+    handleSizeChange(size) {
+      this.queryParams.pageSize = size
+      this.getList()
+    },
+    /** 分页 */
+    handleCurrentChange(page) {
+      this.queryParams.pageNum = page
+      this.getList()
     },
     /** 重置按钮操作 */
     handleReset() {
@@ -337,6 +473,11 @@
     /** 新增按钮操作 */
     handleAdd() {
       // TODO: 实现新增逻辑
+      if (this.activeTab == 'fullReport') {
+        this.$router.push('/placement/batch/addResettle?id=' + this.$route.query.id)
+      } else {
+        this.$router.push('/placement/batch/applayPerson?id=' + this.$route.query.id)
+      }
     },
     /** 导出操作 */
     handleExport() {
@@ -350,27 +491,61 @@
     /** 导入操作 */
     handleImport() {
       // TODO: 实现导入逻辑
+      this.dialogVisible = true
     },
     /** 导出选中记录 */
     handleExportSelected() {
       // TODO: 实现导出选中记录逻辑
-      exportExcell(`/placement-batch/problem-export/${this.activeTab == 'fullReport' ? 1 : 2}`,{
+      exportExcell(`${this.activeTab == 'fullReport' ? '资金问题数据' : '购房信息问题数据'}.xlsx`, {
         ...this.queryParams,
         placementBatchId: this.$route.query.id,
         type: this.activeTab == 'fullReport' ? 1 : 2
-      }, `${this.activeTab == 'fullReport' ? '资金问题数据' : '购房信息问题数据'}.xlsx`)
+      }, `/placement-batch/problem-export`)
     },
     /** 查看详情按钮操作 */
     handleView(row) {
       // TODO: 实现查看详情逻辑
+      if (this.activeTab == 'fullReport') {
+        this.$router.push('/placement/batch/resettleDetail?id=' + this.$route.query.id + '&type=detail' + '&moneyId=' + row.id)
+      } else {
+        this.$router.push('/placement/batch/applayPersonDetail?id=' + this.$route.query.id + '&type=detail' + '&houseId=' + row.id)
+      }
     },
     /** 编辑按钮操作 */
     handleEdit(row) {
       // TODO: 实现编辑逻辑
+      if (this.activeTab == 'fullReport') {
+        this.$router.push('/placement/batch/editResettle?id=' + this.$route.query.id + '&type=edit' + '&moneyId=' + row.id)
+      } else {
+        this.$router.push('/placement/batch/editApplayPerson?id=' + this.$route.query.id + '&type=edit' + '&houseId=' + row.id)
+      }
     },
     /** 删除按钮操作 */
     handleDelete(row) {
       // TODO: 实现删除逻辑
+      this.$confirm('确定删除该条资金记录吗?', '提示', {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        type: 'warning'
+      }).then(() => {
+        if (this.activeTab == 'fullReport') {
+          deletePlacementBatchMoney({ id: row.id }).then(res => {
+            if (res.code == 200) {
+              this.$message.success('删除成功')
+              this.getList()
+            }
+          })
+        } else {
+          deletePlacementBatchHouse({ id: row.id }).then(res => {
+            if (res.code == 200) {
+              this.$message.success('删除成功')
+              this.getList()
+            }
+          })
+        }
+      })
+
+
     },
     /** 获取购房信息列表 */
     getHouseList() {

--
Gitblit v1.7.1