Blame view

src/views/ywbl/ywsq/guidePage.vue 12.2 KB
1 2 3
<template>
  <div class="ywsq" id="ywsq">
    <div class="ywsq-left">
任超 committed
4
      <p v-for="(item, index) in sqywlxList" @click="sqywlxClick(item)" :key="index"
5
        :class="{ 'active': selectType == item.type }">{{ item.name }}</p>
6 7 8
      <el-collapse disabled v-model="activeNames">
        <el-collapse-item title="业务申请" name="1">
          <ul class="item-list">
任超 committed
9 10
            <li v-for="(item, index) in sqywQllxList" :key="index" @click="qllxClick(index)"
              :class="item.check ? 'active' : ''">
11
              {{ item.nodename }}</li>
12 13 14
          </ul>
        </el-collapse-item>
      </el-collapse>
任超 committed
15
    </div>
16
    <div class="ywsq-right">
17
      <!-- 常办业务 -->
任超 committed
18
      <div v-show="selectType == 'collect'" class="right-situation el-card">
19 20
        <div class="right-title">常办业务列表</div>
        <ul>
任超 committed
21
          <li :class="item.selected ? 'cactive' : ''" v-for="(item, index) in collectList" :key="index"
22
            @dblclick="dblclick(collectList, index, item)" @click="selectSqywClick(collectList, index)">
任超 committed
23 24
            <p v-if="item.nodetype == 'djqx'">{{ item.djywmc }}<br>{{ item.nodename }}</p>
            <dt v-else>{{ item.djywmc }}</dt>
25
            <p class="active" @click.stop="handleCollection(item)">
田浩浩 committed
26
              <i class="el-icon-star-off"></i>
27 28 29 30 31
            </p>
          </li>
        </ul>
      </div>
      <!-- 一并申请 -->
tianhaohao@pashanhoo.com committed
32
      <div v-if="selectType == 'together'" class="right-situation el-card">
33 34
        <div class="right-title">一并申请</div>
        <ul>
35
          <li :class="item.selected ? 'cactive' : ''" v-for="(item, index) in djqxList" :tag="item.selected" :key="index"
tianhaohao@pashanhoo.com committed
36 37 38 39 40 41 42 43
            @dblclick="dblclick(djqxList, index, item)" @click="selectSqywClick(djqxList, index)">
            <dt>{{ item.nodename }}</dt>
            <p :class="item.userCollect == 1 ? 'active' : ''" @click.stop="handleCollection(item)">
              <i class="el-icon-star-off"></i>
            </p>
          </li>
        </ul>
      </div>
44
      <!-- 登记簿补录 -->
xiaomiao committed
45 46 47
      <div v-if="selectType == 'amend'" class="right-situation el-card">
        <div class="right-title">登记簿补录</div>
        <ul>
48 49 50 51 52 53 54 55
          <li :class="item.selected ? 'cactive' : ''" v-for="(item, index) in djqxList" :key="index"
            @dblclick="dblclick(djqxList, index, item)" @click="selectSqywClick(djqxList, index)">
            <dt>{{ item.nodename }}</dt>
            <p :class="item.userCollect == 1 ? 'active' : ''" @click.stop="handleCollection(item)">
              <i class="el-icon-star-off"></i>
            </p>
          </li>
        </ul>
xiaomiao committed
56
      </div>
57
      <!-- 业务申请 -->
任超 committed
58
      <template v-if="selectType == 'apply'">
田浩浩 committed
59
        <div class="right-type el-card box-card is-always-shadow">
任超 committed
60 61
          <div class="right-title">登记类型</div>
          <ul class="type-content">
62
            <li :class="item.selected ? 'cactive' : ''" @dblclick="item.sffqlc == 1 && dblclick(djlxList, index, item)"
任超 committed
63 64 65 66 67 68 69 70 71 72
              @click="selectSqywClick(djlxList, index)" v-for="(item, index) in djlxList" :key="index">
              <p>
                {{ item.nodename }}
              </p>
              <p v-if="item.sffqlc == 1" :class="item.userCollect == 1 ? 'active' : ''"
                @click.stop="handleCollection(item)">
                <i class="el-icon-star-off"></i>
              </p>
            </li>
          </ul>
田浩浩 committed
73
        </div>
任超 committed
74 75 76 77
        <div class="right-situation el-card box-card is-always-shadow">
          <div class="right-title">登记情形</div>
          <ul>
            <li :class="item.selected ? 'cactive' : ''" v-for="(item, index) in djqxList" :key="index"
78
              @dblclick="dblclick(djqxList, index, item)" @click="selectSqywClick(djqxList, index)">
任超 committed
79 80 81 82 83 84 85 86
              <dt>{{ item.nodename }}</dt>
              <p :class="item.userCollect == 1 ? 'active' : ''" @click.stop="handleCollection(item)">
                <i class="el-icon-star-off"></i>
              </p>
            </li>
          </ul>
        </div>
      </template>
87
      <div class="submit-button">
88
        <el-button type="primary" :disabled="btnDisabled" @click="dialogClick">选择不动产</el-button>
89 90 91 92 93
      </div>
    </div>
  </div>
</template>
<script>
94
  import { getCollectBiz, getleftMenu, getNextNode, getRepairBiz, getTogetherBiz, addCollectBiz, deleteCollectBiz } from "@/api/businessApply.js"
95
  export default {
96
    name: 'ywsq',
97 98 99 100 101 102 103 104 105 106 107 108 109 110
    data () {
      return {
        //申请业务类型集合
        sqywlxList: [
          { name: "常办业务", type: "collect" },
          { name: "一并申请", type: "together" },
          { name: "登记簿补录", type: "amend" }
        ],
        //类型默认选择常办业务
        selectType: "collect",
        //堆叠框选中第一个
        activeNames: ['1'],
        //收藏业务集合
        collectList: [],
xiaomiao committed
111
        //申请权利类型集合
112
        sqywQllxList: [],
xiaomiao committed
113
        //登记类型集合
114
        djlxList: [],
xiaomiao committed
115
        //申请权利类型集合
116
        djqxList: [],
xiaomiao committed
117
        //选中业务的参数
118 119 120
        selectParam: {},
        //选择按钮显示或隐藏
        btnDisabled: true,
121
      }
122
    },
123 124 125 126
    created () {
      this.getDataList();
    },
    methods: {
yuanbo committed
127 128 129 130
      /**
       * @description: getDataList
       * @author: renchao
       */
131 132 133 134 135
      getDataList () {
        //获取收藏信息集合
        getCollectBiz().then(res => {
          this.collectList = res.result;
          this.collectList.forEach(item => {
任超 committed
136 137
            this.$set(item, 'selected', false);
          });
138 139 140 141 142 143
        });
        //获取申请权利信息集合
        getleftMenu().then(res => {
          this.sqywQllxList = res.result;
        })
      },
yuanbo committed
144 145 146 147 148
      /**
       * @description: 申请业务类型菜单事件
       * @param {*} item
       * @author: renchao
       */
149 150 151 152 153
      sqywlxClick (item) {
        this.btnDisabled = true;
        this.selectType = item.type;
        this.sqywQllxList.forEach(item => {
          if (item.check) item.check = false;
xiaomiao committed
154
        });
155
        if (this.selectType == 'amend') {
xiaomiao committed
156 157
          this.getRepairBiz();
        }
158
        if (this.selectType == 'together') {
tianhaohao@pashanhoo.com committed
159
          getTogetherBiz().then(res => {
160 161 162 163
            if (res) {
              this.djqxList = res.result;
            }
          })
tianhaohao@pashanhoo.com committed
164
        }
165 166
      },
      //权利类型菜单事件
yuanbo committed
167 168 169 170 171
      /**
       * @description: 权利类型菜单事件
       * @param {*} index
       * @author: renchao
       */
172 173 174 175 176 177 178 179 180 181 182
      qllxClick (index) {
        this.btnDisabled = true;
        this.sqywQllxList.forEach(item => {
          if (item.check) item.check = false;
        })
        this.sqywQllxList[index].check = true;
        this.selectType = "apply";
        this.djlxList = [];
        this.djqxList = [];
        this.getNextNode(this.sqywQllxList[index].bsmSqyw);
      },
yuanbo committed
183 184 185 186 187 188
      /**
       * @description: 选择申请业务事件
       * @param {*} data
       * @param {*} index
       * @author: renchao
       */
189 190
      selectSqywClick (data, index) {
        data.forEach(item => {
191
          this.$set(item, "selected", false)
192 193 194 195 196
        });
        data[index].selected = true;
        if (data[index].sffqlc == "1") {
          this.selectParam = data[index];
          this.btnDisabled = false;
197
          // this.djqxList = []
198
        } else {
199
          this.getNextNode(data[index].bsmSqyw);
200
          this.btnDisabled = true;
任超 committed
201
        }
202
      },
yuanbo committed
203 204 205 206 207
      /**
       * @description: 获取下个节点类型数据
       * @param {*} bsmSqyw
       * @author: renchao
       */
208 209
      getNextNode (bsmSqyw) {
        getNextNode(bsmSqyw).then(res => {
yangwei committed
210 211 212 213 214 215 216 217 218 219 220 221 222
          if (res.result) {
            if (res.result.djqx) {
              this.djqxList = res.result.djqx;
              this.djqxList.forEach(item => {
                this.$set(item, 'selected', false);
              });
            }
            if (res.result.djlx) {
              this.djlxList = res.result.djlx;
              this.djlxList.forEach(item => {
                this.$set(item, 'selected', false);
              });
            }
223 224
          }
        })
225
      },
xiaomiao committed
226

yuanbo committed
227 228 229 230
      /**
       * @description: 获取下个节点类型数据
       * @author: renchao
       */
231 232
      getRepairBiz () {
        getRepairBiz().then(res => {
xiaomiao committed
233 234
          if (res) {
            this.djqxList = res.result;
235 236
          }
        })
xiaomiao committed
237
      },
yuanbo committed
238 239 240 241 242 243 244
      /**
       * @description: 双击事件
       * @param {*} data
       * @param {*} index
       * @param {*} item
       * @author: renchao
       */
245 246 247 248 249
      dblclick (data, index, item) {
        localStorage.setItem('ywbl', JSON.stringify(item));
        this.selectSqywClick(data, index);
        this.dialogClick();
      },
yuanbo committed
250 251 252 253
      /**
       * @description: 打开弹框内容
       * @author: renchao
       */
254 255 256
      dialogClick () {
        this.openDialog();
      },
yuanbo committed
257 258 259 260 261
      /**
       * @description: 收藏操作
       * @param {*} item
       * @author: renchao
       */
262 263 264 265
      handleCollection (item) {
        let that = this
        if (item.userCollect == '2') {
          addCollectBiz(item.bsmSqyw).then(res => {
266
            if (res.code == 200) {
267
              item.userCollect = '1'
268
              that.$message({
269
                message: '收藏成功!',
270 271 272 273 274
                type: 'success'
              })
              that.getDataList()
            }
          })
275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293
        } else {
          this.$confirm('此操作将取消收藏, 是否继续?', '提示', {
            confirmButtonText: '确定',
            cancelButtonText: '取消',
            type: 'warning'
          }).then(() => {
            deleteCollectBiz(item.bsmSqyw).then(res => {
              if (res.code == 200) {
                item.userCollect = '2'
                that.$message({
                  message: '取消收藏成功!',
                  type: 'success'
                })
                that.getDataList()
              }
            })
          })
        }
      },
yuanbo committed
294 295 296 297 298
      /**
       * @description: handleSelect
       * @param {*} item
       * @author: renchao
       */
299 300 301 302 303 304
      handleSelect (item) {
        this.busList.forEach(item => {
          item.cselect = false
        })
        item.cselect = !item.cselect
      },
yuanbo committed
305 306 307 308 309
      /**
       * @description: 登记类型
       * @param {*} item
       * @author: renchao
       */
310 311 312
      handleDjlxSelect (item) {
        this.djlxList.forEach(item => {
          item.cselect = false
313 314
        })
        this.btnDisabled = true
315 316 317 318 319 320 321 322 323 324 325
        item.cselect = true;
        this.djqxObj = item;
        if (item.sffqlc == '1') {
          this.btnDisabled = false
          this.bsmSqyw = item.bsmSqyw
          this.djywbm = item.djywbm;
        } else {
          this.getNextNode(item.bsmSqyw, false)
        }
        this.djqxList = []
      },
yuanbo committed
326 327 328 329 330
      /**
       * @description: handleDjqxItem
       * @param {*} item
       * @author: renchao
       */
331 332 333 334 335 336 337 338 339 340 341 342
      handleDjqxItem (item) {
        this.djlxList.forEach(item => {
          item.cselect = false
        })
        if (item.sffqlc == 1) {
          this.djywbm = item.djywbm
          this.bsmSqyw = item.bsmSqyw
          item.cselect = true
          this.openDialog()
          this.btnDisabled = true
        }
      },
yuanbo committed
343 344 345 346 347 348
      /**
       * @description: handleSelectItem
       * @param {*} item
       * @param {*} list
       * @author: renchao
       */
349 350 351 352
      handleSelectItem (item, list) {
        this.handleSelectYw(item, list)
        this.openDialog()
      },
yuanbo committed
353 354 355 356
      /**
       * @description: 选择不动产信息
       * @author: renchao
       */
357 358 359
      bthSelectClick () {
        this.openDialog()
      },
yuanbo committed
360 361 362 363
      /**
       * @description: openDialog
       * @author: renchao
       */
364
      openDialog () {
365
        let title = this.selectParam.djywmc;
366 367
        if (this.selectParam.nodetype == "djqx") {
          title += "(" + this.selectParam.nodename + ")";
368
        }
369
        this.$popupDialog(title, "ywbl/ywsq/selectBdc", { 'sqywInfo': this.selectParam }, "90%", true)
370
      },
yuanbo committed
371 372 373 374 375
      /**
       * @description: loadView
       * @param {*} view
       * @author: renchao
       */
376 377
      loadView (view) {
        return r => require.ensure([], () => r(require(`./components/${view}/${view}.vue`)))
378 379 380 381 382
      }
    }
  }
</script>
<style scoped lang='scss'>
383 384 385 386 387
  @import "~@/styles/mixin.scss";
  @import "./ywsq.scss";
  /deep/.el-collapse-item__content {
    padding-bottom: 0;
  }
388

389 390 391
  /deep/.el-collapse-item__wrap {
    border-bottom: none;
  }
xiaomiao committed
392
</style>