Blame view

src/views/ywbl/ywsq/components/tdjyq200.vue 8.55 KB
1 2 3
<!--
 * @Description:
 * @Autor: renchao
4
 * @LastEditTime: 2024-02-02 16:38:43
5 6 7 8 9 10 11
-->
<template>
  <div class="from-clues">
    <!-- 表单部分 -->
    <div class="from-clues-header">
      <el-form :model="queryForm" ref="queryForm" label-width="100px">
        <el-row>
12
          <el-col :span="8">
13 14 15 16 17
            <el-form-item label="不动产单元号">
              <el-input placeholder="请输入不动产单元号" maxlength="28" v-model="queryForm.bdcdyh" clearable class="width100">
              </el-input>
            </el-form-item>
          </el-col>
18 19 20 21 22 23 24
          <el-col :span="8">
            <el-form-item label="不动产权证号">
              <el-input placeholder="请输入不动产权证号全部数字" v-model="queryForm.bdcqzh" clearable class="width100">
              </el-input>
            </el-form-item>
          </el-col>
          <el-col :span="8">
25
            <el-form-item label="坐落">
26
              <el-input placeholder="支持模糊查询" v-model.trim="queryForm.zl" clearable class="width100">
27 28 29
              </el-input>
            </el-form-item>
          </el-col>
30
          <el-col :span="8">
31 32 33 34 35
            <el-form-item label="权利人">
              <el-input placeholder="请输入权利人" v-model.trim="queryForm.qlr" clearable class="width100">
              </el-input>
            </el-form-item>
          </el-col>
36
          <el-col :span="8">
37 38 39 40 41
            <el-form-item label="证件号">
              <el-input placeholder="请输入证件号" v-model.trim="queryForm.zjh" clearable class="width100">
              </el-input>
            </el-form-item>
          </el-col>
42
          <el-col :span="8" class="btnColRight">
43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
            <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"
        @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>
61 62
      <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>
63 64 65 66 67 68 69 70 71 72 73 74
    </div>
  </div>
</template>
<script>
  //首次登记
  import store from '@/store/index.js'
  import ywsqTable from "@/utils/mixin/ywsqTable";
  import jump from "../components/mixin/jump";
  import { ywPopupDialog } from "@/utils/popup.js";
  import { datas, sendThis } from "../javascript/selectJsydsyq.js";
  import { defaultParameters } from "../javascript/publicDefaultPar.js";
  import { selectTdcbjyq } from "@/api/ywsq.js";
75
  import { startBusinessFlow, againAddSldy } from "@/api/workFlow.js";
76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142
  export default {
    mixins: [ywsqTable, jump],
    props: {
      isJump: { type: Boolean, default: false },
      sqywInfo: { type: Object, default: () => { } },
    },
    data () {
      return {
        radioVal: '',
        loading: false,
        queryForm: defaultParameters.defaultParameters(),
        qllxs: [],
        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}>
                  &ensp;
                </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;
        selectTdcbjyq({ ...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 () {
143
        let that = this
144 145 146 147 148
        if (this.bdcdysz.length == 0) {
          this.$message.error("请至少选择一条数据");
          return;
        }
        this.loading = true
149 150 151 152 153 154 155 156 157 158 159 160 161 162
        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)
163
              that.queryClick()
164 165 166 167 168
              that.$message({
                showClose: true,
                message: '添加成功',
                type: 'success'
              })
169 170
            } else {
              that.$message.error(res.message);
171
            }
172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192
          }).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)
              } else {
                store.dispatch('user/refreshPage', true);
              }
              that.$popupCacel()
193
            } else {
194 195 196 197 198
              if (res.result && res.result.length > 0) {
                ywPopupDialog("申请错误明细", "components/ywdialog", { result: res.result }, '36%', true)
              } else {
                ywPopupDialog("申请错误明细", "components/ywdialog", { message: res.message }, '36%', true)
              }
199
            }
200 201 202 203
          }).catch(() => {
            this.loading = false
          })
        }
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 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262
      },
      /**
       * @description: handleSelectionChange
       * @param {*} val
       * @author: renchao
       */
      handleSelectionChange (val) {
        val.forEach((item, index) => {
          item.bsm = item.zdbsm;
        });
        if (this.sqywInfo.sqywdylx == "1") {
          if (val.length > 1) {
            this.bdcdysz = [...val[val.length - 1]];
          } else {
            this.bdcdysz = val;
          }
        } else {
          this.bdcdysz = val;
        }
      },
      /**
       * @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
        })
      },
      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)
        }
      }
    }
  }
</script>
<style scoped lang="scss">
  @import "~@/styles/mixin.scss";
  @import "~@/styles/public.scss";
</style>