Blame view

src/views/ywbl/ywsq/components/selectTdsyq.vue 7.35 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 120 121 122 123 124
        startBusinessFlow({
          bsmSqyw: this.sqywInfo.parentid,
          bdcdysz: this.bdcdysz,
          djqxbm: this.sqywInfo.nodetype == "djqx" ? this.sqywInfo.nodecode : "",
          djqxmc: this.sqywInfo.nodetype == "djqx" ? this.sqywInfo.nodename : "",
        }).then((res) => {
125
          this.loading = false
126 127 128 129 130 131 132 133 134 135 136 137 138
          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 {
139
            ywPopupDialog("申请错误明细", "components/ywdialog", { message: res.message, result: res.result }, '36%')
140
          }
141 142
        }).catch(() => {
          this.loading = false
143 144
        })
      },
yuanbo committed
145 146 147 148 149
      /**
       * @description: handleSelectionChange
       * @param {*} val
       * @author: renchao
       */
150
      handleSelectionChange (val) {
151 152 153 154 155 156 157 158 159
        if (this.sqywInfo.sqywdylx == "1") {
          if (val.length > 1) {
            this.bdcdysz = [...val[val.length - 1]];
          } else {
            this.bdcdysz = val;
          }
        } else {
          this.bdcdysz = val;
        }
160
      },
yuanbo committed
161 162 163
      /**
       * @description: openBook
       * @param {*} row
164
       * @author: miaofang
yuanbo committed
165
       */
166
      openBook (row) {
167
        console.log("的急急急急急急");
168 169 170 171 172 173 174 175 176 177
        var param = {
          bdcdyid: row.bdcdyid,
          qllx: row.qllx,
          bdcdyh: row.bdcdyh,
          bsmQlxx: row.bsmQlxx,
        };
        this.$popup("登记簿详情", "registerBook/djbFrame", {
          formData: param
        })
      },
yuanbo committed
178 179 180 181 182 183
      /**
       * @description: select
       * @param {*} selection
       * @param {*} row
       * @author: renchao
       */
184 185 186 187 188 189 190 191 192 193
      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
194 195 196 197 198
      /**
       * @description: handleRowClick
       * @param {*} row
       * @author: renchao
       */
199 200 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
      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>