From 4ab195fc124abcefeb82601f8d0124c0ee4713b6 Mon Sep 17 00:00:00 2001
From: 董国庆 <364620639@qq.com>
Date: 星期一, 24 三月 2025 16:32:06 +0800
Subject: [PATCH] Merge branch 'main' of http://120.76.84.145:10101/gitblit/r/H5/chongzhouResettle

---
 src/views/placement-batch/components/ApprovalDialog.vue |  574 ++++++++++++++++++++++++++------------------------------
 1 files changed, 269 insertions(+), 305 deletions(-)

diff --git a/src/views/placement-batch/components/ApprovalDialog.vue b/src/views/placement-batch/components/ApprovalDialog.vue
index d44afd1..0a0ed42 100644
--- a/src/views/placement-batch/components/ApprovalDialog.vue
+++ b/src/views/placement-batch/components/ApprovalDialog.vue
@@ -1,202 +1,233 @@
 <template>
-  <el-dialog :title="type === 'audit' ? '审批安置户申请信息' : '安置户申请信息'" :visible.sync="dialogVisible" width="80%"
-    :close-on-click-modal="false" :append-to-body="true">
+  <el-dialog :title="type === 'audit' ? '审批安置户申请信息' : '安置户申请信息'" @open="openDialog" :visible.sync="dialogVisible"
+    width="80%" :close-on-click-modal="false" :append-to-body="true">
+    <!-- Tab切换区域 -->
+    <div class="tab-container">
+      <el-tabs v-model="activeTab" type="card" @tab-click="handleTabClick">
+        <el-tab-pane label="资金表" name="1"></el-tab-pane>
+        <el-tab-pane label="购房信息表" name="2"></el-tab-pane>
+      </el-tabs>
+    </div>
     <div class="approval-content">
       <!-- 左侧表格区域 -->
       <div class="table-container">
-        <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="town" label="镇(街道)" align="center" width="80">
-            <template slot-scope="scope">
-              {{ scope.row.town }}
-              <el-tooltip v-if="scope.row.errors && scope.row.errors.town" placement="top">
-                <div slot="content">{{ scope.row.errors.town }}</div>
-                <i class="el-icon-warning" style="color: #e6a23c; margin-left: 5px"></i>
-              </el-tooltip>
-            </template>
-          </el-table-column>
-          <el-table-column prop="projectName" label="拆迁项目名称" align="center" width="150">
-            <template slot-scope="scope">
-              {{ scope.row.projectName }}
-              <el-tooltip v-if="scope.row.errors && scope.row.errors.projectName" placement="top">
-                <div slot="content">{{ scope.row.errors.projectName }}</div>
-                <i class="el-icon-warning" style="color: #e6a23c; margin-left: 5px"></i>
-              </el-tooltip>
-            </template>
-          </el-table-column>
-          <el-table-column prop="village" label="所在村(社区)" align="center" width="100">
-            <template slot-scope="scope">
-              {{ scope.row.village }}
-              <el-tooltip v-if="scope.row.errors && scope.row.errors.village" placement="top">
-                <div slot="content">{{ scope.row.errors.village }}</div>
-                <i class="el-icon-warning" style="color: #e6a23c; margin-left: 5px"></i>
-              </el-tooltip>
-            </template>
-          </el-table-column>
-          <el-table-column prop="time" label="拆迁时间" align="center" width="100">
-            <template slot-scope="scope">
-              {{ scope.row.time }}
-              <el-tooltip v-if="scope.row.errors && scope.row.errors.time" placement="top">
-                <div slot="content">{{ scope.row.errors.time }}</div>
-                <i class="el-icon-warning" style="color: #e6a23c; margin-left: 5px"></i>
-              </el-tooltip>
-            </template>
-          </el-table-column>
-          <el-table-column prop="owner" label="产主姓名" align="center" width="80">
-            <template slot-scope="scope">
-              {{ scope.row.owner }}
-              <el-tooltip v-if="scope.row.errors && scope.row.errors.owner" placement="top">
-                <div slot="content">{{ scope.row.errors.owner }}</div>
-                <i class="el-icon-warning" style="color: #e6a23c; margin-left: 5px"></i>
-              </el-tooltip>
-            </template>
-          </el-table-column>
-          <el-table-column prop="idCard" label="身份证号" align="center" width="180">
-            <template slot-scope="scope">
-              {{ scope.row.idCard }}
-              <el-tooltip v-if="scope.row.errors && scope.row.errors.idCard" placement="top">
-                <div slot="content">{{ scope.row.errors.idCard }}</div>
-                <i class="el-icon-warning" style="color: #e6a23c; margin-left: 5px"></i>
-              </el-tooltip>
-            </template>
-          </el-table-column>
-          <el-table-column prop="contact" label="联系电话" align="center" width="120">
-            <template slot-scope="scope">
-              {{ scope.row.contact }}
-              <el-tooltip v-if="scope.row.errors && scope.row.errors.contact" placement="top">
-                <div slot="content">{{ scope.row.errors.contact }}</div>
-                <i class="el-icon-warning" style="color: #e6a23c; margin-left: 5px"></i>
-              </el-tooltip>
-            </template>
-          </el-table-column>
-          <el-table-column label="家庭安置人数(人)" align="center">
-            <el-table-column prop="resettlementPeople" label="集体经济组织成员" align="center" width="120">
+        <div v-if="activeTab == '1'">
+          <!-- 表格区域 -->
+          <el-table v-loading="loading" :data="tableData" border style="width: 100%" max-height="300px"  :row-class-name="tableRowClassName">
+            <el-table-column type="index" label="序号" width="50" align="center" />
+            <el-table-column prop="street" label="镇(街道)" min-width="120" align="center" />
+            <el-table-column prop="projectName" label="拆迁项目名称" min-width="180" align="center" />
+            <el-table-column prop="community" label="所在村(社区)" min-width="120" align="center" />
+            <el-table-column prop="householdHead" label="户主姓名" min-width="100" align="center">
               <template slot-scope="scope">
-                {{ scope.row.resettlementPeople }}
-                <el-tooltip v-if="scope.row.errors && scope.row.errors.resettlementPeople" placement="top">
-                  <div slot="content">
-                    {{ scope.row.errors.resettlementPeople }}
-                  </div>
-                  <i class="el-icon-warning" style="color: #e6a23c; margin-left: 5px"></i>
+                <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">
+              <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="additionalPeople" label="非集体经济组织成员" align="center" width="120">
+            <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">
-                {{ scope.row.additionalPeople }}
-                <el-tooltip v-if="scope.row.errors && scope.row.errors.additionalPeople" placement="top">
-                  <div slot="content">
-                    {{ scope.row.errors.additionalPeople }}
-                  </div>
-                  <i class="el-icon-warning" style="color: #e6a23c; margin-left: 5px"></i>
+                <span>{{ scope.row.resettledArea }} <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="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.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">
+                <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">
+              <template slot-scope="scope">
+                <span>{{ scope.row.compensationAmount }} <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 prop="downPaymentAmount" label="25%首付款(㎡)" min-width="150" align="center" />
+            <el-table-column prop="quarterPayAmount" 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="季度款金额数据异常" 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">
+              <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>
+        </div>
+        <div v-else>
+          <!-- 购房信息表格 -->
+          <el-table v-loading="loading" :data="tableData" border style="width: 100%" max-height="300px"
+            :row-class-name="tableRowClassName1">
+            <el-table-column type="index" label="序号" width="50" align="center" />
+            <el-table-column prop="street" label="镇(街道)" min-width="100" align="center" />
+            <el-table-column prop="projectName" label="拆迁项目名称" min-width="100" align="center" />
+            <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">
+              <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="totalPeople" label="合计" align="center" width="60">
+            <el-table-column prop="mobile" label="联系电话" min-width="100" align="center">
               <template slot-scope="scope">
-                {{ scope.row.totalPeople }}
-                <el-tooltip v-if="scope.row.errors && scope.row.errors.totalPeople" placement="top">
-                  <div slot="content">{{ scope.row.errors.totalPeople }}</div>
-                  <i class="el-icon-warning" style="color: #e6a23c; margin-left: 5px"></i>
+                {{ 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">
+                <template slot-scope="scope">
+                  {{ scope.row.currentCollectiveNum || '-' }}
+                </template>
+              </el-table-column>
+              <el-table-column prop="currentNoCollectiveNum" label="非集体经济组织成员" min-width="100" align="center" >
+                <template slot-scope="scope">
+                  {{ scope.row.currentNoCollectiveNum || '-' }}
+                </template>
+              </el-table-column>
+              <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">
+              <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>
-          <el-table-column prop="houseName" label="待安置家庭成员姓名" align="center" width="120">
-            <template slot-scope="scope">
-              {{ scope.row.houseName }}
-              <el-tooltip v-if="scope.row.errors && scope.row.errors.houseName" placement="top">
-                <div slot="content">{{ scope.row.errors.houseName }}</div>
-                <i class="el-icon-warning" style="color: #e6a23c; margin-left: 5px"></i>
-              </el-tooltip>
-            </template>
-          </el-table-column>
-          <el-table-column prop="area" label="待安置人员应安置面积合计(㎡)" align="center" width="120">
-            <template slot-scope="scope">
-              {{ scope.row.area }}
-              <el-tooltip v-if="scope.row.errors && scope.row.errors.area" placement="top">
-                <div slot="content">{{ scope.row.errors.area }}</div>
-                <i class="el-icon-warning" style="color: #e6a23c; margin-left: 5px"></i>
-              </el-tooltip>
-            </template>
-          </el-table-column>
-          <el-table-column label="补偿金额(万元)" align="center">
-            <el-table-column prop="firstPayment" label="新建商品住房、商业用房、停车位" align="center" width="100">
+            <el-table-column prop="waitFamilyArea" label="待安置人员应安置面积合计(㎡)" min-width="100" align="center">
               <template slot-scope="scope">
-                {{ scope.row.firstPayment }}
-                <el-tooltip v-if="scope.row.errors && scope.row.errors.firstPayment" placement="top">
-                  <div slot="content">{{ scope.row.errors.firstPayment }}</div>
-                  <i class="el-icon-warning" style="color: #e6a23c; margin-left: 5px"></i>
-                </el-tooltip>
+                <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 prop="secondPayment" label="二手住房" align="center" width="80">
+            <el-table-column 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">
+                <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 == '2'" label="每季度需支付款项(万元)" min-width="100"
+              align="center">
               <template slot-scope="scope">
-                {{ scope.row.secondPayment }}
-                <el-tooltip v-if="scope.row.errors && scope.row.errors.secondPayment" placement="top">
-                  <div slot="content">{{ scope.row.errors.secondPayment }}</div>
-                  <i class="el-icon-warning" style="color: #e6a23c; margin-left: 5px"></i>
-                </el-tooltip>
+                <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="totalPayment" label="合计" align="center" width="60">
+            <el-table-column prop="subsidyAmount" label="过渡补贴(万元)" min-width="100" align="center">
               <template slot-scope="scope">
-                {{ scope.row.totalPayment }}
-                <el-tooltip v-if="scope.row.errors && scope.row.errors.totalPayment" placement="top">
-                  <div slot="content">{{ scope.row.errors.totalPayment }}</div>
-                  <i class="el-icon-warning" style="color: #e6a23c; margin-left: 5px"></i>
-                </el-tooltip>
+                <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>
-          <el-table-column prop="monthlyPayment" label="25%首付款(万元)" align="center" width="130">
-            <template slot-scope="scope">
-              {{ scope.row.monthlyPayment }}
-              <el-tooltip v-if="scope.row.errors && scope.row.errors.monthlyPayment" placement="top">
-                <div slot="content">{{ scope.row.errors.monthlyPayment }}</div>
-                <i class="el-icon-warning" style="color: #e6a23c; margin-left: 5px"></i>
-              </el-tooltip>
-            </template>
-          </el-table-column>
-          <el-table-column prop="remainingPayment" label="每季度需支付款项(万元)" align="center" width="120">
-            <template slot-scope="scope">
-              {{ scope.row.remainingPayment }}
-              <el-tooltip v-if="scope.row.errors && scope.row.errors.remainingPayment" placement="top">
-                <div slot="content">
-                  {{ scope.row.errors.remainingPayment }}
-                </div>
-                <i class="el-icon-warning" style="color: #e6a23c; margin-left: 5px"></i>
-              </el-tooltip>
-            </template>
-          </el-table-column>
-          <el-table-column prop="totalPaid" label="过渡补贴(万元)" align="center" width="60">
-            <template slot-scope="scope">
-              {{ scope.row.totalPaid }}
-              <el-tooltip v-if="scope.row.errors && scope.row.errors.totalPaid" placement="top">
-                <div slot="content">{{ scope.row.errors.totalPaid }}</div>
-                <i class="el-icon-warning" style="color: #e6a23c; margin-left: 5px"></i>
-              </el-tooltip>
-            </template>
-          </el-table-column>
-          <el-table-column prop="remark" label="备注" align="center" width="60">
-            <template slot-scope="scope">
-              {{ scope.row.remark }}
-              <el-tooltip v-if="scope.row.errors && scope.row.errors.remark" placement="top">
-                <div slot="content">{{ scope.row.errors.remark }}</div>
-                <i class="el-icon-warning" style="color: #e6a23c; margin-left: 5px"></i>
-              </el-tooltip>
-            </template>
-          </el-table-column>
-          <el-table-column prop="difference" label="购房差异情况" align="center" width="60">
-            <template slot-scope="scope">
-              {{ scope.row.difference }}
-              <el-tooltip v-if="scope.row.errors && scope.row.errors.difference" placement="top">
-                <div slot="content">{{ scope.row.errors.difference }}</div>
-                <i class="el-icon-warning" style="color: #e6a23c; margin-left: 5px"></i>
-              </el-tooltip>
-            </template>
-          </el-table-column>
-        </el-table>
+            <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">
+                <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">
+              <el-table-column prop="oldHousingName" label="小区名称" min-width="100" align="center" />
+              <el-table-column prop="householdHead" label="面积(㎡)" min-width="100" align="center" />
+              <el-table-column prop="householdHead" label="套数(套)" min-width="100" align="center" />
+            </el-table-column>
+            <el-table-column prop="householdHead" label="新建商业用房" min-width="100" align="center">
+              <el-table-column prop="householdHead" label="楼盘名称" min-width="100" align="center" />
+              <el-table-column prop="oldHousingArea" label="面积(㎡)" min-width="100" align="center" />
+              <el-table-column prop="oldHousingNum" label="套数(套)" min-width="100" align="center" />
+            </el-table-column>
+            <el-table-column label="新建停车位" min-width="100" align="center">
+              <el-table-column prop="newStopName" label="楼盘名称" min-width="100" align="center" />
+              <el-table-column prop="newStopArea" label="金额(万元)" min-width="100" align="center" />
+              <el-table-column prop="newStopNum" label="个数(个)" min-width="100" align="center" />
+            </el-table-column>
+            <el-table-column prop="signTime" label="自主购房协议签订时间" min-width="100" align="center" />
+            <el-table-column prop="compensationPayTime" label="25%补偿款及过渡补贴支付时间" min-width="100" align="center" />
+            <el-table-column label="剩余款项支付时间" min-width="100" align="center">
+              <el-table-column prop="remainingTime1" label="第一年" min-width="100" align="center" />
+              <el-table-column prop="remainingTime2" label="第二年" min-width="100" align="center" />
+              <el-table-column prop="remainingTime3" label="第三年" min-width="100" align="center" />
+              <el-table-column prop="remainingTime4" label="第四年" min-width="100" align="center" />
+              <el-table-column prop="remainingTime5" label="第四年" min-width="100" align="center" />
+            </el-table-column>
+          </el-table>
+        </div>
       </div>
 
       <!-- 右侧审核信息 -->
@@ -211,12 +242,12 @@
               <div class="timeline-content info-box">
                 <div class="info-line">
                   <div class="approver-info">
-                    <div class="approver-title">审批人:</div>
-                    <div class="approver-name">{{ approver }}</div>
+                    <div class="approver-title">提交人:</div>
+                    <div class="approver-name">{{ detailData.createUser || '-' }}</div>
                   </div>
                   <div class="approval-time-info">
-                    <div class="approval-time-title">审批时间:</div>
-                    <div class="approval-time">{{ approvalTime }}</div>
+                    <div class="approval-time-title">提交时间:</div>
+                    <div class="approval-time">{{ detailData.createTime || '-' }}</div>
                   </div>
                 </div>
               </div>
@@ -240,12 +271,12 @@
               <div class="timeline-content info-box">
                 <div class="info-line">
                   <div class="approver-info">
-                    <div class="approver-title">经办人:</div>
-                    <div class="approver-name">{{ operatorName }}</div>
+                    <div class="approver-title">提交人:</div>
+                    <div class="approver-name">{{ detailData.createUser || '-' }}</div>
                   </div>
                   <div class="approval-time-info">
                     <div class="approval-time-title">提交时间:</div>
-                    <div class="approval-time">{{ submitTime }}</div>
+                    <div class="approval-time">{{ detailData.createTime || '-' }}</div>
                   </div>
                 </div>
               </div>
@@ -259,11 +290,11 @@
                 <div class="info-line">
                   <div class="approver-info">
                     <div class="approver-title">审核人:</div>
-                    <div class="approver-name">{{ auditorName }}</div>
+                    <div class="approver-name">{{ detailData.approveName || '-' }}</div>
                   </div>
                   <div class="approval-time-info">
                     <div class="approval-time-title">审核时间:</div>
-                    <div class="approval-time">{{ auditTime }}</div>
+                    <div class="approval-time">{{ detailData.approveTime || '-' }}</div>
                   </div>
                 </div>
               </div>
@@ -274,27 +305,27 @@
     </div>
 
     <!-- 警告信息 -->
-    <div class="warning-info" v-if="hasWarning && type === 'audit'">
+    <!-- <div class="warning-info" v-if="hasWarning && type === 'audit'">
       <div class="warning-text">
         注意: 系统检测到该申请表中存在异常数据,请仔细核实!
       </div>
-    </div>
+    </div> -->
 
     <!-- 审核结果区域 -->
     <div class="audit-section">
-      <div class="audit-result" v-if="type === 'audit'">
+      <div class="audit-result">
         <div class="result-title">审核结果</div>
         <div class="result-options">
-          <el-radio-group v-model="form.auditResult">
-            <el-radio label="pass">通过</el-radio>
-            <el-radio label="reject">驳回</el-radio>
+          <el-radio-group :disabled="type === 'detail'" v-model="form.status">
+            <el-radio label="1">通过</el-radio>
+            <el-radio label="2">驳回</el-radio>
           </el-radio-group>
         </div>
       </div>
 
       <div class="audit-comment">
         <div class="comment-title">审批意见</div>
-        <el-input type="textarea" :rows="4" placeholder="请输入审批意见" v-model="form.auditComment"
+        <el-input type="textarea" :rows="4" placeholder="请输入审批意见" v-model="form.reason"
           :disabled="type === 'detail'"></el-input>
       </div>
     </div>
@@ -308,6 +339,7 @@
 </template>
 
 <script>
+import { getPlacementBatchDetail } from '@/api/placement-details'
 export default {
   name: "ApprovalDialog",
   props: {
@@ -326,124 +358,32 @@
       type: Object,
       default: () => ({}),
     },
+    placementBatchId: {
+      type: Number,
+      default: "",
+    },
   },
   data() {
     return {
       dialogVisible: false,
       hasWarning: true,
-      approver: "李四",
-      approvalTime: "2025-1-17 09:35:24",
-      operatorName: "张三",
-      submitTime: "2025-1-17 09:35:24",
-      auditorName: "王五",
-      auditTime: "2025-1-17 09:35:24",
-      approvalStatus: "", // 'passed', 'rejected', ''
+      activeTab: "1",
+      detailData: {},
+      loading: false,
       form: {
-        auditResult: "pass",
-        auditComment: "",
+        status: "pass",
+        reason: "",
       },
-      tableData: [
-        {
-          town: "松花社区",
-          projectName: "李家窑水库工程征地拆迁",
-          village: "松花社区",
-          time: "",
-          owner: "陈向荣",
-          idCard: "220102198512345678",
-          contact: "",
-          resettlementPeople: 1,
-          additionalPeople: 2,
-          totalPeople: 3,
-          houseName: "陈向荣、李辉",
-          ownerName: "",
-          area: "160",
-          totalCompensation: "54",
-          firstPayment: "10",
-          secondPayment: "46",
-          totalPayment: "30",
-          monthlyPayment: "38",
-          remainingPayment: "69",
-          totalPaid: "",
-          hasError: false,
-        },
-        {
-          town: "松花社区",
-          projectName: "李家窑水库工程征地拆迁",
-          village: "松花社区",
-          time: "",
-          owner: "席娟",
-          idCard: "330105197803120987",
-          contact: "",
-          resettlementPeople: 1,
-          additionalPeople: 1,
-          totalPeople: 2,
-          houseName: "周吉彬",
-          ownerName: "",
-          area: "215",
-          totalCompensation: "43",
-          firstPayment: "14",
-          secondPayment: "2",
-          totalPayment: "81",
-          monthlyPayment: "41",
-          remainingPayment: "17",
-          totalPaid: "",
-          hasError: true,
-          errors: {
-            idCard: "身份证号不合法",
-            totalPayment: "金额计算异常",
-          },
-        },
-        {
-          town: "清泉村",
-          projectName:
-            "成都绿道二环线生态区公园工程(含川师)征地拆迁及前期公示",
-          village: "清泉村",
-          time: "",
-          owner: "周忠心",
-          idCard: "440203199000999876",
-          contact: "",
-          resettlementPeople: 1,
-          additionalPeople: 1,
-          totalPeople: 2,
-          houseName: "周忠心、杨春云",
-          ownerName: "",
-          area: "103",
-          totalCompensation: "88",
-          firstPayment: "42",
-          secondPayment: "14",
-          totalPayment: "61",
-          monthlyPayment: "35",
-          remainingPayment: "26",
-          totalPaid: "",
-          hasError: false,
-        },
-        {
-          town: "清泉村",
-          projectName:
-            "成都绿道二环线生态区公园工程(含川师)征地拆迁及前期公示",
-          village: "清泉村",
-          time: "",
-          owner: "李辉",
-          idCard: "440203199000999876",
-          contact: "",
-          resettlementPeople: 2,
-          additionalPeople: 1,
-          totalPeople: 3,
-          houseName: "王强",
-          ownerName: "",
-          area: "302",
-          totalCompensation: "49",
-          firstPayment: "28",
-          secondPayment: "10",
-          totalPayment: "56",
-          monthlyPayment: "29",
-          remainingPayment: "4",
-          totalPaid: "",
-          hasError: false,
-        },
-      ],
+      queryParams: {
+        pageNum: 1,
+        pageSize: 1000000,
+      },
+      tableData: [],
+
     };
   },
+
+
   watch: {
     visible(val) {
       this.dialogVisible = val;
@@ -455,12 +395,36 @@
       handler(newVal) {
         if (newVal && Object.keys(newVal).length > 0) {
           // 如果有传入数据,可以在这里处理
+
         }
       },
       immediate: true,
     },
   },
   methods: {
+    openDialog() {
+      this.getList()
+    },
+    /** 查询列表 */
+    getList() {
+      this.loading = true
+      // TODO: 调用接口获取数据
+      getPlacementBatchDetail({ ...this.queryParams, placementBatchId: this.placementBatchId, type: this.activeTab,}).then(res => {
+        if (res.code == 200) {
+          this.tableData = this.activeTab == '1' ? res.data.assetList : res.data.householdList
+          this.detailData = res.data.placementBatch
+          this.total = res.data.total
+          res.data.placementBatch.status = res.data.placementBatch.status.toString()
+          this.form = res.data.placementBatch
+          this.loading = false
+        }
+      })
+    },
+    /** Tab切换操作 */
+    handleTabClick(tab) {
+      this.activeTab = tab.name
+      this.getList()
+    },
     tableRowClassName({ row, rowIndex }) {
       if (row.hasError) {
         return "error-row";
@@ -468,22 +432,22 @@
       return "";
     },
     cancelAudit() {
-      this.dialogVisible = false;
+      this.$emit('close')
       this.resetForm();
     },
     submitAudit() {
       // 提交审核
       this.$emit("audit-submit", {
-        result: this.form.auditResult,
-        comment: this.form.auditComment,
+        status: this.form.status,
+        reason: this.form.reason,
+        id: this.placementBatchId,
       });
-      this.dialogVisible = false;
       this.resetForm();
     },
     resetForm() {
       this.form = {
-        auditResult: "pass",
-        auditComment: "",
+        status: "pass",
+        reason: "",
       };
     },
   },

--
Gitblit v1.7.1