修改任务计划的导出功能
parent
2a995c3e34
commit
a0630e0036
|
@ -16,6 +16,16 @@ function groupData(data) {
|
|||
}
|
||||
return tmps;
|
||||
}
|
||||
//清除选中构件样式
|
||||
function clearSelectFeature(that) {
|
||||
let api = bimBriefingApi;
|
||||
if (that.selFeatureId) {
|
||||
let modelId = that.selFeatureId.split("^")[0];
|
||||
api.Feature.setColor(that.selFeatureId, "rgba(255,255,255,1)", modelId);
|
||||
that.selFeatureId = "";
|
||||
}
|
||||
}
|
||||
//查询构件属性信息
|
||||
function dataFiltering(that, id) {
|
||||
const gild = id.split("^");
|
||||
let modelName = "";
|
||||
|
@ -38,18 +48,15 @@ function dataFiltering(that, id) {
|
|||
/**
|
||||
* 获取构件属性信息
|
||||
*/
|
||||
export function getProperty(that) {
|
||||
function getProperty(that) {
|
||||
let api = bimBriefingApi;
|
||||
api.Feature.getByEvent(true, (n) => {
|
||||
console.log(n);
|
||||
if (n && n["id"]) {
|
||||
let featureId = n.id;
|
||||
|
||||
if (featureId.split("^")[1]) {
|
||||
let modelId = featureId.split("^")[0];
|
||||
if (that.selFeatureId) {
|
||||
api.Feature.setColor(that.selFeatureId, "rgba(255,255,255,1)", modelId);
|
||||
}
|
||||
clearSelectFeature(that);
|
||||
api.Feature.setColor(featureId, "rgba(255,0,255,1)", modelId);
|
||||
that.selFeatureId = featureId;
|
||||
dataFiltering(that, featureId);
|
||||
|
@ -65,17 +72,58 @@ export function getProperty(that) {
|
|||
/**
|
||||
* 获取构件尺寸信息
|
||||
*/
|
||||
export function subFeatureSize(that) {
|
||||
function subFeatureSize(that) {
|
||||
let api = bimBriefingApi;
|
||||
api.Public.clearHandler(),
|
||||
api.Measurement.clearAllTrace();
|
||||
that.info = [];
|
||||
api.Public.clearHandler(), api.Measurement.clearAllTrace();
|
||||
api.Feature.getByEvent(true, (n) => {
|
||||
console.log(n);
|
||||
if (n && n["id"]) {
|
||||
let featureId = n.id;
|
||||
let modelId = featureId.split("^")[0];
|
||||
clearSelectFeature(that);
|
||||
api.Feature.getGeometrySizeById(featureId, (res) => {
|
||||
console.log(res);
|
||||
let size = res.size || {};
|
||||
that.info = [
|
||||
{ name: "长", value: (size.x || 0).toFixed(2) + "" },
|
||||
{ name: "宽", value: (size.y || 0).toFixed(2) + "" },
|
||||
{ name: "高", value: (size.z || 0).toFixed(2) + "" },
|
||||
];
|
||||
api.Feature.setColor(featureId, "rgba(255,0,255,1)", modelId);
|
||||
that.selFeatureId = featureId;
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
//构件面积
|
||||
function measurementArea(that) {}
|
||||
|
||||
//构件体积
|
||||
function measuringVolume(that){
|
||||
|
||||
}
|
||||
//构件距离
|
||||
function distance(that){
|
||||
|
||||
}
|
||||
|
||||
//剖切
|
||||
function initClipping(that){
|
||||
|
||||
}
|
||||
|
||||
//构件隐藏
|
||||
function actorVisible(){
|
||||
|
||||
}
|
||||
|
||||
export default {
|
||||
measurementArea,
|
||||
clearSelectFeature,
|
||||
getProperty,
|
||||
subFeatureSize,
|
||||
measuringVolume,
|
||||
distance,
|
||||
initClipping,
|
||||
actorVisible,
|
||||
};
|
|
@ -37,32 +37,44 @@
|
|||
<div class="div-row r66">
|
||||
<div class="row-title">
|
||||
<svg-icon icon-class="signal"></svg-icon>
|
||||
属性
|
||||
{{ title }}
|
||||
</div>
|
||||
<div class="model-properties scroll">
|
||||
<div class="loading" v-if="propertyLoad == 'start'">
|
||||
{{ attributeInformation }}
|
||||
</div>
|
||||
<div class="model-property-nav" v-if="propertyLoad == 'end'">
|
||||
<el-radio-group v-model="selPropertyType" size="small" fill="#6cf">
|
||||
<el-radio-button label="att">属性</el-radio-button>
|
||||
<el-radio-button label="type">类型</el-radio-button>
|
||||
</el-radio-group>
|
||||
</div>
|
||||
<div class="model-property-list" v-if="propertyLoad == 'end'">
|
||||
<div v-for="(item, index) in selPropertyType == 'att' ? propertyAttr : propertyType" :key="index">
|
||||
<div class="group-info">
|
||||
<svg-icon icon-class="info" />
|
||||
<span>{{ item.name }}</span>
|
||||
<template v-if="selectMenu == 7">
|
||||
<div class="loading" v-if="propertyLoad == 'start'">
|
||||
{{ attributeInformation }}
|
||||
</div>
|
||||
<div class="model-property-nav" v-if="propertyLoad == 'end'">
|
||||
<el-radio-group v-model="selPropertyType" size="small" fill="#6cf">
|
||||
<el-radio-button label="att">属性</el-radio-button>
|
||||
<el-radio-button label="type">类型</el-radio-button>
|
||||
</el-radio-group>
|
||||
</div>
|
||||
<div class="model-property-list" v-if="propertyLoad == 'end'">
|
||||
<div v-for="(item, index) in selPropertyType == 'att' ? propertyAttr : propertyType" :key="index">
|
||||
<div class="group-info">
|
||||
<svg-icon icon-class="info" />
|
||||
<span>{{ item.name }}</span>
|
||||
</div>
|
||||
<table class="model-property-table my-table">
|
||||
<tr v-for="(item2, index) in item.data" :key="index">
|
||||
<th width="50%">{{ item2.propertyName }}</th>
|
||||
<td width="50%">{{ item2.value }}</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<table class="model-property-table my-table">
|
||||
<tr v-for="(item2, index) in item.data" :key="index">
|
||||
<th width="50%">{{ item2.propertyName }}</th>
|
||||
<td width="50%">{{ item2.value }}</td>
|
||||
</div>
|
||||
</template>
|
||||
<template v-if="selectMenu == 1 || selectMenu == 2">
|
||||
<div class="info-list">
|
||||
<table class="model-property-table my-table" v-if="info.length > 0">
|
||||
<tr v-for="(item, index) in info" :key="index">
|
||||
<th width="50%">{{ item.name }}</th>
|
||||
<td width="50%">{{ item.value }}</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
@ -165,7 +177,7 @@
|
|||
<script>
|
||||
import debounce from "lodash.debounce";
|
||||
import { MergeArray, DelArray } from "@/utils/tools";
|
||||
import { getProperty,subFeatureSize } from "./bim/briefingProperty";
|
||||
import briefingTools from "./bim/briefingTools";
|
||||
import SvgIcon from "@/components/SvgIcon.vue";
|
||||
export default {
|
||||
components: { SvgIcon },
|
||||
|
@ -188,6 +200,8 @@ export default {
|
|||
selPropertyType: "att",
|
||||
propertyLoad: "",
|
||||
viewPoint: [],
|
||||
info: [],
|
||||
title: "属性",
|
||||
};
|
||||
},
|
||||
mounted() {
|
||||
|
@ -213,31 +227,39 @@ export default {
|
|||
doSelectMenu(index) {
|
||||
this.selectMenu = index;
|
||||
let api = bimBriefingApi;
|
||||
api.Feature.getByEvent(false);
|
||||
api.Feature.getByEvent(false);
|
||||
briefingTools.clearSelectFeature(this);
|
||||
switch (index) {
|
||||
case 0:
|
||||
this.resetScene();
|
||||
this.title = "主界面";
|
||||
break;
|
||||
case 1:
|
||||
subFeatureSize(this);
|
||||
briefingTools.subFeatureSize(this);
|
||||
this.title = "尺寸测量";
|
||||
break;
|
||||
case 2:
|
||||
this.measureArea(index);
|
||||
briefingTools.measurementArea(this);
|
||||
this.title = "面积测量";
|
||||
break;
|
||||
case 3:
|
||||
this.measureVolume(index);
|
||||
briefingTools.measurementVolume(this);
|
||||
break;
|
||||
case 4:
|
||||
this.measureDistance(index);
|
||||
briefingTools.distance(this);
|
||||
this.title = "距离测量";
|
||||
break;
|
||||
case 5:
|
||||
this.sectioning(index);
|
||||
briefingTools.initClipping(this);
|
||||
this.title = "剖切";
|
||||
break;
|
||||
case 6:
|
||||
this.hideModel(index);
|
||||
briefingTools.actorVisible(this);
|
||||
this.title = "隐藏";
|
||||
break;
|
||||
case 7:
|
||||
getProperty(this);
|
||||
briefingTools.getProperty(this);
|
||||
this.title = "属性";
|
||||
break;
|
||||
}
|
||||
},
|
||||
|
@ -648,6 +670,9 @@ export default {
|
|||
.model-property-list {
|
||||
padding: 0px 10px;
|
||||
}
|
||||
.info-list {
|
||||
padding: 10px;
|
||||
}
|
||||
}
|
||||
.model-progress {
|
||||
padding: 10px;
|
||||
|
|
|
@ -92,8 +92,12 @@ public class ProPlanController extends BaseController
|
|||
//subTask.setId(proPlan.getTaskId().intValue());
|
||||
subTask.setOutlineLevel(proPlan.getTaskOutlineLevel().intValue());
|
||||
subTask.setGuid(proPlan.getTaskUniqueId());
|
||||
subTask.setStart(proPlan.getStartDate());
|
||||
subTask.setFinish(proPlan.getFinishDate());
|
||||
if(proPlan.getStartDate()!=null){
|
||||
subTask.setStart(proPlan.getStartDate());
|
||||
}
|
||||
if(proPlan.getFinishDate()!=null){
|
||||
subTask.setFinish(proPlan.getFinishDate());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -2,38 +2,12 @@
|
|||
<div
|
||||
:class="{ 'has-logo': showLogo }"
|
||||
:style="{
|
||||
backgroundColor:
|
||||
sideTheme === 'theme-dark'
|
||||
? variables.menuBackground
|
||||
: variables.menuLightBackground,
|
||||
}"
|
||||
>
|
||||
backgroundColor: sideTheme === 'theme-dark' ? variables.menuBackground : variables.menuLightBackground,
|
||||
}">
|
||||
<logo v-if="showLogo" :collapse="isCollapse" />
|
||||
<el-scrollbar :class="sideTheme" wrap-class="scrollbar-wrapper">
|
||||
<el-menu
|
||||
:default-active="activeMenu"
|
||||
:collapse="isCollapse"
|
||||
:background-color="
|
||||
sideTheme === 'theme-dark'
|
||||
? variables.menuBackground
|
||||
: variables.menuLightBackground
|
||||
"
|
||||
:text-color="
|
||||
sideTheme === 'theme-dark'
|
||||
? variables.menuColor
|
||||
: variables.menuLightColor
|
||||
"
|
||||
:unique-opened="true"
|
||||
:active-text-color="theme"
|
||||
:collapse-transition="false"
|
||||
mode="vertical"
|
||||
>
|
||||
<sidebar-item
|
||||
v-for="(route, index) in sidebarRouters"
|
||||
:key="route.path + index"
|
||||
:item="route"
|
||||
:base-path="route.path"
|
||||
/>
|
||||
<el-menu :default-active="activeMenu" :collapse="isCollapse" :background-color="sideTheme === 'theme-dark' ? variables.menuBackground : variables.menuLightBackground" :text-color="sideTheme === 'theme-dark' ? variables.menuColor : variables.menuLightColor" :unique-opened="true" :active-text-color="theme" :collapse-transition="false" mode="vertical">
|
||||
<sidebar-item v-for="(route, index) in sidebarRouters" :key="route.path + index" :item="route" :base-path="route.path" />
|
||||
</el-menu>
|
||||
</el-scrollbar>
|
||||
</div>
|
||||
|
@ -58,7 +32,7 @@ const sidebarRouters = computed(() => {
|
|||
tmps.forEach((item) => {
|
||||
if (item.meta && item.meta.title == "项目大屏") {
|
||||
item.name += "?prjId=" + userStore.currentPrjId;
|
||||
item.path += "?prjId=" + userStore.currentPrjId;
|
||||
item.path = location.origin + item.path + "?prjId=" + userStore.currentPrjId;
|
||||
}
|
||||
});
|
||||
return tmps;
|
||||
|
|
Loading…
Reference in New Issue