|
@@ -426,74 +426,88 @@ export default {
|
|
// ##############################################
|
|
// ##############################################
|
|
if (eneityName.indexOf("单体") > -1) {
|
|
if (eneityName.indexOf("单体") > -1) {
|
|
console.log("eneityName", eneityName);
|
|
console.log("eneityName", eneityName);
|
|
- let buildingLayer = scene.layers.find(eneityName);
|
|
|
|
- buildingLayer.indexedDBSetting.isAttributesSave = true; //保存属性
|
|
|
|
- if (buildingLayer.getSelection().length > 0) {
|
|
|
|
- const selectedId = Number(buildingLayer.getSelection()[0]);
|
|
|
|
- buildingLayer.getAttributesById([selectedId]).then(async function (atts) {
|
|
|
|
- debugger
|
|
|
|
- console.log("atts", atts);
|
|
|
|
- const ModelName = atts["ModelName"];
|
|
|
|
- let obj = store.state.vectorlayerlist.find((i) => {
|
|
|
|
- return eneityName == i.title;
|
|
|
|
- });
|
|
|
|
- let url1 = obj.url.replace("3D-", "data-");
|
|
|
|
- let url2 = url1.replace(
|
|
|
|
- "realspace",
|
|
|
|
- "data/featureResults.rjson?returnContent=true"
|
|
|
|
- );
|
|
|
|
- console.log(url2, "url2");
|
|
|
|
- let queryByIDParameters = {
|
|
|
|
- getFeatureMode: "SQL",
|
|
|
|
- datasetNames: [eneityName+":"+eneityName],
|
|
|
|
- queryParameter: {"attributeFilter":"ModelName="+ModelName},
|
|
|
|
- };
|
|
|
|
- let e = await mapQuery(url2, queryByIDParameters);
|
|
|
|
- if (e && e.totalCount > 0) {
|
|
|
|
- // that.layerList.push(store.state.vectorlayerlist[i]);
|
|
|
|
- that.layerList.push(obj);
|
|
|
|
- for (let u = 0; u < e.features.length; u++) {
|
|
|
|
- let cur = [];
|
|
|
|
- var linSAr = JSON.parse(JSON.stringify(e.features[u]));
|
|
|
|
- if (e.features[u].fieldNames) {
|
|
|
|
- linSAr.fieldNames.forEach((fieldName, i) => {
|
|
|
|
- let v = linSAr.fieldValues[i];
|
|
|
|
- if (v != "" && !isNaN(parseFloat(v))) {
|
|
|
|
- v = Math.round(parseFloat(v) * 100) / 100;
|
|
|
|
- }
|
|
|
|
|
|
+ debugger
|
|
|
|
+ let ModelName = "";
|
|
|
|
+ let obj = store.state.vectorlayerlist.find((i) => {
|
|
|
|
+ return eneityName == i.title;
|
|
|
|
+ });
|
|
|
|
+ let url1 = obj.url.replace("3D-", "data-");
|
|
|
|
+ let url2 = url1.replace(
|
|
|
|
+ "realspace",
|
|
|
|
+ "data/featureResults.rjson?returnContent=true"
|
|
|
|
+ );
|
|
|
|
+ console.log(url2, "url2");
|
|
|
|
+ let queryModelName = {
|
|
|
|
+ getFeatureMode: "ID",
|
|
|
|
+ datasetNames: [eneityName + ":" + eneityName + "关联"],
|
|
|
|
+ ids: [pickedFeature.id]
|
|
|
|
+ };
|
|
|
|
+ let res = await mapQuery(url2, queryModelName);
|
|
|
|
+ if (res && res.totalCount > 0) {
|
|
|
|
+ let feature = res.features[0]
|
|
|
|
+ // 循环feature中的fieldNames
|
|
|
|
+ for (let i = 0; i < feature.fieldNames.length; i++) {
|
|
|
|
+ // 获取字段名
|
|
|
|
+ let fieldName = feature.fieldNames[i];
|
|
|
|
+ // 获取字段值
|
|
|
|
+ let fieldValue = feature.fieldValues[i];
|
|
|
|
+ // 如果字段名为ModelName
|
|
|
|
+ if (fieldName == "MODELNAME") {
|
|
|
|
+ // 获取ModelName的值
|
|
|
|
+ ModelName = fieldValue;
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ let queryByIDParameters = {
|
|
|
|
+ getFeatureMode: "SQL",
|
|
|
|
+ datasetNames: [eneityName + ":" + eneityName+"矢量"],
|
|
|
|
+ queryParameter: { "attributeFilter": "ModelName=" + ModelName },
|
|
|
|
+ };
|
|
|
|
+ let e = await mapQuery(url2, queryByIDParameters);
|
|
|
|
+ if (e && e.totalCount > 0) {
|
|
|
|
+ // that.layerList.push(store.state.vectorlayerlist[i]);
|
|
|
|
+ that.layerList.push(obj);
|
|
|
|
+ for (let u = 0; u < e.features.length; u++) {
|
|
|
|
+ let cur = [];
|
|
|
|
+ var linSAr = JSON.parse(JSON.stringify(e.features[u]));
|
|
|
|
+ if (e.features[u].fieldNames) {
|
|
|
|
+ linSAr.fieldNames.forEach((fieldName, i) => {
|
|
|
|
+ let v = linSAr.fieldValues[i];
|
|
|
|
+ if (v != "" && !isNaN(parseFloat(v))) {
|
|
|
|
+ v = Math.round(parseFloat(v) * 100) / 100;
|
|
|
|
+ }
|
|
|
|
|
|
- // cur.push({ name: fieldName, value: v });
|
|
|
|
- if (
|
|
|
|
- fieldName.toLowerCase().indexOf("shape") < 0 &&
|
|
|
|
- fieldName.toLowerCase().indexOf("sm") &&
|
|
|
|
- v != ""
|
|
|
|
- ) {
|
|
|
|
- cur.push({ name: fieldName, value: v });
|
|
|
|
- }
|
|
|
|
- });
|
|
|
|
|
|
+ // cur.push({ name: fieldName, value: v });
|
|
|
|
+ if (
|
|
|
|
+ fieldName.toLowerCase().indexOf("shape") < 0 &&
|
|
|
|
+ fieldName.toLowerCase().indexOf("sm") &&
|
|
|
|
+ v != ""
|
|
|
|
+ ) {
|
|
|
|
+ cur.push({ name: fieldName, value: v });
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
|
|
- //获取图层id的参数
|
|
|
|
- let substring = pickedFeature.primitive._baseUri.query;
|
|
|
|
- for (let p = 0; p < store.state.vectorlayerlist.length; p++) {
|
|
|
|
- if (store.state.vectorlayerlist[p].id == substring) {
|
|
|
|
- that.layerList.push(store.state.vectorlayerlist[p]);
|
|
|
|
- break;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- that.queryResults[substring] = [cur];
|
|
|
|
- that.queryResultsGeom[substring] = [];
|
|
|
|
- that.activeLayerId = substring;
|
|
|
|
- } else {
|
|
|
|
- that.$message({
|
|
|
|
- message: "查询结果为空!",
|
|
|
|
- type: "warning",
|
|
|
|
- customClass: "messageIndex",
|
|
|
|
- });
|
|
|
|
|
|
+ //获取图层id的参数
|
|
|
|
+ let substring = pickedFeature.primitive._baseUri.query;
|
|
|
|
+ for (let p = 0; p < store.state.vectorlayerlist.length; p++) {
|
|
|
|
+ if (store.state.vectorlayerlist[p].id == substring) {
|
|
|
|
+ that.layerList.push(store.state.vectorlayerlist[p]);
|
|
|
|
+ break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+ that.queryResults[substring] = [cur];
|
|
|
|
+ that.queryResultsGeom[substring] = [];
|
|
|
|
+ that.activeLayerId = substring;
|
|
|
|
+ } else {
|
|
|
|
+ that.$message({
|
|
|
|
+ message: "查询结果为空!",
|
|
|
|
+ type: "warning",
|
|
|
|
+ customClass: "messageIndex",
|
|
|
|
+ });
|
|
}
|
|
}
|
|
-
|
|
|
|
- });
|
|
|
|
|
|
+ }
|
|
}
|
|
}
|
|
} else if (eneityName.indexOf("雨水") > -1 || eneityName.indexOf("管线") > -1) {
|
|
} else if (eneityName.indexOf("雨水") > -1 || eneityName.indexOf("管线") > -1) {
|
|
// for (let i = 0; i < store.state.vectorlayerlist.length; i++) {
|
|
// for (let i = 0; i < store.state.vectorlayerlist.length; i++) {
|