Blame view

src/views/ywbl/ywsq/components/selectTdsyq.vue 7.37 KB
1
<!--
2
 * @Description:
3
 * @Autor: renchao
4
 * @LastEditTime: 2023-08-02 09:59:25
5
-->
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
<template>
  <div class="from-clues">
    <!-- 表单部分 -->
    <div class="from-clues-header">
      <el-form :model="queryForm" ref="queryForm" label-width="100px">
        <el-row>
          <el-col :span="8">
            <el-form-item label="不动产单元号">
              <el-input placeholder="请输入不动产单元号" v-model="queryForm.bdcdyh" clearable maxlength="28" class="width100">
              </el-input>
            </el-form-item>
          </el-col>
          <el-col :span="10">
            <el-form-item label="不动产权证号">
              <el-input placeholder="请输入不动产权证号" v-model="queryForm.bdcqzh" clearable class="width100">
              </el-input>
            </el-form-item>
          </el-col>
        </el-row>
        <el-row>
          <el-col :span="8">
            <el-form-item label="权利人">
              <el-input placeholder="请输入权利人" v-model="queryForm.qlr" clearable class="width100">
              </el-input>
            </el-form-item>
          </el-col>
          <el-col :span="10">
            <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" class="btnColRight">
            <el-form-item>
              <el-button type="primary" @click="handleSearch">查询</el-button>
41
              <el-button type="primary" @click="resetForm(true)">重置</el-button>
42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
            </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>
57
      <el-button type="primary" plain @click="submitForm" :loading="loading">发起申请</el-button>
58 59 60 61 62
    </div>
  </div>
</template>
<script>
  //首次登记
63
  import jump from "./mixin/jump";
64
  import store from '@/store/index.js'
65 66
  import table from "@/utils/mixin/table";
  import { ywPopupDialog } from "@/utils/popup.js";
67 68
  import { datas, sendThis } from "../javascript/selectTdsyq.js";
  import { defaultParameters } from "../javascript/publicDefaultPar.js";
69
  import { selectTdsyqQlxx } from "@/api/ywsq.js";
70
  import { startBusinessFlow } from "@/api/workFlow.js";
71 72 73 74 75 76 77 78
  export default {
    mixins: [table, jump],
    props: {
      isJump: { type: Boolean, default: false },
      sqywInfo: { type: Object, default: () => { } },
    },
    data () {
      return {
79
        loading: false,
80 81 82 83 84 85 86 87 88 89 90 91 92
        queryForm: defaultParameters.defaultParameters(),
        tableData: {
          total: 0,
          columns: datas.columns(),
          data: []
        },
        bdcdysz: []
      }
    },
    mounted () {
      sendThis(this);
    },
    methods: {
yuanbo committed
93 94 95 96
      /**
       * @description: queryClick
       * @author: renchao
       */
97 98 99 100 101 102 103 104 105 106 107 108
      queryClick () {
        this.$startLoading();
        this.queryForm.sqywbm = this.sqywInfo.djywbm;
        selectTdsyqQlxx({ ...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;
          }
        });
      },
yuanbo committed
109 110 111 112
      /**
       * @description: submitForm
       * @author: renchao
       */
113 114 115 116 117
      submitForm () {
        if (this.bdcdysz.length == 0) {
          this.$message.error("请至少选择一条数据");
          return;
        }
118
        this.loading = true
119
        startBusinessFlow({
120
          bsmSqyw: this.sqywInfo.bsmSqyw,
121 122
          bdcdysz: this.bdcdysz,
        }).then((res) => {
123
          this.loading = false
124 125 126 127 128 129 130 131 132 133 134 135 136
          if (res.code == 200) {
            this.$message({
              showClose: true,
              message: "发起申请成功",
              type: "success",
            });
            if (!this.isJump) {
              this.jump(res.result, this.sqywInfo.djywbm);
            } else {
              store.dispatch('user/refreshPage', true);
            }
            this.$popupCacel()
          } else {
137 138 139 140 141
            if (res.result && res.result.length > 0) {
              ywPopupDialog("申请错误明细", "components/ywdialog", { result: res.result }, '36%', true)
            } else {
              ywPopupDialog("申请错误明细", "components/ywdialog", { message: res.message }, '36%', true)
            }
142
          }
143 144
        }).catch(() => {
          this.loading = false
145 146
        })
      },
yuanbo committed
147 148 149 150 151
      /**
       * @description: handleSelectionChange
       * @param {*} val
       * @author: renchao
       */
152
      handleSelectionChange (val) {
153 154 155 156 157 158 159 160 161
        if (this.sqywInfo.sqywdylx == "1") {
          if (val.length > 1) {
            this.bdcdysz = [...val[val.length - 1]];
          } else {
            this.bdcdysz = val;
          }
        } else {
          this.bdcdysz = val;
        }
162
      },
yuanbo committed
163 164 165
      /**
       * @description: openBook
       * @param {*} row
166
       * @author: miaofang
yuanbo committed
167
       */
168
      openBook (row) {
169
        console.log("的急急急急急急");
170 171 172 173 174 175 176 177 178 179
        var param = {
          bdcdyid: row.bdcdyid,
          qllx: row.qllx,
          bdcdyh: row.bdcdyh,
          bsmQlxx: row.bsmQlxx,
        };
        this.$popup("登记簿详情", "registerBook/djbFrame", {
          formData: param
        })
      },
yuanbo committed
180 181 182 183 184 185
      /**
       * @description: select
       * @param {*} selection
       * @param {*} row
       * @author: renchao
       */
186 187 188 189 190 191 192 193 194 195
      select (selection, row) {
        if (this.sqywInfo.sqywdylx == "1") {
          // 清除 所有勾选项
          this.$refs.table.clearSelection()
          // 当表格数据都没有被勾选的时候 就返回
          // 主要用于将当前勾选的表格状态清除
          if (selection.length == 0) return
          this.$refs.table.toggleRowSelection(row, true);
        }
      },
yuanbo committed
196 197 198 199 200
      /**
       * @description: handleRowClick
       * @param {*} row
       * @author: renchao
       */
201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231
      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>