69192cca by tianhaohao@pashanhoo.com

Merge branch 'dev' of http://yun.pashanhoo.com:9090/bdc/bdcdj-web into dev

2 parents 62d5f5f5 80b42bf9
1 <template> 1 <template>
2 <div class="lpbContent-wrap" ref="lpbContentWrap"> 2 <div class="lpbContent-wrap" ref="lpbContentWrap">
3 <div 3 <div class="lpbContent" ref="lpbContent" :style="{ 'height': 'calc(100% - '+ lpbContentHeight +'px)'}">
4 class="lpbContent"
5 ref="lpbContent"
6 :style="{ height: 'calc(100% - ' + lpbContentHeight + 'px)' }"
7 >
8 <!-- 纵向倒序排列 逻辑幢位于独立幢单元和独立层户的上方 --> 4 <!-- 纵向倒序排列 逻辑幢位于独立幢单元和独立层户的上方 -->
9 <div class="ch-zdy-wrap"> 5 <div class="ch-zdy-wrap">
10 <!-- 幢单元 --> 6 <!-- 幢单元 -->
11 <zdy-cpn 7 <zdy-cpn v-if="lpbData.zdys.length" :zdys="lpbData.zdys" :onlyShow="onlyShow" />
12 v-if="lpbData.zdys.length"
13 :zdys="lpbData.zdys"
14 :onlyShow="onlyShow"
15 />
16 <!-- 独立层户 --> 8 <!-- 独立层户 -->
17 <ch-cpn 9 <ch-cpn v-if="lpbData.cs.length" :ch="lpbData.cs" :onlyShow="onlyShow" />
18 v-if="lpbData.cs.length"
19 :ch="lpbData.cs"
20 :onlyShow="onlyShow"
21 />
22 </div> 10 </div>
23 <!-- 逻辑幢 --> 11 <!-- 逻辑幢 -->
24 <ljzs-cpn 12 <ljzs-cpn v-if="lpbData.ljzs.length" :ljzs="lpbData.ljzs" :onlyShow="onlyShow" />
25 v-if="lpbData.ljzs.length"
26 :ljzs="lpbData.ljzs"
27 :onlyShow="onlyShow"
28 />
29 </div> 13 </div>
30 <!-- 自然幢名称 --> 14 <!-- 自然幢名称 -->
31 <p 15 <p class="lpb-xmmc" v-if="onlyShow" style="border-bottom: 1px solid #e6e6e6">{{ lpbData.xmmc }}</p>
32 class="lpb-xmmc" 16 <p class="lpb-xmmc" v-else :style="{ 'border-bottom':'1px solid #e6e6e6'}">
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 >
43 <el-checkbox @change="zdySelectAll($event)">{{ 17 <el-checkbox @change="zdySelectAll($event)">{{
44 lpbData.xmmc 18 lpbData.xmmc
45 }}</el-checkbox> 19 }}</el-checkbox>
46 </p> 20 </p>
47 <el-button 21 <el-button type="primary" class="save-btn" v-if="!onlyShow && showSave" @click="saveLpb">选择确认</el-button>
48 type="primary" 22 <el-button type="primary" class="save-btn" v-if="!onlyShow && !showSave" @click="submitForm" :loading="loading">发起申请</el-button>
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 >
62 <!-- 右键菜单 --> 23 <!-- 右键菜单 -->
63 <ul 24 <ul
64 v-show="lpbChVisible" 25 v-show="lpbChVisible"
65 :style="{ left: lpbChLeft + 'px', top: lpbChTop + 'px' }" 26 :style="{ left: lpbChLeft + 'px', top: lpbChTop + 'px' }"
66 class="contextmenu" 27 class="contextmenu">
67 >
68 <li @click="menuClick">菜单一</li> 28 <li @click="menuClick">菜单一</li>
69 <li @click="menuClick">菜单二</li> 29 <li @click="menuClick">菜单二</li>
70 </ul> 30 </ul>
71 </div> 31 </div>
72 </template> 32 </template>
73 <script> 33 <script>
74 import { getLpb } from "@/api/lpcx.js"; 34 import { getLpb } from "@/api/lpcx.js";
75 import chCpn from "./ch.vue"; 35 import chCpn from "./ch.vue";
76 import zdyCpn from "./zdys.vue"; 36 import zdyCpn from "./zdys.vue";
77 import ljzsCpn from "./ljzs.vue"; 37 import ljzsCpn from "./ljzs.vue";
78 import { 38 import { startBusinessFlow, choiceBdcdy, againAddSldy } from "@/api/workFlow.js";
79 startBusinessFlow, 39 import jump from "../../ywbl/ywsq/components/mixin/jump";
80 choiceBdcdy, 40 import store from '@/store/index.js'
81 againAddSldy, 41 import { ywPopupCacel } from "@/utils/popup.js";
82 } from "@/api/workFlow.js"; 42 export default {
83 import jump from "../../ywbl/ywsq/components/mixin/jump";
84 import store from "@/store/index.js";
85 import { ywPopupCacel } from "@/utils/popup.js";
86 export default {
87 mixins: [jump], 43 mixins: [jump],
88 provide() { 44 provide () {
89 return { 45 return {
90 openMenu: this.openMenu, 46 openMenu: this.openMenu,
91 selectAll: this.selectAllObj, 47 selectAll: this.selectAllObj,
92 changeChoosedObj: this.changeChoosedObj, 48 changeChoosedObj: this.changeChoosedObj,
93 clearChangeChoosedObj: this.clearChangeChoosedObj, 49 clearChangeChoosedObj: this.clearChangeChoosedObj,
94 getBsmList: this.getBsmList, 50 getBsmList: this.getBsmList
95 }; 51 };
96 }, 52 },
97 name: "", 53 name: "",
...@@ -123,10 +79,11 @@ export default { ...@@ -123,10 +79,11 @@ export default {
123 }, 79 },
124 sqywInfo: { 80 sqywInfo: {
125 type: Object, 81 type: Object,
126 default: () => {}, 82 default: () => { }
127 }, 83 },
84 isJump: { type: Boolean, default: false },
128 }, 85 },
129 data() { 86 data () {
130 return { 87 return {
131 lpbData: { 88 lpbData: {
132 ljzs: [], 89 ljzs: [],
...@@ -145,17 +102,15 @@ export default { ...@@ -145,17 +102,15 @@ export default {
145 // 改变户选中状态 102 // 改变户选中状态
146 changeChoosedObj: { 103 changeChoosedObj: {
147 bsms: [], 104 bsms: [],
148 color: "", 105 color: ''
149 }, 106 },
150 // 选中户bsm合集 107 // 选中户bsm合集
151 bsmList: [], 108 bsmList: [],
152 loading: false, 109 loading: false,
153 }; 110 };
154 }, 111 },
155 mounted() { 112 mounted () {
156 this.scyclx 113 this.scyclx ? this.getLpb(this.zrzbsm, this.scyclx) : this.getLpb(this.zrzbsm);
157 ? this.getLpb(this.zrzbsm, this.scyclx)
158 : this.getLpb(this.zrzbsm);
159 window.lpbContent = this; 114 window.lpbContent = this;
160 }, 115 },
161 methods: { 116 methods: {
...@@ -164,70 +119,52 @@ export default { ...@@ -164,70 +119,52 @@ export default {
164 * @param {Array} bsmList 119 * @param {Array} bsmList
165 * @author: renchao 120 * @author: renchao
166 */ 121 */
167 getBsmList(bsmList, compFlag) { 122 getBsmList (bsmList, compFlag) {
168 // 根据本次传入的组件标识删除之前对应组件标识存入hbsmList的数据 123 // 根据本次传入的组件标识删除之前对应组件标识存入hbsmList的数据
169 this.bsmList = this.bsmList.filter((i) => i.flag != compFlag); 124 this.bsmList = this.bsmList.filter((i) => i.flag != compFlag)
170 // 合并本次数据 125 // 合并本次数据
171 this.bsmList = this.bsmList.concat([ 126 this.bsmList = this.bsmList.concat([...new Map(bsmList.map(item => [item.bdcdyh, item])).values()]);
172 ...new Map(bsmList.map((item) => [item.bdcdyh, item])).values(),
173 ]);
174 // }) 127 // })
175 }, 128 },
176 /** 129 /**
177 * @description: 保存当前楼盘表 130 * @description: 保存当前楼盘表
178 * @author: renchao 131 * @author: renchao
179 */ 132 */
180 saveLpb() { 133 saveLpb () {
181 if (this.bsmList.length == 0) { 134 if (this.bsmList.length == 0) {
182 this.$message.error("请至少选择一条数据"); 135 this.$message.error("请至少选择一条数据");
183 return; 136 return;
184 } 137 }
185 this.loading = true; 138 this.loading = true;
186 store.dispatch("user/reMenuRefresh", false); 139 store.dispatch('user/reMenuRefresh', false)
187 againAddSldy({ 140 againAddSldy({
188 bsmSqyw: this.sqywInfo.bsmSqyw, 141 bsmSqyw: this.sqywInfo.bsmSqyw,
189 bsmSlsq: this.sqywInfo.bsmSlsq, 142 bsmSlsq: this.sqywInfo.bsmSlsq,
190 bdcdysz: this.bsmList, 143 bdcdysz: this.bsmList,
191 sjlx: "houses", 144 sjlx: "houses"
192 }) 145 }).then((res) => {
193 .then((res) => { 146 this.loading = false
194 this.loading = false;
195 if (res.code == 200) { 147 if (res.code == 200) {
196 this.$message({ 148 this.$message({
197 showClose: true, 149 showClose: true,
198 message: "添加成功", 150 message: '添加成功',
199 type: "success", 151 type: 'success'
200 }); 152 })
153 store.dispatch('user/reMenuRefresh', true)
201 if (!this.isJump) { 154 if (!this.isJump) {
202 this.jump(res.result, this.sqywInfo.djywbm); 155 this.jump(res.result, this.sqywInfo.djywbm)
203 } 156 }
204 store.dispatch("user/refreshPage", true);
205 //this.close();
206 this.$popupCacel(); 157 this.$popupCacel();
207 } else { 158 } else {
208 if (res.result && res.result.length > 0) { 159 if (res.result && res.result.length > 0) {
209 this.$popup("申请错误明细", "components/ywdialog", { 160 this.$popup("申请错误明细", "components/ywdialog", { width: '36%', formData: { result: res.result } })
210 width: "36%",
211 formData: { result: res.result },
212 });
213 } else {
214 if (res.result && res.result.length > 0) {
215 this.$popup("申请错误明细", "components/ywdialog", {
216 width: "36%",
217 formData: { result: res.result },
218 });
219 } else { 161 } else {
220 this.$popup("申请错误明细", "components/ywdialog", { 162 this.$popup("申请错误明细", "components/ywdialog", { width: '36%', formData: { message: res.message } })
221 width: "36%",
222 formData: { message: res.message },
223 });
224 }
225 } 163 }
226 } 164 }
165 }).catch(() => {
166 this.loading = false
227 }) 167 })
228 .catch(() => {
229 this.loading = false;
230 });
231 // todo 调用保存接口 传入参数待定 168 // todo 调用保存接口 传入参数待定
232 //console.log(this.bsmList,'this.bsmList'); 169 //console.log(this.bsmList,'this.bsmList');
233 // 保存成功后关闭弹框 170 // 保存成功后关闭弹框
...@@ -240,7 +177,7 @@ export default { ...@@ -240,7 +177,7 @@ export default {
240 * @param {*} color 177 * @param {*} color
241 * @author: renchao 178 * @author: renchao
242 */ 179 */
243 changeChoosed(bsms, color) { 180 changeChoosed (bsms, color) {
244 this.changeChoosedObj.bsms = bsms; 181 this.changeChoosedObj.bsms = bsms;
245 this.changeChoosedObj.color = color; 182 this.changeChoosedObj.color = color;
246 }, 183 },
...@@ -248,7 +185,7 @@ export default { ...@@ -248,7 +185,7 @@ export default {
248 * @description: clearChangeChoosedObj 185 * @description: clearChangeChoosedObj
249 * @author: renchao 186 * @author: renchao
250 */ 187 */
251 clearChangeChoosedObj() { 188 clearChangeChoosedObj () {
252 this.changeChoosedObj.bsms = []; 189 this.changeChoosedObj.bsms = [];
253 }, 190 },
254 //全选户 191 //全选户
...@@ -257,7 +194,7 @@ export default { ...@@ -257,7 +194,7 @@ export default {
257 * @param {*} val 194 * @param {*} val
258 * @author: renchao 195 * @author: renchao
259 */ 196 */
260 zdySelectAll(val) { 197 zdySelectAll (val) {
261 this.selectAllObj.selectAll = val; 198 this.selectAllObj.selectAll = val;
262 }, 199 },
263 //获取楼盘表数据 200 //获取楼盘表数据
...@@ -268,28 +205,17 @@ export default { ...@@ -268,28 +205,17 @@ export default {
268 * @param {*} actual 205 * @param {*} actual
269 * @author: renchao 206 * @author: renchao
270 */ 207 */
271 getLpb(zrzbsm, scyclx, actual) { 208 getLpb (zrzbsm, scyclx, actual) {
272 if (!zrzbsm) {
273 this.$message({
274 message: "暂无楼盘表",
275 type: "warning",
276 });
277 } else {
278 getLpb(zrzbsm, scyclx).then((res) => { 209 getLpb(zrzbsm, scyclx).then((res) => {
279 if (res.code == 200) { 210 if (res.code == 200) {
280 if (scyclx) { 211 if (scyclx) {
281 if (res.result.syclx == "1") { 212 if (res.result.syclx == "1") {
282 res.result.lpb.ljzs = res.result.lpb.ljzs.sort( 213 res.result.lpb.ljzs = res.result.lpb.ljzs.sort(this.compare("place"));
283 this.compare("place") 214 this.lpbData = res.result.lpb == null ? this.lpbData : res.result.lpb;
284 );
285 this.lpbData =
286 res.result.lpb == null ? this.lpbData : res.result.lpb;
287 } 215 }
288 } else { 216 } else {
289 this.$message({ 217 res.result.lpb.ljzs = res.result.lpb.ljzs.sort(this.compare("place"));
290 message: res.message, 218 this.lpbData = res.result.lpb == null ? this.lpbData : res.result.lpb;
291 type: "warning",
292 });
293 } 219 }
294 } else { 220 } else {
295 this.$message({ 221 this.$message({
...@@ -298,7 +224,6 @@ export default { ...@@ -298,7 +224,6 @@ export default {
298 }); 224 });
299 } 225 }
300 }); 226 });
301 }
302 }, 227 },
303 //户右键点击事件 228 //户右键点击事件
304 /** 229 /**
...@@ -308,7 +233,7 @@ export default { ...@@ -308,7 +233,7 @@ export default {
308 * @param {*} type 233 * @param {*} type
309 * @author: renchao 234 * @author: renchao
310 */ 235 */
311 openMenu(e, item, type) { 236 openMenu (e, item, type) {
312 this.lpbChLeft = e.pageX - 96; 237 this.lpbChLeft = e.pageX - 96;
313 this.lpbChTop = e.pageY - 23; 238 this.lpbChTop = e.pageY - 23;
314 // this.lpbChVisible = true; 239 // this.lpbChVisible = true;
...@@ -318,7 +243,7 @@ export default { ...@@ -318,7 +243,7 @@ export default {
318 * @description: 关闭户右键菜单 243 * @description: 关闭户右键菜单
319 * @author: renchao 244 * @author: renchao
320 */ 245 */
321 closeMenu() { 246 closeMenu () {
322 this.lpbChVisible = false; 247 this.lpbChVisible = false;
323 }, 248 },
324 //右键菜单点击 249 //右键菜单点击
...@@ -326,7 +251,7 @@ export default { ...@@ -326,7 +251,7 @@ export default {
326 * @description: 右键菜单点击 251 * @description: 右键菜单点击
327 * @author: renchao 252 * @author: renchao
328 */ 253 */
329 menuClick() { 254 menuClick () {
330 this.closeMenu(); 255 this.closeMenu();
331 }, 256 },
332 /** 257 /**
...@@ -334,7 +259,7 @@ export default { ...@@ -334,7 +259,7 @@ export default {
334 * @param {*} property 259 * @param {*} property
335 * @author: renchao 260 * @author: renchao
336 */ 261 */
337 compare(property) { 262 compare (property) {
338 return function (a, b) { 263 return function (a, b) {
339 var value1 = a[property]; 264 var value1 = a[property];
340 var value2 = b[property]; 265 var value2 = b[property];
...@@ -345,7 +270,7 @@ export default { ...@@ -345,7 +270,7 @@ export default {
345 * @description: submitForm 270 * @description: submitForm
346 * @author: renchao 271 * @author: renchao
347 */ 272 */
348 submitForm() { 273 submitForm () {
349 if (this.bsmList.length == 0) { 274 if (this.bsmList.length == 0) {
350 this.$message.error("请至少选择一条数据"); 275 this.$message.error("请至少选择一条数据");
351 return; 276 return;
...@@ -354,68 +279,60 @@ export default { ...@@ -354,68 +279,60 @@ export default {
354 startBusinessFlow({ 279 startBusinessFlow({
355 bsmSqyw: this.sqywInfo.bsmSqyw, 280 bsmSqyw: this.sqywInfo.bsmSqyw,
356 bdcdysz: this.bsmList, 281 bdcdysz: this.bsmList,
357 }) 282 }).then((res) => {
358 .then((res) => { 283 this.loading = false
359 this.loading = false;
360 if (res.code == 200) { 284 if (res.code == 200) {
361 this.$message({ 285 this.$message({
362 showClose: true, 286 showClose: true,
363 message: "发起申请成功", 287 message: '发起申请成功',
364 type: "success", 288 type: 'success'
365 }); 289 })
366 if (!this.isJump) { 290 if (!this.isJump) {
367 this.jump(res.result, this.sqywInfo.djywbm); 291 this.jump(res.result, this.sqywInfo.djywbm)
368 } else { 292 } else {
369 store.dispatch("user/refreshPage", true); 293 store.dispatch('user/refreshPage', true);
370 } 294 }
371 this.close(); 295 this.close()
372 } else { 296 } else {
373 if (res.result && res.result.length > 0) { 297 if (res.result && res.result.length > 0) {
374 this.$popup("申请错误明细", "components/ywdialog", { 298 this.$popup("申请错误明细", "components/ywdialog", { width: '36%', formData: { result: res.result } })
375 width: "36%",
376 formData: { result: res.result },
377 });
378 } else { 299 } else {
379 this.$popup("申请错误明细", "components/ywdialog", { 300 this.$popup("申请错误明细", "components/ywdialog", { width: '36%', formData: { message: res.message } })
380 width: "36%",
381 formData: { message: res.message },
382 });
383 } 301 }
384 } 302 }
303 }).catch(() => {
304 this.loading = false
385 }) 305 })
386 .catch(() => {
387 this.loading = false;
388 });
389 }, 306 },
390 /** 307 /**
391 * @description: close 308 * @description: close
392 * @param {*} val 309 * @param {*} val
393 * @author: renchao 310 * @author: renchao
394 */ 311 */
395 close() { 312 close () {
396 ywPopupCacel(); 313 ywPopupCacel()
397 }, 314 },
398 }, 315 },
399 computed: { 316 computed: {
400 lpbContentHeight() { 317 lpbContentHeight () {
401 return this.onlyShow ? 32 : 76; 318 return this.onlyShow ? 32 : 76
402 // return 76 319 // return 76
403 }, 320 }
404 }, 321 },
405 watch: { 322 watch: {
406 //户右键菜单显示时,监听到鼠标点击时关闭户右键菜单 323 //户右键菜单显示时,监听到鼠标点击时关闭户右键菜单
407 lpbChVisible(value) { 324 lpbChVisible (value) {
408 if (value) { 325 if (value) {
409 document.body.addEventListener("click", this.closeMenu); 326 document.body.addEventListener("click", this.closeMenu);
410 } else { 327 } else {
411 document.body.removeEventListener("click", this.closeMenu); 328 document.body.removeEventListener("click", this.closeMenu);
412 } 329 }
330 }
413 }, 331 },
414 }, 332 };
415 };
416 </script> 333 </script>
417 <style scoped lang="scss"> 334 <style scoped lang="scss">
418 .lpbContent-wrap { 335 .lpbContent-wrap {
419 width: 100%; 336 width: 100%;
420 height: 100%; 337 height: 100%;
421 overflow: hidden; 338 overflow: hidden;
...@@ -487,5 +404,5 @@ export default { ...@@ -487,5 +404,5 @@ export default {
487 background: #ffffff; 404 background: #ffffff;
488 } 405 }
489 } 406 }
490 } 407 }
491 </style> 408 </style>
......