Browse Source

上传模型新增项目基点配置项

Alfyn 1 month ago
parent
commit
a71318050d

+ 1 - 0
src/locales/lang/en-US/doc/doc.js

@@ -86,6 +86,7 @@ export default {
     'doc.Model-Accuracy-LowPrecision': 'LowPrecision',
     'doc.Model-Accuracy-HighPrecision': 'HighPrecision',
     'doc.Model-ZeroCoordinate': 'ZeroCoordinate',
+    'doc.Model-ProjectBasePoint': 'ProjectBasePoint',
     'doc.Model-srs': 'SpatialReference',
     'doc.Model-Coordinate': 'Coordinate',
     'doc.Model-Pointcloud': 'Pointcloud',

+ 1 - 0
src/locales/lang/zh-CN/doc/doc.js

@@ -86,6 +86,7 @@ export default {
     'doc.Model-Accuracy-LowPrecision': '低精度',
     'doc.Model-Accuracy-HighPrecision': '高精度',
     'doc.Model-ZeroCoordinate': '零点坐标',
+    'doc.Model-ProjectBasePoint': '项目基点',
     'doc.Model-srs': '空间参考',
     'doc.Model-Coordinate': '经纬度局部坐标系',
     'doc.Model-Pointcloud': '激光点云',

+ 1 - 0
src/locales/lang/zh-HK/doc/doc.js

@@ -84,6 +84,7 @@ export default {
     'doc.Model-Accuracy-LowPrecision': '低精度',
     'doc.Model-Accuracy-HighPrecision': '高精度',
     'doc.Model-ZeroCoordinate': '零點坐標',
+    'doc.Model-ProjectBasePoint': '項目基點',
     'doc.Model-srs': '空間參考',
     'doc.Model-Coordinate': '經緯度局部坐標系',
     'doc.Model-Pointcloud': '激光點雲',

+ 30 - 10
src/views/document/uploadModel.vue

@@ -158,6 +158,16 @@
               <a-input-number v-model="form.offset.offsetZ" placeholder="Z" class="inputNumber" />
             </div>
           </a-form-model-item>
+          <a-form-model-item :label-col="{ span: 3 }" :wrapper-col="{ span: 19 }" v-if="isShowFormItem('srsOrigin')">
+            <span slot="label">
+              <span>{{ $t('doc.Model-ProjectBasePoint') }}</span>
+            </span>
+            <div class="inputGroup">
+              <a-input-number v-model="form.srsOrigin.X" placeholder="X" class="inputNumber" />
+              <a-input-number v-model="form.srsOrigin.Y" placeholder="Y" class="inputNumber" />
+              <a-input-number v-model="form.srsOrigin.Z" placeholder="Z" class="inputNumber" />
+            </div>
+          </a-form-model-item>
           <a-form-model-item :label-col="{ span: 3 }" :wrapper-col="{ span: 19 }" v-if="isShowFormItem('srs')">
             <span slot="label">
               <span>{{ $t('doc.Model-srs') }}</span>
@@ -291,37 +301,37 @@ export default {
               value: 'Revit',
               key: 'Revit',
               label: `Revit(2014-2021${this.$t('doc.Model-DirectConnectionMode')}) `,
-              params: ['style', 'zGrid', 'viewStyle', 'drawing', 'isLod', 'accuracy', 'srs', 'offset'],
+              params: ['style', 'zGrid', 'viewStyle', 'drawing', 'isLod', 'accuracy', 'srs', 'offset','srsOrigin'],
             },
             {
               value: 'Revit_glzip',
               key: 'Revit_glzip',
               label: `Revit(2014-2023 ${this.$t('doc.Model-LightweightPlug-inExport')} glzip) `,
-              params: ['style', 'zGrid', 'viewStyle', 'drawing', 'isLod', 'accuracy', 'srs', 'offset'],
+              params: ['style', 'zGrid', 'viewStyle', 'drawing', 'isLod', 'accuracy', 'srs', 'offset','srsOrigin'],
             },
             {
               value: 'Navisworks',
               key: 'Navisworks',
               label: `Navisworks(2017-2023${this.$t('doc.Model-DirectConnectionMode')})`,
-              params: ['isLod', 'srs', 'offset'],
+              params: ['isLod', 'srs', 'offset','srsOrigin'],
             },
             {
               value: 'Navisworks_glzip',
               key: 'Navisworks_glzip',
               label: `Navisworks ${this.$t('doc.Model-LightweightPlug-inExport')} glzip) `,
-              params: ['isLod', 'srs', 'offset'],
+              params: ['isLod', 'srs', 'offset','srsOrigin'],
             },
             {
               value: 'IFC',
               key: 'IFC',
               label: 'IFC',
-              params: ['isLod', 'srs', 'offset'],
+              params: ['isLod', 'srs', 'offset','srsOrigin'],
             },
             {
               value: 'FBX',
               key: 'FBX',
               label: 'FBX',
-              params: ['isLod', 'srs', 'offset'],
+              params: ['isLod', 'srs', 'offset','srsOrigin'],
             },
           ],
         },
@@ -363,6 +373,11 @@ export default {
           offsetY: null,
           offsetZ: null,
         },
+        srsOrigin: {
+          X: null,
+          Y: null,
+          Z: null,
+        },
         isLod: 0,
         accuracy: 5,
         style: 1,
@@ -557,16 +572,21 @@ export default {
           params.configJson[item] = this.form[item]
         })
         if (params.configJson.offset) {
-          params.configJson.srsOrigin = []
           for (const [key, value] of Object.entries(params.configJson.offset)) {
-            if (value || value === 0) {
+            if (value) {
               params.configJson.type = 4
-              // params.configJson[key] = value
-              params.configJson.srsOrigin.push(value)
+              params.configJson[key] = value
             }
           }
           delete params.configJson.offset
         }
+        if (params.configJson.srsOrigin) {
+          if(params.configJson.srsOrigin.X > 0 || params.configJson.srsOrigin.Y > 0 || params.configJson.srsOrigin.Z > 0){
+            params.configJson.srsOrigin = [params.configJson.srsOrigin.X ?? 0,params.configJson.srsOrigin.Y ?? 0,params.configJson.srsOrigin.Z ?? 0]
+          }else{
+            delete params.configJson.srsOrigin
+          }
+        }
         if (['osgb', 'pointcloud'].includes(this.form.selectedOptions.key)) {
           params.gis_type = this.form.selectedOptions.key
         }