7f417239 by renchao@pashanhoo.com

style:登记导航栏样式修改

1 parent 5743a556
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-05-08 15:19:43
-->
<template>
<section class="app-main">
<transition name="fade-transform" mode="out-in">
......@@ -6,26 +11,25 @@
</section>
</template>
<script>
export default {
name: 'AppMain',
computed: {
key () {
return this.$route.path
export default {
name: 'AppMain',
computed: {
key () {
return this.$route.path
},
},
},
}
}
</script>
<style lang="scss" scoped>
.hasTagsView {
.app-main {
height: calc(100% - 41px);
overflow-x: auto;
padding: 5px;
box-sizing: border-box;
background-color: #EDF1F7;
box-sizing: border-box;
.hasTagsView {
.app-main {
height: calc(100% - 50px);
overflow-x: auto;
padding: 5px;
box-sizing: border-box;
background-color: #edf1f7;
box-sizing: border-box;
}
}
}
</style>
\ No newline at end of file
......
......@@ -19,278 +19,277 @@
</template>
<script>
import ScrollPane from './ScrollPane'
import path from 'path'
import ScrollPane from './ScrollPane'
import path from 'path'
export default {
components: { ScrollPane },
data () {
return {
visible: false,
top: 0,
left: 0,
selectedTag: {},
affixTags: []
}
},
computed: {
visitedViews () {
return this.$store.state.tagsView.visitedViews
},
routes () {
return this.$store.state.permission.routes
}
},
watch: {
$route () {
this.addTags()
this.moveToCurrentTag()
},
visible (value) {
if (value) {
document.body.addEventListener('click', this.closeMenu)
} else {
document.body.removeEventListener('click', this.closeMenu)
export default {
components: { ScrollPane },
data () {
return {
visible: false,
top: 0,
left: 0,
selectedTag: {},
affixTags: []
}
}
},
mounted () {
this.initTags()
this.addTags()
},
methods: {
isActive (route) {
return route.path === this.$route.path
},
isAffix (tag) {
return tag.meta && tag.meta.affix
},
filterAffixTags (routes, basePath = '/') {
let tags = []
routes.forEach(route => {
if (route.meta && route.meta.affix) {
const tagPath = path.resolve(basePath, route.path)
tags.push({
fullPath: tagPath,
path: tagPath,
name: route.name,
meta: { ...route.meta }
})
}
if (route.children) {
const tempTags = this.filterAffixTags(route.children, route.path)
if (tempTags.length >= 1) {
tags = [...tags, ...tempTags]
}
}
})
return tags
computed: {
visitedViews () {
return this.$store.state.tagsView.visitedViews
},
routes () {
return this.$store.state.permission.routes
}
},
initTags () {
const affixTags = this.affixTags = this.filterAffixTags(this.routes)
for (const tag of affixTags) {
// Must have tag name
if (tag.name) {
this.$store.dispatch('tagsView/addVisitedView', tag)
watch: {
$route () {
this.addTags()
this.moveToCurrentTag()
},
visible (value) {
if (value) {
document.body.addEventListener('click', this.closeMenu)
} else {
document.body.removeEventListener('click', this.closeMenu)
}
}
},
addTags () {
const { name } = this.$route
if (name) {
this.$store.dispatch('tagsView/addView', this.$route)
}
return false
mounted () {
this.initTags()
this.addTags()
},
moveToCurrentTag () {
const tags = this.$refs.tag
this.$nextTick(() => {
for (const tag of tags) {
if (tag.to.path === this.$route.path) {
this.$refs.scrollPane.moveToTarget(tag)
// when query is different then update
if (tag.to.fullPath !== this.$route.fullPath) {
this.$store.dispatch('tagsView/updateVisitedView', this.$route)
methods: {
isActive (route) {
return route.path === this.$route.path
},
isAffix (tag) {
return tag.meta && tag.meta.affix
},
filterAffixTags (routes, basePath = '/') {
let tags = []
routes.forEach(route => {
if (route.meta && route.meta.affix) {
const tagPath = path.resolve(basePath, route.path)
tags.push({
fullPath: tagPath,
path: tagPath,
name: route.name,
meta: { ...route.meta }
})
}
if (route.children) {
const tempTags = this.filterAffixTags(route.children, route.path)
if (tempTags.length >= 1) {
tags = [...tags, ...tempTags]
}
break
}
})
return tags
},
initTags () {
const affixTags = this.affixTags = this.filterAffixTags(this.routes)
for (const tag of affixTags) {
// Must have tag name
if (tag.name) {
this.$store.dispatch('tagsView/addVisitedView', tag)
}
}
})
},
refreshSelectedTag (view) {
this.$store.dispatch('tagsView/delCachedView', view).then(() => {
const { fullPath } = view
},
addTags () {
const { name } = this.$route
if (name) {
this.$store.dispatch('tagsView/addView', this.$route)
}
return false
},
moveToCurrentTag () {
const tags = this.$refs.tag
this.$nextTick(() => {
this.$router.replace({
path: '/redirect' + fullPath
for (const tag of tags) {
if (tag.to.path === this.$route.path) {
this.$refs.scrollPane.moveToTarget(tag)
// when query is different then update
if (tag.to.fullPath !== this.$route.fullPath) {
this.$store.dispatch('tagsView/updateVisitedView', this.$route)
}
break
}
}
})
},
refreshSelectedTag (view) {
this.$store.dispatch('tagsView/delCachedView', view).then(() => {
const { fullPath } = view
this.$nextTick(() => {
this.$router.replace({
path: '/redirect' + fullPath
})
})
})
})
},
closeSelectedTag (view) {
this.$store.dispatch('tagsView/delView', view).then(({ visitedViews }) => {
if (this.isActive(view)) {
},
closeSelectedTag (view) {
this.$store.dispatch('tagsView/delView', view).then(({ visitedViews }) => {
if (this.isActive(view)) {
this.toLastView(visitedViews, view)
}
})
},
closeOthersTags () {
this.$router.push(this.selectedTag)
this.$store.dispatch('tagsView/delOthersViews', this.selectedTag).then(() => {
this.moveToCurrentTag()
})
},
closeAllTags (view) {
this.$store.dispatch('tagsView/delAllViews').then(({ visitedViews }) => {
if (this.affixTags.some(tag => tag.path === view.path)) {
return
}
this.toLastView(visitedViews, view)
}
})
},
closeOthersTags () {
this.$router.push(this.selectedTag)
this.$store.dispatch('tagsView/delOthersViews', this.selectedTag).then(() => {
this.moveToCurrentTag()
})
},
closeAllTags (view) {
this.$store.dispatch('tagsView/delAllViews').then(({ visitedViews }) => {
if (this.affixTags.some(tag => tag.path === view.path)) {
return
}
this.toLastView(visitedViews, view)
})
},
toLastView (visitedViews, view) {
const latestView = visitedViews.slice(-1)[0]
if (latestView) {
this.$router.push(latestView.fullPath)
} else {
// now the default is to redirect to the home page if there is no tags-view,
// you can adjust it according to your needs.
if (view.name === 'Dashboard') {
// to reload home page
this.$router.replace({ path: '/redirect' + view.fullPath })
})
},
toLastView (visitedViews, view) {
const latestView = visitedViews.slice(-1)[0]
if (latestView) {
this.$router.push(latestView.fullPath)
} else {
this.$router.push('/')
// now the default is to redirect to the home page if there is no tags-view,
// you can adjust it according to your needs.
if (view.name === 'Dashboard') {
// to reload home page
this.$router.replace({ path: '/redirect' + view.fullPath })
} else {
this.$router.push('/')
}
}
}
},
openMenu (tag, e) {
// const menuMinWidth = 105
// const offsetLeft = this.$el.getBoundingClientRect().left // container margin left
// const offsetWidth = this.$el.offsetWidth // container width
// const maxLeft = offsetWidth - menuMinWidth // left boundary
// const left = e.clientX - offsetLeft + 15 // 15: margin right
// if (left > maxLeft) {
// this.left = maxLeft
// } else {
},
openMenu (tag, e) {
// const menuMinWidth = 105
// const offsetLeft = this.$el.getBoundingClientRect().left // container margin left
// const offsetWidth = this.$el.offsetWidth // container width
// const maxLeft = offsetWidth - menuMinWidth // left boundary
// const left = e.clientX - offsetLeft + 15 // 15: margin right
// if (left > maxLeft) {
// this.left = maxLeft
// } else {
// this.left = left
// }
this.left = e.clientX
this.top = e.clientY
this.visible = true
this.selectedTag = tag
},
closeMenu () {
this.visible = false
},
handleScroll () {
this.closeMenu()
// }
this.left = e.clientX
this.top = e.clientY
this.visible = true
this.selectedTag = tag
},
closeMenu () {
this.visible = false
},
handleScroll () {
this.closeMenu()
}
}
}
}
</script>
<style lang="scss" scoped>
.tags-view-container {
height: 40px;
width: 100%;
background: #fff;
border-bottom: 1px solid #d8dce5;
box-sizing: border-box;
padding-top: 3px;
box-shadow: 0 1px 3px 0 rgba(0, 0, 0, .12), 0 0 3px 0 rgba(0, 0, 0, .04);
.tags-view-container {
height: 50px;
width: 100%;
background: #fff;
border-bottom: 1px solid #d8dce5;
box-sizing: border-box;
padding-top: 3px;
box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 3px 0 rgba(0, 0, 0, 0.04);
.tags-view-wrapper {
.tags-view-item {
display: inline-block;
position: relative;
cursor: pointer;
height: 26px;
line-height: 26px;
border: 1px solid #d8dce5;
color: #495060;
background: #fff;
padding: 0 8px;
font-size: 12px;
margin-left: 5px;
margin-top: 4px;
.tags-view-wrapper {
.tags-view-item {
display: inline-block;
position: relative;
cursor: pointer;
line-height: 30px;
border: 1px solid #d8dce5;
color: #495060;
background: #fff;
padding: 0 8px;
font-size: 12px;
margin-left: 5px;
margin-top: 4px;
&:first-of-type {
margin-left: 15px;
}
&:first-of-type {
margin-left: 15px;
}
&:last-of-type {
margin-right: 15px;
}
&:last-of-type {
margin-right: 15px;
}
&.active {
background-color: #0794FF;
color: #fff;
border-color: #0794FF;
&.active {
background-color: #0794ff;
color: #fff;
border-color: #0794ff;
&::before {
content: '';
background: #fff;
display: inline-block;
width: 8px;
height: 8px;
border-radius: 50%;
position: relative;
margin-right: 2px;
&::before {
content: "";
background: #fff;
display: inline-block;
width: 8px;
height: 8px;
border-radius: 50%;
position: relative;
margin-right: 2px;
}
}
}
}
}
.contextmenu {
margin: 0;
background: #fff;
z-index: 3000;
position: absolute;
list-style-type: none;
padding: 5px 0;
border-radius: 4px;
font-size: 12px;
font-weight: 400;
color: #333;
box-shadow: 2px 2px 3px 0 rgba(0, 0, 0, .3);
li {
.contextmenu {
margin: 0;
padding: 7px 16px;
cursor: pointer;
background: #fff;
z-index: 3000;
position: absolute;
list-style-type: none;
padding: 5px 0;
border-radius: 4px;
font-size: 12px;
font-weight: 400;
color: #333;
box-shadow: 2px 2px 3px 0 rgba(0, 0, 0, 0.3);
li {
margin: 0;
padding: 7px 16px;
cursor: pointer;
&:hover {
background: #eee;
&:hover {
background: #eee;
}
}
}
}
}
</style>
<style lang="scss">
//reset element css of el-icon-close
.tags-view-wrapper {
.tags-view-item {
.el-icon-close {
width: 16px;
height: 16px;
vertical-align: 2px;
border-radius: 50%;
text-align: center;
transition: all .3s cubic-bezier(.645, .045, .355, 1);
transform-origin: 100% 50%;
//reset element css of el-icon-close
.tags-view-wrapper {
.tags-view-item {
.el-icon-close {
width: 16px;
height: 16px;
vertical-align: 2px;
border-radius: 50%;
text-align: center;
transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
transform-origin: 100% 50%;
&:before {
transform: scale(.6);
display: inline-block;
vertical-align: -3px;
}
&:before {
transform: scale(0.6);
display: inline-block;
vertical-align: -3px;
}
&:hover {
background-color: #b4bccc;
color: #fff;
&:hover {
background-color: #b4bccc;
color: #fff;
}
}
}
}
}
</style>
......
......@@ -44,7 +44,7 @@
<el-button class="operation_button" type="text" @click="openRecordPop(item)">缮证记录</el-button>
</div>
<div class="text" v-else>
<el-button class="operation_button" type="text" @click="openZsylDialog(item, 2)">证书打印({{ item.szcs
<el-button class="operation_button" type="text" @click="openZsylDialog(item, 2)">证书打印1{{ item.szcs
}}</el-button>
<el-button class="operation_button" type="text" @click="openRecordPop(item)">缮证记录</el-button>
</div>
......
......@@ -12,7 +12,6 @@ import {
getNextLinkInfo,
} from "@/api/fqsq.js";
import { mapGetters } from 'vuex'
import { log } from "bpmn-js-token-simulation";
export default {
data () {
return {
......@@ -37,7 +36,8 @@ export default {
isRefresh: {
handler (newVal, oldVal) {
if (newVal) this.loadBdcdylist()
}
},
immediate: true
}
},
mounted () {
......
......@@ -79,174 +79,180 @@
</div>
</template>
<style scoped lang="scss">
@import "~@/styles/mixin.scss";
@import "./workFrame.scss";
@import "~@/styles/mixin.scss";
@import "./workFrame.scss";
</style>
<script>
import { mapGetters } from 'vuex'
import WorkFlow from "./mixin/index";
import publicFlow from "./mixin/public.js";
import { getStepFormInfo } from "@/api/fqsq.js";
import { getForm } from "./flowform";
import NoticeBar from "@/components/NoticeBar/index";
import { deleteFlow, unClaimTask } from "@/api/ywbl.js";
import ProcessViewer from "./components/processViewer.vue";
import selectBdc from "@/views/ywbl/ywsq/selectBdc.vue";
export default {
components: {
selectBdc,
NoticeBar,
ProcessViewer,
},
mixins: [WorkFlow, publicFlow],
data () {
return {
isDialog: false,
// 折叠
isShowdrawer: true,
// 默认选中
activeIndex: "0",
//受理申请标识码
bsmSlsq: this.$route.query.bsmSlsq,
//当前流程所在环节
bestepid: this.$route.query.bestepid,
//设置那个表单选中
tabName: "",
//设置那个表单选择
currentSelectTab: {},
//表单集合
tabList: [],
//选择加载哪一个组件
componentTag: "",
//设置表单传递数据
currentSelectProps: {},
//材料分屏表单
clxxForm: "",
//材料信息选择卡索引
clxxIndex: "",
//材料信息选项卡对象
clxxTab: {},
//页面监听时间
_beforeUnload_time: "",
//批量操作
showBatch: false,
//批量操作按钮名称
batchButtonName: "",
};
},
computed: {
...mapGetters(['isRefresh'])
},
watch: {
isRefresh: {
handler (newVal, oldVal) {
if (newVal) this.updateDialog()
}
}
},
mounted () {
//添加页面监听事件
window.addEventListener("beforeunload", (e) => this.beforeunloadHandler(e));
window.addEventListener("unload", (e) => this.unloadHandler(e));
},
destroyed () {
window.removeEventListener("beforeunload", (e) =>
this.beforeunloadHandler(e)
);
window.removeEventListener("unload", (e) => this.unloadHandler(e));
},
methods: {
beforeunloadHandler () {
this._beforeUnload_time = new Date().getTime();
import { mapGetters } from 'vuex'
import WorkFlow from "./mixin/index";
import publicFlow from "./mixin/public.js";
import { getStepFormInfo } from "@/api/fqsq.js";
import { getForm } from "./flowform";
import NoticeBar from "@/components/NoticeBar/index";
import { deleteFlow, unClaimTask } from "@/api/ywbl.js";
import ProcessViewer from "./components/processViewer.vue";
import selectBdc from "@/views/ywbl/ywsq/selectBdc.vue";
export default {
components: {
selectBdc,
NoticeBar,
ProcessViewer,
},
unloadHandler (e) {
this._gap_time = new Date().getTime() - this._beforeUnload_time;
//判断是窗口关闭还是刷新
if (this._gap_time <= 10) {
//取消认领
unClaimTask(this.bsmSlsq, this.bestepid);
}
mixins: [WorkFlow, publicFlow],
data () {
return {
isDialog: false,
// 折叠
isShowdrawer: true,
// 默认选中
activeIndex: "0",
//受理申请标识码
bsmSlsq: this.$route.query.bsmSlsq,
//当前流程所在环节
bestepid: this.$route.query.bestepid,
//设置那个表单选中
tabName: "",
//设置那个表单选择
currentSelectTab: {},
//表单集合
tabList: [],
//选择加载哪一个组件
componentTag: "",
//设置表单传递数据
currentSelectProps: {},
//材料分屏表单
clxxForm: "",
//材料信息选择卡索引
clxxIndex: "",
//材料信息选项卡对象
clxxTab: {},
//页面监听时间
_beforeUnload_time: "",
//批量操作
showBatch: false,
//批量操作按钮名称
batchButtonName: "",
};
},
changeLoadIndex () {
this.loadIndex++;
computed: {
...mapGetters(['isRefresh'])
},
closeDialog () {
this.myValue = false;
watch: {
isRefresh: {
handler (newVal, oldVal) {
if (newVal) this.updateDialog()
}
}
},
// 更新列表
updateDialog () {
this.loadBdcdylist();
mounted () {
//添加页面监听事件
window.addEventListener("beforeunload", (e) => this.beforeunloadHandler(e));
window.addEventListener("unload", (e) => this.unloadHandler(e));
},
// 删除左侧列表
handleDel (item) {
this.$confirm("确定要删除吗, 是否继续?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(() => {
var formdata = new FormData();
formdata.append("bsmSldyList", item.bsmSldy.split(","));
formdata.append("bsmSlsq", this.bsmSlsq);
deleteFlow(formdata).then((res) => {
if (res.code == 200) {
this.$message.success("删除成功");
this.loadBdcdylist();
} else {
this.$message.error(res.message);
}
});
})
.catch(() => {
this.$message({
type: "info",
message: "已取消删除",
});
});
destroyed () {
window.removeEventListener("beforeunload", (e) =>
this.beforeunloadHandler(e)
);
window.removeEventListener("unload", (e) => this.unloadHandler(e));
},
//申请单元点击事件
stepForm (index) {
getStepFormInfo(this.currentSelectProps).then((res) => {
if (res.code === 200) {
this.fresh++;
//获取单元对应的所有表单信息
this.tabList = res.result;
//默认加载第一个表单信息
this.tabName = res.result[0].value;
//批量操作无分屏按钮
if (index != null) {
//处理分屏材料信息
let that = this;
this.tabList.forEach(function (item, index) {
if (item.value == "clxx") {
that.clxxIndex = index;
that.clxxForm = getForm(item.value, that.$route.query.sqywbm);
that.clxxTab = item;
methods: {
beforeunloadHandler () {
this._beforeUnload_time = new Date().getTime();
},
unloadHandler (e) {
this._gap_time = new Date().getTime() - this._beforeUnload_time;
//判断是窗口关闭还是刷新
if (this._gap_time <= 10) {
//取消认领
unClaimTask(this.bsmSlsq, this.bestepid);
}
},
changeLoadIndex () {
this.loadIndex++;
},
closeDialog () {
this.myValue = false;
},
// 更新列表
updateDialog () {
this.loadBdcdylist();
},
// 删除左侧列表
handleDel (item) {
this.$confirm("确定要删除吗, 是否继续?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(() => {
var formdata = new FormData();
formdata.append("bsmSldyList", item.bsmSldy.split(","));
formdata.append("bsmSlsq", this.bsmSlsq);
deleteFlow(formdata).then((res) => {
if (res.code == 200) {
this.$message.success("删除成功");
this.loadBdcdylist();
} else {
this.$message.error(res.message);
}
});
})
.catch(() => {
this.$message({
type: "info",
message: "已取消删除",
});
});
},
//申请单元点击事件
stepForm (index) {
getStepFormInfo(this.currentSelectProps).then((res) => {
if (res.code === 200) {
this.fresh++;
//获取单元对应的所有表单信息
this.tabList = res.result;
//默认加载第一个表单信息
this.tabName = res.result[0].value;
//批量操作无分屏按钮
if (index != null) {
//处理分屏材料信息
let that = this;
this.tabList.forEach(function (item, index) {
if (item.value == "clxx") {
that.clxxIndex = index;
that.clxxForm = getForm(item.value, that.$route.query.sqywbm);
that.clxxTab = item;
}
});
}
}
});
},
//申请单元点击事件
unitClick (index) {
this.currentSelectProps = this.unitData[index];
this.currentSelectProps.batchOperation = false;
this.activeIndex = index.toString();
this.stepForm(index);
},
//批量按钮点击事件
batchUnitClick () {
this.currentSelectProps.batchOperation = true;
this.activeIndex = "-1";
this.stepForm();
},
openDialog () {
this.$store.dispatch('user/refreshPage', false)
let data = JSON.parse(localStorage.getItem('ywbl'))
let title
if (data?.sqywmc) {
title = "申请业务:" + data?.sqywmc
} else {
title = "申请业务:" + data?.djywmc
}
});
},
//申请单元点击事件
unitClick (index) {
this.currentSelectProps = this.unitData[index];
this.currentSelectProps.batchOperation = false;
this.activeIndex = index.toString();
this.stepForm(index);
},
//批量按钮点击事件
batchUnitClick () {
this.currentSelectProps.batchOperation = true;
this.activeIndex = "-1";
this.stepForm();
},
openDialog () {
let data = JSON.parse(localStorage.getItem('ywbl'))
let title = "申请业务:" + data.sqywmc;
this.$popupDialog(title, "ywbl/ywsq/selectBdc", { 'djywbm': this.$route.query.sqywbm, 'isJump': true, 'sqywInfo': data }, "80%", true)
this.$popupDialog(title, "ywbl/ywsq/selectBdc", { 'djywbm': this.$route.query.sqywbm, 'isJump': true, 'sqywInfo': data }, "80%", true)
}
}
}
}
</script>
......
......@@ -101,6 +101,7 @@
import { datas, sendThis } from "./dbxdata";
import { searchTaskToDo, deleteFlow, claimTask } from "@/api/ywbl";
import { judgeUserTaskPermission } from "@/api/fqsq";
import { log } from 'bpmn-js-token-simulation';
export default {
name: "dbx",
components: { searchBox },
......
......@@ -56,7 +56,7 @@
</el-form>
</div>
<div class="from-clues-content">
<lb-table ref="table" @row-dblclick="handleRowClick" :page-size="pageData.pageSize" :heightNum="400"
<lb-table ref="table" @row-dblclick="handleRowClick" :page-size="pageData.pageSize" :calcHeight="400"
:current-page.sync="pageData.currentPage" :total="zrztableData.total" @size-change="handleSizeChange"
@p-current-change="handleCurrentChange" @selection-change="handleSelectionChange" :column="zrztableData.columns"
:data="zrztableData.data">
......@@ -107,7 +107,7 @@
</el-form>
</div>
<div class="from-clues-content loadingtext">
<lb-table ref="table" @row-dblclick="handleRowClick" :page-size="pageData.pageSize" :calcHeight="300"
<lb-table ref="table" @row-dblclick="handleRowClick" :page-size="pageData.pageSize" :calcHeight="400"
:current-page.sync="pageData.currentPage" :total="dztableData.total" @size-change="handleSizeChange"
@p-current-change="handleCurrentChange" @selection-change="handleSelectionChange" :column="dztableData.columns"
:data="dztableData.data">
......
......@@ -8,7 +8,7 @@ export default {
methods: {
//点击行选中或取消复选框
handleRowClick (row, column, event) {
(this.$refs.table.toggleRowSelection(row))
this.$refs.table.toggleRowSelection(row)
},
jump (data, type) {
const { href } = Router.resolve(
......
......@@ -106,6 +106,7 @@
if (!this.isJump) {
this.jump(res.result, this.sqywInfo.djywbm);
} else {
this.$popupCacel()
store.dispatch('user/refreshPage', true);
}
} else {
......
......@@ -19,7 +19,7 @@
<div class="right-title">常办业务列表</div>
<ul>
<li :class="item.selected ? 'cactive' : ''" v-for="(item, index) in collectList" :key="index"
@dblclick="dblclick(collectList, index)" @click="selectSqywClick(collectList, index)">
@dblclick="dblclick(collectList, index, item)" @click="selectSqywClick(collectList, index)">
<p v-if="item.nodetype == 'djqx'">{{ item.djywmc }}<br>{{ item.nodename }}</p>
<dt v-else>{{ item.djywmc }}</dt>
<p class="active" @click.stop="handleCollection(item)">
......@@ -37,7 +37,7 @@
<div class="right-type el-card box-card is-always-shadow">
<div class="right-title">登记类型</div>
<ul class="type-content">
<li :class="item.selected ? 'cactive' : ''" @dblclick="item.sffqlc == 1 && dblclick(djlxList, index)"
<li :class="item.selected ? 'cactive' : ''" @dblclick="item.sffqlc == 1 && dblclick(djlxList, index, item)"
@click="selectSqywClick(djlxList, index)" v-for="(item, index) in djlxList" :key="index">
<p>
{{ item.nodename }}
......@@ -53,7 +53,7 @@
<div class="right-title">登记情形</div>
<ul>
<li :class="item.selected ? 'cactive' : ''" v-for="(item, index) in djqxList" :key="index"
@dblclick="dblclick(djqxList, index)" @click="selectSqywClick(djqxList, 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>
......@@ -69,206 +69,207 @@
</div>
</template>
<script>
import { getCollectBiz, getleftMenu, getNextNode, addCollectBiz, deleteCollectBiz } from "@/api/ywbl"
export default {
data () {
return {
//申请业务类型集合
sqywlxList: [
{ name: "常办业务", type: "collect" },
{ name: "一并申请", type: "together" },
{ name: "登记簿补录", type: "amend" }
],
//类型默认选择常办业务
selectType: "collect",
//堆叠框选中第一个
activeNames: ['1'],
//收藏业务集合
collectList: [],
//申请权利类型集合
sqywQllxList: [],
//登记类型集合
djlxList: [],
//申请权利类型集合
djqxList: [],
//选中业务的参数
selectParam: {},
//选择按钮显示或隐藏
btnDisabled: true,
}
},
created () {
this.getDataList();
},
methods: {
getDataList () {
//获取收藏信息集合
getCollectBiz().then(res => {
this.collectList = res.result;
this.collectList.forEach(item => {
this.$set(item, 'selected', false);
});
});
//获取申请权利信息集合
getleftMenu().then(res => {
this.sqywQllxList = res.result;
})
},
//申请业务类型菜单事件
sqywlxClick (item) {
this.btnDisabled = true;
this.selectType = item.type;
this.sqywQllxList.forEach(item => {
if (item.check) item.check = false;
})
},
//权利类型菜单事件
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);
},
//选择申请业务事件
selectSqywClick (data, index) {
data.forEach(item => {
item.selected = false;
});
data[index].selected = true;
if (data[index].sffqlc == "1") {
this.selectParam = data[index];
this.btnDisabled = false;
} else {
this.btnDisabled = true;
this.getNextNode(data[index].bsmSqyw);
import { getCollectBiz, getleftMenu, getNextNode, addCollectBiz, deleteCollectBiz } from "@/api/ywbl"
export default {
data () {
return {
//申请业务类型集合
sqywlxList: [
{ name: "常办业务", type: "collect" },
{ name: "一并申请", type: "together" },
{ name: "登记簿补录", type: "amend" }
],
//类型默认选择常办业务
selectType: "collect",
//堆叠框选中第一个
activeNames: ['1'],
//收藏业务集合
collectList: [],
//申请权利类型集合
sqywQllxList: [],
//登记类型集合
djlxList: [],
//申请权利类型集合
djqxList: [],
//选中业务的参数
selectParam: {},
//选择按钮显示或隐藏
btnDisabled: true,
}
},
//获取下个节点类型数据
getNextNode (bsmSqyw) {
getNextNode(bsmSqyw).then(res => {
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 => {
created () {
this.getDataList();
},
methods: {
getDataList () {
//获取收藏信息集合
getCollectBiz().then(res => {
this.collectList = res.result;
this.collectList.forEach(item => {
this.$set(item, 'selected', false);
});
});
//获取申请权利信息集合
getleftMenu().then(res => {
this.sqywQllxList = res.result;
})
},
//申请业务类型菜单事件
sqywlxClick (item) {
this.btnDisabled = true;
this.selectType = item.type;
this.sqywQllxList.forEach(item => {
if (item.check) item.check = false;
})
},
//权利类型菜单事件
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);
},
//选择申请业务事件
selectSqywClick (data, index) {
data.forEach(item => {
item.selected = false;
});
data[index].selected = true;
if (data[index].sffqlc == "1") {
this.selectParam = data[index];
this.btnDisabled = false;
} else {
this.btnDisabled = true;
this.getNextNode(data[index].bsmSqyw);
}
})
},
//双击事件
dblclick (data, index) {
this.selectSqywClick(data, index);
this.dialogClick();
},
//打开弹框内容
dialogClick () {
this.openDialog();
},
//收藏操作
handleCollection (item) {
let that = this
if (item.userCollect == '2') {
addCollectBiz(item.bsmSqyw).then(res => {
if (res.code == 200) {
item.userCollect = '1'
that.$message({
message: '收藏成功!',
type: 'success'
})
that.getDataList()
},
//获取下个节点类型数据
getNextNode (bsmSqyw) {
getNextNode(bsmSqyw).then(res => {
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);
});
}
})
} else {
this.$confirm('此操作将取消收藏, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
deleteCollectBiz(item.bsmSqyw).then(res => {
},
//双击事件
dblclick (data, index, item) {
localStorage.setItem('ywbl', JSON.stringify(item));
this.selectSqywClick(data, index);
this.dialogClick();
},
//打开弹框内容
dialogClick () {
this.openDialog();
},
//收藏操作
handleCollection (item) {
let that = this
if (item.userCollect == '2') {
addCollectBiz(item.bsmSqyw).then(res => {
if (res.code == 200) {
item.userCollect = '2'
item.userCollect = '1'
that.$message({
message: '取消收藏成功!',
message: '收藏成功!',
type: 'success'
})
that.getDataList()
}
})
} 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()
}
})
})
}
},
handleSelect (item) {
this.busList.forEach(item => {
item.cselect = false
})
item.cselect = !item.cselect
},
// 登记类型
handleDjlxSelect (item) {
this.djlxList.forEach(item => {
item.cselect = false
})
}
},
handleSelect (item) {
this.busList.forEach(item => {
item.cselect = false
})
item.cselect = !item.cselect
},
// 登记类型
handleDjlxSelect (item) {
this.djlxList.forEach(item => {
item.cselect = false
})
this.btnDisabled = true
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 = []
},
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
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 = []
},
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
}
},
handleSelectItem (item, list) {
this.handleSelectYw(item, list)
this.openDialog()
},
// 选择不动产信息
bthSelectClick () {
this.openDialog()
},
openDialog () {
let title = "申请业务:" + this.selectParam?.djywmc ? this.selectParam?.djywmc : '';
this.$popupDialog(title, "ywbl/ywsq/selectBdc", { 'sqywInfo': this.selectParam }, "80%")
},
loadView (view) {
return r => require.ensure([], () => r(require(`./components/${view}/${view}.vue`)))
}
},
handleSelectItem (item, list) {
this.handleSelectYw(item, list)
this.openDialog()
},
// 选择不动产信息
bthSelectClick () {
this.openDialog()
},
openDialog () {
let title = "申请业务:" + this.selectParam?.djywmc ? this.selectParam?.djywmc : '';
this.$popupDialog(title, "ywbl/ywsq/selectBdc", { 'sqywInfo': this.selectParam }, "80%")
},
loadView (view) {
return r => require.ensure([], () => r(require(`./components/${view}/${view}.vue`)))
}
}
}
</script>
<style scoped lang='scss'>
@import "~@/styles/mixin.scss";
@import './ywsq.scss';
@import "~@/styles/mixin.scss";
@import "./ywsq.scss";
/deep/.el-collapse-item__content {
padding-bottom: 0;
}
/deep/.el-collapse-item__content {
padding-bottom: 0;
}
/deep/.el-collapse-item__wrap {
border-bottom: none;
}
/deep/.el-collapse-item__wrap {
border-bottom: none;
}
</style>
\ No newline at end of file
......
......@@ -8,49 +8,49 @@
@updateDialog="updateDialog" />
</template>
<script>
import { queueDjywmc } from "./slectBdcdata.js";
export default {
props: {
formData: {
type: Object,
default: () => { }
}
},
data () {
return {
title: "",
router: ""
}
},
mounted () {
if (this.formData?.sqywInfo?.djywbm || this.formData?.djywbm) {
let view = queueDjywmc(this.formData?.sqywInfo?.djywbm || this.formData?.djywbm);
this.router = this.loadView(view);
} else {
let view = queueDjywmc(this.$route.query?.sqywbm);
this.router = this.loadView(view);
}
},
methods: {
loadView (view) {
console.log(view, 'view');
return (r) =>
require.ensure([], () => r(require(`./components/${view}.vue`)));
import { queueDjywmc } from "./slectBdcdata.js";
export default {
props: {
formData: {
type: Object,
default: () => { }
}
},
updateDialog () {
this.$popupCacel()
this.$emit("updateDialog", true);
data () {
return {
title: "",
router: ""
}
},
mounted () {
if (this.formData?.sqywInfo?.djywbm || this.formData?.djywbm) {
let view = queueDjywmc(this.formData?.sqywInfo?.djywbm || this.formData?.djywbm);
this.router = this.loadView(view);
} else {
let view = queueDjywmc(this.$route.query?.sqywbm);
this.router = this.loadView(view);
}
},
methods: {
loadView (view) {
console.log(view, 'view');
return (r) =>
require.ensure([], () => r(require(`./components/${view}.vue`)));
},
updateDialog () {
this.$popupCacel()
this.$emit("updateDialog", true);
}
}
}
}
</script>
<style scoped lang="scss">
@import "~@/styles/mixin.scss";
@import "~@/styles/public.scss";
@import "~@/styles/mixin.scss";
@import "~@/styles/public.scss";
/deep/.submit_button {
text-align: center;
padding: 10px;
margin: 10px;
}
/deep/.submit_button {
text-align: center;
padding: 10px;
margin: 10px;
}
</style>
......