Loading src/assets/workbench/sst.jpg 0 → 100644 +189 KiB Loading image diff... src/views/drawCanvas/riskView.vue +105 −28 Original line number Original line Diff line number Diff line <template> <template> <div class="wrap" ref="mapmidbox"> <div class="wrap" ref="mapmidbox"> <van-sticky> <van-sticky v-if="showHeader"> <header class="header"> <header class="header"> <span @click="close" class="iconLeft"> 关闭</span> <span @click="close" class="iconLeft"> 关闭</span> <span>{{text}}</span> <span>{{text}}</span> <span @click="confim" class="iconRight" v-show="!isView">确定</span> <span @click="confim" class="iconRight" v-show="!isViews">确定</span> <span class="iconRight" v-show="isView"></span> <span class="iconRight" v-show="isViews"></span> </header> </header> </van-sticky> </van-sticky> <grid-layout :layout.sync="layout" <grid-layout :layout.sync="layout" Loading Loading @@ -35,8 +35,8 @@ </grid-item> </grid-item> </grid-layout> </grid-layout> <div class="setBtns"> <div class="setBtns"> <van-button @click="addItem" type="info" size="mini" v-if="!isView">添加房间</van-button> <van-button @click="addItem" type="info" size="mini" v-if="!isViews">添加房间</van-button> <van-grid direction="horizontal" :column-num="2" class="footer"> <van-grid direction="horizontal" :column-num="2" class="footer" v-if="isViews"> 风险等级图例: 风险等级图例: <span class="riskTab type1"></span>重大风险 <span class="riskTab type1"></span>重大风险 <span class="riskTab type2"></span>较大风险 <span class="riskTab type2"></span>较大风险 Loading @@ -55,6 +55,9 @@ placeholder="选择房间类型" placeholder="选择房间类型" @click="showPicker = true" @click="showPicker = true" /> /> </van-cell-group> </van-dialog> <van-popup v-model="showPicker" round position="bottom"> <van-popup v-model="showPicker" round position="bottom"> <van-picker <van-picker show-toolbar show-toolbar Loading @@ -63,8 +66,6 @@ @confirm="onConfirm" @confirm="onConfirm" /> /> </van-popup> </van-popup> </van-cell-group> </van-dialog> </div> </div> </template> </template> Loading Loading @@ -101,44 +102,99 @@ export default { roomName:'', roomName:'', columns: ['办公', '餐饮', '住宅', '超市'], columns: ['办公', '餐饮', '住宅', '超市'], colorList:['#FF4433','#FF9800','#FFFF00','#0091EA'], colorList:['#FF4433','#FF9800','#FFFF00','#0091EA'], isView:true,// true:查看页面; false: 添加页面 isViews:false,// true:查看页面; false: 添加页面 showHeader:true } } }, }, props:{ isView: { type: Boolean, default: false, }, }, mounted() { mounted() { // screenfull.toggle(this.$refs.mapbox); // screenfull.toggle(this.$refs.mapbox); // this.$nextTick(() => { // this.$nextTick(() => { // this.rotateBox(); // this.rotateBox(); // }); // }); this.isView = this.$route.params.isView? true : false if (this._props.isView) { console.log('作为组件传值==>>',) this.isViews = true this.showHeader = false } if (this.$route.params.isView) { this.isViews = true this.initRotate(); window.addEventListener("onorientationchange" in window ? "orientationchange" : "resize", this.orientationChange, false); } this.getRoomInfo() this.getRoomInfo() }, }, methods: { methods: { orientationChange(){ if (window.orientation === 180 || window.orientation === 0) { console.log('竖屏状态!'); } if (window.orientation === 90 || window.orientation === -90 ){ console.log('横屏状态!'); } // let width = document.documentElement.clientWidth//页面宽度 // let height = document.documentElement.clientHeight//页面高度 // console.log('width==>>',width) // console.log('height==>>',height) this.rotateBox() }, initRotate(){ let width = document.documentElement.clientWidth,//页面宽度 height = document.documentElement.clientHeight,//页面高度 wrapper = this.$refs.mapmidbox,//需要横屏的块,与全屏的块要区分开,不区分全屏的块无法显示横屏效果 style = "";//样式 console.log('width==>>',width) console.log('height==>>',height) style += "width:" + height + "px;"; style += "height:" + width + "px;"; style += "-webkit-transform: rotate(90deg); transform: rotate(90deg);"; // 注意旋转中点的处理 style += "-webkit-transform-origin: " + width / 2 + "px " + width / 2 + "px;"; style += "transform-origin: " + width / 2 + "px " + width / 2 + "px;"; wrapper.style.cssText = style; }, rotateBox() { rotateBox() { this.isScreenFull = !this.isScreenFull;//是否全屏状态 this.isScreenFull = !this.isScreenFull;//是否全屏状态 let width = document.documentElement.clientWidth,//页面宽度 let width = document.documentElement.clientWidth,//页面宽度 height = document.documentElement.clientHeight,//页面高度 height = document.documentElement.clientHeight,//页面高度 wrapper = this.$refs.mapmidbox,//需要横屏的块,与全屏的块要区分开,不区分全屏的块无法显示横屏效果 wrapper = this.$refs.mapmidbox,//需要横屏的块,与全屏的块要区分开,不区分全屏的块无法显示横屏效果 style = "";//样式 style = "";//样式 if (height < width) {//注意原来就是宽屏时不用横屏 console.log('width==>>',width) return; console.log('height==>>',height) } // if (height < width) {//注意原来就是宽屏时不用横屏 if (this.isScreenFull) { // return; // } if (height < width) { // 横屏 // 横屏 style += "width:" + height + "px;"; style += "width:" + height + "px;"; style += "height:" + width + "px;"; style += "height:" + width + "px;"; style += "-webkit-transform: rotate(90deg); transform: rotate(90deg);"; style += "-webkit-transform: rotate(0deg); transform: rotate(0deg);"; // 注意旋转中点的处理 // 注意旋转中点的处理 style += style += "-webkit-transform-origin: " + width / 2 + "px " + width / 2 + "px;"; "-webkit-transform-origin: " + width / 2 + "px " + width / 2 + "px;"; style += "transform-origin: " + width / 2 + "px " + width / 2 + "px;"; style += "transform-origin: " + width / 2 + "px " + width / 2 + "px;"; } else { } else { // 竖屏 // 竖屏 // style += "width:" + height + "px;"; // style += "height:" + width + "px;"; // style += "-webkit-transform: rotate(90deg); transform: rotate(90deg);"; // // 注意旋转中点的处理 // style += // "-webkit-transform-origin: " + width / 2 + "px " + width / 2 + "px;"; // style += "transform-origin: " + width / 2 + "px " + width / 2 + "px;"; style += "width:100%"; style += "width:100%"; style += "height:100%;"; style += "height:100%;"; style += "-webkit-transform: rotate(0); transform: rotate(0);"; style += "-webkit-transform: rotate(0); transform: rotate(0);"; style += "-webkit-transform-origin: 0 0;"; style += "-webkit-transform-origin: 0 0;"; style += "transform-origin: 0 0;"; style += "transform-origin: 0 0;"; } } console.log('style==>>',style) wrapper.style.cssText = style; wrapper.style.cssText = style; }, }, getRoomInfo(){ getRoomInfo(){ Loading @@ -153,14 +209,14 @@ export default { item.position.i = item.id item.position.i = item.id item.position.isDraggable = false item.position.isDraggable = false item.position.isResizable = false item.position.isResizable = false if (!this.isView) { //添加页面不显示颜色 if (!this.isViews) { //添加页面不显示颜色 item.position.c = '#eee' item.position.c = '#eee' }else{ }else{ item.position.c = this.colorList[Math.floor(Math.random()*4)] item.position.c = this.colorList[Math.floor(Math.random()*4)] } } this.layout.push(item.position) this.layout.push(item.position) }) }) console.log('layout==>>',this.layout) // console.log('layout==>>',this.layout) } } }).catch((err) => { }).catch((err) => { console.log('err==>>',err) console.log('err==>>',err) Loading @@ -182,8 +238,11 @@ export default { }, }, // 删除 // 删除 removeItem: function (val) { removeItem: function (val) { // const index = this.layout.map(item => item.i).indexOf(val); if (val == '') { // this.layout.splice(index, 1); const index = this.layout.map(item => item.i).indexOf(val); this.layout.splice(index, 1); return } postFun('/ledger/room/delete/'+val).then((res) => { postFun('/ledger/room/delete/'+val).then((res) => { if (res.code == 200) { if (res.code == 200) { Toast.success('删除成功'); Toast.success('删除成功'); Loading Loading @@ -211,6 +270,14 @@ export default { }, }, // 确定 保存房间信息 // 确定 保存房间信息 confim(){ confim(){ if (this.roomName == '') { Toast.fail({ title: '提示', forbidClick: true, message: '请先添加房间!', }) return } let data = { let data = { floorId: this.$route.params.floorId ? this.$route.params.floorId : '18', floorId: this.$route.params.floorId ? this.$route.params.floorId : '18', name:this.roomName, name:this.roomName, Loading @@ -221,6 +288,8 @@ export default { if (res.code == 200) { if (res.code == 200) { Toast.success('提交成功'); Toast.success('提交成功'); this.getRoomInfo() this.getRoomInfo() this.roomType = '' this.roomName = '' } } }).catch((err) => { }).catch((err) => { console.log('err==>>',err) console.log('err==>>',err) Loading @@ -235,13 +304,13 @@ export default { h: 3, h: 3, i: '', i: '', name: this.roomName, name: this.roomName, c: '#eee', c: '#0091EA', type:this.roomType, type:this.roomType, isDraggable:true, isDraggable:true, isResizable:true isResizable:true } } this.layout.push(this.layOutItem) this.layout.push(this.layOutItem) console.log('layOutItem==>>',this.layOutItem) // console.log('layOutItem==>>',this.layOutItem) }, }, onConfirm(value) { onConfirm(value) { this.roomType = value; this.roomType = value; Loading @@ -252,11 +321,15 @@ export default { </script> </script> <style scoped > <style scoped > .router-view{ padding-bottom: 0px !important; } .wrap{ .wrap{ height: 100vh; height: 100vh; width: 100vw; width: 100vw; /* transform: rotate(90deg); /* transform: rotate(90deg); transform-origin: bottom left; */ transform-origin: bottom left; */ position: relative; } } .footer{ .footer{ /* position: fixed; */ /* position: fixed; */ Loading Loading @@ -298,9 +371,12 @@ export default { /*************************************/ /*************************************/ .setBtns{ .setBtns{ position: fixed; /* position: fixed; top:auto; right: auto; left: 0; left: 0; bottom: 0; bottom: 0; */ margin-top: 10px; font-size: 0.3rem; font-size: 0.3rem; padding: 10px; padding: 10px; vertical-align: middle; vertical-align: middle; Loading Loading @@ -342,6 +418,7 @@ export default { .vue-grid-item .text { .vue-grid-item .text { writing-mode:vertical-rl; writing-mode:vertical-rl; -webkit-writing-mode: vertical-rl; font-size: 10cqw; font-size: 10cqw; display: flex; display: flex; align-items: center; align-items: center; Loading src/views/riskProject/add/addCurrent.vue +4 −4 Original line number Original line Diff line number Diff line Loading @@ -270,7 +270,7 @@ import { getFun, postFun } from "@/service/table.js"; // postRiskShowMeasures, // postRiskShowMeasures, // } from "@/service/risk"; // } from "@/service/risk"; export default { export default { name: "risk-add", name: "addCurrent", components: { components: { LHeader, LHeader, }, }, Loading Loading @@ -345,9 +345,9 @@ export default { }; }; }, }, created() { created() { if (this.$route.params.inherentId) { if (this.$route.params.inherentId || sessionStorage.getItem("inherentId")) { this.inherentId = this.$route.params.inherentId this.inherentId = this.$route.params.inherentId || sessionStorage.getItem("inherentId") this.buildingIds = this.$route.params.buildingId this.buildingIds = this.$route.params.buildingId || sessionStorage.getItem("buildingId") this.postReturnEcho(); this.postReturnEcho(); } } // this.getList(); // this.getList(); Loading Loading
src/views/drawCanvas/riskView.vue +105 −28 Original line number Original line Diff line number Diff line <template> <template> <div class="wrap" ref="mapmidbox"> <div class="wrap" ref="mapmidbox"> <van-sticky> <van-sticky v-if="showHeader"> <header class="header"> <header class="header"> <span @click="close" class="iconLeft"> 关闭</span> <span @click="close" class="iconLeft"> 关闭</span> <span>{{text}}</span> <span>{{text}}</span> <span @click="confim" class="iconRight" v-show="!isView">确定</span> <span @click="confim" class="iconRight" v-show="!isViews">确定</span> <span class="iconRight" v-show="isView"></span> <span class="iconRight" v-show="isViews"></span> </header> </header> </van-sticky> </van-sticky> <grid-layout :layout.sync="layout" <grid-layout :layout.sync="layout" Loading Loading @@ -35,8 +35,8 @@ </grid-item> </grid-item> </grid-layout> </grid-layout> <div class="setBtns"> <div class="setBtns"> <van-button @click="addItem" type="info" size="mini" v-if="!isView">添加房间</van-button> <van-button @click="addItem" type="info" size="mini" v-if="!isViews">添加房间</van-button> <van-grid direction="horizontal" :column-num="2" class="footer"> <van-grid direction="horizontal" :column-num="2" class="footer" v-if="isViews"> 风险等级图例: 风险等级图例: <span class="riskTab type1"></span>重大风险 <span class="riskTab type1"></span>重大风险 <span class="riskTab type2"></span>较大风险 <span class="riskTab type2"></span>较大风险 Loading @@ -55,6 +55,9 @@ placeholder="选择房间类型" placeholder="选择房间类型" @click="showPicker = true" @click="showPicker = true" /> /> </van-cell-group> </van-dialog> <van-popup v-model="showPicker" round position="bottom"> <van-popup v-model="showPicker" round position="bottom"> <van-picker <van-picker show-toolbar show-toolbar Loading @@ -63,8 +66,6 @@ @confirm="onConfirm" @confirm="onConfirm" /> /> </van-popup> </van-popup> </van-cell-group> </van-dialog> </div> </div> </template> </template> Loading Loading @@ -101,44 +102,99 @@ export default { roomName:'', roomName:'', columns: ['办公', '餐饮', '住宅', '超市'], columns: ['办公', '餐饮', '住宅', '超市'], colorList:['#FF4433','#FF9800','#FFFF00','#0091EA'], colorList:['#FF4433','#FF9800','#FFFF00','#0091EA'], isView:true,// true:查看页面; false: 添加页面 isViews:false,// true:查看页面; false: 添加页面 showHeader:true } } }, }, props:{ isView: { type: Boolean, default: false, }, }, mounted() { mounted() { // screenfull.toggle(this.$refs.mapbox); // screenfull.toggle(this.$refs.mapbox); // this.$nextTick(() => { // this.$nextTick(() => { // this.rotateBox(); // this.rotateBox(); // }); // }); this.isView = this.$route.params.isView? true : false if (this._props.isView) { console.log('作为组件传值==>>',) this.isViews = true this.showHeader = false } if (this.$route.params.isView) { this.isViews = true this.initRotate(); window.addEventListener("onorientationchange" in window ? "orientationchange" : "resize", this.orientationChange, false); } this.getRoomInfo() this.getRoomInfo() }, }, methods: { methods: { orientationChange(){ if (window.orientation === 180 || window.orientation === 0) { console.log('竖屏状态!'); } if (window.orientation === 90 || window.orientation === -90 ){ console.log('横屏状态!'); } // let width = document.documentElement.clientWidth//页面宽度 // let height = document.documentElement.clientHeight//页面高度 // console.log('width==>>',width) // console.log('height==>>',height) this.rotateBox() }, initRotate(){ let width = document.documentElement.clientWidth,//页面宽度 height = document.documentElement.clientHeight,//页面高度 wrapper = this.$refs.mapmidbox,//需要横屏的块,与全屏的块要区分开,不区分全屏的块无法显示横屏效果 style = "";//样式 console.log('width==>>',width) console.log('height==>>',height) style += "width:" + height + "px;"; style += "height:" + width + "px;"; style += "-webkit-transform: rotate(90deg); transform: rotate(90deg);"; // 注意旋转中点的处理 style += "-webkit-transform-origin: " + width / 2 + "px " + width / 2 + "px;"; style += "transform-origin: " + width / 2 + "px " + width / 2 + "px;"; wrapper.style.cssText = style; }, rotateBox() { rotateBox() { this.isScreenFull = !this.isScreenFull;//是否全屏状态 this.isScreenFull = !this.isScreenFull;//是否全屏状态 let width = document.documentElement.clientWidth,//页面宽度 let width = document.documentElement.clientWidth,//页面宽度 height = document.documentElement.clientHeight,//页面高度 height = document.documentElement.clientHeight,//页面高度 wrapper = this.$refs.mapmidbox,//需要横屏的块,与全屏的块要区分开,不区分全屏的块无法显示横屏效果 wrapper = this.$refs.mapmidbox,//需要横屏的块,与全屏的块要区分开,不区分全屏的块无法显示横屏效果 style = "";//样式 style = "";//样式 if (height < width) {//注意原来就是宽屏时不用横屏 console.log('width==>>',width) return; console.log('height==>>',height) } // if (height < width) {//注意原来就是宽屏时不用横屏 if (this.isScreenFull) { // return; // } if (height < width) { // 横屏 // 横屏 style += "width:" + height + "px;"; style += "width:" + height + "px;"; style += "height:" + width + "px;"; style += "height:" + width + "px;"; style += "-webkit-transform: rotate(90deg); transform: rotate(90deg);"; style += "-webkit-transform: rotate(0deg); transform: rotate(0deg);"; // 注意旋转中点的处理 // 注意旋转中点的处理 style += style += "-webkit-transform-origin: " + width / 2 + "px " + width / 2 + "px;"; "-webkit-transform-origin: " + width / 2 + "px " + width / 2 + "px;"; style += "transform-origin: " + width / 2 + "px " + width / 2 + "px;"; style += "transform-origin: " + width / 2 + "px " + width / 2 + "px;"; } else { } else { // 竖屏 // 竖屏 // style += "width:" + height + "px;"; // style += "height:" + width + "px;"; // style += "-webkit-transform: rotate(90deg); transform: rotate(90deg);"; // // 注意旋转中点的处理 // style += // "-webkit-transform-origin: " + width / 2 + "px " + width / 2 + "px;"; // style += "transform-origin: " + width / 2 + "px " + width / 2 + "px;"; style += "width:100%"; style += "width:100%"; style += "height:100%;"; style += "height:100%;"; style += "-webkit-transform: rotate(0); transform: rotate(0);"; style += "-webkit-transform: rotate(0); transform: rotate(0);"; style += "-webkit-transform-origin: 0 0;"; style += "-webkit-transform-origin: 0 0;"; style += "transform-origin: 0 0;"; style += "transform-origin: 0 0;"; } } console.log('style==>>',style) wrapper.style.cssText = style; wrapper.style.cssText = style; }, }, getRoomInfo(){ getRoomInfo(){ Loading @@ -153,14 +209,14 @@ export default { item.position.i = item.id item.position.i = item.id item.position.isDraggable = false item.position.isDraggable = false item.position.isResizable = false item.position.isResizable = false if (!this.isView) { //添加页面不显示颜色 if (!this.isViews) { //添加页面不显示颜色 item.position.c = '#eee' item.position.c = '#eee' }else{ }else{ item.position.c = this.colorList[Math.floor(Math.random()*4)] item.position.c = this.colorList[Math.floor(Math.random()*4)] } } this.layout.push(item.position) this.layout.push(item.position) }) }) console.log('layout==>>',this.layout) // console.log('layout==>>',this.layout) } } }).catch((err) => { }).catch((err) => { console.log('err==>>',err) console.log('err==>>',err) Loading @@ -182,8 +238,11 @@ export default { }, }, // 删除 // 删除 removeItem: function (val) { removeItem: function (val) { // const index = this.layout.map(item => item.i).indexOf(val); if (val == '') { // this.layout.splice(index, 1); const index = this.layout.map(item => item.i).indexOf(val); this.layout.splice(index, 1); return } postFun('/ledger/room/delete/'+val).then((res) => { postFun('/ledger/room/delete/'+val).then((res) => { if (res.code == 200) { if (res.code == 200) { Toast.success('删除成功'); Toast.success('删除成功'); Loading Loading @@ -211,6 +270,14 @@ export default { }, }, // 确定 保存房间信息 // 确定 保存房间信息 confim(){ confim(){ if (this.roomName == '') { Toast.fail({ title: '提示', forbidClick: true, message: '请先添加房间!', }) return } let data = { let data = { floorId: this.$route.params.floorId ? this.$route.params.floorId : '18', floorId: this.$route.params.floorId ? this.$route.params.floorId : '18', name:this.roomName, name:this.roomName, Loading @@ -221,6 +288,8 @@ export default { if (res.code == 200) { if (res.code == 200) { Toast.success('提交成功'); Toast.success('提交成功'); this.getRoomInfo() this.getRoomInfo() this.roomType = '' this.roomName = '' } } }).catch((err) => { }).catch((err) => { console.log('err==>>',err) console.log('err==>>',err) Loading @@ -235,13 +304,13 @@ export default { h: 3, h: 3, i: '', i: '', name: this.roomName, name: this.roomName, c: '#eee', c: '#0091EA', type:this.roomType, type:this.roomType, isDraggable:true, isDraggable:true, isResizable:true isResizable:true } } this.layout.push(this.layOutItem) this.layout.push(this.layOutItem) console.log('layOutItem==>>',this.layOutItem) // console.log('layOutItem==>>',this.layOutItem) }, }, onConfirm(value) { onConfirm(value) { this.roomType = value; this.roomType = value; Loading @@ -252,11 +321,15 @@ export default { </script> </script> <style scoped > <style scoped > .router-view{ padding-bottom: 0px !important; } .wrap{ .wrap{ height: 100vh; height: 100vh; width: 100vw; width: 100vw; /* transform: rotate(90deg); /* transform: rotate(90deg); transform-origin: bottom left; */ transform-origin: bottom left; */ position: relative; } } .footer{ .footer{ /* position: fixed; */ /* position: fixed; */ Loading Loading @@ -298,9 +371,12 @@ export default { /*************************************/ /*************************************/ .setBtns{ .setBtns{ position: fixed; /* position: fixed; top:auto; right: auto; left: 0; left: 0; bottom: 0; bottom: 0; */ margin-top: 10px; font-size: 0.3rem; font-size: 0.3rem; padding: 10px; padding: 10px; vertical-align: middle; vertical-align: middle; Loading Loading @@ -342,6 +418,7 @@ export default { .vue-grid-item .text { .vue-grid-item .text { writing-mode:vertical-rl; writing-mode:vertical-rl; -webkit-writing-mode: vertical-rl; font-size: 10cqw; font-size: 10cqw; display: flex; display: flex; align-items: center; align-items: center; Loading
src/views/riskProject/add/addCurrent.vue +4 −4 Original line number Original line Diff line number Diff line Loading @@ -270,7 +270,7 @@ import { getFun, postFun } from "@/service/table.js"; // postRiskShowMeasures, // postRiskShowMeasures, // } from "@/service/risk"; // } from "@/service/risk"; export default { export default { name: "risk-add", name: "addCurrent", components: { components: { LHeader, LHeader, }, }, Loading Loading @@ -345,9 +345,9 @@ export default { }; }; }, }, created() { created() { if (this.$route.params.inherentId) { if (this.$route.params.inherentId || sessionStorage.getItem("inherentId")) { this.inherentId = this.$route.params.inherentId this.inherentId = this.$route.params.inherentId || sessionStorage.getItem("inherentId") this.buildingIds = this.$route.params.buildingId this.buildingIds = this.$route.params.buildingId || sessionStorage.getItem("buildingId") this.postReturnEcho(); this.postReturnEcho(); } } // this.getList(); // this.getList(); Loading