<!-- * @Description: workFrame左侧菜单列表-普通 * @Autor: renchao * @LastEditTime: 2023-07-25 14:55:49 --> <template> <div class="leftmenu" :class="{ 'animation-map-drawer': isShowdrawer }"> <el-menu :default-active="activeIndex" @select="batchUnitClick" class="title-batch" v-if="showBatch"> <el-menu-item index="-1" key="-1" class="menus"> <div>{{ batchButtonName }}</div> </el-menu-item> </el-menu> <div v-if="this.isShowdrawer"> <div class="title"> 申请单元列表({{ unitData.length }}) <el-button type="text" class="batchDel" @click="handleBatchDel" v-if="unitData.length > 1">批量删除</el-button> </div> <el-menu :default-active="activeIndex" @select="unitClick"> <el-menu-item v-for="(item, index) in unitData" :index="index.toString()" :key="index"> <p class="dot" v-if="item.issave == '0'"></p> <div class="menu-con"> <p>{{ item.bdcdyh }}</p> <p class="title-detail">{{ item.zl }}</p> </div> <i class="el-icon-delete" v-if="unitData.length > 1" @click.stop="handleDel(item)"></i> </el-menu-item> </el-menu> </div> <div class="map-drawer-click map-drawer" v-if="!isShowdrawer" @click=" () => { this.isShowdrawer = !this.isShowdrawer; } "></div> <div class="map-drawer-expand map-drawer" v-else @click=" () => { this.isShowdrawer = !this.isShowdrawer; } "></div> </div> </template> <script> import { mapGetters } from 'vuex' import { leftMenu, deleteSlbdcdy, jdcxLeftMenu } from "@/api/workFlow.js" export default { data () { return { //受理申请标识码 bsmSlsq: this.$route.query.bsmSlsq, //当前流程所在环节 bestepid: this.$route.query.bestepid, // 默认选中 activeIndex: '0', // 折叠 isShowdrawer: true, // 批量操作 showBatch: false, //批量操作按钮名称 batchButtonName: '', //左侧菜单数据集合 unitData: [], // 设置表单传递数据 currentSelectProps: {} } }, mounted () { this.loadBdcdylist(); }, computed: { ...mapGetters(['isRefresh']) }, watch: { isRefresh: { handler (newVal, oldVal) { if (newVal) this.loadBdcdylist() }, immediate: true } }, methods: { //读取申请单元信息 /** * @description: 读取申请单元信息 * @author: renchao */ loadBdcdylist () { var formdata = new FormData(); formdata.append("bsmSlsq", this.bsmSlsq); if (this.$route.query.bestepid) { formdata.append("bestepid", this.bestepid); } if (this.$route.query.bsmBusiness) { formdata.append("bsmBusiness", this.$route.query.bsmBusiness); } if (this.$route.query.type == 'jdcx') { jdcxLeftMenu(formdata).then((res) => { if (res.code === 200 && res.result) { this.unitData = res.result; window.unitData = res.result; this.currentSelectProps = res.result[0]; this.$emit('getCurrentSelectProps', this.currentSelectProps); this.judgeBatchShow(); if (this.showBatch) { //满足批量查封/批量抵押按钮出现 即先展示批量表单 this.batchUnitClick(); } else { //默认选择单元列表第一个 this.unitClick(0); } } }) } else { leftMenu(formdata).then((res) => { if (res.code === 200 && res.result) { this.unitData = res.result; window.unitData = res.result; this.currentSelectProps = res.result[0]; this.$emit('getCurrentSelectProps', this.currentSelectProps); this.judgeBatchShow(); if (this.showBatch) { //满足批量查封/批量抵押按钮出现 即先展示批量表单 this.batchUnitClick(); } else { //默认选择单元列表第一个 this.unitClick(0); } } }) } }, //批量按钮判断 /** * @description: 批量按钮判断 * @author: renchao */ judgeBatchShow () { this.showBatch = false; if (this.unitData.length > 1) { let qllx = this.$route.query?.sqywbm?.substring(0, 3); switch (qllx) { case 'A04': this.showBatch = true; this.batchButtonName = '房屋批量操作'; break; case 'B39': this.showBatch = true; this.batchButtonName = '查封批量操作'; break; case 'A37': this.showBatch = true; this.batchButtonName = '抵押批量操作'; break; case 'B37': this.showBatch = true; this.batchButtonName = '在建工程抵押批量操作'; break; } } }, /** * @description: 删除左侧列表 * @param {*} item * @author: renchao */ handleDel (item) { this.$confirm("确定要删除吗, 是否继续?", "提示", { confirmButtonText: "确定", cancelButtonText: "取消", type: "warning", }) .then(() => { var formdata = new FormData(); formdata.append("bsmSldyList", item.bsmSldy.split(",")); // formdata.append("bsmSlsq", this.bsmSlsq); deleteSlbdcdy(formdata).then((res) => { if (res.code == 200) { this.$message.success("删除成功"); /** * @description: 更新列表 * @author: miaofang */ this.loadBdcdylist() // this.$parent.updateDialog(); } else { this.$message.error(res.message); } }); }) .catch(() => { this.$message({ type: "info", message: "已取消删除", }); }); }, //批量按钮点击事件 /** * @description: 批量按钮点击事件 * @author: renchao */ batchUnitClick () { this.currentSelectProps.batchOperation = true; this.activeIndex = "-1"; this.$parent.stepForm(0); }, //批量操作 /** * @description: 批量操作 * @author: renchao */ handleBatchDel () { this.$popupDialog("批量删除", "workflow/components/batchDel", { bsmSlsq: this.bsmSlsq, dataList: this.unitData, }, '50%', true) }, //申请单元点击事件 /** * @description: 申请单元点击事件 * @param {*} index * @author: renchao */ unitClick (index) { if (this.unitData.length == 0) return this.currentSelectProps = this.unitData[index]; this.currentSelectProps.batchOperation = false; this.activeIndex = index.toString(); //选中表单传递数据 this.$emit('getCurrentSelectProps', this.currentSelectProps); this.$parent.stepForm(index); this.$store.dispatch('user/refreshPage', false); } } } </script> <style scoped lang='scss'> @import "~@/styles/mixin.scss"; @import "../../workFrame.scss"; .leftmenu ul { height: calc(100vh - 120px); } </style>