From 2adda5537ed677cb5b3a5a0ff434f2da92e87bf3 Mon Sep 17 00:00:00 2001 From: pyt <626651354@qq.com> Date: 星期一, 24 三月 2025 16:36:09 +0800 Subject: [PATCH] Merge branch 'main' of http://120.76.84.145:10101/gitblit/r/H5/chongzhouResettle --- src/views/placement-batch/applayPerson.vue | 505 ++++++++++++++++++++++++++++++-------------------------- 1 files changed, 271 insertions(+), 234 deletions(-) diff --git a/src/views/placement-batch/applayPerson.vue b/src/views/placement-batch/applayPerson.vue index 43341c0..47e9d16 100644 --- a/src/views/placement-batch/applayPerson.vue +++ b/src/views/placement-batch/applayPerson.vue @@ -5,41 +5,41 @@ <!-- 基本信息 --> <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> @@ -48,28 +48,28 @@ <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> @@ -78,15 +78,15 @@ <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> @@ -97,28 +97,28 @@ <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> @@ -127,28 +127,28 @@ <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> @@ -157,28 +157,18 @@ <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> @@ -187,20 +177,15 @@ <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> @@ -209,24 +194,24 @@ <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> @@ -235,24 +220,24 @@ <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> @@ -261,33 +246,33 @@ <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> @@ -296,24 +281,24 @@ <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> @@ -324,75 +309,41 @@ <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> @@ -401,7 +352,8 @@ <!-- 按钮区域 --> <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> @@ -409,133 +361,198 @@ </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() { @@ -544,15 +561,15 @@ 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) => { // 获取二进制数据 @@ -563,11 +580,11 @@ // 这里可以将binaryData存储到组件的data中或进行其他处理 // this.fileData = binaryData } - + // 读取文件为二进制数据 reader.readAsArrayBuffer(file) }) - + // 触发文件选择 fileInput.click() }, @@ -576,7 +593,27 @@ 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) + } + }) + } } }) }, @@ -611,7 +648,7 @@ .input-with-unit { display: inline-flex; align-items: center; - + .unit { margin-left: 8px; color: #606266; -- Gitblit v1.7.1