<!-- * @Description: * @Autor: renchao * @LastEditTime: 2024-02-02 16:37:13 --> <template> <div class="from-clues"> <!-- 表单部分 国有建设用地使用权 --> <div class="from-clues-header"> <el-form :model="queryForm" ref="queryForm"> <el-row :gutter="20"> <el-col :span="6"> <el-form-item label="宗地代码" label-width="80px"> <el-input placeholder="请输入宗地代码" maxlength="19" v-model="queryForm.zddm" clearable class="width100"> </el-input> </el-form-item> </el-col> <el-col :span="6"> <el-form-item label="不动产单元号"> <el-input placeholder="请输入不动产单元号" maxlength="28" v-model="queryForm.bdcdyh" clearable class="width100"> </el-input> </el-form-item> </el-col> <el-col :span="6"> <el-form-item label="坐落"> <el-input placeholder="请输入坐落" v-model.trim="queryForm.zl" clearable class="width100"> </el-input> </el-form-item> </el-col> <el-col :span="6"> <el-form-item label="权利人"> <el-input placeholder="请输入权利人" v-model.trim="queryForm.qlr" clearable class="width100"> </el-input> </el-form-item> </el-col> </el-row> <el-row :gutter="20"> <el-col :span="6"> <el-form-item label="证件号" label-width="80px"> <el-input placeholder="请输入证件号" v-model="queryForm.zjh" clearable class="width100"> </el-input> </el-form-item> </el-col> <el-col :span="18" class="btnColRight"> <el-form-item> <el-button type="primary" @click="handleSearch">查询</el-button> <el-button type="primary" @click="resetForm(true)">重置</el-button> </el-form-item> </el-col> </el-row> </el-form> </div> <!-- 表格 --> <div class="from-clues-content loadingtext"> <lb-table ref="table" @row-click="handleRowClick" :page-size="pageData.pageSize" :calcHeight="300" :current-page.sync="pageData.currentPage" :total="tableData.total" @size-change="handleSizeChange" @p-current-change="handleCurrentChange" @selection-change="handleSelectionChange" :column="tableData.columns" :data="tableData.data"> </lb-table> </div> <div class="submit_button"> <el-button @click="$popupCacel">取消</el-button> <el-button type="primary" plain @click="submitForm" :loading="loading" v-if="sqywInfo.isworkFrame">添加单元</el-button> <el-button type="primary" plain @click="submitForm" :loading="loading" v-else>发起申请</el-button> </div> </div> </template> <script> //首次登记 import jump from "./mixin/jump"; import store from '@/store/index.js' import ywsqTable from "@/utils/mixin/ywsqTable"; import { ywPopupDialog } from "@/utils/popup.js"; import { selectZdjbxx } from "@/api/ywsq.js"; import { startBusinessFlow, againAddSldy } from "@/api/workFlow.js"; import { datas, sendThis } from "../javascript/selectQjzdjbxx.js"; import { defaultParameters } from "../javascript/publicDefaultPar.js"; export default { mixins: [jump, ywsqTable], props: { isJump: { type: Boolean, default: false }, sqywInfo: { type: Object, default: () => { } }, }, data () { return { radioVal: '', loading: false, queryForm: defaultParameters.defaultParameters(), tableData: { total: 0, columns: datas.columns(), data: [], }, bdcdysz: [] } }, mounted () { sendThis(this); if (this.sqywInfo.sqywdylx == "1") { this.tableData.columns = [{ label: '选择', width: '50px', render: (h, scope) => { return ( <div class="orgColumn"> <el-radio onChange={() => { this.handleChange(scope.row) }} v-model={this.radioVal} label={scope.row.bdcdyid}>   </el-radio> </div> ) } }].concat(datas.columns()) } else { this.tableData.columns = [{ type: 'selection', label: '全选', width: '50' }].concat(datas.columns()) } }, methods: { /** * @description: queryClick * @author: renchao */ queryClick () { this.$startLoading(); this.queryForm.sqywbm = this.sqywInfo.djywbm; selectZdjbxx({ ...this.queryForm, ...this.pageData }).then((res) => { this.$endLoading(); if (res.code === 200) { let { total, records } = res.result; this.tableData.total = total; this.tableData.data = records; } }); }, /** * @description: submitForm * @author: renchao */ submitForm () { let that = this if (this.bdcdysz.length == 0) { this.$alert("请至少选择一条数据"); return; } this.loading = true if (this.sqywInfo.isworkFrame) { store.dispatch('user/reMenuRefresh', false) againAddSldy({ bsmSqyw: that.sqywInfo.bsmSqyw, bdcdysz: that.bdcdysz, bsmSlsq: that.sqywInfo.bsmSlsq, }).then(res => { that.loading = false if (res.code == 200) { if (this.sqywInfo.sqywdylx != "1") { that.bdcdysz = [] that.$refs.table.clearSelection() } store.dispatch('user/reMenuRefresh', true) that.queryClick() that.$message({ showClose: true, message: '添加成功', type: 'success' }) } else { that.$message.error(res.message); } }).catch(() => { that.loading = false }) } else { startBusinessFlow({ bsmSqyw: that.sqywInfo.bsmSqyw, bdcdysz: that.bdcdysz, }).then((res) => { that.loading = false if (res.code == 200) { that.$message({ showClose: true, message: "发起申请成功", type: "success", }); if (!that.isJump) { that.jump(res.result, that.djywbm); } else { store.dispatch('user/refreshPage', true); } that.$popupCacel() } else { if (res.result && res.result.length > 0) { ywPopupDialog("申请错误明细", "components/ywdialog", { result: res.result }, '36%', true) } else { ywPopupDialog("申请错误明细", "components/ywdialog", { message: res.message }, '36%', true) } } }).catch(() => { this.loading = false }) } }, /** * @description: handleSelectionChange * @param {*} val * @author: renchao */ handleSelectionChange (val) { if (this.sqywInfo.sqywdylx == "1") { if (val.length > 1) { this.bdcdysz = [...val[val.length - 1]]; } else { this.bdcdysz = val; } } else { this.bdcdysz = val; } }, handleChange () { let arr = this.tableData.data.filter(item => item.bdcdyid == this.radioVal) arr[0].bsm = arr[0].zdbsm this.bdcdysz = arr }, /** * @description: handleRowClick * @param {*} row * @author: renchao */ handleRowClick (row) { // 如果状态是1,那就是单选 let refs = 'table'; if (this.sqywInfo.sqywdylx == "1") { row.bsm = row.zdbsm this.bdcdysz = [row] this.radioVal = row.bdcdyid } else { this.$refs[refs].toggleRowSelection(row) } }, /** * @description: openBook * @param {*} row * @author: renchao */ openBook (row) { var param = { bdcdyid: row.bdcdyid, qllx: row.qllx, bdcdyh: row.bdcdyh, bsmQlxx: row.bsmQlxx, }; this.$popup("登记簿详情", "registerBook/djbFrame", { formData: param }) } } } </script> <style scoped lang="scss"> @import "~@/styles/mixin.scss"; @import "~@/styles/public.scss"; </style>