<!-- * @Description: * @Autor: renchao * @LastEditTime: 2024-02-02 16:37:56 --> <template> <!-- 主体权利信息查询 --> <div class="from-clues"> <!-- 表单部分 --> <div class="from-clues-header"> <el-form :model="queryForm" ref="queryForm"> <el-row> <el-col :span="6"> <el-form-item label="不动产权证号"> <el-input placeholder="请输入不动产权证号" v-model="queryForm.bdcqzh" clearable class="width200px"> </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="width200px"> </el-input> </el-form-item> </el-col> <el-col :span="8"> <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="4" class="btnColRight"> <el-form-item> <!-- <el-button type="primary" @click="resetForm(true)">重置</el-button> --> <el-button type="primary" @click="handleSearch">查询</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" @select="select" @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 { datas, sendThis } from "../javascript/selectFwsyq.js"; import { defaultParameters } from "../javascript/publicDefaultPar.js"; import { selectFwsyq } from "@/api/ywsq.js"; import { startTogetherFlow, againAddSldy } from "@/api/workFlow.js"; export default { mixins: [ywsqTable, jump], props: { isJump: { type: Boolean, default: false }, sqywInfo: { type: Object, default: () => { } }, }, data () { return { loading: false, queryForm: defaultParameters.defaultParameters(), tableData: { total: 0, columns: datas.columns(), data: [], }, bdcdysz: [], }; }, mounted () { sendThis(this); }, methods: { /** * @description: queryClick * @author: renchao */ queryClick () { this.$startLoading(); this.queryForm.sqywbm = this.sqywInfo.djywbm; selectFwsyq({ ...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.$message.error("请至少选择一条数据"); 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 { startTogetherFlow({ 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.sqywInfo.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; } }, /** * @description: select * @param {*} selection * @param {*} row * @author: renchao */ select (selection, row) { if (this.sqywInfo.sqywdylx == "1") { // 清除 所有勾选项 this.$refs.table.clearSelection() // 当表格数据都没有被勾选的时候 就返回 // 主要用于将当前勾选的表格状态清除 if (selection.length == 0) return this.$refs.table.toggleRowSelection(row, true); } }, /** * @description: handleRowClick * @param {*} row * @author: renchao */ handleRowClick (row) { // 如果状态是1,那就是单选 if (this.sqywInfo.sqywdylx == "1") { const bdcdysz = this.bdcdysz this.$refs.table.clearSelection() if (bdcdysz.length == 1) { bdcdysz.forEach(item => { // 判断 如果当前的一行被勾选, 再次点击的时候就会取消选中 if (item == row) { this.$refs.table.toggleRowSelection(row, false); } // 不然就让当前的一行勾选 else { this.$refs.table.toggleRowSelection(row, true); } }) } else { this.$refs.table.toggleRowSelection(row, true); } } else { this.$refs.table.toggleRowSelection(row); } }, }, }; </script> <style scoped lang="scss"> @import "~@/styles/mixin.scss"; @import "~@/styles/public.scss"; </style>