e204bc5c by renchao@pashanhoo.com

Merge branch 'dev'

2 parents e6293395 c428efca
...@@ -111,6 +111,18 @@ export function selectZdjbxx (data) { ...@@ -111,6 +111,18 @@ export function selectZdjbxx (data) {
111 }) 111 })
112 } 112 }
113 113
114 /**
115 * @description: 业务办理-选择单元-查询宗地基本信息
116 * @param {*} data
117 * @author: renchao
118 */
119 export function selectHQjdc (data) {
120 return request({
121 url: SERVER.SERVERAPI + '/rest/ywbl/ywsq/selectHQjdc',
122 method: 'post',
123 data
124 })
125 }
114 /* 126 /*
115 业务办理-选择单元-查询宗地基本信息 127 业务办理-选择单元-查询宗地基本信息
116 */ 128 */
......
...@@ -2,7 +2,8 @@ ...@@ -2,7 +2,8 @@
2 <div class="navbar-con"> 2 <div class="navbar-con">
3 <div class="navbar" v-theme.background="mTheme"> 3 <div class="navbar" v-theme.background="mTheme">
4 <div class="logo"> 4 <div class="logo">
5 <img v-if="logo" :src="logo" class="header-logo"> 5 <img v-if="logo" :src="logo" class="header-logo" />
6 <h4>{{ userInfo.districtName }}不动产登记平台</h4>
6 </div> 7 </div>
7 <!-- <div class="backdrop"> 8 <!-- <div class="backdrop">
8 <theme style="float: right;height: 26px;width: 26px;margin-top: 26px;" @change="themeChange" /> 9 <theme style="float: right;height: 26px;width: 26px;margin-top: 26px;" @change="themeChange" />
...@@ -10,274 +11,314 @@ ...@@ -10,274 +11,314 @@
10 <div class="right-menu"> 11 <div class="right-menu">
11 <!-- <svg-icon class="function" icon-class='function' /> --> 12 <!-- <svg-icon class="function" icon-class='function' /> -->
12 <div class="avatar-wrapper"> 13 <div class="avatar-wrapper">
13 <span style="padding-right:10px">{{ name }}</span> 14 <p>
15 <span style="padding-right: 10px">{{
16 userInfo.departmentName
17 }}</span>
18 <span style="padding-right: 10px">{{ userInfo.name }}</span>
19 </p>
14 <img :src="avatar + '?imageView2/1/w/80/h/80'" class="user-avatar" /> 20 <img :src="avatar + '?imageView2/1/w/80/h/80'" class="user-avatar" />
15 </div> 21 </div>
16 <svg-icon class="shutdown" @click.native="logout" icon-class='shutdown' /> 22 <svg-icon
23 class="shutdown"
24 @click.native="logout"
25 icon-class="shutdown"
26 />
17 </div> 27 </div>
18 </div> 28 </div>
19 <NoticeBar class="NoticeBar" :noticeList="noticeList" v-if="noticeList.length > 0" /> 29 <NoticeBar
30 class="NoticeBar"
31 :noticeList="noticeList"
32 v-if="noticeList.length > 0"
33 />
20 </div> 34 </div>
21 </template> 35 </template>
22 <script> 36 <script>
23 import axios from 'axios' 37 import axios from "axios";
24 import Cookies from 'js-cookie' 38 import Cookies from "js-cookie";
25 import { mapGetters } from 'vuex' 39 import { mapGetters } from "vuex";
26 import NoticeBar from '@/components/NoticeBar/index' 40 import NoticeBar from "@/components/NoticeBar/index";
27 import { getHomeNoticeList } from "@/api/home" 41 import { getHomeNoticeList } from "@/api/home";
28 import { setToken } from "@/utils/util"; 42 import { setToken } from "@/utils/util";
29 export default { 43 export default {
30 components: { 44 components: {
31 NoticeBar 45 NoticeBar,
46 },
47 computed: {
48 ...mapGetters(["sidebar", "avatar", "name", "userInfo"]),
49 baseUrl() {
50 return window._config.baseUrl;
32 }, 51 },
33 computed: { 52 },
34 ...mapGetters(['sidebar', 'avatar', 'name']), 53 data() {
35 baseUrl () { 54 return {
36 return window._config.baseUrl; 55 logo: require("../../image/bdclogo.png"),
37 }, 56 noticeList: [],
38 }, 57 };
39 data () { 58 },
40 return { 59 created() {
41 logo: require('../../image/logo.png'), 60 this.queryNoticeList();
42 noticeList: [] 61 },
62 mounted() {
63 let that = this;
64 window.addEventListener("message", function (messageEvent) {
65 if (messageEvent.data.update) {
66 that.queryNoticeList();
43 } 67 }
44 }, 68 });
45 created () { 69 },
46 this.queryNoticeList() 70 destroyed() {
47 }, 71 window.removeEventListener("message");
48 mounted () { 72 },
49 let that = this 73 methods: {
50 window.addEventListener('message', function (messageEvent) { 74 /**
51 if (messageEvent.data.update) { 75 * @description: queryNoticeList
52 that.queryNoticeList() 76 * @author: renchao
77 */
78 queryNoticeList() {
79 getHomeNoticeList().then((res) => {
80 if (res.result) {
81 this.noticeList = res.result.noticeList;
53 } 82 }
54 }) 83 });
55 }, 84 },
56 destroyed () { 85 /**
57 window.removeEventListener('message') 86 * @description: logout
87 * @author: renchao
88 */
89 logout() {
90 axios
91 .post(window._config.services.management + "/management/logout")
92 .then(() => {
93 setToken(undefined);
94 sessionStorage.removeItem("token");
95 localStorage.setItem("dj-location", window.location.href);
96 window.location.href =
97 window._config.casBaseURL +
98 "/logout?service=" +
99 encodeURIComponent(window.location.href);
100 });
58 }, 101 },
59 methods: {
60 /**
61 * @description: queryNoticeList
62 * @author: renchao
63 */
64 queryNoticeList () {
65 getHomeNoticeList().then(res => {
66 if (res.result) {
67 this.noticeList = res.result.noticeList
68 }
69 })
70 },
71 /**
72 * @description: logout
73 * @author: renchao
74 */
75 logout () {
76 axios.post(window._config.services.management + "/management/logout").then(() => {
77 setToken(undefined)
78 sessionStorage.removeItem('token')
79 localStorage.setItem('dj-location', window.location.href)
80 window.location.href = window._config.casBaseURL + '/logout?service=' + encodeURIComponent(window.location.href);
81 })
82 },
83 102
84 /** 103 /**
85 * @description: themeChange 104 * @description: themeChange
86 * @param {*} val 105 * @param {*} val
87 * @author: renchao 106 * @author: renchao
88 */ 107 */
89 themeChange (val) { 108 themeChange(val) {
90 this.$store.dispatch('app/updateTheme', val) 109 this.$store.dispatch("app/updateTheme", val);
91 }, 110 },
92 searchMessageCenter () { 111 searchMessageCenter() {
93 this.$router.push({ name: 'messagecenter' }) 112 this.$router.push({ name: "messagecenter" });
94 }, 113 },
95 /** 114 /**
96 * @description: handleCommand 115 * @description: handleCommand
97 * @param {*} command 116 * @param {*} command
98 * @author: renchao 117 * @author: renchao
99 */ 118 */
100 handleCommand (command) { 119 handleCommand(command) {
101 if (command == 'a') { 120 if (command == "a") {
102 //个人中心 121 //个人中心
103 this.$router.push({ name: 'personal' }) 122 this.$router.push({ name: "personal" });
104 }
105 } 123 }
106 } 124 },
107 } 125 },
126 };
108 </script> 127 </script>
109 <style lang="scss" scoped> 128 <style lang="scss" scoped>
110 .navbar-con { 129 .navbar-con {
111 position: relative; 130 position: relative;
131 }
132
133 .NoticeBar {
134 position: absolute;
135 bottom: 0;
136 }
137
138 .el-dropdown-menu {
139 padding: 0 !important;
140 border: 1px solid #ebeef5;
141 box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.12);
142 border-radius: 4px 0 0 4px 4px;
143
144 .el-dropdown-menu__item {
145 text-align: center;
146 margin-top: 0 !important;
147 font-size: 14px;
148 font-family: PingFangSC-Regular, PingFang SC;
149 font-weight: 400;
150 color: #4a4a4a;
151 width: 140px;
152 height: 36px;
153 line-height: 36px;
112 } 154 }
113 155
114 .NoticeBar { 156 .el-dropdown-menu__item:nth-child(6) {
115 position: absolute; 157 border-top: 1px solid #ebeef5;
116 bottom: 0;
117 } 158 }
118 159
119 .el-dropdown-menu { 160 .popper__arrow {
120 padding: 0 !important; 161 top: -11px !important;
121 border: 1px solid #ebeef5; 162 left: 110px !important;
122 box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.12); 163 transform: rotate(0deg) scale(2);
123 border-radius: 4px 0 0 4px 4px; 164 }
124 165
125 .el-dropdown-menu__item { 166 .el-dropdown-menu__item:not(.is-disabled):hover,
126 text-align: center; 167 .el-dropdown-menu__item:focus {
127 margin-top: 0 !important; 168 background: #f6f7f9;
128 font-size: 14px; 169 color: #4a4a4a;
129 font-family: PingFangSC-Regular, PingFang SC; 170 }
130 font-weight: 400; 171 }
131 color: #4a4a4a;
132 width: 140px;
133 height: 36px;
134 line-height: 36px;
135 }
136 172
137 .el-dropdown-menu__item:nth-child(6) { 173 .navbar {
138 border-top: 1px solid #ebeef5; 174 height: $headerHeight;
139 } 175 overflow: hidden;
176 position: relative;
177 background: #fff;
178 // background: linear-gradient(270deg, #148CEE 0%, #1870E3 100%); //默认颜色
179 box-shadow: 0 1px 0px rgba(0, 21, 41, 0.08);
180 display: flex;
181 align-items: center;
182 padding: 0 20px;
183 justify-content: space-between;
140 184
141 .popper__arrow { 185 .logo {
142 top: -11px !important; 186 // margin-top: -20px;
143 left: 110px !important; 187 .header-logo {
144 transform: rotate(0deg) scale(2); 188 width: 40px;
189 float: left;
190 vertical-align: middle;
145 } 191 }
146 192 h4 {
147 .el-dropdown-menu__item:not(.is-disabled):hover, 193 float: left;
148 .el-dropdown-menu__item:focus { 194 vertical-align: middle;
149 background: #f6f7f9; 195 line-height: 40px;
150 color: #4a4a4a; 196 font-size: 22px;
197 color: #fff;
198 text-indent: 6px;
199 letter-spacing: 2px;
151 } 200 }
152 } 201 }
153 202
154 .navbar { 203 .backdrop {
204 flex: 1;
205 width: 60%;
206 background: url("../../image/backdrop.png");
207 background-size: 100% 100%;
155 height: $headerHeight; 208 height: $headerHeight;
156 overflow: hidden; 209 }
157 position: relative;
158 background: #fff;
159 // background: linear-gradient(270deg, #148CEE 0%, #1870E3 100%); //默认颜色
160 box-shadow: 0 1px 0px rgba(0, 21, 41, 0.08);
161 display: flex;
162 align-items: center;
163 padding: 0 20px;
164 justify-content: space-between;
165 210
166 .header-logo { 211 .hamburger-container {
167 width: 300px; 212 line-height: 43px;
168 } 213 height: 100%;
214 float: left;
215 cursor: pointer;
216 transition: background 0.3s;
217 -webkit-tap-highlight-color: transparent;
169 218
170 .backdrop { 219 &:hover {
171 flex: 1; 220 background: rgba(0, 0, 0, 0.025);
172 width: 60%;
173 background: url("../../image/backdrop.png");
174 background-size: 100% 100%;
175 height: $headerHeight;
176 } 221 }
222 }
177 223
178 .hamburger-container { 224 .breadcrumb-container {
179 line-height: 43px; 225 float: left;
180 height: 100%; 226 }
181 float: left; 227
228 .right-menu {
229 float: right;
230 height: 100%;
231 line-height: 50px;
232 display: flex;
233 align-items: center;
234
235 .function {
236 margin: 0 15px;
182 cursor: pointer; 237 cursor: pointer;
183 transition: background 0.3s; 238 }
184 -webkit-tap-highlight-color: transparent;
185 239
186 &:hover { 240 .shutdown {
187 background: rgba(0, 0, 0, 0.025); 241 font-size: 20px;
188 } 242 margin-left: 15px;
243 cursor: pointer;
189 } 244 }
190 245
191 .breadcrumb-container { 246 .organization-item {
192 float: left; 247 margin-right: 40px;
248 margin-top: -40px !important;
193 } 249 }
194 250
195 .right-menu { 251 .item {
196 float: right; 252 margin-right: 40px;
197 height: 100%; 253 margin-top: -20px;
198 line-height: 50px; 254 line-height: 18.4px;
199 display: flex; 255 cursor: pointer;
200 align-items: center; 256 position: relative;
201 257
202 .function { 258 .item-box {
203 margin: 0 15px; 259 position: absolute;
260 top: -5px;
261 left: 3px;
262 width: 100%;
263 min-width: 25px;
264 height: 25px;
204 cursor: pointer; 265 cursor: pointer;
266 z-index: 100;
205 } 267 }
268 }
206 269
207 .shutdown { 270 &:focus {
208 font-size: 20px; 271 outline: none;
209 margin-left: 15px; 272 }
210 cursor: pointer;
211 }
212 273
213 .organization-item { 274 .right-menu-item {
214 margin-right: 40px; 275 display: inline-block;
215 margin-top: -40px !important; 276 font-size: 18px;
216 } 277 color: #fff;
278 vertical-align: text-bottom;
217 279
218 .item { 280 &.hover-effect {
219 margin-right: 40px;
220 margin-top: -20px;
221 line-height: 18.4px;
222 cursor: pointer; 281 cursor: pointer;
223 position: relative; 282 transition: background 0.3s;
224 283 display: flex;
225 .item-box { 284 align-items: center;
226 position: absolute;
227 top: -5px;
228 left: 3px;
229 width: 100%;
230 min-width: 25px;
231 height: 25px;
232 cursor: pointer;
233 z-index: 100;
234 }
235 }
236
237 &:focus {
238 outline: none;
239 }
240
241 .right-menu-item {
242 display: inline-block;
243 font-size: 18px;
244 color: #fff;
245 vertical-align: text-bottom;
246
247 &.hover-effect {
248 cursor: pointer;
249 transition: background 0.3s;
250 display: flex;
251 align-items: center;
252 285
253 &:hover { 286 &:hover {
254 background: rgba(0, 0, 0, 0.025); 287 background: rgba(0, 0, 0, 0.025);
255 }
256 } 288 }
257 } 289 }
290 }
258 291
259 .avatar-wrapper { 292 .avatar-wrapper {
260 position: relative; 293 position: relative;
261 display: flex; 294 display: flex;
295 height: 40px;
296 align-items: center;
297 color: #ffffff;
298 p {
299 font-size: 14px;
262 height: 40px; 300 height: 40px;
263 align-items: center; 301 span {
264 color: #ffffff; 302 display: block;
265 303 line-height: 20px;
266 .user-avatar { 304 text-align: right;
267 cursor: pointer;
268 width: 35px;
269 height: 35px;
270 border-radius: 50%;
271 } 305 }
306 }
307 .user-avatar {
308 cursor: pointer;
309 width: 35px;
310 height: 35px;
311 border-radius: 50%;
312 }
272 313
273 .el-icon-caret-bottom { 314 .el-icon-caret-bottom {
274 cursor: pointer; 315 cursor: pointer;
275 position: absolute; 316 position: absolute;
276 right: -15px; 317 right: -15px;
277 top: 17px; 318 top: 17px;
278 font-size: 12px; 319 font-size: 12px;
279 }
280 } 320 }
281 } 321 }
282 } 322 }
323 }
283 </style> 324 </style>
......
1 <template> 1 <template>
2 <div class="lpbContent-wrap" ref="lpbContentWrap"> 2 <div class="lpbContent-wrap" ref="lpbContentWrap">
3 <div class="lpbContent" ref="lpbContent" :style="{ 'height': 'calc(100% - '+ lpbContentHeight +'px)'}"> 3 <div
4 class="lpbContent"
5 ref="lpbContent"
6 :style="{ height: 'calc(100% - ' + lpbContentHeight + 'px)' }"
7 >
4 <!-- 纵向倒序排列 逻辑幢位于独立幢单元和独立层户的上方 --> 8 <!-- 纵向倒序排列 逻辑幢位于独立幢单元和独立层户的上方 -->
5 <div class="ch-zdy-wrap"> 9 <div class="ch-zdy-wrap">
6 <!-- 幢单元 --> 10 <!-- 幢单元 -->
7 <zdy-cpn v-if="lpbData.zdys.length" :zdys="lpbData.zdys" :onlyShow="onlyShow" /> 11 <zdy-cpn
12 v-if="lpbData.zdys.length"
13 :zdys="lpbData.zdys"
14 :onlyShow="onlyShow"
15 />
8 <!-- 独立层户 --> 16 <!-- 独立层户 -->
9 <ch-cpn v-if="lpbData.cs.length" :ch="lpbData.cs" :onlyShow="onlyShow" /> 17 <ch-cpn
18 v-if="lpbData.cs.length"
19 :ch="lpbData.cs"
20 :onlyShow="onlyShow"
21 />
10 </div> 22 </div>
11 <!-- 逻辑幢 --> 23 <!-- 逻辑幢 -->
12 <ljzs-cpn v-if="lpbData.ljzs.length" :ljzs="lpbData.ljzs" :onlyShow="onlyShow" /> 24 <ljzs-cpn
25 v-if="lpbData.ljzs.length"
26 :ljzs="lpbData.ljzs"
27 :onlyShow="onlyShow"
28 />
13 </div> 29 </div>
14 <!-- 自然幢名称 --> 30 <!-- 自然幢名称 -->
15 <p class="lpb-xmmc" v-if="onlyShow" style="border-bottom: 1px solid #e6e6e6">{{ lpbData.xmmc }}</p> 31 <p
16 <p class="lpb-xmmc" v-else :style="{ 'border-bottom':'1px solid #e6e6e6'}"> 32 class="lpb-xmmc"
33 v-if="onlyShow"
34 style="border-bottom: 1px solid #e6e6e6"
35 >
36 {{ lpbData.xmmc }}
37 </p>
38 <p
39 class="lpb-xmmc"
40 v-else
41 :style="{ 'border-bottom': '1px solid #e6e6e6' }"
42 >
17 <el-checkbox @change="zdySelectAll($event)">{{ 43 <el-checkbox @change="zdySelectAll($event)">{{
18 lpbData.xmmc 44 lpbData.xmmc
19 }}</el-checkbox> 45 }}</el-checkbox>
20 </p> 46 </p>
21 <el-button type="primary" class="save-btn" v-if="!onlyShow && showSave" @click="saveLpb">选择确认</el-button> 47 <el-button
22 <el-button type="primary" class="save-btn" v-if="!onlyShow && !showSave" @click="submitForm" :loading="loading">发起申请</el-button> 48 type="primary"
49 class="save-btn"
50 v-if="!onlyShow && showSave"
51 @click="saveLpb"
52 >选择确认</el-button
53 >
54 <el-button
55 type="primary"
56 class="save-btn"
57 v-if="!onlyShow && !showSave"
58 @click="submitForm"
59 :loading="loading"
60 >发起申请</el-button
61 >
23 <!-- 右键菜单 --> 62 <!-- 右键菜单 -->
24 <ul 63 <ul
25 v-show="lpbChVisible" 64 v-show="lpbChVisible"
26 :style="{ left: lpbChLeft + 'px', top: lpbChTop + 'px' }" 65 :style="{ left: lpbChLeft + 'px', top: lpbChTop + 'px' }"
27 class="contextmenu"> 66 class="contextmenu"
67 >
28 <li @click="menuClick">菜单一</li> 68 <li @click="menuClick">菜单一</li>
29 <li @click="menuClick">菜单二</li> 69 <li @click="menuClick">菜单二</li>
30 </ul> 70 </ul>
31 </div> 71 </div>
32 </template> 72 </template>
33 <script> 73 <script>
34 import { getLpb } from "@/api/lpcx.js"; 74 import { getLpb } from "@/api/lpcx.js";
35 import chCpn from "./ch.vue"; 75 import chCpn from "./ch.vue";
36 import zdyCpn from "./zdys.vue"; 76 import zdyCpn from "./zdys.vue";
37 import ljzsCpn from "./ljzs.vue"; 77 import ljzsCpn from "./ljzs.vue";
38 import { startBusinessFlow, choiceBdcdy, againAddSldy } from "@/api/workFlow.js"; 78 import {
39 import jump from "../../ywbl/ywsq/components/mixin/jump"; 79 startBusinessFlow,
40 import store from '@/store/index.js' 80 choiceBdcdy,
41 import { ywPopupCacel } from "@/utils/popup.js"; 81 againAddSldy,
42 export default { 82 } from "@/api/workFlow.js";
43 mixins: [jump], 83 import jump from "../../ywbl/ywsq/components/mixin/jump";
44 provide () { 84 import store from "@/store/index.js";
45 return { 85 import { ywPopupCacel } from "@/utils/popup.js";
46 openMenu: this.openMenu, 86 export default {
47 selectAll: this.selectAllObj, 87 mixins: [jump],
48 changeChoosedObj: this.changeChoosedObj, 88 provide() {
49 clearChangeChoosedObj: this.clearChangeChoosedObj, 89 return {
50 getBsmList: this.getBsmList 90 openMenu: this.openMenu,
51 }; 91 selectAll: this.selectAllObj,
92 changeChoosedObj: this.changeChoosedObj,
93 clearChangeChoosedObj: this.clearChangeChoosedObj,
94 getBsmList: this.getBsmList,
95 };
96 },
97 name: "",
98 components: { chCpn, zdyCpn, ljzsCpn },
99 props: {
100 zrzbsm: {
101 type: String,
102 default: "",
52 }, 103 },
53 name: "", 104 lpbParent: {
54 components: { chCpn, zdyCpn, ljzsCpn }, 105 type: String,
55 props: { 106 default: "isLpb",
56 zrzbsm: { 107 },
57 type: String, 108 isHb: {
58 default: "", 109 type: Boolean,
59 }, 110 default: true,
60 lpbParent: { 111 },
61 type: String, 112 onlyShow: {
62 default: "isLpb", 113 type: Boolean,
63 }, 114 default: true,
64 isHb: { 115 },
65 type: Boolean, 116 showSave: {
66 default: true, 117 type: Boolean,
67 }, 118 default: false,
68 onlyShow: { 119 },
69 type: Boolean, 120 scyclx: {
70 default: true, 121 type: Number,
71 }, 122 default: 0,
72 showSave: { 123 },
73 type: Boolean, 124 sqywInfo: {
74 default: false, 125 type: Object,
75 }, 126 default: () => {},
76 scyclx: { 127 },
77 type: Number, 128 },
78 default: 0, 129 data() {
79 }, 130 return {
80 sqywInfo: { 131 lpbData: {
81 type: Object, 132 ljzs: [],
82 default: () => { } 133 cs: [],
83 }, 134 zdys: [],
84 name: "",
85 components: { chCpn, zdyCpn, ljzsCpn },
86 props: {
87 zrzbsm: {
88 type: String,
89 default: "",
90 },
91 lpbParent: {
92 type: String,
93 default: "isLpb",
94 },
95 isHb: {
96 type: Boolean,
97 default: true,
98 },
99 onlyShow: {
100 type: Boolean,
101 default: true,
102 },
103 showSave: {
104 type: Boolean,
105 default: false,
106 },
107 scyclx: {
108 type: Number,
109 default: 0,
110 },
111 sqywInfo: {
112 type: Object,
113 default: () => { }
114 },
115 isJump: { type: Boolean, default: false },
116 }, 135 },
117 data () { 136 //户全选标识 由于依赖注入的绑定并不是可响应的,所以传入可监听的对象以获取其属性的响应
118 return { 137 selectAllObj: {
119 lpbData: { 138 selectAll: false,
120 ljzs: [],
121 cs: [],
122 zdys: [],
123 },
124 //户全选标识 由于依赖注入的绑定并不是可响应的,所以传入可监听的对象以获取其属性的响应
125 selectAllObj: {
126 selectAll: false,
127 },
128 //层户右键菜单显隐
129 lpbChVisible: false,
130 //右键菜单定位位置
131 lpbChLeft: 100,
132 lpbChTop: 100,
133 // 改变户选中状态
134 changeChoosedObj: {
135 bsms: [],
136 color: ''
137 },
138 // 选中户bsm合集
139 bsmList: [],
140 loading: false,
141 };
142 }, 139 },
143 mounted () { 140 //层户右键菜单显隐
144 this.scyclx ? this.getLpb(this.zrzbsm, this.scyclx) : this.getLpb(this.zrzbsm); 141 lpbChVisible: false,
145 window.lpbContent = this; 142 //右键菜单定位位置
143 lpbChLeft: 100,
144 lpbChTop: 100,
145 // 改变户选中状态
146 changeChoosedObj: {
147 bsms: [],
148 color: "",
146 }, 149 },
147 /** 150 // 选中户bsm合集
148 * @description: 保存当前楼盘表 151 bsmList: [],
149 * @author: renchao 152 loading: false,
150 */ 153 };
151 saveLpb () { 154 },
152 if (this.bsmList.length == 0) { 155 mounted() {
153 this.$message.error("请至少选择一条数据"); 156 this.scyclx
154 return; 157 ? this.getLpb(this.zrzbsm, this.scyclx)
155 } 158 : this.getLpb(this.zrzbsm);
156 this.loading = true; 159 window.lpbContent = this;
157 againAddSldy({ 160 },
158 bsmSqyw: this.sqywInfo.bsmSqyw, 161 methods: {
159 bsmSlsq: this.sqywInfo.bsmSlsq, 162 /**
160 bdcdysz: this.bsmList, 163 * @description: 获取当前楼盘表选中户信息
161 sjlx: "houses" 164 * @param {Array} bsmList
162 }).then((res) => { 165 * @author: renchao
163 this.loading = false 166 */
167 getBsmList(bsmList, compFlag) {
168 // 根据本次传入的组件标识删除之前对应组件标识存入hbsmList的数据
169 this.bsmList = this.bsmList.filter((i) => i.flag != compFlag);
170 // 合并本次数据
171 this.bsmList = this.bsmList.concat([
172 ...new Map(bsmList.map((item) => [item.bdcdyh, item])).values(),
173 ]);
174 // })
175 },
176 /**
177 * @description: 保存当前楼盘表
178 * @author: renchao
179 */
180 saveLpb() {
181 if (this.bsmList.length == 0) {
182 this.$message.error("请至少选择一条数据");
183 return;
184 }
185 this.loading = true;
186 store.dispatch("user/reMenuRefresh", false);
187 againAddSldy({
188 bsmSqyw: this.sqywInfo.bsmSqyw,
189 bsmSlsq: this.sqywInfo.bsmSlsq,
190 bdcdysz: this.bsmList,
191 sjlx: "houses",
192 })
193 .then((res) => {
194 this.loading = false;
164 if (res.code == 200) { 195 if (res.code == 200) {
165 this.$message({ 196 this.$message({
166 showClose: true, 197 showClose: true,
167 message: '添加成功', 198 message: "添加成功",
168 type: 'success' 199 type: "success",
169 }) 200 });
170 if (!this.isJump) { 201 if (!this.isJump) {
171 this.jump(res.result, this.sqywInfo.djywbm) 202 this.jump(res.result, this.sqywInfo.djywbm);
172 } else {
173 store.dispatch('user/refreshPage', true);
174 } 203 }
204 store.dispatch("user/refreshPage", true);
175 //this.close(); 205 //this.close();
176 this.$popupCacel(); 206 this.$popupCacel();
177 } else { 207 } else {
178 if (res.result && res.result.length > 0) { 208 if (res.result && res.result.length > 0) {
179 this.$popup("申请错误明细", "components/ywdialog", { width: '36%', formData: { result: res.result } }) 209 this.$popup("申请错误明细", "components/ywdialog", {
210 width: "36%",
211 formData: { result: res.result },
212 });
180 } else { 213 } else {
181 if (res.result && res.result.length > 0) { 214 if (res.result && res.result.length > 0) {
182 this.$popup("申请错误明细", "components/ywdialog", { width: '36%', formData: { result: res.result } }) 215 this.$popup("申请错误明细", "components/ywdialog", {
216 width: "36%",
217 formData: { result: res.result },
218 });
183 } else { 219 } else {
184 this.$popup("申请错误明细", "components/ywdialog", { width: '36%', formData: { message: res.message } }) 220 this.$popup("申请错误明细", "components/ywdialog", {
221 width: "36%",
222 formData: { message: res.message },
223 });
185 } 224 }
186 } 225 }
187 } 226 }
188 }).catch(() => {
189 this.loading = false
190 }) 227 })
191 // todo 调用保存接口 传入参数待定 228 .catch(() => {
192 //console.log(this.bsmList,'this.bsmList'); 229 this.loading = false;
193 // 保存成功后关闭弹框 230 });
194 //this.$popupCacel() 231 // todo 调用保存接口 传入参数待定
195 }, 232 //console.log(this.bsmList,'this.bsmList');
196 // 改变户选中状态 233 // 保存成功后关闭弹框
197 /** 234 //this.$popupCacel()
198 * @description: 改变户选中状态 235 },
199 * @param {*} bsms 236 // 改变户选中状态
200 * @param {*} color 237 /**
201 * @author: renchao 238 * @description: 改变户选中状态
202 */ 239 * @param {*} bsms
203 changeChoosed (bsms, color) { 240 * @param {*} color
204 this.changeChoosedObj.bsms = bsms; 241 * @author: renchao
205 this.changeChoosedObj.color = color; 242 */
206 }, 243 changeChoosed(bsms, color) {
207 /** 244 this.changeChoosedObj.bsms = bsms;
208 * @description: clearChangeChoosedObj 245 this.changeChoosedObj.color = color;
209 * @author: renchao 246 },
210 */ 247 /**
211 clearChangeChoosedObj () { 248 * @description: clearChangeChoosedObj
212 this.changeChoosedObj.bsms = []; 249 * @author: renchao
213 }, 250 */
214 //全选户 251 clearChangeChoosedObj() {
215 /** 252 this.changeChoosedObj.bsms = [];
216 * @description: 全选户 253 },
217 * @param {*} val 254 //全选户
218 * @author: renchao 255 /**
219 */ 256 * @description: 全选户
220 zdySelectAll (val) { 257 * @param {*} val
221 this.selectAllObj.selectAll = val; 258 * @author: renchao
222 }, 259 */
223 //获取楼盘表数据 260 zdySelectAll(val) {
224 /** 261 this.selectAllObj.selectAll = val;
225 * @description: 获取楼盘表数据 262 },
226 * @param {*} zrzbsm 263 //获取楼盘表数据
227 * @param {*} scyclx 264 /**
228 * @param {*} actual 265 * @description: 获取楼盘表数据
229 * @author: renchao 266 * @param {*} zrzbsm
230 */ 267 * @param {*} scyclx
231 getLpb (zrzbsm, scyclx, actual) { 268 * @param {*} actual
232 if (!zrzbsm) { 269 * @author: renchao
233 this.$message({ 270 */
234 message: "暂无楼盘表", 271 getLpb(zrzbsm, scyclx, actual) {
235 type: "warning", 272 if (!zrzbsm) {
236 }); 273 this.$message({
237 } else { 274 message: "暂无楼盘表",
238 getLpb(zrzbsm, scyclx).then((res) => { 275 type: "warning",
239 if (res.code == 200) { 276 });
240 if (scyclx) { 277 } else {
241 if (res.result.syclx == "1") { 278 getLpb(zrzbsm, scyclx).then((res) => {
242 res.result.lpb.ljzs = res.result.lpb.ljzs.sort(this.compare("place")); 279 if (res.code == 200) {
243 this.lpbData = res.result.lpb == null ? this.lpbData : res.result.lpb; 280 if (scyclx) {
244 } 281 if (res.result.syclx == "1") {
245 } else { 282 res.result.lpb.ljzs = res.result.lpb.ljzs.sort(
246 this.$message({ 283 this.compare("place")
247 message: res.message, 284 );
248 type: "warning", 285 this.lpbData =
249 }); 286 res.result.lpb == null ? this.lpbData : res.result.lpb;
250 } 287 }
251 } else { 288 } else {
252 this.$message({ 289 this.$message({
...@@ -254,188 +291,201 @@ ...@@ -254,188 +291,201 @@
254 type: "warning", 291 type: "warning",
255 }); 292 });
256 } 293 }
257 }); 294 } else {
258 } 295 this.$message({
259 296 message: res.message,
260 }, 297 type: "warning",
261 //户右键点击事件 298 });
262 /** 299 }
263 * @description: 户右键点击事件 300 });
264 * @param {*} e 301 }
265 * @param {*} item 302 },
266 * @param {*} type 303 //户右键点击事件
267 * @author: renchao 304 /**
268 */ 305 * @description: 户右键点击事件
269 openMenu (e, item, type) { 306 * @param {*} e
270 this.lpbChLeft = e.pageX - 96; 307 * @param {*} item
271 this.lpbChTop = e.pageY - 23; 308 * @param {*} type
272 // this.lpbChVisible = true; 309 * @author: renchao
273 }, 310 */
274 //关闭户右键菜单 311 openMenu(e, item, type) {
275 /** 312 this.lpbChLeft = e.pageX - 96;
276 * @description: 关闭户右键菜单 313 this.lpbChTop = e.pageY - 23;
277 * @author: renchao 314 // this.lpbChVisible = true;
278 */ 315 },
279 closeMenu () { 316 //关闭户右键菜单
280 this.lpbChVisible = false; 317 /**
281 }, 318 * @description: 关闭户右键菜单
282 //右键菜单点击 319 * @author: renchao
283 /** 320 */
284 * @description: 右键菜单点击 321 closeMenu() {
285 * @author: renchao 322 this.lpbChVisible = false;
286 */ 323 },
287 menuClick () { 324 //右键菜单点击
288 this.closeMenu(); 325 /**
289 }, 326 * @description: 右键菜单点击
290 /** 327 * @author: renchao
291 * @description: compare 328 */
292 * @param {*} property 329 menuClick() {
293 * @author: renchao 330 this.closeMenu();
294 */ 331 },
295 compare (property) { 332 /**
296 return function (a, b) { 333 * @description: compare
297 var value1 = a[property]; 334 * @param {*} property
298 var value2 = b[property]; 335 * @author: renchao
299 return value1 - value2; 336 */
300 }; 337 compare(property) {
301 }, 338 return function (a, b) {
302 /** 339 var value1 = a[property];
303 * @description: submitForm 340 var value2 = b[property];
304 * @author: renchao 341 return value1 - value2;
305 */ 342 };
306 submitForm () { 343 },
307 if (this.bsmList.length == 0) { 344 /**
308 this.$message.error("请至少选择一条数据"); 345 * @description: submitForm
309 return; 346 * @author: renchao
310 } 347 */
311 this.loading = true; 348 submitForm() {
312 startBusinessFlow({ 349 if (this.bsmList.length == 0) {
313 bsmSqyw: this.sqywInfo.bsmSqyw, 350 this.$message.error("请至少选择一条数据");
314 bdcdysz: this.bsmList, 351 return;
315 }).then((res) => { 352 }
316 this.loading = false 353 this.loading = true;
354 startBusinessFlow({
355 bsmSqyw: this.sqywInfo.bsmSqyw,
356 bdcdysz: this.bsmList,
357 })
358 .then((res) => {
359 this.loading = false;
317 if (res.code == 200) { 360 if (res.code == 200) {
318 this.$message({ 361 this.$message({
319 showClose: true, 362 showClose: true,
320 message: '发起申请成功', 363 message: "发起申请成功",
321 type: 'success' 364 type: "success",
322 }) 365 });
323 if (!this.isJump) { 366 if (!this.isJump) {
324 this.jump(res.result, this.sqywInfo.djywbm) 367 this.jump(res.result, this.sqywInfo.djywbm);
325 } else { 368 } else {
326 store.dispatch('user/refreshPage', true); 369 store.dispatch("user/refreshPage", true);
327 } 370 }
328 this.close() 371 this.close();
329 } else { 372 } else {
330 if (res.result && res.result.length > 0) { 373 if (res.result && res.result.length > 0) {
331 this.$popup("申请错误明细", "components/ywdialog", { width: '36%', formData: { result: res.result } }) 374 this.$popup("申请错误明细", "components/ywdialog", {
375 width: "36%",
376 formData: { result: res.result },
377 });
332 } else { 378 } else {
333 this.$popup("申请错误明细", "components/ywdialog", { width: '36%', formData: { message: res.message } }) 379 this.$popup("申请错误明细", "components/ywdialog", {
380 width: "36%",
381 formData: { message: res.message },
382 });
334 } 383 }
335 } 384 }
336 }).catch(() => {
337 this.loading = false
338 }) 385 })
339 }, 386 .catch(() => {
340 /** 387 this.loading = false;
341 * @description: close 388 });
342 * @param {*} val
343 * @author: renchao
344 */
345 close () {
346 ywPopupCacel()
347 },
348 }, 389 },
349 computed: { 390 /**
350 lpbContentHeight () { 391 * @description: close
351 return this.onlyShow ? 32 : 76 392 * @param {*} val
352 // return 76 393 * @author: renchao
353 } 394 */
395 close() {
396 ywPopupCacel();
354 }, 397 },
355 watch: { 398 },
356 //户右键菜单显示时,监听到鼠标点击时关闭户右键菜单 399 computed: {
357 lpbChVisible (value) { 400 lpbContentHeight() {
358 if (value) { 401 return this.onlyShow ? 32 : 76;
359 document.body.addEventListener("click", this.closeMenu); 402 // return 76
360 } else { 403 },
361 document.body.removeEventListener("click", this.closeMenu); 404 },
362 } 405 watch: {
406 //户右键菜单显示时,监听到鼠标点击时关闭户右键菜单
407 lpbChVisible(value) {
408 if (value) {
409 document.body.addEventListener("click", this.closeMenu);
410 } else {
411 document.body.removeEventListener("click", this.closeMenu);
363 } 412 }
364 }, 413 },
365 }; 414 },
415 };
366 </script> 416 </script>
367 <style scoped lang="scss"> 417 <style scoped lang="scss">
368 .lpbContent-wrap { 418 .lpbContent-wrap {
419 width: 100%;
420 height: 100%;
421 overflow: hidden;
422 .lpbContent {
369 width: 100%; 423 width: 100%;
370 height: 100%; 424 position: relative;
371 overflow: hidden; 425 overflow: scroll;
372 .lpbContent { 426 -webkit-user-select: none;
373 width: 100%; 427 -moz-user-select: none;
374 position: relative; 428 -ms-user-select: none;
375 overflow: scroll; 429 user-select: none;
376 -webkit-user-select: none; 430 display: flex;
377 -moz-user-select: none; 431 flex-direction: column-reverse;
378 -ms-user-select: none; 432 box-sizing: border-box;
379 user-select: none; 433 padding-top: 20px;
434 .ch-zdy-wrap {
380 display: flex; 435 display: flex;
381 flex-direction: column-reverse; 436 flex-direction: row;
382 box-sizing: border-box;
383 padding-top: 20px;
384 .ch-zdy-wrap {
385 display: flex;
386 flex-direction: row;
387 }
388 } 437 }
389 .lpb-xmmc { 438 }
390 border: 0; 439 .lpb-xmmc {
391 border-top: 1px solid #e6e6e6; 440 border: 0;
392 } 441 border-top: 1px solid #e6e6e6;
393 .save-btn { 442 }
394 display: block; 443 .save-btn {
395 margin: 5px auto; 444 display: block;
396 } 445 margin: 5px auto;
397 // 自定义右键菜单样式 446 }
398 .contextmenu { 447 // 自定义右键菜单样式
448 .contextmenu {
449 margin: 0;
450 background: #fff;
451 width: 92px;
452 z-index: 3000;
453 position: fixed;
454 list-style-type: none;
455 padding: 5px 0;
456 border-radius: 4px;
457 font-size: 12px;
458 font-weight: 400;
459 color: #333;
460 box-shadow: 2px 2px 3px 0 rgba(0, 0, 0, 0.3);
461 li {
399 margin: 0; 462 margin: 0;
400 background: #fff; 463 padding: 7px 16px;
401 width: 92px; 464 cursor: pointer;
402 z-index: 3000; 465 position: relative;
403 position: fixed; 466 .childUl {
404 list-style-type: none; 467 display: none;
405 padding: 5px 0; 468 position: absolute;
406 border-radius: 4px; 469 left: 92px !important;
407 font-size: 12px; 470 top: 0 !important;
408 font-weight: 400; 471 li {
409 color: #333; 472 width: 76px;
410 box-shadow: 2px 2px 3px 0 rgba(0, 0, 0, 0.3);
411 li {
412 margin: 0;
413 padding: 7px 16px;
414 cursor: pointer;
415 position: relative;
416 .childUl {
417 display: none;
418 position: absolute;
419 left: 92px !important;
420 top: 0 !important;
421 li {
422 width: 76px;
423 }
424 }
425 }
426 li:hover {
427 background: #eee;
428 > .childUl {
429 display: block;
430 } 473 }
431 } 474 }
432 .noEdit { 475 }
433 color: #e6e6e6; 476 li:hover {
434 cursor: not-allowed; 477 background: #eee;
435 } 478 > .childUl {
436 .noEdit:hover { 479 display: block;
437 background: #ffffff;
438 } 480 }
439 } 481 }
482 .noEdit {
483 color: #e6e6e6;
484 cursor: not-allowed;
485 }
486 .noEdit:hover {
487 background: #ffffff;
488 }
440 } 489 }
490 }
441 </style> 491 </style>
......
1 <!-- 1 <!--
2 * @Description: 2 * @Description:
3 * @Autor: renchao 3 * @Autor: renchao
4 * @LastEditTime: 2024-02-02 16:52:02 4 * @LastEditTime: 2024-03-07 09:52:35
5 --> 5 -->
6 <!-- 批量删除弹框 --> 6 <!-- 批量删除弹框 -->
7 <template> 7 <template>
...@@ -65,7 +65,6 @@ ...@@ -65,7 +65,6 @@
65 } 65 }
66 }, 66 },
67 methods: { 67 methods: {
68 // 批量删除确定按钮
69 /** 68 /**
70 * @description: 批量删除确定按钮 69 * @description: 批量删除确定按钮
71 * @author: renchao 70 * @author: renchao
...@@ -74,6 +73,7 @@ ...@@ -74,6 +73,7 @@
74 var formdata = new FormData(); 73 var formdata = new FormData();
75 formdata.append("bsmSldyList", this.selectBdcdy); 74 formdata.append("bsmSldyList", this.selectBdcdy);
76 formdata.append("bsmSlsq", this.formData.bsmSlsq); 75 formdata.append("bsmSlsq", this.formData.bsmSlsq);
76 store.dispatch('user/refreshPage', false);
77 deleteSlbdcdy(formdata).then(res => { 77 deleteSlbdcdy(formdata).then(res => {
78 if (res.code == 200) { 78 if (res.code == 200) {
79 this.$popupCacel(); 79 this.$popupCacel();
......
1 <!-- 1 <!--
2 * @Description: workFrame左侧菜单列表-普通 2 * @Description: workFrame左侧菜单列表-普通
3 * @Autor: renchao 3 * @Autor: renchao
4 * @LastEditTime: 2024-02-01 16:57:55 4 * @LastEditTime: 2024-03-07 09:54:56
5 --> 5 -->
6 <template> 6 <template>
7 <div class="leftmenu" :class="{ 'animation-map-drawer': isShowdrawer }"> 7 <div class="leftmenu" :class="{ 'animation-map-drawer': isShowdrawer }">
...@@ -84,7 +84,7 @@ ...@@ -84,7 +84,7 @@
84 isRefresh: { 84 isRefresh: {
85 handler (newVal, oldVal) { 85 handler (newVal, oldVal) {
86 if (newVal) { 86 if (newVal) {
87 this.loadBdcdylist(true) 87 this.loadBdcdylist()
88 } 88 }
89 }, 89 },
90 immediate: true 90 immediate: true
......
...@@ -384,6 +384,19 @@ ...@@ -384,6 +384,19 @@
384 @upDateQlrxxList="upDateQlrxxList" 384 @upDateQlrxxList="upDateQlrxxList"
385 :disabled="viewEdit" 385 :disabled="viewEdit"
386 :gyfs="ruleForm.sldy.gyfs" /> 386 :gyfs="ruleForm.sldy.gyfs" />
387
388 <div v-if="ruleForm.ywrList && ruleForm.ywrList.length > 0 && ruleForm.qlxx.djlx==200">
389 <div class="slxx_title title-block">
390 义务人信息
391 <div class="triangle"></div>
392 </div>
393 <ywrCommonTable
394 v-if="ruleForm.ywrList"
395 :disabled="viewEdit"
396 :tableData="ruleForm.ywrList"
397 :key="key"
398 @upDateQlrxxList="upDateYwrxxList" />
399 </div>
387 <div class="slxx_title title-block"> 400 <div class="slxx_title title-block">
388 登记原因 401 登记原因
389 <div class="triangle"></div> 402 <div class="triangle"></div>
...@@ -414,6 +427,7 @@ ...@@ -414,6 +427,7 @@
414 <script> 427 <script>
415 import ywmix from "@/views/ywbl/mixin/index"; 428 import ywmix from "@/views/ywbl/mixin/index";
416 import qlrCommonTable from "@/views/workflow/components/qlrCommonTable"; 429 import qlrCommonTable from "@/views/workflow/components/qlrCommonTable";
430 import ywrCommonTable from "@/views/workflow/components/ywrCommonTable";
417 import tdytTable from "@/views/workflow/components/tdytTable"; 431 import tdytTable from "@/views/workflow/components/tdytTable";
418 import { Init, saveData } from "@/api/workflow/fwsyqFlow.js"; 432 import { Init, saveData } from "@/api/workflow/fwsyqFlow.js";
419 import { mapGetters } from "vuex"; 433 import { mapGetters } from "vuex";
...@@ -460,7 +474,7 @@ ...@@ -460,7 +474,7 @@
460 this.isSave = false 474 this.isSave = false
461 }) 475 })
462 }, 476 },
463 components: { qlrCommonTable, tdytTable }, 477 components: { qlrCommonTable, tdytTable, ywrCommonTable},
464 computed: { 478 computed: {
465 ...mapGetters(["dictData", "flag"]), 479 ...mapGetters(["dictData", "flag"]),
466 }, 480 },
......
...@@ -71,7 +71,7 @@ ...@@ -71,7 +71,7 @@
71 import { ywPopupDialog } from "@/utils/popup.js"; 71 import { ywPopupDialog } from "@/utils/popup.js";
72 import { datas, sendThis } from "../javascript/selectH.js"; 72 import { datas, sendThis } from "../javascript/selectH.js";
73 import { defaultParameters } from "../javascript/publicDefaultPar.js"; 73 import { defaultParameters } from "../javascript/publicDefaultPar.js";
74 // import { selectHQjdc } from "@/api/ywsq.js"; 74 import { selectHQjdc } from "@/api/ywsq.js";
75 import { startBusinessFlow, againAddSldy } from "@/api/workFlow.js"; 75 import { startBusinessFlow, againAddSldy } from "@/api/workFlow.js";
76 export default { 76 export default {
77 mixins: [ywsqTable, jump], 77 mixins: [ywsqTable, jump],
...@@ -123,16 +123,16 @@ ...@@ -123,16 +123,16 @@
123 * @author: renchao 123 * @author: renchao
124 */ 124 */
125 queryClick () { 125 queryClick () {
126 // this.$startLoading(); 126 this.$startLoading();
127 // this.queryForm.sqywbm = this.sqywInfo.djywbm; 127 this.queryForm.sqywbm = this.sqywInfo.djywbm;
128 // selectHQjdc({ ...this.queryForm, ...this.pageData }).then((res) => { 128 selectHQjdc({ ...this.queryForm, ...this.pageData }).then((res) => {
129 // this.$endLoading(); 129 this.$endLoading();
130 // if (res.code === 200) { 130 if (res.code === 200) {
131 // let { total, records } = res.result; 131 let { total, records } = res.result;
132 // this.tableData.total = total; 132 this.tableData.total = total;
133 // this.tableData.data = records; 133 this.tableData.data = records;
134 // } 134 }
135 // }); 135 });
136 }, 136 },
137 /** 137 /**
138 * @description: submitForm 138 * @description: submitForm
......