@kq_npm/client3d_webgl_vue 3.1.2-beta → 3.1.4-beta

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -47,13 +47,15 @@ class GPUSpatialQueryViewModel {
47
47
  var that = this;
48
48
  that._removeEventListener = that._drawManager.drawFinishedEvent.addEventListener(shape => {
49
49
  if (shape) {
50
- that._drawManager.clear();
51
-
50
+ that._drawManager && that._drawManager.clear();
52
51
  that._center = shape.position; //that.startQuery();
53
52
 
54
53
  setTimeout(() => {
55
54
  //绘制跟高亮显示有冲突,所以延时执行查询
56
55
  that.startQuery();
56
+ that._drawManager && that._drawManager.startDraw("marker", {
57
+ image: null
58
+ });
57
59
  }, 10);
58
60
  }
59
61
  });
@@ -111,6 +113,7 @@ class GPUSpatialQueryViewModel {
111
113
  }
112
114
 
113
115
  if (flag) {
116
+ this.clear();
114
117
  this.findLayers();
115
118
 
116
119
  this._drawManager.startDraw("marker", {
package/index.js CHANGED
@@ -5979,13 +5979,15 @@ class GPUSpatialQueryViewModel {
5979
5979
  var that = this;
5980
5980
  that._removeEventListener = that._drawManager.drawFinishedEvent.addEventListener(shape => {
5981
5981
  if (shape) {
5982
- that._drawManager.clear();
5983
-
5982
+ that._drawManager && that._drawManager.clear();
5984
5983
  that._center = shape.position; //that.startQuery();
5985
5984
 
5986
5985
  setTimeout(() => {
5987
5986
  //绘制跟高亮显示有冲突,所以延时执行查询
5988
5987
  that.startQuery();
5988
+ that._drawManager && that._drawManager.startDraw("marker", {
5989
+ image: null
5990
+ });
5989
5991
  }, 10);
5990
5992
  }
5991
5993
  });
@@ -6043,6 +6045,7 @@ class GPUSpatialQueryViewModel {
6043
6045
  }
6044
6046
 
6045
6047
  if (flag) {
6048
+ this.clear();
6046
6049
  this.findLayers();
6047
6050
 
6048
6051
  this._drawManager.startDraw("marker", {
@@ -6892,6 +6895,7 @@ class ModelSelectViewModel {
6892
6895
  //屏幕空间事件处理程序三维对象
6893
6896
  //拾取状态
6894
6897
  //高亮三维对象
6898
+ //高亮颜色
6895
6899
  constructor(scenceView, pickCallFunc) {
6896
6900
  _defineProperty(this, "_viewer", null);
6897
6901
 
@@ -6901,7 +6905,7 @@ class ModelSelectViewModel {
6901
6905
 
6902
6906
  _defineProperty(this, "_highlight", null);
6903
6907
 
6904
- _defineProperty(this, "_modeFiled", 'id');
6908
+ _defineProperty(this, "_highlightColor", "#FF0000");
6905
6909
 
6906
6910
  this._viewer = scenceView._viewer;
6907
6911
  this._drawManager = scenceView._drawManager;
@@ -6910,32 +6914,42 @@ class ModelSelectViewModel {
6910
6914
 
6911
6915
  this._handler.setInputAction(function (movement) {
6912
6916
  if (that._isPick) {
6913
- let pickedObject = that._viewer.scene.pick(movement.position); //console.log(pickedObject);
6917
+ that.clearHighlight();
6918
+
6919
+ let pickedObject = that._viewer.scene.pick(movement.position); // console.log(pickedObject);
6914
6920
 
6915
6921
 
6916
6922
  if (pickedObject) {
6917
6923
  if (pickedObject instanceof Cesium.Cesium3DTileFeature) {
6918
- let properties = pickedObject.getPropertyNames() || [];
6919
- console.log(properties);
6920
-
6921
- if (properties.indexOf(that._modeFiled) > -1) {
6922
- let id = pickedObject.getProperty(that._modeFiled); // that.clear();
6923
-
6924
- that._highlight = new Cesium.Kq3dHighlight({
6925
- viewer: that._viewer,
6926
- tileset: pickedObject.tileset,
6927
- attrName: that._modeFiled,
6928
- attrValue: [id],
6929
- color: [Cesium.Color.RED]
6930
- });
6931
- let attrs = {};
6932
- properties.forEach(prop => {
6933
- attrs[prop] = pickedObject.getProperty(prop);
6934
- });
6935
- pickCallFunc && pickCallFunc(pickedObject.tileset.name || "LayerName", attrs);
6936
- } else {
6937
- console.log("Feature has no id attribute!");
6938
- }
6924
+ let properties = pickedObject.getPropertyNames() || []; // console.log(properties);
6925
+
6926
+ that._highlight = {
6927
+ object: pickedObject.pickId.object,
6928
+ color: pickedObject.pickId.object.color
6929
+ };
6930
+ pickedObject.pickId.object.color = Cesium.Color.fromCssColorString(that._highlightColor);
6931
+ let attrs = {};
6932
+ properties.forEach(prop => {
6933
+ attrs[prop] = pickedObject.getProperty(prop);
6934
+ });
6935
+ pickCallFunc && pickCallFunc(pickedObject.tileset.name || "LayerName", attrs); // if (properties.indexOf(that._modeFiled) > -1) {
6936
+ // let id = pickedObject.getProperty(that._modeFiled);
6937
+ // // that.clear();
6938
+ // that._highlight = new Cesium.Kq3dHighlight({
6939
+ // viewer: that._viewer,
6940
+ // tileset: pickedObject.tileset,
6941
+ // attrName: that._modeFiled,
6942
+ // attrValue: [id],
6943
+ // color: [Cesium.Color.RED]
6944
+ // });
6945
+ // let attrs = {};
6946
+ // properties.forEach(prop => {
6947
+ // attrs[prop] = pickedObject.getProperty(prop);
6948
+ // });
6949
+ // pickCallFunc && pickCallFunc(pickedObject.tileset.name || "LayerName", attrs);
6950
+ // } else {
6951
+ // console.log("Feature has no id attribute!");
6952
+ // }
6939
6953
  }
6940
6954
  }
6941
6955
  }
@@ -6964,12 +6978,21 @@ class ModelSelectViewModel {
6964
6978
  } else {
6965
6979
  throw "请添加模型后拾取!";
6966
6980
  }
6981
+ }
6982
+
6983
+ clearHighlight() {
6984
+ if (this._highlight) {
6985
+ this._highlight.object.color = this._highlight.color;
6986
+ }
6987
+
6988
+ this._highlight = null;
6967
6989
  } //清除
6968
6990
 
6969
6991
 
6970
6992
  clear() {
6971
- this._highlight && this._highlight.remove();
6972
- this._highlight = null;
6993
+ this.clearHighlight(); // this._highlight && this._highlight.remove();
6994
+ // this._highlight = null;
6995
+
6973
6996
  this.setCursor("default");
6974
6997
  this._isPick = false;
6975
6998
  } //销毁
@@ -6987,16 +7010,21 @@ const ModelSelectvue_type_script_setup_true_lang_js_hoisted_1 = {
6987
7010
  class: "kq3d-model-select-box"
6988
7011
  };
6989
7012
  const ModelSelectvue_type_script_setup_true_lang_js_hoisted_2 = {
6990
- class: "modelTree"
7013
+ class: "title"
6991
7014
  };
6992
- const ModelSelectvue_type_script_setup_true_lang_js_hoisted_3 = {
7015
+
7016
+ const ModelSelectvue_type_script_setup_true_lang_js_hoisted_3 = /*#__PURE__*/(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.createElementVNode)("span", null, "所属图层名称:", -1
7017
+ /* HOISTED */
7018
+ );
7019
+
7020
+ const ModelSelectvue_type_script_setup_true_lang_js_hoisted_4 = {
6993
7021
  class: "footer-buttons"
6994
7022
  };
6995
7023
 
6996
7024
 
6997
7025
 
6998
7026
 
6999
- // 树绑定字段
7027
+ // tree数据源
7000
7028
 
7001
7029
  const ModelSelectvue_type_script_setup_true_lang_js_default_ = {
7002
7030
  name: "Kq3dModelSelect"
@@ -7005,14 +7033,15 @@ const ModelSelectvue_type_script_setup_true_lang_js_default_ = {
7005
7033
  props: {
7006
7034
  //指定组件绑定的viewer对象的div的id
7007
7035
  mapTarget: String,
7008
- modeFiled: {
7009
- default: "id",
7010
- type: String
7011
- },
7012
7036
  // 外部字段别名映射
7013
7037
  aliasNameReflection: {
7014
7038
  type: Function
7015
7039
  },
7040
+ // 高亮颜色
7041
+ highlightColor: {
7042
+ type: String,
7043
+ default: "#FF0000"
7044
+ },
7016
7045
  // 是否显示阴影效果
7017
7046
  showShadow: {
7018
7047
  type: Boolean,
@@ -7053,12 +7082,7 @@ const ModelSelectvue_type_script_setup_true_lang_js_default_ = {
7053
7082
  expose
7054
7083
  }) {
7055
7084
  const props = __props;
7056
- const defaultProps = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.reactive)({
7057
- children: "children",
7058
- label: "label"
7059
- }); // tree数据源
7060
-
7061
- let treeData = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.ref)([]); // 属性值
7085
+ let layerNameTitle = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.ref)(""); // 属性值
7062
7086
 
7063
7087
  let tableData = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.ref)([]); //语言
7064
7088
 
@@ -7093,6 +7117,7 @@ const ModelSelectvue_type_script_setup_true_lang_js_default_ = {
7093
7117
  if (scenceView) {
7094
7118
  language.value = scenceView._language;
7095
7119
  viewModel = new ModelSelectViewModel(scenceView, pickCallFunc);
7120
+ viewModel._highlightColor = props.highlightColor;
7096
7121
  }
7097
7122
  });
7098
7123
  });
@@ -7107,36 +7132,45 @@ const ModelSelectvue_type_script_setup_true_lang_js_default_ = {
7107
7132
  }
7108
7133
  };
7109
7134
 
7110
- function setModeFiled(val) {
7111
- viewModel._modeFiled = val;
7112
- }
7113
-
7114
7135
  function pick() {
7115
7136
  viewModel && viewModel.pick();
7116
7137
  }
7117
7138
 
7118
7139
  function pickCallFunc(layerName, properties) {
7119
- let newTreeData = [{
7120
- label: layerName,
7121
- children: [{
7122
- label: properties.id || "Model1"
7123
- }]
7124
- }];
7125
- treeData.value = newTreeData;
7140
+ layerNameTitle.value = layerName;
7126
7141
  let propertiesData = [];
7127
7142
 
7128
- for (let key in properties) {
7129
- propertiesData.push({
7130
- field: key,
7131
- value: properties[key]
7143
+ if (props.aliasNameReflection) {
7144
+ let arrKeys = [];
7145
+
7146
+ for (let key in properties) {
7147
+ arrKeys.push(key);
7148
+ }
7149
+
7150
+ props.aliasNameReflection(arrKeys, item => {
7151
+ console.log(item);
7152
+
7153
+ for (let key in properties) {
7154
+ propertiesData.push({
7155
+ field: item[key] ? item[key] : key,
7156
+ value: properties[key]
7157
+ });
7158
+ }
7132
7159
  });
7160
+ } else {
7161
+ for (let key in properties) {
7162
+ propertiesData.push({
7163
+ field: key,
7164
+ value: properties[key]
7165
+ });
7166
+ }
7133
7167
  }
7134
7168
 
7135
7169
  tableData.value = propertiesData;
7136
7170
  }
7137
7171
 
7138
7172
  function clear() {
7139
- treeData.value = [];
7173
+ layerNameTitle.value = "";
7140
7174
  tableData.value = [];
7141
7175
  viewModel && viewModel.clear();
7142
7176
  } // 销毁
@@ -7148,22 +7182,15 @@ const ModelSelectvue_type_script_setup_true_lang_js_default_ = {
7148
7182
  expose({
7149
7183
  pick,
7150
7184
  clear,
7151
- pickCallFunc,
7152
- setModeFiled
7185
+ pickCallFunc
7153
7186
  });
7154
7187
  return (_ctx, _cache) => {
7155
- const _component_KqTree = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.resolveComponent)("KqTree");
7156
-
7157
- const _component_kq_scrollbar = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.resolveComponent)("kq-scrollbar");
7158
-
7159
- const _component_kq_col = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.resolveComponent)("kq-col");
7188
+ const _component_kq_row = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.resolveComponent)("kq-row");
7160
7189
 
7161
7190
  const _component_kq_table_column = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.resolveComponent)("kq-table-column");
7162
7191
 
7163
7192
  const _component_kq_table = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.resolveComponent)("kq-table");
7164
7193
 
7165
- const _component_kq_row = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.resolveComponent)("kq-row");
7166
-
7167
7194
  const _component_kq_button = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.resolveComponent)("kq-button");
7168
7195
 
7169
7196
  return (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.openBlock)(), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.createElementBlock)("section", {
@@ -7179,72 +7206,51 @@ const ModelSelectvue_type_script_setup_true_lang_js_default_ = {
7179
7206
  }, null, 512
7180
7207
  /* NEED_PATCH */
7181
7208
  )) : (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.createCommentVNode)("v-if", true), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.createElementVNode)("div", ModelSelectvue_type_script_setup_true_lang_js_hoisted_1, [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.createVNode)(_component_kq_row, null, {
7182
- default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.createVNode)(_component_kq_col, {
7183
- span: 8
7184
- }, {
7185
- default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.createElementVNode)("div", ModelSelectvue_type_script_setup_true_lang_js_hoisted_2, [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.createVNode)(_component_kq_scrollbar, {
7186
- class: "scrollbarClass"
7187
- }, {
7188
- default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.createVNode)(_component_KqTree, {
7189
- data: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.unref)(treeData),
7190
- props: defaultProps,
7191
- "expand-on-click-node": false,
7192
- "default-expand-all": "",
7193
- "highlight-current": "",
7194
- "node-key": "id"
7195
- }, null, 8
7196
- /* PROPS */
7197
- , ["data", "props"])]),
7198
- _: 1
7199
- /* STABLE */
7200
-
7201
- })])]),
7202
- _: 1
7203
- /* STABLE */
7209
+ default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.createElementVNode)("div", ModelSelectvue_type_script_setup_true_lang_js_hoisted_2, [ModelSelectvue_type_script_setup_true_lang_js_hoisted_3, (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.createElementVNode)("span", null, (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.toDisplayString)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.unref)(layerNameTitle)), 1
7210
+ /* TEXT */
7211
+ )])]),
7212
+ _: 1
7213
+ /* STABLE */
7204
7214
 
7205
- }), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.createVNode)(_component_kq_col, {
7206
- span: 16
7215
+ }), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.createVNode)(_component_kq_row, {
7216
+ class: "modelTable"
7217
+ }, {
7218
+ default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.createVNode)(_component_kq_table, {
7219
+ border: "",
7220
+ stripe: "",
7221
+ data: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.unref)(tableData),
7222
+ style: {
7223
+ "width": "100%",
7224
+ "height": "100%"
7225
+ },
7226
+ "cell-style": {
7227
+ padding: '8px 0'
7228
+ },
7229
+ "header-cell-style": (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.unref)(headClass)
7207
7230
  }, {
7208
- default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.createVNode)(_component_kq_table, {
7209
- border: "",
7210
- stripe: "",
7211
- data: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.unref)(tableData),
7212
- style: {
7213
- "width": "100%",
7214
- "height": "100%"
7215
- },
7216
- "cell-style": {
7217
- padding: '8px 0'
7218
- },
7219
- "header-cell-style": (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.unref)(headClass)
7220
- }, {
7221
- default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.createVNode)(_component_kq_table_column, {
7222
- label: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.unref)(language).fieldName,
7223
- prop: "field",
7224
- align: "center"
7225
- }, null, 8
7226
- /* PROPS */
7227
- , ["label"]), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.createVNode)(_component_kq_table_column, {
7228
- label: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.unref)(language).fieldValue,
7229
- prop: "value",
7230
- align: "center"
7231
- }, null, 8
7232
- /* PROPS */
7233
- , ["label"])]),
7234
- _: 1
7235
- /* STABLE */
7236
-
7237
- }, 8
7231
+ default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.createVNode)(_component_kq_table_column, {
7232
+ label: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.unref)(language).fieldName,
7233
+ prop: "field",
7234
+ align: "center"
7235
+ }, null, 8
7238
7236
  /* PROPS */
7239
- , ["data", "header-cell-style"])]),
7237
+ , ["label"]), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.createVNode)(_component_kq_table_column, {
7238
+ label: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.unref)(language).fieldValue,
7239
+ prop: "value",
7240
+ align: "center"
7241
+ }, null, 8
7242
+ /* PROPS */
7243
+ , ["label"])]),
7240
7244
  _: 1
7241
7245
  /* STABLE */
7242
7246
 
7243
- })]),
7247
+ }, 8
7248
+ /* PROPS */
7249
+ , ["data", "header-cell-style"])]),
7244
7250
  _: 1
7245
7251
  /* STABLE */
7246
7252
 
7247
- }), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.createElementVNode)("div", ModelSelectvue_type_script_setup_true_lang_js_hoisted_3, [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.createVNode)(_component_kq_button, {
7253
+ }), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.createElementVNode)("div", ModelSelectvue_type_script_setup_true_lang_js_hoisted_4, [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.createVNode)(_component_kq_button, {
7248
7254
  onClick: _cache[0] || (_cache[0] = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.withModifiers)($event => pick(), ["stop"])),
7249
7255
  title: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.unref)(language).pick,
7250
7256
  type: "primary"