<template> <div class="ywsq"> <div class="ywsq-left"> <p v-for="(item, index) in leftList" @click="handleleftTitle(index)" :key="index" :class="{ 'active': n == index }">{{ item }}</p> <el-collapse disabled v-model="activeNames"> <el-collapse-item title="业务申请" name="1"> <ul class="item-list"> <li v-for="(obj, key) in list" :key="key" @click="handleList(list, obj)" :class="obj.check ? 'active' : ''"> {{ obj.nodename }}</li> </ul> </el-collapse-item> </el-collapse> </div> <!-- right --> <div class="ywsq-right"> <div class="right-type el-card box-card is-always-shadow" v-if="n == -1"> <div class="right-title">登记类型</div> <ul class="type-content"> <li :class="item.cselect ? 'cactive' : ''" @click="handleDjlxSelect(item)" v-for="(item, index) in djlxList" :key="index"> <p> {{ item.nodename }} </p> <p v-if="item.sffqlc == 1" :class="item.select ? 'active' : ''" @click.stop="handleCollection(item)"> <i class="el-icon-star-off" :class="item.select ? 'active' : ''"></i> </p> </li> </ul> </div> <div class="right-situation el-card box-card is-always-shadow"> <div v-if="n >= 0"> <div class="right-title">业务列表</div> <ul> <li v-for="(item, index) in ywList" :key="index" @click="handleSelectYw(item, ywList)" :class="item.cselect ? 'cactive' : ''"> <p> {{ item.nodename }} </p> <p v-if="item.sffqlc == 1" :class="item.select ? 'active' : ''" @click="handleCollection(item)"> <i class="el-icon-star-off" :class="item.select ? 'active' : ''"></i> </p> </li> </ul> </div> <div v-if="n == -1"> <div class="right-title">登记情形</div> <ul class="registration"> <li v-for="(item, index) in djqxList" @click="handleSelectYw(item, djqxList)" :class="item.cselect ? 'cactive' : ''" :key="index"> <p> {{ item.nodename }} </p> <p :class="item.select ? 'active' : ''" @click.stop="handleCollection(item)"> <i class="el-icon-star-off" :class="item.select ? 'active' : ''"></i> </p> </li> </ul> </div> </div> <div class="submit-button"> <el-button type="primary" :disabled="btnDisabled" @click="btnClick">选择不动产信息</el-button> </div> </div> <fqsqDialog v-model="isDialog" :bsmSqyw="bsmSqyw" :djywbm="djywbm" :djqxObj='djqxObj' /> </div> </template> <script> import { getCollectBiz, getleftMenu, getNextNode } from "@/api/ywbl" import fqsqDialog from "./components/fqsqDialog/fqsqDialog.vue" export default { data () { return { n: 0, activeNames: ['1'], leftList: [ '常办业务', '一并申请', '登记簿补录', ], list: [], djlxList: [], ywList: [], djqxList: [], bsmSqyw: '', isDialog: false, btnDisabled: true, djywbm: '', djqxObj: { djqxbm: "", djqxmc: "", }, } }, components: { fqsqDialog }, created () { this.getDataList() }, methods: { getDataList () { getCollectBiz().then(res => { let { result } = res this.ywList = result this.ywList.forEach(item => { this.$set(item, 'cselect', false) }) }) getleftMenu().then(res => { let { result } = res this.list = result }) }, handleleftTitle (index) { this.n = index this.list.forEach(item => { if (item.check) item.check = false }) }, // 业务-登记情形选择 handleSelectYw (item, list) { list.forEach(item => { item.cselect = false }) item.cselect = !item.cselect this.djqxObj = { 'djqxbm': item.nodecode, 'djqxmc': item.nodename, } if (item.sffqlc == '1') { this.btnDisabled = false this.bsmSqyw = item.parentid this.djywbm = item.djywbm } }, handleList (list, obj) { this.btnDisabled = true list.forEach(item => { if (item.check) item.check = false }) this.n = -1 this.$set(obj, 'check', true) this.getNextNode(obj.bsmSqyw) this.djqxList = [] this.djlxList = [] }, // 获取下个节点类型 getNextNode (bsmSqyw) { getNextNode(bsmSqyw).then(res => { if (res.result.djqx) this.djqxList = res.result.djqx if (res.result.djlx) this.djlxList = res.result.djlx this.djqxList.forEach(item => { this.$set(item, 'cselect', false) this.$set(item, 'select', false) }) this.djlxList.forEach(item => { this.$set(item, 'cselect', false) this.$set(item, 'select', false) }) }) }, handleCollection (item) { item.select = !item.select }, handleSelect (item) { this.busList.forEach(item => { item.cselect = false }) item.cselect = !item.cselect }, // 登记类型 handleDjlxSelect (item) { this.btnDisabled = true this.djlxList.forEach(item => { if (item.cselect) item.cselect = false }) this.$set(item, 'cselect', true) if (item.sffqlc == '1') { this.btnDisabled = false this.bsmSqyw = item.bsmSqyw this.djywbm = item.djywbm } else { this.getNextNode(item.bsmSqyw) } this.djqxList = [] }, // 选择不动产信息 btnClick () { this.isDialog = true }, loadView (view) { return r => require.ensure([], () => r(require(`./components/${view}/${view}.vue`))) }, } } </script> <style scoped lang='scss'> @import "~@/styles/mixin.scss"; @import './ywsq.scss'; </style>