Surpriseplus
2022-10-26 62ae55ae397b7997b147a7b946f7ad5f1c78a45d
src/views/Synthesis/plotting.vue
@@ -2,74 +2,197 @@
  <div class="box">
    <ul>
      <li
        style="width: 86px"
        style="margin-left: 20px"
        @click="changePlot(item)"
        v-for="item in itemsOne"
      >
        <div class="divli">
          <div :class="item.class" class="backimge8"></div>
        </div>
        <div class="div_li">{{ item.name }}</div>
        <div class="div_li">{{ $t(item.name) }}</div>
      </li>
      <li v-if="plotStatus.delete" style="margin-left: 20px">
        <div class="divli">
          <div class="backimge8"><i class="el-icon-delete"></i></div>
        </div>
        <div class="div_li">删除</div>
      </li>
      <li v-if="plotStatus.upload" style="margin-left: 20px">
        <div class="divli">
          <div class="backimge8"><i class="el-icon-upload2"></i></div>
        </div>
        <div class="div_li">上传</div>
      </li>
      <li v-if="plotStatus.upload" style="margin-left: 20px">
        <div class="divli">
          <div class="backimge8"><i class="el-icon-plus"></i></div>
        </div>
        <div class="div_li">新增</div>
      </li>
      <li v-if="plotStatus.upload" style="margin-left: 20px">
        <div class="divli">
          <div class="backimge8"><i class="el-icon-edit"></i></div>
        </div>
        <div class="div_li">修改</div>
      </li>
    </ul>
    <terrainDig ref="terrainDig" />
    <modelPress ref="modelPress" />
  </div>
</template>
<script>
// 测量-信息弹窗
import terrainDig from '../Tools/terrainDig.vue';
import modelPress from '../Tools/modelPress.vue';
export default {
  components: { terrainDig, modelPress },
  data() {
    return {
      plotStatus: {
        delete: false,
        upload: false,
        insert: false,
        update: false,
      },
      itemsOne: [
        {
          id: "1",
          name: "点",
          class: "h1",
          id: '1',
          name: 'synthesis.point',
          class: 'h1',
        },
        {
          id: "2",
          name: "线",
          class: "h2",
          id: '2',
          name: 'synthesis.line',
          class: 'h2',
        },
        {
          id: "3",
          name: "矩形",
          class: "h3",
          id: '3',
          name: 'synthesis.rectangle',
          class: 'h3',
        },
        {
          id: "4",
          name: "多边形",
          class: "h4",
          id: '4',
          name: 'synthesis.polygon',
          class: 'h4',
        },
        {
          id: "7",
          name: "符号化标签",
          class: "h7",
          id: '7',
          name: 'synthesis.symboliclabel',
          class: 'h7',
        },
        {
          id: "5",
          name: "地形平整",
          class: "h5",
          id: '5',
          name: 'synthesis.flatterrain',
          class: 'h5',
        },
        {
          id: "6",
          name: "地形开挖",
          class: "h6",
          id: '6',
          name: 'synthesis.terrainexcavation',
          class: 'h6',
        },
        {
          id: "8",
          name: "清除绘制",
          class: "h8",
          id: '8',
          name: 'synthesis.removepaint',
          class: 'h8',
        },
      ],
    };
  },
  created() {
    var cover_Id = this.$store.state.syntiesis.menu;
    var cover_perms = this.$store.state.permsEntity;
    for (var i = 0; i < cover_perms.length; i++) {
      if (cover_perms[i].pid == cover_Id) {
        this.showViewMenu(cover_perms[i]);
      }
    }
  },
  methods: {
    showViewMenu(res) {
      if (res.cnName != '标绘') return;
      switch (res.tag) {
        case '/delete':
          this.plotStatus.delete = true;
          break;
        case '/upload':
          this.plotStatus.upload = true;
          break;
        case '/insert':
          this.plotStatus.insert = true;
          break;
        case '/update':
          this.plotStatus.update = true;
          break;
      }
    },
    changePlot(res) {
      var res_val = {
        url: "",
        name: res.name,
      };
      this.$bus.$emit("changetool", res_val);
      switch (res.id) {
        case '1':
          sgworld.Creator.createSimpleGraphic(
            'point',
            {},
            function (entity) {}
          );
          break;
        case '2':
          sgworld.Creator.createSimpleGraphic(
            'polyline',
            {},
            function (entity) {}
          );
          break;
        case '3':
          sgworld.Creator.createSimpleGraphic(
            'rectangle',
            {},
            function (entity) {}
          );
          break;
        case '4':
          sgworld.Creator.createSimpleGraphic(
            'polygon',
            {},
            function (entity) {}
          );
          break;
        case '6':
          if (window.Excavation) {
            window.Excavation.clear();
            window.Excavation = null;
          } else {
            this.$refs.terrainDig.open();
          }
          break;
        case '5':
          if (window.TerrainFlattening) {
            window.TerrainFlattening.remove();
            window.TerrainFlattening = null;
          } else {
            this.$refs.modelPress.open();
          }
          break;
        case '7':
          sgworld.Creator.createModelLibrary();
          break;
        case '8':
          this.clearAll();
          break;
      }
    },
    clearAll() {
      sgworld.Creator.SimpleGraphic.clear();
      if (window.Excavation) {
        window.Excavation.clear();
        window.Excavation = null;
      }
      if (window.TerrainFlattening) {
        window.TerrainFlattening.remove();
        window.TerrainFlattening = null;
      }
    },
  },
};
@@ -95,41 +218,41 @@
  margin: 0px;
}
.h1 {
  background: url("../../assets/img/synthesis/椭圆 5 拷贝 3.png") no-repeat
  background: url('../../assets/img/synthesis/椭圆 5 拷贝 3.png') no-repeat
    center;
}
.h2 {
  background: url("../../assets/img/synthesis/椭圆 3 拷贝 16.png") no-repeat
  background: url('../../assets/img/synthesis/椭圆 3 拷贝 16.png') no-repeat
    center;
}
.h3 {
  background: url("../../assets/img/synthesis/椭圆 3 拷贝 20.png") no-repeat
  background: url('../../assets/img/synthesis/椭圆 3 拷贝 20.png') no-repeat
    center;
}
.h4 {
  background: url("../../assets/img/synthesis/椭圆 3 拷贝 23.png") no-repeat
  background: url('../../assets/img/synthesis/椭圆 3 拷贝 23.png') no-repeat
    center;
}
.h5 {
  background: url("../../assets/img/synthesis/矩形 14 拷贝.png") no-repeat
  background: url('../../assets/img/synthesis/矩形 14 拷贝.png') no-repeat
    center;
}
.h6 {
  background: url("../../assets/img/synthesis/矩形 14 拷贝 7.png") no-repeat
  background: url('../../assets/img/synthesis/矩形 14 拷贝 7.png') no-repeat
    center;
}
.h7 {
  background: url("../../assets/img/synthesis/文本风格.png") no-repeat center;
  background: url('../../assets/img/synthesis/文本风格.png') no-repeat center;
}
.h8 {
  background: url("../../assets/img/synthesis/清除.png") no-repeat center;
  background: url('../../assets/img/synthesis/清除.png') no-repeat center;
}
.backimge8 {
  width: 30px;
  height: 30px;
  margin-left: 30px;
  position: absolute;
  background-size: 100% 100%;
  margin: 0% 30%;
}
.divli {
  width: 100%;