e204bc5c by renchao@pashanhoo.com

Merge branch 'dev'

2 parents e6293395 c428efca
......@@ -111,6 +111,18 @@ export function selectZdjbxx (data) {
})
}
/**
* @description: 业务办理-选择单元-查询宗地基本信息
* @param {*} data
* @author: renchao
*/
export function selectHQjdc (data) {
return request({
url: SERVER.SERVERAPI + '/rest/ywbl/ywsq/selectHQjdc',
method: 'post',
data
})
}
/*
业务办理-选择单元-查询宗地基本信息
*/
......
......@@ -2,7 +2,8 @@
<div class="navbar-con">
<div class="navbar" v-theme.background="mTheme">
<div class="logo">
<img v-if="logo" :src="logo" class="header-logo">
<img v-if="logo" :src="logo" class="header-logo" />
<h4>{{ userInfo.districtName }}不动产登记平台</h4>
</div>
<!-- <div class="backdrop">
<theme style="float: right;height: 26px;width: 26px;margin-top: 26px;" @change="themeChange" />
......@@ -10,274 +11,314 @@
<div class="right-menu">
<!-- <svg-icon class="function" icon-class='function' /> -->
<div class="avatar-wrapper">
<span style="padding-right:10px">{{ name }}</span>
<p>
<span style="padding-right: 10px">{{
userInfo.departmentName
}}</span>
<span style="padding-right: 10px">{{ userInfo.name }}</span>
</p>
<img :src="avatar + '?imageView2/1/w/80/h/80'" class="user-avatar" />
</div>
<svg-icon class="shutdown" @click.native="logout" icon-class='shutdown' />
<svg-icon
class="shutdown"
@click.native="logout"
icon-class="shutdown"
/>
</div>
</div>
<NoticeBar class="NoticeBar" :noticeList="noticeList" v-if="noticeList.length > 0" />
<NoticeBar
class="NoticeBar"
:noticeList="noticeList"
v-if="noticeList.length > 0"
/>
</div>
</template>
<script>
import axios from 'axios'
import Cookies from 'js-cookie'
import { mapGetters } from 'vuex'
import NoticeBar from '@/components/NoticeBar/index'
import { getHomeNoticeList } from "@/api/home"
import { setToken } from "@/utils/util";
export default {
components: {
NoticeBar
import axios from "axios";
import Cookies from "js-cookie";
import { mapGetters } from "vuex";
import NoticeBar from "@/components/NoticeBar/index";
import { getHomeNoticeList } from "@/api/home";
import { setToken } from "@/utils/util";
export default {
components: {
NoticeBar,
},
computed: {
...mapGetters(["sidebar", "avatar", "name", "userInfo"]),
baseUrl() {
return window._config.baseUrl;
},
computed: {
...mapGetters(['sidebar', 'avatar', 'name']),
baseUrl () {
return window._config.baseUrl;
},
},
data () {
return {
logo: require('../../image/logo.png'),
noticeList: []
},
data() {
return {
logo: require("../../image/bdclogo.png"),
noticeList: [],
};
},
created() {
this.queryNoticeList();
},
mounted() {
let that = this;
window.addEventListener("message", function (messageEvent) {
if (messageEvent.data.update) {
that.queryNoticeList();
}
},
created () {
this.queryNoticeList()
},
mounted () {
let that = this
window.addEventListener('message', function (messageEvent) {
if (messageEvent.data.update) {
that.queryNoticeList()
});
},
destroyed() {
window.removeEventListener("message");
},
methods: {
/**
* @description: queryNoticeList
* @author: renchao
*/
queryNoticeList() {
getHomeNoticeList().then((res) => {
if (res.result) {
this.noticeList = res.result.noticeList;
}
})
});
},
destroyed () {
window.removeEventListener('message')
/**
* @description: logout
* @author: renchao
*/
logout() {
axios
.post(window._config.services.management + "/management/logout")
.then(() => {
setToken(undefined);
sessionStorage.removeItem("token");
localStorage.setItem("dj-location", window.location.href);
window.location.href =
window._config.casBaseURL +
"/logout?service=" +
encodeURIComponent(window.location.href);
});
},
methods: {
/**
* @description: queryNoticeList
* @author: renchao
*/
queryNoticeList () {
getHomeNoticeList().then(res => {
if (res.result) {
this.noticeList = res.result.noticeList
}
})
},
/**
* @description: logout
* @author: renchao
*/
logout () {
axios.post(window._config.services.management + "/management/logout").then(() => {
setToken(undefined)
sessionStorage.removeItem('token')
localStorage.setItem('dj-location', window.location.href)
window.location.href = window._config.casBaseURL + '/logout?service=' + encodeURIComponent(window.location.href);
})
},
/**
* @description: themeChange
* @param {*} val
* @author: renchao
*/
themeChange (val) {
this.$store.dispatch('app/updateTheme', val)
},
searchMessageCenter () {
this.$router.push({ name: 'messagecenter' })
},
/**
* @description: handleCommand
* @param {*} command
* @author: renchao
*/
handleCommand (command) {
if (command == 'a') {
//个人中心
this.$router.push({ name: 'personal' })
}
/**
* @description: themeChange
* @param {*} val
* @author: renchao
*/
themeChange(val) {
this.$store.dispatch("app/updateTheme", val);
},
searchMessageCenter() {
this.$router.push({ name: "messagecenter" });
},
/**
* @description: handleCommand
* @param {*} command
* @author: renchao
*/
handleCommand(command) {
if (command == "a") {
//个人中心
this.$router.push({ name: "personal" });
}
}
}
},
},
};
</script>
<style lang="scss" scoped>
.navbar-con {
position: relative;
.navbar-con {
position: relative;
}
.NoticeBar {
position: absolute;
bottom: 0;
}
.el-dropdown-menu {
padding: 0 !important;
border: 1px solid #ebeef5;
box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.12);
border-radius: 4px 0 0 4px 4px;
.el-dropdown-menu__item {
text-align: center;
margin-top: 0 !important;
font-size: 14px;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #4a4a4a;
width: 140px;
height: 36px;
line-height: 36px;
}
.NoticeBar {
position: absolute;
bottom: 0;
.el-dropdown-menu__item:nth-child(6) {
border-top: 1px solid #ebeef5;
}
.el-dropdown-menu {
padding: 0 !important;
border: 1px solid #ebeef5;
box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.12);
border-radius: 4px 0 0 4px 4px;
.popper__arrow {
top: -11px !important;
left: 110px !important;
transform: rotate(0deg) scale(2);
}
.el-dropdown-menu__item {
text-align: center;
margin-top: 0 !important;
font-size: 14px;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #4a4a4a;
width: 140px;
height: 36px;
line-height: 36px;
}
.el-dropdown-menu__item:not(.is-disabled):hover,
.el-dropdown-menu__item:focus {
background: #f6f7f9;
color: #4a4a4a;
}
}
.el-dropdown-menu__item:nth-child(6) {
border-top: 1px solid #ebeef5;
}
.navbar {
height: $headerHeight;
overflow: hidden;
position: relative;
background: #fff;
// background: linear-gradient(270deg, #148CEE 0%, #1870E3 100%); //默认颜色
box-shadow: 0 1px 0px rgba(0, 21, 41, 0.08);
display: flex;
align-items: center;
padding: 0 20px;
justify-content: space-between;
.popper__arrow {
top: -11px !important;
left: 110px !important;
transform: rotate(0deg) scale(2);
.logo {
// margin-top: -20px;
.header-logo {
width: 40px;
float: left;
vertical-align: middle;
}
.el-dropdown-menu__item:not(.is-disabled):hover,
.el-dropdown-menu__item:focus {
background: #f6f7f9;
color: #4a4a4a;
h4 {
float: left;
vertical-align: middle;
line-height: 40px;
font-size: 22px;
color: #fff;
text-indent: 6px;
letter-spacing: 2px;
}
}
.navbar {
.backdrop {
flex: 1;
width: 60%;
background: url("../../image/backdrop.png");
background-size: 100% 100%;
height: $headerHeight;
overflow: hidden;
position: relative;
background: #fff;
// background: linear-gradient(270deg, #148CEE 0%, #1870E3 100%); //默认颜色
box-shadow: 0 1px 0px rgba(0, 21, 41, 0.08);
display: flex;
align-items: center;
padding: 0 20px;
justify-content: space-between;
}
.header-logo {
width: 300px;
}
.hamburger-container {
line-height: 43px;
height: 100%;
float: left;
cursor: pointer;
transition: background 0.3s;
-webkit-tap-highlight-color: transparent;
.backdrop {
flex: 1;
width: 60%;
background: url("../../image/backdrop.png");
background-size: 100% 100%;
height: $headerHeight;
&:hover {
background: rgba(0, 0, 0, 0.025);
}
}
.hamburger-container {
line-height: 43px;
height: 100%;
float: left;
.breadcrumb-container {
float: left;
}
.right-menu {
float: right;
height: 100%;
line-height: 50px;
display: flex;
align-items: center;
.function {
margin: 0 15px;
cursor: pointer;
transition: background 0.3s;
-webkit-tap-highlight-color: transparent;
}
&:hover {
background: rgba(0, 0, 0, 0.025);
}
.shutdown {
font-size: 20px;
margin-left: 15px;
cursor: pointer;
}
.breadcrumb-container {
float: left;
.organization-item {
margin-right: 40px;
margin-top: -40px !important;
}
.right-menu {
float: right;
height: 100%;
line-height: 50px;
display: flex;
align-items: center;
.item {
margin-right: 40px;
margin-top: -20px;
line-height: 18.4px;
cursor: pointer;
position: relative;
.function {
margin: 0 15px;
.item-box {
position: absolute;
top: -5px;
left: 3px;
width: 100%;
min-width: 25px;
height: 25px;
cursor: pointer;
z-index: 100;
}
}
.shutdown {
font-size: 20px;
margin-left: 15px;
cursor: pointer;
}
&:focus {
outline: none;
}
.organization-item {
margin-right: 40px;
margin-top: -40px !important;
}
.right-menu-item {
display: inline-block;
font-size: 18px;
color: #fff;
vertical-align: text-bottom;
.item {
margin-right: 40px;
margin-top: -20px;
line-height: 18.4px;
&.hover-effect {
cursor: pointer;
position: relative;
.item-box {
position: absolute;
top: -5px;
left: 3px;
width: 100%;
min-width: 25px;
height: 25px;
cursor: pointer;
z-index: 100;
}
}
&:focus {
outline: none;
}
.right-menu-item {
display: inline-block;
font-size: 18px;
color: #fff;
vertical-align: text-bottom;
&.hover-effect {
cursor: pointer;
transition: background 0.3s;
display: flex;
align-items: center;
transition: background 0.3s;
display: flex;
align-items: center;
&:hover {
background: rgba(0, 0, 0, 0.025);
}
&:hover {
background: rgba(0, 0, 0, 0.025);
}
}
}
.avatar-wrapper {
position: relative;
display: flex;
.avatar-wrapper {
position: relative;
display: flex;
height: 40px;
align-items: center;
color: #ffffff;
p {
font-size: 14px;
height: 40px;
align-items: center;
color: #ffffff;
.user-avatar {
cursor: pointer;
width: 35px;
height: 35px;
border-radius: 50%;
span {
display: block;
line-height: 20px;
text-align: right;
}
}
.user-avatar {
cursor: pointer;
width: 35px;
height: 35px;
border-radius: 50%;
}
.el-icon-caret-bottom {
cursor: pointer;
position: absolute;
right: -15px;
top: 17px;
font-size: 12px;
}
.el-icon-caret-bottom {
cursor: pointer;
position: absolute;
right: -15px;
top: 17px;
font-size: 12px;
}
}
}
}
</style>
......
<template>
<div class="lpbContent-wrap" ref="lpbContentWrap">
<div class="lpbContent" ref="lpbContent" :style="{ 'height': 'calc(100% - '+ lpbContentHeight +'px)'}">
<div
class="lpbContent"
ref="lpbContent"
:style="{ height: 'calc(100% - ' + lpbContentHeight + 'px)' }"
>
<!-- 纵向倒序排列 逻辑幢位于独立幢单元和独立层户的上方 -->
<div class="ch-zdy-wrap">
<!-- 幢单元 -->
<zdy-cpn v-if="lpbData.zdys.length" :zdys="lpbData.zdys" :onlyShow="onlyShow" />
<zdy-cpn
v-if="lpbData.zdys.length"
:zdys="lpbData.zdys"
:onlyShow="onlyShow"
/>
<!-- 独立层户 -->
<ch-cpn v-if="lpbData.cs.length" :ch="lpbData.cs" :onlyShow="onlyShow" />
<ch-cpn
v-if="lpbData.cs.length"
:ch="lpbData.cs"
:onlyShow="onlyShow"
/>
</div>
<!-- 逻辑幢 -->
<ljzs-cpn v-if="lpbData.ljzs.length" :ljzs="lpbData.ljzs" :onlyShow="onlyShow" />
<ljzs-cpn
v-if="lpbData.ljzs.length"
:ljzs="lpbData.ljzs"
:onlyShow="onlyShow"
/>
</div>
<!-- 自然幢名称 -->
<p class="lpb-xmmc" v-if="onlyShow" style="border-bottom: 1px solid #e6e6e6">{{ lpbData.xmmc }}</p>
<p class="lpb-xmmc" v-else :style="{ 'border-bottom':'1px solid #e6e6e6'}">
<p
class="lpb-xmmc"
v-if="onlyShow"
style="border-bottom: 1px solid #e6e6e6"
>
{{ lpbData.xmmc }}
</p>
<p
class="lpb-xmmc"
v-else
:style="{ 'border-bottom': '1px solid #e6e6e6' }"
>
<el-checkbox @change="zdySelectAll($event)">{{
lpbData.xmmc
}}</el-checkbox>
</p>
<el-button type="primary" class="save-btn" v-if="!onlyShow && showSave" @click="saveLpb">选择确认</el-button>
<el-button type="primary" class="save-btn" v-if="!onlyShow && !showSave" @click="submitForm" :loading="loading">发起申请</el-button>
<el-button
type="primary"
class="save-btn"
v-if="!onlyShow && showSave"
@click="saveLpb"
>选择确认</el-button
>
<el-button
type="primary"
class="save-btn"
v-if="!onlyShow && !showSave"
@click="submitForm"
:loading="loading"
>发起申请</el-button
>
<!-- 右键菜单 -->
<ul
v-show="lpbChVisible"
:style="{ left: lpbChLeft + 'px', top: lpbChTop + 'px' }"
class="contextmenu">
class="contextmenu"
>
<li @click="menuClick">菜单一</li>
<li @click="menuClick">菜单二</li>
</ul>
</div>
</template>
<script>
import { getLpb } from "@/api/lpcx.js";
import chCpn from "./ch.vue";
import zdyCpn from "./zdys.vue";
import ljzsCpn from "./ljzs.vue";
import { startBusinessFlow, choiceBdcdy, againAddSldy } from "@/api/workFlow.js";
import jump from "../../ywbl/ywsq/components/mixin/jump";
import store from '@/store/index.js'
import { ywPopupCacel } from "@/utils/popup.js";
export default {
mixins: [jump],
provide () {
return {
openMenu: this.openMenu,
selectAll: this.selectAllObj,
changeChoosedObj: this.changeChoosedObj,
clearChangeChoosedObj: this.clearChangeChoosedObj,
getBsmList: this.getBsmList
};
import { getLpb } from "@/api/lpcx.js";
import chCpn from "./ch.vue";
import zdyCpn from "./zdys.vue";
import ljzsCpn from "./ljzs.vue";
import {
startBusinessFlow,
choiceBdcdy,
againAddSldy,
} from "@/api/workFlow.js";
import jump from "../../ywbl/ywsq/components/mixin/jump";
import store from "@/store/index.js";
import { ywPopupCacel } from "@/utils/popup.js";
export default {
mixins: [jump],
provide() {
return {
openMenu: this.openMenu,
selectAll: this.selectAllObj,
changeChoosedObj: this.changeChoosedObj,
clearChangeChoosedObj: this.clearChangeChoosedObj,
getBsmList: this.getBsmList,
};
},
name: "",
components: { chCpn, zdyCpn, ljzsCpn },
props: {
zrzbsm: {
type: String,
default: "",
},
name: "",
components: { chCpn, zdyCpn, ljzsCpn },
props: {
zrzbsm: {
type: String,
default: "",
},
lpbParent: {
type: String,
default: "isLpb",
},
isHb: {
type: Boolean,
default: true,
},
onlyShow: {
type: Boolean,
default: true,
},
showSave: {
type: Boolean,
default: false,
},
scyclx: {
type: Number,
default: 0,
},
sqywInfo: {
type: Object,
default: () => { }
},
name: "",
components: { chCpn, zdyCpn, ljzsCpn },
props: {
zrzbsm: {
type: String,
default: "",
},
lpbParent: {
type: String,
default: "isLpb",
},
isHb: {
type: Boolean,
default: true,
},
onlyShow: {
type: Boolean,
default: true,
},
showSave: {
type: Boolean,
default: false,
},
scyclx: {
type: Number,
default: 0,
},
sqywInfo: {
type: Object,
default: () => { }
},
isJump: { type: Boolean, default: false },
lpbParent: {
type: String,
default: "isLpb",
},
isHb: {
type: Boolean,
default: true,
},
onlyShow: {
type: Boolean,
default: true,
},
showSave: {
type: Boolean,
default: false,
},
scyclx: {
type: Number,
default: 0,
},
sqywInfo: {
type: Object,
default: () => {},
},
},
data() {
return {
lpbData: {
ljzs: [],
cs: [],
zdys: [],
},
data () {
return {
lpbData: {
ljzs: [],
cs: [],
zdys: [],
},
//户全选标识 由于依赖注入的绑定并不是可响应的,所以传入可监听的对象以获取其属性的响应
selectAllObj: {
selectAll: false,
},
//层户右键菜单显隐
lpbChVisible: false,
//右键菜单定位位置
lpbChLeft: 100,
lpbChTop: 100,
// 改变户选中状态
changeChoosedObj: {
bsms: [],
color: ''
},
// 选中户bsm合集
bsmList: [],
loading: false,
};
//户全选标识 由于依赖注入的绑定并不是可响应的,所以传入可监听的对象以获取其属性的响应
selectAllObj: {
selectAll: false,
},
mounted () {
this.scyclx ? this.getLpb(this.zrzbsm, this.scyclx) : this.getLpb(this.zrzbsm);
window.lpbContent = this;
//层户右键菜单显隐
lpbChVisible: false,
//右键菜单定位位置
lpbChLeft: 100,
lpbChTop: 100,
// 改变户选中状态
changeChoosedObj: {
bsms: [],
color: "",
},
/**
* @description: 保存当前楼盘表
* @author: renchao
*/
saveLpb () {
if (this.bsmList.length == 0) {
this.$message.error("请至少选择一条数据");
return;
}
this.loading = true;
againAddSldy({
bsmSqyw: this.sqywInfo.bsmSqyw,
bsmSlsq: this.sqywInfo.bsmSlsq,
bdcdysz: this.bsmList,
sjlx: "houses"
}).then((res) => {
this.loading = false
// 选中户bsm合集
bsmList: [],
loading: false,
};
},
mounted() {
this.scyclx
? this.getLpb(this.zrzbsm, this.scyclx)
: this.getLpb(this.zrzbsm);
window.lpbContent = this;
},
methods: {
/**
* @description: 获取当前楼盘表选中户信息
* @param {Array} bsmList
* @author: renchao
*/
getBsmList(bsmList, compFlag) {
// 根据本次传入的组件标识删除之前对应组件标识存入hbsmList的数据
this.bsmList = this.bsmList.filter((i) => i.flag != compFlag);
// 合并本次数据
this.bsmList = this.bsmList.concat([
...new Map(bsmList.map((item) => [item.bdcdyh, item])).values(),
]);
// })
},
/**
* @description: 保存当前楼盘表
* @author: renchao
*/
saveLpb() {
if (this.bsmList.length == 0) {
this.$message.error("请至少选择一条数据");
return;
}
this.loading = true;
store.dispatch("user/reMenuRefresh", false);
againAddSldy({
bsmSqyw: this.sqywInfo.bsmSqyw,
bsmSlsq: this.sqywInfo.bsmSlsq,
bdcdysz: this.bsmList,
sjlx: "houses",
})
.then((res) => {
this.loading = false;
if (res.code == 200) {
this.$message({
showClose: true,
message: '添加成功',
type: 'success'
})
message: "添加成功",
type: "success",
});
if (!this.isJump) {
this.jump(res.result, this.sqywInfo.djywbm)
} else {
store.dispatch('user/refreshPage', true);
this.jump(res.result, this.sqywInfo.djywbm);
}
store.dispatch("user/refreshPage", true);
//this.close();
this.$popupCacel();
} else {
if (res.result && res.result.length > 0) {
this.$popup("申请错误明细", "components/ywdialog", { width: '36%', formData: { result: res.result } })
this.$popup("申请错误明细", "components/ywdialog", {
width: "36%",
formData: { result: res.result },
});
} else {
if (res.result && res.result.length > 0) {
this.$popup("申请错误明细", "components/ywdialog", { width: '36%', formData: { result: res.result } })
this.$popup("申请错误明细", "components/ywdialog", {
width: "36%",
formData: { result: res.result },
});
} else {
this.$popup("申请错误明细", "components/ywdialog", { width: '36%', formData: { message: res.message } })
this.$popup("申请错误明细", "components/ywdialog", {
width: "36%",
formData: { message: res.message },
});
}
}
}
}).catch(() => {
this.loading = false
})
// todo 调用保存接口 传入参数待定
//console.log(this.bsmList,'this.bsmList');
// 保存成功后关闭弹框
//this.$popupCacel()
},
// 改变户选中状态
/**
* @description: 改变户选中状态
* @param {*} bsms
* @param {*} color
* @author: renchao
*/
changeChoosed (bsms, color) {
this.changeChoosedObj.bsms = bsms;
this.changeChoosedObj.color = color;
},
/**
* @description: clearChangeChoosedObj
* @author: renchao
*/
clearChangeChoosedObj () {
this.changeChoosedObj.bsms = [];
},
//全选户
/**
* @description: 全选户
* @param {*} val
* @author: renchao
*/
zdySelectAll (val) {
this.selectAllObj.selectAll = val;
},
//获取楼盘表数据
/**
* @description: 获取楼盘表数据
* @param {*} zrzbsm
* @param {*} scyclx
* @param {*} actual
* @author: renchao
*/
getLpb (zrzbsm, scyclx, actual) {
if (!zrzbsm) {
this.$message({
message: "暂无楼盘表",
type: "warning",
});
} else {
getLpb(zrzbsm, scyclx).then((res) => {
if (res.code == 200) {
if (scyclx) {
if (res.result.syclx == "1") {
res.result.lpb.ljzs = res.result.lpb.ljzs.sort(this.compare("place"));
this.lpbData = res.result.lpb == null ? this.lpbData : res.result.lpb;
}
} else {
this.$message({
message: res.message,
type: "warning",
});
.catch(() => {
this.loading = false;
});
// todo 调用保存接口 传入参数待定
//console.log(this.bsmList,'this.bsmList');
// 保存成功后关闭弹框
//this.$popupCacel()
},
// 改变户选中状态
/**
* @description: 改变户选中状态
* @param {*} bsms
* @param {*} color
* @author: renchao
*/
changeChoosed(bsms, color) {
this.changeChoosedObj.bsms = bsms;
this.changeChoosedObj.color = color;
},
/**
* @description: clearChangeChoosedObj
* @author: renchao
*/
clearChangeChoosedObj() {
this.changeChoosedObj.bsms = [];
},
//全选户
/**
* @description: 全选户
* @param {*} val
* @author: renchao
*/
zdySelectAll(val) {
this.selectAllObj.selectAll = val;
},
//获取楼盘表数据
/**
* @description: 获取楼盘表数据
* @param {*} zrzbsm
* @param {*} scyclx
* @param {*} actual
* @author: renchao
*/
getLpb(zrzbsm, scyclx, actual) {
if (!zrzbsm) {
this.$message({
message: "暂无楼盘表",
type: "warning",
});
} else {
getLpb(zrzbsm, scyclx).then((res) => {
if (res.code == 200) {
if (scyclx) {
if (res.result.syclx == "1") {
res.result.lpb.ljzs = res.result.lpb.ljzs.sort(
this.compare("place")
);
this.lpbData =
res.result.lpb == null ? this.lpbData : res.result.lpb;
}
} else {
this.$message({
......@@ -254,188 +291,201 @@
type: "warning",
});
}
});
}
},
//户右键点击事件
/**
* @description: 户右键点击事件
* @param {*} e
* @param {*} item
* @param {*} type
* @author: renchao
*/
openMenu (e, item, type) {
this.lpbChLeft = e.pageX - 96;
this.lpbChTop = e.pageY - 23;
// this.lpbChVisible = true;
},
//关闭户右键菜单
/**
* @description: 关闭户右键菜单
* @author: renchao
*/
closeMenu () {
this.lpbChVisible = false;
},
//右键菜单点击
/**
* @description: 右键菜单点击
* @author: renchao
*/
menuClick () {
this.closeMenu();
},
/**
* @description: compare
* @param {*} property
* @author: renchao
*/
compare (property) {
return function (a, b) {
var value1 = a[property];
var value2 = b[property];
return value1 - value2;
};
},
/**
* @description: submitForm
* @author: renchao
*/
submitForm () {
if (this.bsmList.length == 0) {
this.$message.error("请至少选择一条数据");
return;
}
this.loading = true;
startBusinessFlow({
bsmSqyw: this.sqywInfo.bsmSqyw,
bdcdysz: this.bsmList,
}).then((res) => {
this.loading = false
} else {
this.$message({
message: res.message,
type: "warning",
});
}
});
}
},
//户右键点击事件
/**
* @description: 户右键点击事件
* @param {*} e
* @param {*} item
* @param {*} type
* @author: renchao
*/
openMenu(e, item, type) {
this.lpbChLeft = e.pageX - 96;
this.lpbChTop = e.pageY - 23;
// this.lpbChVisible = true;
},
//关闭户右键菜单
/**
* @description: 关闭户右键菜单
* @author: renchao
*/
closeMenu() {
this.lpbChVisible = false;
},
//右键菜单点击
/**
* @description: 右键菜单点击
* @author: renchao
*/
menuClick() {
this.closeMenu();
},
/**
* @description: compare
* @param {*} property
* @author: renchao
*/
compare(property) {
return function (a, b) {
var value1 = a[property];
var value2 = b[property];
return value1 - value2;
};
},
/**
* @description: submitForm
* @author: renchao
*/
submitForm() {
if (this.bsmList.length == 0) {
this.$message.error("请至少选择一条数据");
return;
}
this.loading = true;
startBusinessFlow({
bsmSqyw: this.sqywInfo.bsmSqyw,
bdcdysz: this.bsmList,
})
.then((res) => {
this.loading = false;
if (res.code == 200) {
this.$message({
showClose: true,
message: '发起申请成功',
type: 'success'
})
message: "发起申请成功",
type: "success",
});
if (!this.isJump) {
this.jump(res.result, this.sqywInfo.djywbm)
this.jump(res.result, this.sqywInfo.djywbm);
} else {
store.dispatch('user/refreshPage', true);
store.dispatch("user/refreshPage", true);
}
this.close()
this.close();
} else {
if (res.result && res.result.length > 0) {
this.$popup("申请错误明细", "components/ywdialog", { width: '36%', formData: { result: res.result } })
this.$popup("申请错误明细", "components/ywdialog", {
width: "36%",
formData: { result: res.result },
});
} else {
this.$popup("申请错误明细", "components/ywdialog", { width: '36%', formData: { message: res.message } })
this.$popup("申请错误明细", "components/ywdialog", {
width: "36%",
formData: { message: res.message },
});
}
}
}).catch(() => {
this.loading = false
})
},
/**
* @description: close
* @param {*} val
* @author: renchao
*/
close () {
ywPopupCacel()
},
.catch(() => {
this.loading = false;
});
},
computed: {
lpbContentHeight () {
return this.onlyShow ? 32 : 76
// return 76
}
/**
* @description: close
* @param {*} val
* @author: renchao
*/
close() {
ywPopupCacel();
},
watch: {
//户右键菜单显示时,监听到鼠标点击时关闭户右键菜单
lpbChVisible (value) {
if (value) {
document.body.addEventListener("click", this.closeMenu);
} else {
document.body.removeEventListener("click", this.closeMenu);
}
},
computed: {
lpbContentHeight() {
return this.onlyShow ? 32 : 76;
// return 76
},
},
watch: {
//户右键菜单显示时,监听到鼠标点击时关闭户右键菜单
lpbChVisible(value) {
if (value) {
document.body.addEventListener("click", this.closeMenu);
} else {
document.body.removeEventListener("click", this.closeMenu);
}
},
};
},
};
</script>
<style scoped lang="scss">
.lpbContent-wrap {
.lpbContent-wrap {
width: 100%;
height: 100%;
overflow: hidden;
.lpbContent {
width: 100%;
height: 100%;
overflow: hidden;
.lpbContent {
width: 100%;
position: relative;
overflow: scroll;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
position: relative;
overflow: scroll;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
display: flex;
flex-direction: column-reverse;
box-sizing: border-box;
padding-top: 20px;
.ch-zdy-wrap {
display: flex;
flex-direction: column-reverse;
box-sizing: border-box;
padding-top: 20px;
.ch-zdy-wrap {
display: flex;
flex-direction: row;
}
flex-direction: row;
}
.lpb-xmmc {
border: 0;
border-top: 1px solid #e6e6e6;
}
.save-btn {
display: block;
margin: 5px auto;
}
// 自定义右键菜单样式
.contextmenu {
}
.lpb-xmmc {
border: 0;
border-top: 1px solid #e6e6e6;
}
.save-btn {
display: block;
margin: 5px auto;
}
// 自定义右键菜单样式
.contextmenu {
margin: 0;
background: #fff;
width: 92px;
z-index: 3000;
position: fixed;
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;
background: #fff;
width: 92px;
z-index: 3000;
position: fixed;
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;
position: relative;
.childUl {
display: none;
position: absolute;
left: 92px !important;
top: 0 !important;
li {
width: 76px;
}
}
}
li:hover {
background: #eee;
> .childUl {
display: block;
padding: 7px 16px;
cursor: pointer;
position: relative;
.childUl {
display: none;
position: absolute;
left: 92px !important;
top: 0 !important;
li {
width: 76px;
}
}
.noEdit {
color: #e6e6e6;
cursor: not-allowed;
}
.noEdit:hover {
background: #ffffff;
}
li:hover {
background: #eee;
> .childUl {
display: block;
}
}
.noEdit {
color: #e6e6e6;
cursor: not-allowed;
}
.noEdit:hover {
background: #ffffff;
}
}
}
</style>
......
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2024-02-02 16:52:02
* @LastEditTime: 2024-03-07 09:52:35
-->
<!-- 批量删除弹框 -->
<template>
......@@ -65,7 +65,6 @@
}
},
methods: {
// 批量删除确定按钮
/**
* @description: 批量删除确定按钮
* @author: renchao
......@@ -74,6 +73,7 @@
var formdata = new FormData();
formdata.append("bsmSldyList", this.selectBdcdy);
formdata.append("bsmSlsq", this.formData.bsmSlsq);
store.dispatch('user/refreshPage', false);
deleteSlbdcdy(formdata).then(res => {
if (res.code == 200) {
this.$popupCacel();
......
<!--
* @Description: workFrame左侧菜单列表-普通
* @Autor: renchao
* @LastEditTime: 2024-02-01 16:57:55
* @LastEditTime: 2024-03-07 09:54:56
-->
<template>
<div class="leftmenu" :class="{ 'animation-map-drawer': isShowdrawer }">
......@@ -84,7 +84,7 @@
isRefresh: {
handler (newVal, oldVal) {
if (newVal) {
this.loadBdcdylist(true)
this.loadBdcdylist()
}
},
immediate: true
......
......@@ -384,6 +384,19 @@
@upDateQlrxxList="upDateQlrxxList"
:disabled="viewEdit"
:gyfs="ruleForm.sldy.gyfs" />
<div v-if="ruleForm.ywrList && ruleForm.ywrList.length > 0 && ruleForm.qlxx.djlx==200">
<div class="slxx_title title-block">
义务人信息
<div class="triangle"></div>
</div>
<ywrCommonTable
v-if="ruleForm.ywrList"
:disabled="viewEdit"
:tableData="ruleForm.ywrList"
:key="key"
@upDateQlrxxList="upDateYwrxxList" />
</div>
<div class="slxx_title title-block">
登记原因
<div class="triangle"></div>
......@@ -414,6 +427,7 @@
<script>
import ywmix from "@/views/ywbl/mixin/index";
import qlrCommonTable from "@/views/workflow/components/qlrCommonTable";
import ywrCommonTable from "@/views/workflow/components/ywrCommonTable";
import tdytTable from "@/views/workflow/components/tdytTable";
import { Init, saveData } from "@/api/workflow/fwsyqFlow.js";
import { mapGetters } from "vuex";
......@@ -460,7 +474,7 @@
this.isSave = false
})
},
components: { qlrCommonTable, tdytTable },
components: { qlrCommonTable, tdytTable, ywrCommonTable},
computed: {
...mapGetters(["dictData", "flag"]),
},
......
......@@ -71,7 +71,7 @@
import { ywPopupDialog } from "@/utils/popup.js";
import { datas, sendThis } from "../javascript/selectH.js";
import { defaultParameters } from "../javascript/publicDefaultPar.js";
// import { selectHQjdc } from "@/api/ywsq.js";
import { selectHQjdc } from "@/api/ywsq.js";
import { startBusinessFlow, againAddSldy } from "@/api/workFlow.js";
export default {
mixins: [ywsqTable, jump],
......@@ -123,16 +123,16 @@
* @author: renchao
*/
queryClick () {
// this.$startLoading();
// this.queryForm.sqywbm = this.sqywInfo.djywbm;
// selectHQjdc({ ...this.queryForm, ...this.pageData }).then((res) => {
// this.$endLoading();
// if (res.code === 200) {
// let { total, records } = res.result;
// this.tableData.total = total;
// this.tableData.data = records;
// }
// });
this.$startLoading();
this.queryForm.sqywbm = this.sqywInfo.djywbm;
selectHQjdc({ ...this.queryForm, ...this.pageData }).then((res) => {
this.$endLoading();
if (res.code === 200) {
let { total, records } = res.result;
this.tableData.total = total;
this.tableData.data = records;
}
});
},
/**
* @description: submitForm
......