Merge branch 'main' of http://120.76.84.145:10101/gitblit/r/H5/chongzhouResettle
| | |
| | | method: 'post', |
| | | data |
| | | }) |
| | | } |
| | | } |
| | | |
| | | //安置批次资金记录删除 |
| | | export function deletePlacementBatchMoney(data) { |
| | | return request({ |
| | | url: '/placement-batch/asset-del', |
| | | method: 'post', |
| | | data |
| | | }) |
| | | } |
| | | |
| | | //安置批次购房记录删除 |
| | | export function deletePlacementBatchHouse(data) { |
| | | return request({ |
| | | url: '/placement-batch/household-del', |
| | | method: 'post', |
| | | data |
| | | }) |
| | | } |
| | | |
| | | //安置批次资金记录新增 |
| | | export function addPlacementBatchMoney(data) { |
| | | return request({ |
| | | url: '/placement-batch/asset-add', |
| | | method: 'post', |
| | | data |
| | | }) |
| | | } |
| | | |
| | | //安置批次资金记录修改 |
| | | export function updatePlacementBatchMoney(data) { |
| | | return request({ |
| | | url: '/placement-batch/asset-edit', |
| | | method: 'post', |
| | | data |
| | | }) |
| | | } |
| | | |
| | | //安置批次资金记录详情 |
| | | export function getPlacementBatchMoneyDetail(data) { |
| | | return request({ |
| | | url: '/placement-batch/asset-detail', |
| | | method: 'post', |
| | | data |
| | | }) |
| | | } |
| | | //安置批次购房记录新增 |
| | | export function addPlacementBatchHouse(data) { |
| | | return request({ |
| | | url: '/placement-batch/household-add', |
| | | method: 'post', |
| | | data |
| | | }) |
| | | } |
| | | |
| | | //安置批次购房记录修改 |
| | | export function updatePlacementBatchHouse(data) { |
| | | return request({ |
| | | url: '/placement-batch/household-edit', |
| | | method: 'post', |
| | | data |
| | | }) |
| | | } |
| | | |
| | | //安置批次购房记录详情 |
| | | export function getPlacementBatchHouseDetail(data) { |
| | | return request({ |
| | | url: '/placement-batch/household-detail', |
| | | method: 'post', |
| | | data |
| | | }) |
| | | } |
| | | |
| | | |
| | | //安置批次审核 |
| | | export function auditPlacementBatch(data) { |
| | | return request({ |
| | | url: '/placement-batch/approve', |
| | | method: 'post', |
| | | data |
| | | }) |
| | | } |
| | |
| | | path: 'addResettle', |
| | | component: () => import('@/views/placement-batch/addResettle'), |
| | | name: 'AddResettle', |
| | | meta: { title: '新增安置户信息', activeMenu: '/placement-batch/list' } |
| | | } |
| | | ] |
| | | }, |
| | | { |
| | | path: '/placement/batch', |
| | | component: Layout, |
| | | hidden: true, |
| | | children: [ |
| | | { |
| | | path: 'editResettle', |
| | | component: () => import('@/views/placement-batch/addResettle'), |
| | | name: 'editResettle', |
| | | meta: { title: '编辑安置户信息', activeMenu: '/placement-batch/list' } |
| | | } |
| | | ] |
| | | }, |
| | | |
| | | { |
| | | path: '/placement/batch', |
| | | component: Layout, |
| | | hidden: true, |
| | | children: [ |
| | | { |
| | | path: 'resettleDetail', |
| | | component: () => import('@/views/placement-batch/addResettle'), |
| | | name: 'ResettleDetail', |
| | | meta: { title: '安置户信息详情', activeMenu: '/placement-batch/list' } |
| | | } |
| | | ] |
| | | }, |
| | | { |
| | | path: '/placement/batch', |
| | | component: Layout, |
| | |
| | | } |
| | | ] |
| | | }, |
| | | |
| | | { |
| | | path: '/placement/batch', |
| | | component: Layout, |
| | | hidden: true, |
| | | children: [ |
| | | { |
| | | path: 'editApplayPerson', |
| | | component: () => import('@/views/placement-batch/applayPerson'), |
| | | name: 'EditApplayPerson', |
| | | meta: { title: '编辑安置户申请详情', activeMenu: '/placement-batch/list' } |
| | | } |
| | | ] |
| | | }, |
| | | { |
| | | path: '/placement/batch', |
| | | component: Layout, |
| | | hidden: true, |
| | | children: [ |
| | | { |
| | | path: 'applayPersonDetail', |
| | | component: () => import('@/views/placement-batch/applayPerson'), |
| | | name: 'applayPersonDetail', |
| | | meta: { title: '安置户申请详情', activeMenu: '/placement-batch/list' } |
| | | } |
| | | ] |
| | | }, |
| | | |
| | | // { |
| | | // path: '/user', |
| | |
| | | <el-row :gutter="20"> |
| | | <el-col :span="8"> |
| | | <el-form-item label="拆迁项目名称" prop="projectName"> |
| | | <el-input style="width: 200px;" v-model="form.projectName" placeholder="请输入" |
| | | <el-input :disabled="$route.query.type == 'detail'" style="width: 200px;" v-model="form.projectName" placeholder="请输入" |
| | | clearable /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <el-form-item label="所在村(社区)" prop="village"> |
| | | <el-input style="width: 200px;" |
| | | v-model="form.village" placeholder="请输入" clearable /> |
| | | <el-form-item label="镇(街道)" prop="street"> |
| | | <el-input :disabled="$route.query.type == 'detail'" style="width: 200px;" v-model="form.street" placeholder="请输入" |
| | | clearable /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <el-form-item label="户主姓名" prop="householderName"> |
| | | <el-input style="width: 200px;" v-model="form.householderName" placeholder="请输入" |
| | | <el-form-item label="所在村(社区)" prop="community"> |
| | | <el-input :disabled="$route.query.type == 'detail'" style="width: 200px;" v-model="form.community" placeholder="请输入" clearable /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <el-form-item label="户主姓名" prop="householdHead"> |
| | | <el-input :disabled="$route.query.type == 'detail'" style="width: 200px;" v-model="form.householdHead" placeholder="请输入" |
| | | clearable /> |
| | | </el-form-item> |
| | | </el-col> |
| | |
| | | <el-row :gutter="20"> |
| | | <el-col :span="8"> |
| | | <el-form-item label="户主身份号" prop="idCard"> |
| | | <el-input style="width: 200px;" v-model="form.idCard" placeholder="请输入" clearable /> |
| | | <el-input :disabled="$route.query.type == 'detail'" style="width: 200px;" v-model="form.idCard" placeholder="请输入" clearable /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <el-form-item label="应安置人数" prop="familySize"> |
| | | <el-input v-model="form.familySize" :min="1" :controls="false" |
| | | <el-form-item label="应安置人数" prop="resettledNum"> |
| | | <el-input :disabled="$route.query.type == 'detail'" v-model="form.resettledNum" :controls="false" |
| | | controls-position="right" style="width: 200px;"> |
| | | <template slot="append">人</template> |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <el-form-item label="所有家庭成员应安置面积" prop="totalArea"> |
| | | <el-input style="width: 200px;" v-model="form.totalArea" :controls="false" |
| | | :min="0" :precision="2" controls-position="right"> |
| | | <el-form-item label="所有家庭成员应安置面积" prop="resettledArea"> |
| | | <el-input :disabled="$route.query.type == 'detail'" style="width: 200px;" v-model="form.resettledArea" :controls="false" |
| | | > |
| | | <template slot="append">㎡</template> |
| | | </el-input> |
| | | </el-form-item> |
| | |
| | | <div class="section-title">补偿金额标准</div> |
| | | <el-row :gutter="20"> |
| | | <el-col :span="12"> |
| | | <el-form-item label="新建商品住房/商业用房/停车位" prop="newBuildingStandard"> |
| | | <el-input v-model="form.newBuildingStandard" :min="0" :controls="false" |
| | | :precision="2" controls-position="right" style="width: 200px;"> |
| | | <el-form-item label="新建商品住房/商业用房/停车位" prop="priceNewAmount"> |
| | | <el-input :disabled="$route.query.type == 'detail'" v-model="form.priceNewAmount" :min="0" :controls="false" |
| | | style="width: 200px;"> |
| | | <template slot="append">万元</template> |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="二手住房" prop="secondHandStandard"> |
| | | <el-input v-model="form.secondHandStandard" :min="0" :controls="false" |
| | | :precision="2" controls-position="right" style="width: 200px;"> |
| | | <el-form-item label="二手住房" prop="priceOldAmount"> |
| | | <el-input :disabled="$route.query.type == 'detail'" v-model="form.priceOldAmount" :min="0" :controls="false" |
| | | style="width: 200px;"> |
| | | <template slot="append">万元</template> |
| | | </el-input> |
| | | </el-form-item> |
| | |
| | | <div class="section-title">补偿金额</div> |
| | | <el-row :gutter="20"> |
| | | <el-col :span="8"> |
| | | <el-form-item label="补偿总金额" prop="totalAmount"> |
| | | <el-input v-model="form.totalAmount" :min="0" :controls="false" :precision="2" |
| | | controls-position="right" style="width: 200px;"> |
| | | <el-form-item label="补偿总金额" prop="compensationSumWarn"> |
| | | <el-input :disabled="$route.query.type == 'detail'" v-model="form.compensationSumWarn" :min="0" :controls="false" |
| | | style="width: 200px;"> |
| | | <template slot="append">万元</template> |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <el-form-item label="25%首付款" prop="downPayment"> |
| | | <el-input v-model="form.downPayment" :min="0" :controls="false" :precision="2" |
| | | controls-position="right" style="width: 200px;"> |
| | | <el-form-item label="25%首付款" prop="downPaymentAmount"> |
| | | <el-input :disabled="$route.query.type == 'detail'" v-model="form.downPaymentAmount" :min="0" :controls="false" |
| | | style="width: 200px;"> |
| | | <template slot="append">万元</template> |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <el-form-item label="每季度需要支付款项" prop="quarterlyPayment"> |
| | | <el-input v-model="form.quarterlyPayment" :min="0" :controls="false" |
| | | :precision="2" controls-position="right" style="width: 200px;"> |
| | | <el-form-item label="每季度需要支付款项" prop="quarterPayAmount"> |
| | | <el-input :disabled="$route.query.type == 'detail'" v-model="form.quarterPayAmount" :min="0" :controls="false" |
| | | style="width: 200px;"> |
| | | <template slot="append">万元</template> |
| | | </el-input> |
| | | </el-form-item> |
| | |
| | | |
| | | <el-row :gutter="20"> |
| | | <el-col :span="8"> |
| | | <el-form-item label="过渡补贴" prop="transitionalSubsidy"> |
| | | <el-input v-model="form.transitionalSubsidy" :min="0" :controls="false" |
| | | :precision="2" controls-position="right" style="width: 200px;"> |
| | | <el-form-item label="过渡补贴" prop="subsidyAmount"> |
| | | <el-input :disabled="$route.query.type == 'detail'" v-model="form.subsidyAmount" :min="0" :controls="false" |
| | | style="width: 200px;"> |
| | | <template slot="append">万元</template> |
| | | </el-input> |
| | | </el-form-item> |
| | |
| | | |
| | | <el-row> |
| | | <el-col :span="16"> |
| | | <el-form-item label="备注" prop="remarks"> |
| | | <el-input v-model="form.remarks" type="textarea" :rows="3" placeholder="请输入备注信息" /> |
| | | <el-form-item label="备注" prop="remark"> |
| | | <el-input :disabled="$route.query.type == 'detail'" v-model="form.remark" type="textarea" :rows="3" placeholder="请输入备注信息" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | |
| | | |
| | | <!-- 按钮区域 --> |
| | | <div class="form-footer"> |
| | | <el-button type="primary" size="small" @click="submitForm">提交</el-button> |
| | | <el-button type="primary" v-if="$route.query.type != 'detail'" size="small" @click="submitForm">提交</el-button> |
| | | <el-button type="primary" v-if="$route.query.type == 'detail'" size="small" @click="$router.back()">返回</el-button> |
| | | </div> |
| | | </el-form> |
| | | </el-card> |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | import { addPlacementBatchMoney,getPlacementBatchMoneyDetail,updatePlacementBatchMoney } from '@/api/placement-details' |
| | | export default { |
| | | name: 'AddResettle', |
| | | data() { |
| | | return { |
| | | // 表单数据 |
| | | form: { |
| | | projectName: '', |
| | | village: '', |
| | | householderName: '', |
| | | idCard: '', |
| | | familySize: 1, |
| | | totalArea: 0, |
| | | newBuildingStandard: 0, |
| | | secondHandStandard: 0, |
| | | totalAmount: 0, |
| | | downPayment: 0, |
| | | quarterlyPayment: 0, |
| | | transitionalSubsidy: 0, |
| | | remarks: '' |
| | | projectName: '', // 拆迁项目名称 |
| | | street: '', // 镇(街道) |
| | | community: '', // 所在村(社区) |
| | | householdHead: '', // 户主姓名 |
| | | idCard: '', // 户主身份号 |
| | | resettledNum: 1, // 应安置人数 |
| | | resettledArea: 0, // 所有家庭成员应安置面积 |
| | | priceNewAmount: 0, // 新建商品住房/商业用房/停车位 |
| | | priceOldAmount: 0, // 二手住房 |
| | | compensationSumWarn: 0, // 补偿总金额 |
| | | downPaymentAmount: 0, // 25%首付款 |
| | | quarterPayAmount: 0, // 每季度需要支付款项 |
| | | subsidyAmount: 0, // 过渡补贴 |
| | | remark: '' // 备注 |
| | | }, |
| | | // 表单校验规则 |
| | | rules: { |
| | | projectName: [ |
| | | { required: true, message: '请输入镇街项目名称', trigger: 'blur' } |
| | | { required: true, message: '请输入拆迁项目名称', trigger: 'blur' } |
| | | ], |
| | | village: [ |
| | | street: [ |
| | | { required: true, message: '请输入镇(街道)', trigger: 'blur' } |
| | | ], |
| | | community: [ |
| | | { required: true, message: '请输入所在村(社区)', trigger: 'blur' } |
| | | ], |
| | | householderName: [ |
| | | householdHead: [ |
| | | { required: true, message: '请输入户主姓名', trigger: 'blur' } |
| | | ], |
| | | idCard: [ |
| | | { required: true, message: '请输入户主身份号', trigger: 'blur' }, |
| | | { pattern: /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/, message: '请输入正确的身份证号', trigger: 'blur' } |
| | | ], |
| | | newBuildingStandard: [ |
| | | { required: true, message: '请输入新建商品住房/商业用房/停车位', trigger: 'blur' }, |
| | | { type: 'number', message: '请输入正确的数字', trigger: 'blur' } |
| | | ], |
| | | secondHandStandard: [ |
| | | { required: true, message: '请输入二手住房', trigger: 'blur' }, |
| | | { type: 'number', message: '请输入正确的数字', trigger: 'blur' } |
| | | ], |
| | | transitionalSubsidy: [ |
| | | { required: true, message: '请输入过渡补贴', trigger: 'blur' }, |
| | | { type: 'number', message: '请输入正确的数字', trigger: 'blur' } |
| | | ], |
| | | downPayment: [ |
| | | { required: true, message: '请输入25%首付款', trigger: 'blur' }, |
| | | { type: 'number', message: '请输入正确的数字', trigger: 'blur' } |
| | | ], |
| | | quarterlyPayment: [ |
| | | { required: true, message: '请输入每季度需要支付款项', trigger: 'blur' }, |
| | | { type: 'number', message: '请输入正确的数字', trigger: 'blur' } |
| | | ], |
| | | transitionalSubsidy: [ |
| | | { required: true, message: '请输入过渡补贴', trigger: 'blur' }, |
| | | { type: 'number', message: '请输入正确的数字', trigger: 'blur' } |
| | | ], |
| | | |
| | | familySize: [ |
| | | resettledNum: [ |
| | | { required: true, message: '请输入应安置人数', trigger: 'blur' }, |
| | | { type: 'number', message: '请输入正确的数字', trigger: 'blur' } |
| | | ], |
| | | totalArea: [ |
| | | resettledArea: [ |
| | | { required: true, message: '请输入所有家庭成员应安置面积', trigger: 'blur' }, |
| | | { type: 'number', message: '请输入正确的数字', trigger: 'blur' } |
| | | ], |
| | | totalAmount: [ |
| | | priceNewAmount: [ |
| | | { required: true, message: '请输入新建商品住房/商业用房/停车位', trigger: 'blur' }, |
| | | ], |
| | | priceOldAmount: [ |
| | | { required: true, message: '请输入二手住房', trigger: 'blur' }, |
| | | ], |
| | | compensationSumWarn: [ |
| | | { required: true, message: '请输入补偿总金额', trigger: 'blur' }, |
| | | { type: 'number', message: '请输入正确的数字', trigger: 'blur' } |
| | | ] |
| | | ], |
| | | downPaymentAmount: [ |
| | | { required: true, message: '请输入25%首付款', trigger: 'blur' }, |
| | | ], |
| | | quarterPayAmount: [ |
| | | { required: true, message: '请输入每季度需要支付款项', trigger: 'blur' }, |
| | | ], |
| | | subsidyAmount: [ |
| | | { required: true, message: '请输入过渡补贴', trigger: 'blur' }, |
| | | ], |
| | | } |
| | | } |
| | | }, |
| | | mounted() { |
| | | if (this.$route.query.moneyId) { |
| | | getPlacementBatchMoneyDetail({ id: this.$route.query.moneyId }).then(res => { |
| | | if (res.code === 200) { |
| | | this.form = res.data |
| | | } |
| | | }) |
| | | } else { |
| | | this.resetForm() |
| | | } |
| | | }, |
| | | methods: { |
| | |
| | | this.$refs.form.validate(valid => { |
| | | if (valid) { |
| | | // TODO: 调用接口提交数据 |
| | | this.$message.success('提交成功') |
| | | if (this.$route.query.moneyId) { |
| | | updatePlacementBatchMoney({ ...this.form, placementBatchId: this.$route.query.id,id: this.$route.query.moneyId }).then(res => { |
| | | if (res.code === 200) { |
| | | this.$message.success('编辑成功') |
| | | this.$router.back() |
| | | } |
| | | }) |
| | | } else { |
| | | addPlacementBatchMoney({ ...this.form, placementBatchId: Number(this.$route.query.id) }).then(res => { |
| | | if (res.code === 200) { |
| | | this.$message.success('提交成功') |
| | | this.$router.back() |
| | | } |
| | | }) |
| | | } |
| | | } else { |
| | | return false |
| | | } |
| | |
| | | <!-- 基本信息 --> |
| | | <el-row :gutter="20"> |
| | | <el-col :span="6"> |
| | | <el-form-item label="镇(街道)" prop="town" required> |
| | | <el-input v-model="form.town" placeholder="请输入" clearable style="width: 250px;" /> |
| | | <el-form-item label="镇(街道)" prop="street" required> |
| | | <el-input :disabled="$route.query.type === 'detail'" v-model="form.street" placeholder="请输入" clearable style="width:180px;" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <el-form-item label="所在村(社区)" prop="village" required> |
| | | <el-input v-model="form.village" placeholder="请输入" clearable style="width: 250px;" /> |
| | | <el-form-item label="所在村(社区)" prop="community" required> |
| | | <el-input :disabled="$route.query.type === 'detail'" v-model="form.community" placeholder="请输入" clearable style="width:180px;" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <el-form-item label="拆迁项目名称" prop="projectName" required> |
| | | <el-input v-model="form.projectName" placeholder="请输入" clearable style="width: 250px;" /> |
| | | <el-input :disabled="$route.query.type === 'detail'" v-model="form.projectName" placeholder="请输入" clearable style="width:180px;" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <el-form-item label="拆迁时间" prop="demolitionTime"> |
| | | <el-date-picker v-model="form.demolitionTime" type="date" placeholder="请选择拆迁时间" style="width: 250px;" /> |
| | | <el-date-picker :disabled="$route.query.type === 'detail'" v-model="form.demolitionTime" type="date" placeholder="请选择拆迁时间" style="width:180px;" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | |
| | | <el-row :gutter="20"> |
| | | <el-col :span="6"> |
| | | <el-form-item label="户主姓名" prop="householderName" required> |
| | | <el-input v-model="form.householderName" placeholder="请输入" clearable style="width: 250px;" /> |
| | | <el-form-item label="户主姓名" prop="householdHead" required> |
| | | <el-input :disabled="$route.query.type === 'detail'" v-model="form.householdHead" placeholder="请输入" clearable style="width:180px;" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <el-form-item label="户主身份号" prop="idCard" required> |
| | | <el-input v-model="form.idCard" placeholder="请输入" clearable style="width: 250px;" /> |
| | | <el-input :disabled="$route.query.type === 'detail'" v-model="form.idCard" placeholder="请输入" clearable style="width:180px;" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <el-form-item label="联系电话" prop="phone" required> |
| | | <el-input v-model="form.phone" placeholder="请输入" clearable style="width: 250px;" /> |
| | | <el-form-item label="联系电话" prop="mobile" required> |
| | | <el-input :disabled="$route.query.type === 'detail'" v-model="form.mobile" placeholder="请输入" clearable style="width:180px;" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | |
| | | <div class="section-title">本次安置人数</div> |
| | | <el-row :gutter="20"> |
| | | <el-col :span="8"> |
| | | <el-form-item label="集体经济组织成员" prop="collectiveMember" required> |
| | | <el-form-item label="集体经济组织成员" prop="currentCollectiveNum" required> |
| | | <div class="input-with-unit"> |
| | | <el-input v-model="form.collectiveMember" placeholder="请输入" clearable style="width: 250px;" > |
| | | <template slot="append">人</template> |
| | | <el-input :disabled="$route.query.type === 'detail'" v-model="form.currentCollectiveNum" placeholder="请输入" clearable style="width: 250px;"> |
| | | <template slot="append">人</template> |
| | | </el-input> |
| | | </div> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <el-form-item label="非集体经济组织成员" prop="nonCollectiveMember" required> |
| | | <el-form-item label="非集体经济组织成员" prop="currentNoCollectiveNum" required> |
| | | <div class="input-with-unit"> |
| | | <el-input v-model="form.nonCollectiveMember" placeholder="请输入" clearable style="width: 250px;" > |
| | | <template slot="append">人</template> |
| | | <el-input :disabled="$route.query.type === 'detail'" v-model="form.currentNoCollectiveNum" placeholder="请输入" clearable style="width: 250px;"> |
| | | <template slot="append">人</template> |
| | | </el-input> |
| | | </div> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <el-form-item label="合计" prop="totalMember"> |
| | | <el-form-item label="合计" prop="currentCount"> |
| | | <div class="input-with-unit"> |
| | | <el-input v-model="form.totalMember" placeholder="自动计算" disabled style="width: 250px;" > |
| | | <template slot="append">人</template> |
| | | <el-input :disabled="$route.query.type === 'detail'" v-model="form.currentCount" placeholder="自动计算" disabled style="width: 250px;"> |
| | | <template slot="append">人</template> |
| | | </el-input> |
| | | </div> |
| | | </el-form-item> |
| | |
| | | |
| | | <el-row :gutter="20"> |
| | | <el-col :span="8"> |
| | | <el-form-item label="待安置家庭成员姓名" prop="familyMembers" required> |
| | | <el-input v-model="form.familyMembers" placeholder="请输入" clearable style="width: 250px;" /> |
| | | <el-form-item label="待安置家庭成员姓名" prop="waitFamilyNames" required> |
| | | <el-input :disabled="$route.query.type === 'detail'" v-model="form.waitFamilyNames" placeholder="请输入" clearable style="width: 250px;" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <el-form-item label="待安置人员应安置面积合计" label-width="215px" prop="totalSettlementArea" required> |
| | | <el-form-item label="待安置人员应安置面积合计" label-width="215px" prop="waitFamilyArea" required> |
| | | <div class="input-with-unit"> |
| | | <el-input v-model="form.totalSettlementArea" placeholder="请输入" clearable style="width: 250px;" > |
| | | <template slot="append">㎡</template> |
| | | <el-input :disabled="$route.query.type === 'detail'" v-model="form.waitFamilyArea" placeholder="请输入" clearable style="width: 250px;"> |
| | | <template slot="append">㎡</template> |
| | | </el-input> |
| | | </div> |
| | | </el-form-item> |
| | |
| | | <div class="section-title">补偿金额</div> |
| | | <el-row :gutter="20"> |
| | | <el-col :span="8"> |
| | | <el-form-item label="新建商品住房/商业用房/停车位" label-width="215px" prop="newBuildingAmount" required> |
| | | <el-form-item label="新建商品住房/商业用房/停车位" label-width="215px" prop="compensationNewAmount" required> |
| | | <div class="input-with-unit"> |
| | | <el-input v-model="form.newBuildingAmount" placeholder="请输入" clearable style="width: 250px;" > |
| | | <template slot="append">万元</template> |
| | | <el-input :disabled="$route.query.type === 'detail'" v-model="form.compensationNewAmount" placeholder="请输入" clearable style="width: 250px;"> |
| | | <template slot="append">万元</template> |
| | | </el-input> |
| | | </div> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <el-form-item label="二手住房" label-width="215px" prop="secondHandAmount" required> |
| | | <el-form-item label="二手住房" label-width="215px" prop="compensationOldAmount" required> |
| | | <div class="input-with-unit"> |
| | | <el-input v-model="form.secondHandAmount" placeholder="请输入" clearable style="width: 250px;" > |
| | | <template slot="append">万元</template> |
| | | <el-input :disabled="$route.query.type === 'detail'" v-model="form.compensationOldAmount" placeholder="请输入" clearable style="width: 250px;"> |
| | | <template slot="append">万元</template> |
| | | </el-input> |
| | | </div> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <el-form-item label="合计" label-width="215px" prop="totalAmount"> |
| | | <el-form-item label="合计" label-width="215px" prop="compensationSum"> |
| | | <div class="input-with-unit"> |
| | | <el-input v-model="form.totalAmount" placeholder="自动计算" disabled style="width: 250px;" > |
| | | <template slot="append">万元</template> |
| | | <el-input :disabled="$route.query.type === 'detail'" v-model="form.compensationSum" placeholder="自动计算" disabled style="width: 250px;"> |
| | | <template slot="append">万元</template> |
| | | </el-input> |
| | | </div> |
| | | </el-form-item> |
| | |
| | | |
| | | <el-row :gutter="20"> |
| | | <el-col :span="8"> |
| | | <el-form-item label="25%首付款" label-width="215px" prop="downPayment" required> |
| | | <el-form-item label="25%首付款" label-width="215px" prop="downPaymentAmount" required> |
| | | <div class="input-with-unit"> |
| | | <el-input v-model="form.downPayment" placeholder="请输入" clearable style="width: 250px;" > |
| | | <template slot="append">万元</template> |
| | | <el-input :disabled="$route.query.type === 'detail'" v-model="form.downPaymentAmount" placeholder="请输入" clearable style="width: 250px;"> |
| | | <template slot="append">万元</template> |
| | | </el-input> |
| | | </div> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <el-form-item label="每季度需支付款项" label-width="215px" prop="quarterlyPayment" required> |
| | | <el-form-item label="每季度需支付款项" label-width="215px" prop="quarterPayAmount" required> |
| | | <div class="input-with-unit"> |
| | | <el-input v-model="form.quarterlyPayment" placeholder="请输入" clearable style="width: 250px;" > |
| | | <template slot="append">万元</template> |
| | | <el-input :disabled="$route.query.type === 'detail'" v-model="form.quarterPayAmount" placeholder="请输入" clearable style="width: 250px;"> |
| | | <template slot="append">万元</template> |
| | | </el-input> |
| | | </div> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <el-form-item label="过渡补贴" label-width="215px" prop="transitionalSubsidy" required> |
| | | <el-form-item label="过渡补贴" label-width="215px" prop="subsidyAmount" required> |
| | | <div class="input-with-unit"> |
| | | <el-input v-model="form.transitionalSubsidy" placeholder="请输入" clearable style="width: 250px;" > |
| | | <template slot="append">万元</template> |
| | | <el-input :disabled="$route.query.type === 'detail'" v-model="form.subsidyAmount" placeholder="请输入" clearable style="width: 250px;"> |
| | | <template slot="append">万元</template> |
| | | </el-input> |
| | | </div> |
| | | </el-form-item> |
| | |
| | | |
| | | <el-row> |
| | | <el-col :span="24"> |
| | | <el-form-item label="备注" label-width="215px" prop="remarks"> |
| | | <el-input |
| | | type="textarea" |
| | | v-model="form.remarks" |
| | | placeholder="请输入备注信息" |
| | | :rows="3" |
| | | style="width: 100%;" |
| | | /> |
| | | <el-form-item label="备注" label-width="215px" prop="remark"> |
| | | <el-input :disabled="$route.query.type === 'detail'" type="textarea" v-model="form.remark" placeholder="请输入备注信息" :rows="3" style="width: 100%;" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | |
| | | <!-- 领证发放时间 --> |
| | | <!-- 凭证发放时间 --> |
| | | <el-row> |
| | | <el-col :span="8"> |
| | | <el-form-item label="领证发放时间" label-width="215px" prop="certificateTime" required> |
| | | <el-date-picker |
| | | v-model="form.certificateTime" |
| | | type="date" |
| | | placeholder="请选择领证发放时间" |
| | | style="width: 250px;" |
| | | /> |
| | | <el-form-item label="凭证发放时间" label-width="215px" prop="certificateTime" required> |
| | | <el-date-picker :disabled="$route.query.type === 'detail'" v-model="form.certificateTime" type="date" placeholder="请选择凭证发放时间" |
| | | style="width: 250px;" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | |
| | | <div class="section-title">购房信息</div> |
| | | <el-row :gutter="20"> |
| | | <el-col :span="8"> |
| | | <el-form-item label="购房时间" prop="purchaseTime" required> |
| | | <el-date-picker |
| | | v-model="form.purchaseTime" |
| | | type="date" |
| | | placeholder="请选择购房时间" |
| | | style="width: 250px;" |
| | | /> |
| | | <el-form-item label="购房时间" prop="buyTime" required> |
| | | <el-date-picker :disabled="$route.query.type === 'detail'" v-model="form.buyTime" type="date" placeholder="请选择购房时间" style="width: 250px;" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <el-form-item label="成交金额" prop="dealAmount" required> |
| | | <div class="input-with-unit"> |
| | | <el-input v-model="form.dealAmount" placeholder="请输入" clearable style="width: 250px;" > |
| | | <template slot="append">万元</template> |
| | | <el-input :disabled="$route.query.type === 'detail'" v-model="form.dealAmount" placeholder="请输入" clearable style="width: 250px;"> |
| | | <template slot="append">万元</template> |
| | | </el-input> |
| | | </div> |
| | | </el-form-item> |
| | |
| | | |
| | | <el-row :gutter="20"> |
| | | <el-col :span="8"> |
| | | <el-form-item label="楼盘名称" prop="newBuildingName" required> |
| | | <el-input v-model="form.newBuildingName" placeholder="请输入" clearable style="width: 250px;" /> |
| | | <el-form-item label="新建商品住房: 楼盘名称" prop="newHousingName" required> |
| | | <el-input :disabled="$route.query.type === 'detail'" v-model="form.newHousingName" placeholder="请输入" clearable style="width: 250px;" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <el-form-item label="面积" prop="newBuildingArea" required> |
| | | <el-form-item label="面积" prop="newHousingArea" required> |
| | | <div class="input-with-unit"> |
| | | <el-input v-model="form.newBuildingArea" placeholder="请输入" clearable style="width: 250px;" > |
| | | <template slot="append">㎡</template> |
| | | <el-input :disabled="$route.query.type === 'detail'" v-model="form.newHousingArea" placeholder="请输入" clearable style="width: 250px;"> |
| | | <template slot="append">㎡</template> |
| | | </el-input> |
| | | </div> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <el-form-item label="套数" prop="newBuildingCount" required> |
| | | <el-form-item label="套数" prop="newHousingNum" required> |
| | | <div class="input-with-unit"> |
| | | <el-input v-model="form.newBuildingCount" placeholder="请输入" clearable style="width: 250px;" > |
| | | <template slot="append">套</template> |
| | | <el-input :disabled="$route.query.type === 'detail'" v-model="form.newHousingNum" placeholder="请输入" clearable style="width: 250px;"> |
| | | <template slot="append">套</template> |
| | | </el-input> |
| | | </div> |
| | | </el-form-item> |
| | |
| | | |
| | | <el-row :gutter="20"> |
| | | <el-col :span="8"> |
| | | <el-form-item label="小区名称" prop="secondHandName" required> |
| | | <el-input v-model="form.secondHandName" placeholder="请输入" clearable style="width: 250px;" /> |
| | | <el-form-item label="二手住房: 小区名称" prop="oldHousingName" required> |
| | | <el-input :disabled="$route.query.type === 'detail'" v-model="form.oldHousingName" placeholder="请输入" clearable style="width: 250px;" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <el-form-item label="面积" prop="secondHandArea" required> |
| | | <el-form-item label="面积" prop="oldHousingArea" required> |
| | | <div class="input-with-unit"> |
| | | <el-input v-model="form.secondHandArea" placeholder="请输入" clearable style="width: 250px;" > |
| | | <template slot="append">㎡</template> |
| | | <el-input :disabled="$route.query.type === 'detail'" v-model="form.oldHousingArea" placeholder="请输入" clearable style="width: 250px;"> |
| | | <template slot="append">㎡</template> |
| | | </el-input> |
| | | </div> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <el-form-item label="套数" prop="secondHandCount" required> |
| | | <el-form-item label="套数" prop="oldHousingNum" required> |
| | | <div class="input-with-unit"> |
| | | <el-input v-model="form.secondHandCount" placeholder="请输入" clearable style="width: 160px;" > |
| | | <template slot="append">套</template> |
| | | <el-input :disabled="$route.query.type === 'detail'" v-model="form.oldHousingNum" placeholder="请输入" clearable style="width: 160px;"> |
| | | <template slot="append">套</template> |
| | | </el-input> |
| | | </div> |
| | | </el-form-item> |
| | |
| | | |
| | | <el-row :gutter="20"> |
| | | <el-col :span="8"> |
| | | <el-form-item label="新建商业用房" prop="newCommercialName" required> |
| | | <el-input v-model="form.newCommercialName" placeholder="请输入" clearable style="width: 250px;" /> |
| | | <el-form-item label="新建商业用房: 楼盘名称" prop="buildHousingName" required> |
| | | <el-input :disabled="$route.query.type === 'detail'" v-model="form.buildHousingName" placeholder="请输入" clearable style="width: 250px;" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <el-form-item label="金额" prop="newCommercialAmount" required> |
| | | <el-form-item label="金额" prop="buildHousingAmount" required> |
| | | <div class="input-with-unit"> |
| | | <el-input v-model="form.newCommercialAmount" placeholder="请输入" clearable style="width: 250px;" > |
| | | <template slot="append">万元</template> |
| | | <el-input :disabled="$route.query.type === 'detail'" v-model="form.buildHousingAmount" placeholder="请输入" clearable style="width: 250px;"> |
| | | <template slot="append">万元</template> |
| | | </el-input> |
| | | </div> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <el-form-item label="面积" prop="newCommercialArea" required> |
| | | <el-form-item label="面积" prop="buildHousingArea" required> |
| | | <div class="input-with-unit"> |
| | | <el-input v-model="form.newCommercialArea" placeholder="请输入" clearable style="width: 250px;" > |
| | | <template slot="append">㎡</template> |
| | | <el-input :disabled="$route.query.type === 'detail'" v-model="form.buildHousingArea" placeholder="请输入" clearable style="width: 250px;"> |
| | | <template slot="append">㎡</template> |
| | | </el-input> |
| | | </div> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <el-form-item label="套数" prop="newCommercialCount" required> |
| | | <el-form-item label="套数" prop="buildHousingNum" required> |
| | | <div class="input-with-unit"> |
| | | <el-input v-model="form.newCommercialCount" placeholder="请输入" clearable style="width: 250px;" > |
| | | <template slot="append">套</template> |
| | | <el-input :disabled="$route.query.type === 'detail'" v-model="form.buildHousingNum" placeholder="请输入" clearable style="width: 250px;"> |
| | | <template slot="append">套</template> |
| | | </el-input> |
| | | </div> |
| | | </el-form-item> |
| | |
| | | |
| | | <el-row :gutter="20"> |
| | | <el-col :span="8"> |
| | | <el-form-item label="新建停车位" prop="newParkingName" required> |
| | | <el-input v-model="form.newParkingName" placeholder="请输入" clearable style="width: 250px;" /> |
| | | <el-form-item label="新建停车位: 楼盘名称" prop="newStopName" required> |
| | | <el-input :disabled="$route.query.type === 'detail'" v-model="form.newStopName" placeholder="请输入" clearable style="width: 250px;" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <el-form-item label="金额" prop="newParkingAmount" required> |
| | | <el-form-item label="金额" prop="newStopArea" required> |
| | | <div class="input-with-unit"> |
| | | <el-input v-model="form.newParkingAmount" placeholder="请输入" clearable style="width: 250px;" > |
| | | <template slot="append">万元</template> |
| | | <el-input :disabled="$route.query.type === 'detail'" v-model="form.newStopArea" placeholder="请输入" clearable style="width: 250px;"> |
| | | <template slot="append">万元</template> |
| | | </el-input> |
| | | </div> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <el-form-item label="个数" prop="newParkingCount" required> |
| | | <el-form-item label="个数" prop="newStopNum" required> |
| | | <div class="input-with-unit"> |
| | | <el-input v-model="form.newParkingCount" placeholder="请输入" clearable style="width: 250px;" > |
| | | <template slot="append">套</template> |
| | | <el-input :disabled="$route.query.type === 'detail'" v-model="form.newStopNum" placeholder="请输入" clearable style="width: 250px;"> |
| | | <template slot="append">套</template> |
| | | </el-input> |
| | | </div> |
| | | </el-form-item> |
| | |
| | | <div class="section-title">补偿款支付</div> |
| | | <el-row :gutter="20"> |
| | | <el-col :span="12"> |
| | | <el-form-item label="自主购房协议签订时间" prop="agreementSignTime" required> |
| | | <el-date-picker |
| | | v-model="form.agreementSignTime" |
| | | type="date" |
| | | placeholder="请选择时间" |
| | | style="width: 250px;" |
| | | /> |
| | | <el-form-item label="自主购房协议签订时间" prop="signTime" required> |
| | | <el-date-picker :disabled="$route.query.type === 'detail'" 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="downPaymentTime" required> |
| | | <el-date-picker |
| | | v-model="form.downPaymentTime" |
| | | type="date" |
| | | placeholder="请选择时间" |
| | | style="width: 250px;" |
| | | /> |
| | | <el-form-item label="25%补偿款及过渡补贴支付时间" label-width="220px" prop="compensationPayTime" required> |
| | | <el-date-picker :disabled="$route.query.type === 'detail'" v-model="form.compensationPayTime" type="date" placeholder="请选择时间" |
| | | style="width: 250px;" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | |
| | | <el-row :gutter="20"> |
| | | <el-col :span="24"> |
| | | <el-form-item label="剩余款项支付时间:" prop="remainingPaymentTime"> |
| | | <el-form-item label="剩余款项支付时间:" prop="remainingTime1"> |
| | | <el-row :gutter="20"> |
| | | <el-col :span="4"> |
| | | <div class="payment-label">第一年</div> |
| | | <el-date-picker |
| | | v-model="form.firstYearPayment" |
| | | type="date" |
| | | placeholder="请选择时间" |
| | | style="width: 200px;" |
| | | /> |
| | | <el-date-picker :disabled="$route.query.type === 'detail'" v-model="form.remainingTime1" type="date" placeholder="请选择时间" style="width: 200px;" /> |
| | | </el-col> |
| | | <el-col :span="4"> |
| | | <div class="payment-label">第二年</div> |
| | | <el-date-picker |
| | | v-model="form.secondYearPayment" |
| | | type="date" |
| | | placeholder="请选择时间" |
| | | style="width: 200px;" |
| | | /> |
| | | <el-date-picker :disabled="$route.query.type === 'detail'" v-model="form.remainingTime2" type="date" placeholder="请选择时间" style="width: 200px;" /> |
| | | </el-col> |
| | | <el-col :span="4"> |
| | | <div class="payment-label">第三年</div> |
| | | <el-date-picker |
| | | v-model="form.thirdYearPayment" |
| | | type="date" |
| | | placeholder="请选择时间" |
| | | style="width: 200px;" |
| | | /> |
| | | <el-date-picker :disabled="$route.query.type === 'detail'" v-model="form.remainingTime3" type="date" placeholder="请选择时间" style="width: 200px;" /> |
| | | </el-col> |
| | | <el-col :span="4"> |
| | | <div class="payment-label">第四年</div> |
| | | <el-date-picker |
| | | v-model="form.fourthYearPayment" |
| | | type="date" |
| | | placeholder="请选择时间" |
| | | style="width: 200px;" |
| | | /> |
| | | <el-date-picker :disabled="$route.query.type === 'detail'" v-model="form.remainingTime4" type="date" placeholder="请选择时间" style="width: 200px;" /> |
| | | </el-col> |
| | | <el-col :span="4"> |
| | | <div class="payment-label">第五年</div> |
| | | <el-date-picker |
| | | v-model="form.fifthYearPayment" |
| | | type="date" |
| | | placeholder="请选择时间" |
| | | style="width: 200px;" |
| | | /> |
| | | <el-date-picker :disabled="$route.query.type === 'detail'" v-model="form.remainingTime5" type="date" placeholder="请选择时间" style="width: 200px;" /> |
| | | </el-col> |
| | | </el-row> |
| | | </el-form-item> |
| | |
| | | |
| | | <!-- 按钮区域 --> |
| | | <div class="form-footer"> |
| | | <el-button type="primary" @click="submitForm">提交</el-button> |
| | | <el-button v-if="$route.query.type !== 'detail'" type="primary" @click="submitForm">提交</el-button> |
| | | <el-button v-else @click="$router.back()">返回</el-button> |
| | | </div> |
| | | </el-form> |
| | | </el-card> |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | import { addPlacementBatchHouse, updatePlacementBatchHouse, getPlacementBatchHouseDetail } from '@/api/placement-details' |
| | | export default { |
| | | name: 'ApplayPerson', |
| | | data() { |
| | | return { |
| | | form: { |
| | | town: '', |
| | | village: '', |
| | | street: '', |
| | | community: '', |
| | | projectName: '', |
| | | demolitionTime: '', |
| | | householderName: '', |
| | | householdHead: '', |
| | | idCard: '', |
| | | phone: '', |
| | | collectiveMember: '', |
| | | nonCollectiveMember: '', |
| | | totalMember: '', |
| | | familyMembers: '', |
| | | totalSettlementArea: '', |
| | | newBuildingAmount: '', |
| | | secondHandAmount: '', |
| | | totalAmount: '', |
| | | downPayment: '', |
| | | quarterlyPayment: '', |
| | | transitionalSubsidy: '', |
| | | remarks: '', |
| | | mobile: '', |
| | | currentCollectiveNum: '', |
| | | currentNoCollectiveNum: '', |
| | | currentCount: '', |
| | | waitFamilyNames: '', |
| | | waitFamilyArea: '', |
| | | compensationNewAmount: '', |
| | | compensationOldAmount: '', |
| | | compensationSum: '', |
| | | downPaymentAmount: '', |
| | | quarterPayAmount: '', |
| | | subsidyAmount: '', |
| | | remark: '', |
| | | certificateTime: '', |
| | | purchaseTime: '', |
| | | buyTime: '', |
| | | dealAmount: '', |
| | | newBuildingName: '', |
| | | newBuildingArea: '', |
| | | newBuildingCount: '', |
| | | secondHandName: '', |
| | | secondHandArea: '', |
| | | secondHandCount: '', |
| | | newCommercialName: '', |
| | | newCommercialAmount: '', |
| | | newCommercialArea: '', |
| | | newCommercialCount: '', |
| | | newParkingName: '', |
| | | newParkingAmount: '', |
| | | newParkingCount: '', |
| | | agreementSignTime: '', |
| | | downPaymentTime: '', |
| | | firstYearPayment: '', |
| | | secondYearPayment: '', |
| | | thirdYearPayment: '', |
| | | fourthYearPayment: '', |
| | | fifthYearPayment: '', |
| | | newHousingName: '', |
| | | newHousingArea: '', |
| | | newHousingNum: '', |
| | | oldHousingName: '', |
| | | oldHousingArea: '', |
| | | oldHousingNum: '', |
| | | buildHousingName: '', |
| | | buildHousingAmount: '', |
| | | buildHousingArea: '', |
| | | buildHousingNum: '', |
| | | newStopName: '', |
| | | newStopArea: '', |
| | | newStopNum: '', |
| | | signTime: '', |
| | | compensationPayTime: '', |
| | | remainingTime1: '', |
| | | remainingTime2: '', |
| | | remainingTime3: '', |
| | | remainingTime4: '', |
| | | remainingTime5: '' |
| | | }, |
| | | rules: { |
| | | town: [{ required: true, message: '请输入镇(街道)', trigger: 'blur' }], |
| | | village: [{ required: true, message: '请输入所在村(社区)', trigger: 'blur' }], |
| | | street: [{ required: true, message: '请输入镇(街道)', trigger: 'blur' }], |
| | | community: [{ required: true, message: '请输入所在村(社区)', trigger: 'blur' }], |
| | | projectName: [{ required: true, message: '请输入拆迁项目名称', trigger: 'blur' }], |
| | | householderName: [{ required: true, message: '请输入户主姓名', trigger: 'blur' }], |
| | | demolitionTime: [{ required: true, message: '请选择拆迁时间', trigger: 'change' }], |
| | | householdHead: [{ required: true, message: '请输入户主姓名', trigger: 'blur' }], |
| | | idCard: [ |
| | | { required: true, message: '请输入户主身份号', trigger: 'blur' }, |
| | | { pattern: /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/, message: '请输入正确的身份证号', trigger: 'blur' } |
| | | ], |
| | | phone: [ |
| | | mobile: [ |
| | | { required: true, message: '请输入联系电话', trigger: 'blur' }, |
| | | { pattern: /^1[3-9]\d{9}$/, message: '请输入正确的手机号码', trigger: 'blur' } |
| | | ], |
| | | collectiveMember: [{ required: true, message: '请输入集体经济组织成员人数', trigger: 'blur' }], |
| | | nonCollectiveMember: [{ required: true, message: '请输入非集体经济组织成员人数', trigger: 'blur' }], |
| | | familyMembers: [{ required: true, message: '请输入待安置家庭成员姓名', trigger: 'blur' }], |
| | | totalSettlementArea: [{ required: true, message: '请输入待安置人员应安置面积合计', trigger: 'blur' }], |
| | | newBuildingAmount: [{ required: true, message: '请输入新建商品住房/商业用房/停车位金额', trigger: 'blur' }], |
| | | secondHandAmount: [{ required: true, message: '请输入二手住房金额', trigger: 'blur' }], |
| | | downPayment: [{ required: true, message: '请输入25%首付款', trigger: 'blur' }], |
| | | quarterlyPayment: [{ required: true, message: '请输入每季度需支付款项', trigger: 'blur' }], |
| | | transitionalSubsidy: [{ required: true, message: '请输入过渡补贴', trigger: 'blur' }], |
| | | certificateTime: [{ required: true, message: '请选择领证发放时间', trigger: 'change' }], |
| | | purchaseTime: [{ required: true, message: '请选择购房时间', trigger: 'change' }], |
| | | dealAmount: [{ required: true, message: '请输入成交金额', trigger: 'blur' }], |
| | | newBuildingName: [{ required: true, message: '请输入楼盘名称', trigger: 'blur' }], |
| | | newBuildingArea: [{ required: true, message: '请输入面积', trigger: 'blur' }], |
| | | newBuildingCount: [{ required: true, message: '请输入套数', trigger: 'blur' }], |
| | | secondHandName: [{ required: true, message: '请输入小区名称', trigger: 'blur' }], |
| | | secondHandArea: [{ required: true, message: '请输入面积', trigger: 'blur' }], |
| | | secondHandCount: [{ required: true, message: '请输入套数', trigger: 'blur' }], |
| | | newCommercialName: [{ required: true, message: '请输入新建商业用房名称', trigger: 'blur' }], |
| | | newCommercialAmount: [{ required: true, message: '请输入金额', trigger: 'blur' }], |
| | | newCommercialArea: [{ required: true, message: '请输入面积', trigger: 'blur' }], |
| | | newCommercialCount: [{ required: true, message: '请输入套数', trigger: 'blur' }], |
| | | newParkingName: [{ required: true, message: '请输入新建停车位名称', trigger: 'blur' }], |
| | | newParkingAmount: [{ required: true, message: '请输入金额', trigger: 'blur' }], |
| | | newParkingCount: [{ required: true, message: '请输入个数', trigger: 'blur' }], |
| | | agreementSignTime: [{ required: true, message: '请选择自主购房协议签订时间', trigger: 'change' }], |
| | | downPaymentTime: [{ required: true, message: '请选择25%补偿款及过渡补贴支付时间', trigger: 'change' }], |
| | | currentCollectiveNum: [ |
| | | { required: true, message: '请输入集体经济组织成员人数', trigger: 'blur' }, |
| | | // { type: 'number', message: '请输入正确的数字', trigger: 'blur' } |
| | | ], |
| | | currentNoCollectiveNum: [ |
| | | { required: true, message: '请输入非集体经济组织成员人数', trigger: 'blur' }, |
| | | // { type: 'number', message: '请输入正确的数字', trigger: 'blur' } |
| | | ], |
| | | waitFamilyNames: [{ required: true, message: '请输入待安置家庭成员姓名', trigger: 'blur' }], |
| | | waitFamilyArea: [ |
| | | { required: true, message: '请输入待安置人员应安置面积合计', trigger: 'blur' }, |
| | | // { type: 'number', message: '请输入正确的数字', trigger: 'blur' } |
| | | ], |
| | | compensationNewAmount: [ |
| | | { required: true, message: '请输入新建商品住房/商业用房/停车位金额', trigger: 'blur' }, |
| | | // { type: 'number', message: '请输入正确的数字', trigger: 'blur' } |
| | | ], |
| | | compensationOldAmount: [ |
| | | { required: true, message: '请输入二手住房金额', trigger: 'blur' }, |
| | | // { type: 'number', message: '请输入正确的数字', trigger: 'blur' } |
| | | ], |
| | | downPaymentAmount: [ |
| | | { required: true, message: '请输入25%首付款', trigger: 'blur' }, |
| | | // { type: 'number', message: '请输入正确的数字', trigger: 'blur' } |
| | | ], |
| | | quarterPayAmount: [ |
| | | { required: true, message: '请输入每季度需支付款项', trigger: 'blur' }, |
| | | // { type: 'number', message: '请输入正确的数字', trigger: 'blur' } |
| | | ], |
| | | subsidyAmount: [ |
| | | { required: true, message: '请输入过渡补贴', trigger: 'blur' }, |
| | | // { type: 'number', message: '请输入正确的数字', trigger: 'blur' } |
| | | ], |
| | | certificateTime: [{ required: true, message: '请选择凭证发放时间', trigger: 'change' }], |
| | | buyTime: [{ required: true, message: '请选择购房时间', trigger: 'change' }], |
| | | dealAmount: [ |
| | | { required: true, message: '请输入成交金额', trigger: 'blur' }, |
| | | // { type: 'number', message: '请输入正确的数字', trigger: 'blur' } |
| | | ], |
| | | newHousingName: [{ required: true, message: '请输入新建商品住房楼盘名称', trigger: 'blur' }], |
| | | newHousingArea: [ |
| | | { required: true, message: '请输入新建商品住房面积', trigger: 'blur' }, |
| | | // { type: 'number', message: '请输入正确的数字', trigger: 'blur' } |
| | | ], |
| | | newHousingNum: [ |
| | | { required: true, message: '请输入新建商品住房套数', trigger: 'blur' }, |
| | | // { type: 'number', message: '请输入正确的数字', trigger: 'blur' } |
| | | ], |
| | | oldHousingName: [{ required: true, message: '请输入二手住房小区名称', trigger: 'blur' }], |
| | | oldHousingArea: [ |
| | | { required: true, message: '请输入二手住房面积', trigger: 'blur' }, |
| | | // { type: 'number', message: '请输入正确的数字', trigger: 'blur' } |
| | | ], |
| | | oldHousingNum: [ |
| | | { required: true, message: '请输入二手住房套数', trigger: 'blur' }, |
| | | // { type: 'number', message: '请输入正确的数字', trigger: 'blur' } |
| | | ], |
| | | buildHousingName: [{ required: true, message: '请输入新建商业用房楼盘名称', trigger: 'blur' }], |
| | | buildHousingAmount: [ |
| | | { required: true, message: '请输入新建商业用房金额', trigger: 'blur' }, |
| | | // { type: 'number', message: '请输入正确的数字', trigger: 'blur' } |
| | | ], |
| | | buildHousingArea: [ |
| | | { required: true, message: '请输入新建商业用房面积', trigger: 'blur' }, |
| | | // { type: 'number', message: '请输入正确的数字', trigger: 'blur' } |
| | | ], |
| | | buildHousingNum: [ |
| | | { required: true, message: '请输入新建商业用房套数', trigger: 'blur' }, |
| | | // { type: 'number', message: '请输入正确的数字', trigger: 'blur' } |
| | | ], |
| | | newStopName: [{ required: true, message: '请输入新建停车位楼盘名称', trigger: 'blur' }], |
| | | newStopArea: [ |
| | | { required: true, message: '请输入新建停车位金额', trigger: 'blur' }, |
| | | // { type: 'number', message: '请输入正确的数字', trigger: 'blur' } |
| | | ], |
| | | newStopNum: [ |
| | | { required: true, message: '请输入新建停车位个数', trigger: 'blur' }, |
| | | // { type: 'number', message: '请输入正确的数字', trigger: 'blur' } |
| | | ], |
| | | signTime: [{ required: true, message: '请选择自主购房协议签订时间', trigger: 'change' }], |
| | | compensationPayTime: [{ required: true, message: '请选择25%补偿款及过渡补贴支付时间', trigger: 'change' }] |
| | | } |
| | | } |
| | | }, |
| | | watch: { |
| | | // 监听集体和非集体成员人数,自动计算总人数 |
| | | 'form.collectiveMember': { |
| | | 'form.currentCollectiveNum': { |
| | | handler(val) { |
| | | this.calculateTotalMember() |
| | | } |
| | | }, |
| | | 'form.nonCollectiveMember': { |
| | | 'form.currentNoCollectiveNum': { |
| | | handler(val) { |
| | | this.calculateTotalMember() |
| | | } |
| | | }, |
| | | // 监听新建和二手房金额,自动计算总金额 |
| | | 'form.newBuildingAmount': { |
| | | 'form.compensationNewAmount': { |
| | | handler(val) { |
| | | this.calculateTotalAmount() |
| | | } |
| | | }, |
| | | 'form.secondHandAmount': { |
| | | 'form.compensationOldAmount': { |
| | | handler(val) { |
| | | this.calculateTotalAmount() |
| | | } |
| | | } |
| | | }, |
| | | mounted(){ |
| | | if(this.$route.query.houseId){ |
| | | getPlacementBatchHouseDetail({id:this.$route.query.houseId}).then(res => { |
| | | this.form = res.data |
| | | }) |
| | | }else{ |
| | | this.resetForm() |
| | | } |
| | | }, |
| | | methods: { |
| | | // 计算总人数 |
| | | calculateTotalMember() { |
| | | const collective = parseFloat(this.form.collectiveMember) || 0 |
| | | const nonCollective = parseFloat(this.form.nonCollectiveMember) || 0 |
| | | this.form.totalMember = collective + nonCollective |
| | | const collective = parseFloat(this.form.currentCollectiveNum) || 0 |
| | | const nonCollective = parseFloat(this.form.currentNoCollectiveNum) || 0 |
| | | this.form.currentCount = collective + nonCollective |
| | | }, |
| | | // 计算总金额 |
| | | calculateTotalAmount() { |
| | | const newBuilding = parseFloat(this.form.newBuildingAmount) || 0 |
| | | const secondHand = parseFloat(this.form.secondHandAmount) || 0 |
| | | this.form.totalAmount = newBuilding + secondHand |
| | | const newBuilding = parseFloat(this.form.compensationNewAmount) || 0 |
| | | const secondHand = parseFloat(this.form.compensationOldAmount) || 0 |
| | | this.form.compensationSum = newBuilding + secondHand |
| | | }, |
| | | // 处理文件上传 |
| | | handleClickUpload() { |
| | |
| | | fileInput.type = 'file' |
| | | // 设置接受的文件类型 |
| | | fileInput.accept = '.jpg,.jpeg,.png,.pdf,.doc,.docx' |
| | | |
| | | |
| | | // 监听文件选择事件 |
| | | fileInput.addEventListener('change', (event) => { |
| | | const file = event.target.files[0] |
| | | if (!file) return |
| | | |
| | | |
| | | // 创建FileReader实例 |
| | | const reader = new FileReader() |
| | | |
| | | |
| | | // 读取完成后的处理 |
| | | reader.onload = (e) => { |
| | | // 获取二进制数据 |
| | |
| | | // 这里可以将binaryData存储到组件的data中或进行其他处理 |
| | | // this.fileData = binaryData |
| | | } |
| | | |
| | | |
| | | // 读取文件为二进制数据 |
| | | reader.readAsArrayBuffer(file) |
| | | }) |
| | | |
| | | |
| | | // 触发文件选择 |
| | | fileInput.click() |
| | | }, |
| | |
| | | this.$refs.form.validate(valid => { |
| | | if (valid) { |
| | | // TODO: 调用接口提交数据 |
| | | this.$message.success('提交成功') |
| | | if(this.$route.query.houseId){ |
| | | // 修改 |
| | | updatePlacementBatchHouse({...this.form,placementBatchId:this.$route.query.id,id:this.$route.query.houseId}).then(res => { |
| | | if(res.code === 200){ |
| | | this.$message.success('修改成功') |
| | | this.$router.back() |
| | | }else{ |
| | | this.$message.error(res.message) |
| | | } |
| | | }) |
| | | }else{ |
| | | // 新增 |
| | | addPlacementBatchHouse({...this.form,placementBatchId:this.$route.query.id}).then(res => { |
| | | if(res.code === 200){ |
| | | this.$message.success('提交成功') |
| | | this.$router.back() |
| | | }else{ |
| | | this.$message.error(res.message) |
| | | } |
| | | }) |
| | | } |
| | | } |
| | | }) |
| | | }, |
| | |
| | | .input-with-unit { |
| | | display: inline-flex; |
| | | align-items: center; |
| | | |
| | | |
| | | .unit { |
| | | margin-left: 8px; |
| | | color: #606266; |
| | |
| | | <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> |
| | | |
| | | <!-- 右侧审核信息 --> |
| | |
| | | <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> |
| | |
| | | <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> |
| | |
| | | <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> |
| | |
| | | </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> |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | import { getPlacementBatchDetail } from '@/api/placement-details' |
| | | export default { |
| | | name: "ApprovalDialog", |
| | | props: { |
| | |
| | | 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; |
| | |
| | | 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"; |
| | |
| | | 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: "", |
| | | }; |
| | | }, |
| | | }, |
| | |
| | | <template> |
| | | <el-dialog title="导入人员购房资金申请" :visible.sync="visible" width="600px" :close-on-click-modal="false" append-to-body> |
| | | <el-dialog :title="title" :visible.sync="visible" width="600px" @open="open" @close="" |
| | | :close-on-click-modal="false" append-to-body> |
| | | <el-form ref="form" :model="form" :rules="rules" label-width="120px"> |
| | | <el-form-item label="批次号" prop="batchNumber"> |
| | | <el-input v-model="form.batchNumber" placeholder="请输入" clearable></el-input> |
| | | <el-input :disabled="batchNumber" v-model="form.batchNumber" placeholder="请输入" clearable></el-input> |
| | | </el-form-item> |
| | | <div> |
| | | <el-form-item label="导入资金表" prop="assetFile"> |
| | | <el-form-item label="导入资金表" prop="assetFile" v-if="type != 2"> |
| | | <el-upload class="upload-container" action="#" drag :auto-upload="false" accept=".xlsx,.xls" |
| | | :on-change="handlehouseholdFileChangePrice" :limit="1"> |
| | | :on-change="handlehouseholdFileChangePrice" :limit="1"> |
| | | <div class="upload-area"> |
| | | <i class="el-icon-folder"></i> |
| | | <div class="upload-text">点击或将文件文件拖拽到这里上传</div> |
| | |
| | | </el-upload> |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="导入购房表" prop="householdFile"> |
| | | <el-form-item label="导入购房表" prop="householdFile" v-if="type != 1"> |
| | | <el-upload class="upload-container" action="#" drag :auto-upload="false" accept=".xlsx,.xls" |
| | | :on-change="handlehouseholdFileChange" :limit="1"> |
| | | <div class="upload-area"> |
| | |
| | | visible: { |
| | | type: Boolean, |
| | | default: false |
| | | }, |
| | | type: { |
| | | type: Number, |
| | | default: 3 |
| | | }, |
| | | title: { |
| | | type: String, |
| | | default: '导入自主购房安置资金申请' |
| | | }, |
| | | batchNumber: { |
| | | type: String, |
| | | default: '' |
| | | } |
| | | }, |
| | | data() { |
| | |
| | | } |
| | | }, |
| | | methods: { |
| | | open() { |
| | | this.form.batchNumber = JSON.parse(JSON.stringify(this.batchNumber)) |
| | | }, |
| | | handlehouseholdFileChange(file, fileList) { |
| | | this.form.householdFile = file.raw |
| | | this.$refs.form.validateField('householdFile') |
| | |
| | | this.$refs.form.validate(valid => { |
| | | if (valid) { |
| | | this.loading = true |
| | | this.$emit('importPrice', this.form) |
| | | this.$emit('importPrice', this.form) |
| | | setTimeout(() => { |
| | | this.loading = false |
| | | this.resetForm() |
| | |
| | | width: 100%; |
| | | height: unset !important; |
| | | } |
| | | |
| | | .upload-container { |
| | | .upload-area { |
| | | width: 100%; |
| | |
| | | |
| | | <!-- 功能按钮区域 --> |
| | | <div class="button-container"> |
| | | <el-button type="primary" size="small" @click="handleImportAll">新增资金批次</el-button> |
| | | <el-button type="success" size="small" @click="handleExportTemplate">下载资金导入模版</el-button> |
| | | <el-button type="success" size="small" @click="handleImportTemplate">下载购房信息表导入模版</el-button> |
| | | <el-button type="primary" size="small" v-permission="['placement-batch/add']" @click="handleImportAll">新增资金批次</el-button> |
| | | <el-button type="success" size="small" v-permission="['placement-batch/downLoad']" @click="handleExportTemplate">下载资金导入模版</el-button> |
| | | <el-button type="success" size="small" v-permission="['placement-batch/down']" @click="handleImportTemplate">下载购房信息表导入模版</el-button> |
| | | </div> |
| | | |
| | | <!-- 表格区域 --> |
| | |
| | | </el-table-column> |
| | | <el-table-column label="操作" align="center" width="200"> |
| | | <template slot-scope="scope"> |
| | | <el-button size="mini" type="text" @click="handleView(scope.row)">详情</el-button> |
| | | <el-button size="mini" type="text" @click="handleView(scope.row)">查看</el-button> |
| | | <el-button size="mini" type="text" @click="handleApproval(scope.row)">审核</el-button> |
| | | <el-button size="mini" type="text" @click="handleDelete(scope.row)">删除</el-button> |
| | | <el-button size="mini" v-permission="['placement-batch/detail']" v-if="scope.row.status != '0'" type="text" @click="handleView(scope.row)">详情</el-button> |
| | | <el-button size="mini" v-permission="['placement-batch/view']" type="text" @click="handleViewDetail(scope.row)">查看</el-button> |
| | | <el-button size="mini" v-permission="['placement-batch/approval']" v-if="scope.row.status == '0'" type="text" @click="handleApproval(scope.row)">审核</el-button> |
| | | <el-button size="mini" v-permission="['placement-batch/del']" v-if="scope.row.status == '1'" type="text" @click="handleDelete(scope.row)">删除</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </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> |
| | | |
| | | <export-money-applay :visible.sync="dialogVisible" @importPrice="importPrice" /> |
| | | <approval-dialog :visible.sync="approvalDialogVisible" /> |
| | | </div> |
| | | <export-money-applay :visible.sync="dialogVisible" @importPrice="importPrice" @close="dialogVisible = false" /> |
| | | <approval-dialog :visible.sync="approvalDialogVisible" :type="type" @audit-submit="auditSubmit" :placementBatchId="placementBatchId" @close="approvalDialogVisible = false" /> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | |
| | | import { |
| | | getPlacementBatchList, |
| | | deletePlacementBatch, |
| | | importPlacementBatch |
| | | importPlacementBatch, |
| | | auditPlacementBatch |
| | | } from '@/api/placement-details' |
| | | |
| | | export default { |
| | |
| | | total: 0, |
| | | // 表格数据 |
| | | tableData: [], |
| | | // 安置批次id |
| | | placementBatchId: 0, |
| | | // 审核类型 |
| | | type: 'audit', |
| | | // 查询参数 |
| | | queryParams: { |
| | | pageNum: 1, |
| | |
| | | } |
| | | this.getList() |
| | | }, |
| | | |
| | | /** 分页 */ |
| | | handleSizeChange(size) { |
| | | this.queryParams.pageSize = size |
| | | this.getList() |
| | | }, |
| | | /** 分页 */ |
| | | handleCurrentChange(page) { |
| | | this.queryParams.pageNum = page |
| | | this.getList() |
| | | }, |
| | | /** 导入资金批次 */ |
| | | handleImportAll() { |
| | | // TODO: 实现导出逻辑 |
| | |
| | | }, |
| | | /** 导入资金批次 */ |
| | | importPrice(form) { |
| | | console.log('//////////////', form) |
| | | let formData = new FormData() |
| | | formData.append('assetFile', form.assetFile) |
| | | formData.append('householdFile', form.householdFile) |
| | |
| | | /** 查看详情按钮操作 */ |
| | | handleView(row) { |
| | | // TODO: 实现查看详情逻辑 |
| | | this.$router.push('/placement/batch/personnel?id=' + row.id) |
| | | this.type = 'detail' |
| | | this.placementBatchId = row.id |
| | | this.approvalDialogVisible = true |
| | | }, |
| | | /** 查看详情按钮操作 */ |
| | | handleViewDetail(row) { |
| | | // TODO: 实现查看详情逻辑 |
| | | this.$router.push(`/placement/batch/personnel?id=${row.id}`) |
| | | }, |
| | | /** 审核按钮操作 */ |
| | | handleApproval(row) { |
| | | // TODO: 实现编辑逻辑 |
| | | this.type = 'audit' |
| | | this.placementBatchId = row.id |
| | | this.approvalDialogVisible = true |
| | | }, |
| | | /** 审核提交 */ |
| | | auditSubmit(data) { |
| | | // TODO: 实现审核提交逻辑 |
| | | auditPlacementBatch(data).then(res => { |
| | | if (res.code == 200) { |
| | | this.$message.success('审核成功') |
| | | this.placementBatchId = 0 |
| | | this.approvalDialogVisible = false |
| | | this.getList() |
| | | } |
| | | }) |
| | | }, |
| | | /** 删除按钮操作 */ |
| | | handleDelete(row) { |
| | |
| | | |
| | | <!-- 功能按钮区域 --> |
| | | <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> |
| | |
| | | </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"> |
| | |
| | | <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"> |
| | |
| | | </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> |
| | |
| | | </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> |
| | | <!-- 购房信息表格 --> |
| | |
| | | <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"> |
| | |
| | | </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, |
| | | // 非多个禁用 |
| | |
| | | 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() { |
| | |
| | | /** 新增按钮操作 */ |
| | | 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() { |
| | |
| | | /** 导入操作 */ |
| | | handleImport() { |
| | | // TODO: 实现导入逻辑 |
| | | this.dialogVisible = true |
| | | }, |
| | | /** 导出选中记录 */ |
| | | handleExportSelected() { |
| | | // TODO: 实现导出选中记录逻辑 |
| | | exportExcell(`placement-batch/problem-export`,{ |
| | | 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() { |