|
@@ -3,7 +3,7 @@
|
|
|
<div class="condition">
|
|
|
<div class="header">
|
|
|
<el-button style="float:left;" size="small" type="default" icon="el-icon-back" @click="goBack"></el-button>
|
|
|
- <span>{{spaceDetails.RoomLocalName||spaceDetails.RoomName||''}}</span>
|
|
|
+ <span>{{exampleData.RoomLocalName||exampleData.RoomName||''}}</span>
|
|
|
</div>
|
|
|
<el-row class="spaceTypes">
|
|
|
<div class="types">
|
|
@@ -17,8 +17,31 @@
|
|
|
<el-button size="small" @click="deleteSpace">删除业务空间</el-button>
|
|
|
</div>
|
|
|
</el-row>
|
|
|
- <div v-if="activeTab=='detail'" style="height:calc(100% - 110px)">
|
|
|
- <iframe height="100%" width="100%" :src="iframeSrc"></iframe>
|
|
|
+ <div v-if="activeTab=='detail'" class="content">
|
|
|
+ <iframe v-if="params.isMyTab == 1" height="100%" width="100%" :src="iframeSrc"></iframe>
|
|
|
+ <div v-else class="content-left">
|
|
|
+ <div class="content-showType"></div>
|
|
|
+ <div class="content-point">
|
|
|
+ <div class="content-point-left">
|
|
|
+ <el-scrollbar style="height:100%;">
|
|
|
+ <div style="height:1000px"></div>
|
|
|
+ </el-scrollbar>
|
|
|
+ </div>
|
|
|
+ <div class="content-point-right">
|
|
|
+ <el-scrollbar style="height:100%;">
|
|
|
+ <div style="height:1000px"></div>
|
|
|
+ </el-scrollbar>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="content-right">
|
|
|
+ <div class="content-repair"></div>
|
|
|
+ <div class="content-media">
|
|
|
+ <el-scrollbar style="height:100%;">
|
|
|
+ <div style="height:1000px"></div>
|
|
|
+ </el-scrollbar>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
<!-- 空间内设备列表--服务于空间的设备 -->
|
|
|
<eqToSpaceTable v-else-if="activeTab=='Equipment' || activeTab=='EquipmentFor'" :params="params" :type="activeTab"></eqToSpaceTable>
|
|
@@ -30,10 +53,12 @@
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
-import { mapGetters } from "vuex"
|
|
|
-import { queryZone, deleteZone } from '@/api/scan/request'
|
|
|
-import eqToSpaceTable from '@/components/business_space/newTables/eqToSpaceTable'
|
|
|
-import syInSpaceTable from '@/components/business_space/newTables/syInSpaceTable'
|
|
|
+import { mapGetters } from "vuex";
|
|
|
+import tools from "@/utils/scan/tools";
|
|
|
+import { getDataDictionary, queryZone, deleteZone } from '@/api/scan/request';
|
|
|
+
|
|
|
+import eqToSpaceTable from '@/components/business_space/newTables/eqToSpaceTable';
|
|
|
+import syInSpaceTable from '@/components/business_space/newTables/syInSpaceTable';
|
|
|
export default {
|
|
|
data() {
|
|
|
return {
|
|
@@ -45,7 +70,9 @@ export default {
|
|
|
{ Code: 'generalSystem', Name: '空间内系统' },
|
|
|
], //tab页
|
|
|
activeTab: 'detail', //当前选中的tab
|
|
|
- spaceDetails: {}, //空间信息
|
|
|
+ pointData: [], //信息点数据
|
|
|
+ exampleData: {}, //实例数据
|
|
|
+ criterias: [], //动态参数
|
|
|
iframeSrc: '', //空间详情iframe
|
|
|
}
|
|
|
},
|
|
@@ -58,8 +85,8 @@ export default {
|
|
|
},
|
|
|
created() {
|
|
|
this.params = this.$route.query;
|
|
|
- this.getSpaceDetails();
|
|
|
- this.setFrame()
|
|
|
+ this.getData();
|
|
|
+ this.setFrame();
|
|
|
},
|
|
|
mounted() { },
|
|
|
watch: {
|
|
@@ -74,22 +101,52 @@ export default {
|
|
|
})
|
|
|
},
|
|
|
// 查询空间详情
|
|
|
- getSpaceDetails() {
|
|
|
- let pa = {
|
|
|
+ getData() {
|
|
|
+ let params1 = {
|
|
|
data: {
|
|
|
- Filters: `RoomID="${this.params.RoomID}"`
|
|
|
+ Orders: "sort asc",
|
|
|
+ PageNumber: 1,
|
|
|
+ PageSize: 1000
|
|
|
+ },
|
|
|
+ type: this.params.zone
|
|
|
+ }, params2 = {
|
|
|
+ data: {
|
|
|
+ Filters: `RoomID='${this.params.RoomID}'`
|
|
|
},
|
|
|
zone: this.params.zone
|
|
|
- }
|
|
|
- queryZone(pa, res => {
|
|
|
- this.spaceDetails = res.Content[0];
|
|
|
+ };
|
|
|
+ let promise1 = new Promise((resolve, reject) => {
|
|
|
+ getDataDictionary(params1, res => {
|
|
|
+ resolve(res)
|
|
|
+ })
|
|
|
+ })
|
|
|
+ let promise2 = new Promise((resolve, reject) => {
|
|
|
+ queryZone(params2, res => {
|
|
|
+ resolve(res)
|
|
|
+ })
|
|
|
+ })
|
|
|
+ Promise.all([promise1, promise2]).then(values => {
|
|
|
+ this.pointData = values[0].Content;
|
|
|
+ this.exampleData = values[1].Content[0];
|
|
|
+ this.pointData.forEach(item => {
|
|
|
+ if (item.InputMode == "L" || item.InputMode == "L1" || item.InputMode == "L2" || item.InputMode == "M") {
|
|
|
+ let cur = tools.dataForKey(this.exampleData, item.Path);
|
|
|
+ if (cur) {
|
|
|
+ this.criterias.push({
|
|
|
+ id: exampleData.EquipID,
|
|
|
+ code: item.InfoPointCode
|
|
|
+ })
|
|
|
+ }
|
|
|
+ }
|
|
|
+ })
|
|
|
})
|
|
|
},
|
|
|
// 设置iframe
|
|
|
setFrame() {
|
|
|
- this.iframeSrc = this.params.isMyTab == 2 ?
|
|
|
- `${process.env.BASE_URL}:8889/#/details?perjectId=${this.projectId}&secret=${this.secret}&FmId=${this.params.RoomID}&type=0&code=${this.params.zone}`
|
|
|
- : `${process.env.BASE_URL}:8889/#/changeMess?perjectId=${this.projectId}&secret=${this.secret}&id=${this.params.RoomID}&type=${this.params.zone}`;
|
|
|
+ this.iframeSrc = `${process.env.BASE_URL}:8889/#/changeMess?perjectId=${this.projectId}&secret=${this.secret}&id=${this.params.RoomID}&type=${this.params.zone}`;
|
|
|
+ // this.iframeSrc = this.params.isMyTab == 2 ?
|
|
|
+ // `${process.env.BASE_URL}:8889/#/details?perjectId=${this.projectId}&secret=${this.secret}&FmId=${this.params.RoomID}&type=0&code=${this.params.zone}`
|
|
|
+ // : `${process.env.BASE_URL}:8889/#/changeMess?perjectId=${this.projectId}&secret=${this.secret}&id=${this.params.RoomID}&type=${this.params.zone}`;
|
|
|
},
|
|
|
// 删除业务空间
|
|
|
deleteSpace() {
|
|
@@ -100,7 +157,7 @@ export default {
|
|
|
}).then(() => {
|
|
|
let pa = {
|
|
|
data: [{
|
|
|
- RoomID: this.spaceDetails.RoomID
|
|
|
+ RoomID: this.exampleData.RoomID
|
|
|
}],
|
|
|
zone: this.params.zone
|
|
|
}
|
|
@@ -125,8 +182,8 @@ export default {
|
|
|
height: 100%;
|
|
|
flex-direction: column;
|
|
|
border: 1px solid #dfe6ec;
|
|
|
+ box-sizing: border-box;
|
|
|
background: #fff;
|
|
|
- margin-bottom: 10px;
|
|
|
.header {
|
|
|
padding-bottom: 10px;
|
|
|
span {
|
|
@@ -153,6 +210,54 @@ export default {
|
|
|
border-bottom: 1px solid #e4e7ed;
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ .content {
|
|
|
+ display: flex;
|
|
|
+ flex-direction: row;
|
|
|
+ box-sizing: border-box;
|
|
|
+ height: calc(100% - 99px);
|
|
|
+ .content-left {
|
|
|
+ display: flex;
|
|
|
+ flex-direction: column;
|
|
|
+ flex: 1;
|
|
|
+ .content-showType {
|
|
|
+ height: 50px;
|
|
|
+ border: 1px solid #ccc;
|
|
|
+ border-bottom: none;
|
|
|
+ box-sizing: border-box;
|
|
|
+ }
|
|
|
+ .content-point {
|
|
|
+ display: flex;
|
|
|
+ flex-direction: row;
|
|
|
+ height: calc(100% - 50px);
|
|
|
+ border: 1px solid #ccc;
|
|
|
+ box-sizing: border-box;
|
|
|
+ .content-point-left {
|
|
|
+ flex: 1;
|
|
|
+ }
|
|
|
+ .content-point-right {
|
|
|
+ width: 400px;
|
|
|
+ border-left: 1px solid #ccc;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .content-right {
|
|
|
+ width: 400px;
|
|
|
+ margin-left: 10px;
|
|
|
+ .content-repair {
|
|
|
+ height: 50px;
|
|
|
+ margin-bottom: 10px;
|
|
|
+ border: 1px solid #ccc;
|
|
|
+ box-sizing: border-box;
|
|
|
+ }
|
|
|
+ .content-media {
|
|
|
+ height: calc(100% - 60px);
|
|
|
+ border: 1px solid #ccc;
|
|
|
+ box-sizing: border-box;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
.main {
|
|
|
margin-top: 10px;
|
|
|
height: calc(100% - 96px);
|
|
@@ -160,6 +265,10 @@ export default {
|
|
|
.footer {
|
|
|
margin-bottom: 10px;
|
|
|
}
|
|
|
+
|
|
|
+ /deep/ .el-scrollbar__wrap {
|
|
|
+ overflow-x: hidden;
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
</style>
|