Blame view

src/views/ywbl/ywsq/components/selectAllHInfo.vue 5.82 KB
1 2 3 4 5 6 7 8 9
<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="自然幢号">
10
              <el-input placeholder="请输入自然幢号" maxlength="24" v-model="queryForm.zrzh" clearable class="width200px">
11 12 13
              </el-input>
            </el-form-item>
          </el-col>
任超 committed
14
          <el-col :span="8">
15
            <el-form-item label="不动产单元号">
16
              <el-input placeholder="请输入不动产单元号" maxlength="28" v-model="queryForm.bdcdyh" clearable class="width200px">
17 18 19
              </el-input>
            </el-form-item>
          </el-col>
任超 committed
20
          <el-col :span="6">
21
            <el-form-item label="项目名称">
任超 committed
22
              <el-input placeholder="" v-model="queryForm.xmmc" clearable class="width200px">
23 24 25 26 27
              </el-input>
            </el-form-item>
          </el-col>
          <el-col :span="2" class="btnColRight">
            <el-form-item>
28
              <el-button type="primary" @click="resetForm(true)">重置</el-button>
yangwei committed
29
              <el-button type="primary" @click="handleSearch">查询</el-button>
30 31 32 33 34 35
            </el-form-item>
          </el-col>
        </el-row>
      </el-form>
    </div>
    <!-- 表格 -->
36
    <div class="from-clues-content loadingtext">
37
      <lb-table ref="table" @row-click="handleRowClick" :page-size="pageData.pageSize" :calcHeight="300"
38
        :current-page.sync="pageData.currentPage" :total="tableData.total" @size-change="handleSizeChange" @select="select"
任超 committed
39 40
        @p-current-change="handleCurrentChange" @selection-change="handleSelectionChange" :column="tableData.columns"
        :data="tableData.data">
41 42 43
      </lb-table>
    </div>
    <div class="submit_button">
44
      <el-button @click="$popupCacel">取消</el-button>
45 46 47 48 49
      <el-button type="primary" plain @click="submitForm">发起申请</el-button>
    </div>
  </div>
</template>
<script>
50 51 52 53 54 55 56 57 58 59 60
  import store from '@/store/index.js'
  import { datas, sendThis } from "../javascript/selectAllHInfo.js";
  import { defaultParameters } from "../javascript/publicDefaultPar.js";
  import table from "@/utils/mixin/table";
  import jump from "./mixin/jump";
  import { selectAllHInfo, startBusinessFlow } from "@/api/ywbl.js";
  export default {
    mixins: [table, jump],
    props: {
      isJump: { type: Boolean, default: false },
      sqywInfo: { type: Object, default: () => { } },
61

62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78
    },
    data () {
      return {
        queryForm: defaultParameters.defaultParameters(),
        tableData: {
          total: 0,
          columns: datas.columns(),
          data: [],
        },
        bdcdysz: [],
      };
    },
    mounted () {
      sendThis(this);
    },
    methods: {
      queryClick () {
79
         console.log("申请业务单一流向状态",this.sqywInfo.sqywdylx);
80
        this.$startLoading();
81
        selectAllHInfo({ "zrzbsm": this.sqywInfo.zrzbsm, ...this.queryForm, ...this.pageData }).then((res) => {
82 83 84 85 86 87 88
          this.$endLoading();
          if (res.code === 200) {
            let { total, records } = res.result;
            this.tableData.total = total;
            this.tableData.data = records;
          }
        });
89
      },
90 91 92 93
      submitForm () {
        if (this.bdcdysz.length == 0) {
          this.$message.error("请至少选择一条数据");
          return;
94
        }
95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111
        startBusinessFlow({
          bsmSqyw: this.sqywInfo.bsmSqyw,
          bdcdysz: this.bdcdysz,
          djqxbm: this.sqywInfo.nodetype == "djqx" ? this.sqywInfo.nodecode : "",
          djqxmc: this.sqywInfo.nodetype == "djqx" ? this.sqywInfo.nodename : "",
        }).then((res) => {
          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);
            }
112
          } else {
113
            this.$message.error(res.message);
114
          }
115 116
          this.$popupCacel()
        })
117 118 119 120 121 122 123 124
      },
      handleSelectionChange (val) {
        val.forEach((item, index) => {
          item.bsmSsql = item.bsmQlxx;
          item.ybdcqzsh = item.bdcqzh;
        });
        this.bdcdysz = val;
      },
125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158
         select(selection, row){
         if(this.sqywInfo.sqywdylx=="1"){
             // 清除 所有勾选项
        this.$refs.table.clearSelection()
        // 当表格数据都没有被勾选的时候 就返回
        // 主要用于将当前勾选的表格状态清除
        if(selection.length == 0) return
        this.$refs.table.toggleRowSelection(row, true);
         }
      },
      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);
         }
      },
159
    },
160
  };
161 162
</script>
<style scoped lang="scss">
163 164
  @import "~@/styles/mixin.scss";
  @import "~@/styles/public.scss";
165
</style>