浏览代码

Merge branch 'master' of http://114.244.114.158:8802/siwei/real3d-portalsite

gushoubang 11 月之前
父节点
当前提交
6c798ef339

+ 1 - 21
src/components/3DAnalysis/Smashing/Smashing.vue

@@ -45,26 +45,6 @@ export default {
   beforeDestroy() {},
   mounted() {},
   methods: {
-    //压平测试方法
-    tempTest() {
-      let pos = [
-        109.61859827027874, 18.321966806715164, -1.2607129544892512,
-        109.62636359998885, 18.321805377984234, -1.2572823282163708,
-        109.62492348975545, 18.299342421648266, -0.8778970374238814,
-        109.62015920613872, 18.29884447877476, -0.8767527547718837,
-      ];
-      let aaa = store.state.tempLatData[0];
-      this.flattenNames = [];
-      //遍历所有s3m图层,设置压平
-      for (var i = 0; i < aaa.length; i++) {
-        let nameStr = "flatten" + new Date().getTime();
-        aaa[i].addFlattenRegion({
-          position: pos,
-          name: nameStr,
-        });
-        this.flattenNames.push(nameStr);
-      }
-    },
     createSmashing() {
       //绘制多边形
       const that = this;
@@ -143,7 +123,7 @@ export default {
             name: nameStr,
           });
           //推送压平实体名称
-          this.flattenNames.push(nameStr);
+          that.flattenNames.push(nameStr);
         }
         positions = [];
         that.handler_Cut_fill.polygon.show = false;

+ 4 - 3
src/components/Query/clickQuery/clickQuery.vue

@@ -310,7 +310,7 @@ export default {
           loadGeoJSON(
             cur,
             "#ff0000",
-            { isfly: true, fill_a: 0.001, sw: 5 },
+            { isfly: true, fill_a: 0.6, sw: 5 },
             (data) => (data.name = "geoserver")
           );
         } else {
@@ -329,7 +329,7 @@ export default {
         loadGeoJSON(
           geom,
           "#0000ff",
-          { fill_a: 0.001, sw: 5 },
+          { fill_a: 0.6, sw: 5 },
           (data) => (data.name = "geoserver")
         );
       });
@@ -670,7 +670,7 @@ export default {
     highlightResultsPng(longitude, latitude) {
       manager_layer_png.entities.add({
         name: "manager_layer_png",
-        position: Cesium.Cartesian3.fromDegrees(longitude, latitude, 40),
+        position: Cesium.Cartesian3.fromDegrees(longitude, latitude),
         billboard: {
           // 图像地址,URI或Canvas的属性
           image: "./static/images/overview/go.png",
@@ -679,6 +679,7 @@ export default {
           scale: 1.0,
           zIndex: 2,
           show: true,
+          heightReference: Cesium.HeightReference.CLAMP_TO_GROUND 
         },
       });
     },

+ 2 - 1
src/views/ResourceShare/myApplication/components/addEdtModal.vue

@@ -109,7 +109,8 @@ export default {
       this.activeTabs = "sqjl";
       this.modelType = type;
       this.formData = rowdata;
-      this.activetime = this.formData.list[0].time;
+      if (this.formData.list && this.formData.list.length)
+        this.activetime = this.formData.list[0].time;
     },
     async submit() {
       this.close();

+ 20 - 30
src/views/ResourceShare/myApplication/config.js

@@ -64,36 +64,26 @@ export const detailInfos = [
       { flag: 'value', value: 'carPropertyName', span: 20 }
     ],
   ],
-  [
-    [
-      { flag: 'label', value: '申请理由', span: 4 },
-      { flag: 'value', value: 'carModel', span: 20 }
-    ],
-  ],
-  [
-    [
-      { flag: 'label', value: '系统名称', span: 4 },
-      { flag: 'value', value: 'vehicleNumber', unit: '人', span: 20 }
-    ],
-  ],
-  [
-    [
-      { flag: 'label', value: '预期使用时间', span: 4 },
-      { flag: 'value', value: 'ownerPhone', span: 20 }
-    ],
-  ],
-  [
-    [
-      { flag: 'label', value: '调用IP', span: 4 },
-      { flag: 'value', value: 'owner', span: 20 }
-    ]
-  ],
-  [
-    [
-      { flag: 'label', value: '附件', span: 4 },
-      { flag: 'value', value: 'companyImage', span: 20, isslot: true }
-    ]
-  ]
+  [[
+    { flag: 'label', value: '申请理由', span: 4 },
+    { flag: 'value', value: 'carModel', span: 20 }
+  ]],
+  [[
+    { flag: 'label', value: '系统名称', span: 4 },
+    { flag: 'value', value: 'vehicleNumber', unit: '人', span: 20 }
+  ]],
+  [[
+    { flag: 'label', value: '调用IP', span: 4 },
+    { flag: 'value', value: 'owner', span: 20 }
+  ]],
+  [[
+    { flag: 'label', value: '预期使用时间', span: 4 },
+    { flag: 'value', value: 'ownerPhone', span: 20 }
+  ]],
+  [[
+    { flag: 'label', value: '附件', span: 4 },
+    { flag: 'value', value: 'companyImage', span: 20, isslot: true }
+  ]]
 ]
 export const shjlInfos = [
   [[

+ 2 - 38
src/views/ResourceShare/myApplication/index.vue

@@ -38,7 +38,6 @@
       <customForm></customForm>
       <tablePage
         class="tablePage"
-        title="我的申请"
         :cloumn="cloumn"
         :table="table"
         ref="tableDialogRef"
@@ -136,7 +135,7 @@ export default {
       this.$refs.addEdtModal.Init("info", row);
     },
     reset(row) {
-      this.$refs.addEdtModal.Init("withdraw", row);
+      if (row.type == 0) this.$refs.addEdtModal.Init("withdraw", row);
     },
     copyText(text) {
       this.$copyText(text).then(
@@ -156,42 +155,7 @@ export default {
 };
 </script>
 <style lang="scss" scoped>
-.ResourceShare {
-  width: 100%;
-  height: 100%;
-  background: #b6e0ff;
-  position: absolute;
-  z-index: 99;
-  .innerContainer {
-    width: 100%;
-    height: 100%;
-    position: absolute;
-    background: #041024;
-    z-index: 99;
-    top: 0px;
-    background-image: url("/static/images/homepage/00-底框.png");
-    background-size: 100% 100%;
-    padding: 20px;
-  }
-  .tablePage {
-    margin-top: 20px;
-    height: calc(100% - 100px);
-    .type0,
-    .type3 {
-      color: #e6a23c;
-    }
-    .type1 {
-      color: #67c23a;
-    }
-    .type2 {
-      color: #f56c6c;
-    }
-    .usable {
-      color: #3f93f5;
-      cursor: pointer;
-    }
-  }
-}
+@import "../resource.scss";
 </style>
 <style lang="scss">
 @import "../../cockpit/datePicker.scss";

+ 178 - 0
src/views/ResourceShare/myReview/components/reviewModal.vue

@@ -0,0 +1,178 @@
+<template>
+  <div class="dialog">
+    <el-dialog
+      :title="formData.JGMC"
+      width="40%"
+      :visible.sync="dialogVisible"
+      :before-close="close"
+      :modal-append-to-body="false"
+      :close-on-click-modal="false"
+    >
+      <div class="content">
+        <div>
+          <el-tabs
+            type="border-card"
+            class="xz_box"
+            v-model="activeTabs"
+            stretch
+          >
+            <el-tab-pane label="审核" name="sh">
+              <div>
+                <div class="create" @click="generate">生成并查看服务</div>
+                服务地址:{{ formData.url }}
+              </div>
+              <el-form :model="ruleForm" ref="ruleForm" label-width="100px">
+                <el-form-item label="审核结论:" prop="shjl">
+                  <el-radio v-model="ruleForm.shjl" label="1">
+                    申请通过
+                  </el-radio>
+                  <el-radio v-model="ruleForm.shjl" label="2">
+                    申请不通过
+                  </el-radio>
+                </el-form-item>
+                <el-form-item label="使用截止日期:" prop="jzrq">
+                  <el-date-picker
+                    v-model="ruleForm.jzrq"
+                    type="date"
+                    value-format="yyyy-MM-dd"
+                    placeholder="选择日期"
+                  >
+                  </el-date-picker>
+                  (默认一年)
+                </el-form-item>
+                <el-form-item label="审核意见:" prop="xmmc">
+                  <el-input
+                    v-model="ruleForm.xmmc"
+                    :rows="5"
+                    type="textarea"
+                    placeholder="描述"
+                  ></el-input>
+                </el-form-item>
+                <el-row :gutter="20" class="elrow">
+                  <el-col :span="12">
+                    <el-form-item label="审核时间" prop="shsj">
+                      <el-date-picker
+                        v-model="ruleForm.shsj"
+                        type="date"
+                        value-format="yyyy-MM-dd"
+                        placeholder="自动读取"
+                      >
+                      </el-date-picker>
+                    </el-form-item>
+                  </el-col>
+                  <el-col :span="12">
+                    <el-form-item label="审核人" prop="shr">
+                      <el-input
+                        v-model="ruleForm.shr"
+                        placeholder="自动读取"
+                      ></el-input>
+                    </el-form-item>
+                  </el-col>
+                </el-row>
+              </el-form>
+            </el-tab-pane>
+            <el-tab-pane label="审核记录" name="shjl">
+              <el-tabs
+                type="border-card"
+                class="xz_box"
+                v-model="activetime"
+                stretch
+              >
+                <el-tab-pane
+                  v-for="(il, i) in formData.list"
+                  :key="i"
+                  :label="il.time"
+                  :name="il.time"
+                >
+                  <CustomDetails :model="il" :config="shjlInfos">
+                  </CustomDetails>
+                </el-tab-pane>
+              </el-tabs>
+            </el-tab-pane>
+          </el-tabs>
+        </div>
+      </div>
+      <span slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="close">关闭</el-button>
+        <el-button type="primary" @click="submit">确 定</el-button>
+      </span>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import CustomDetails from "@/components/mapView/custom-detailsInfo.vue";
+import { shjlInfos } from "../../myApplication/config";
+import moment from "moment";
+export default {
+  components: {
+    CustomDetails,
+  },
+  props: {},
+  data() {
+    return {
+      radio: "1",
+
+      shjlInfos: shjlInfos,
+
+      modelType: "info",
+      formData: {},
+      ruleForm: {},
+      dialogVisible: false,
+      activeTabs: "sh",
+      activetime: "",
+    };
+  },
+  created() {},
+  methods: {
+    // 关闭弹窗
+    close() {
+      this.dialogVisible = false;
+      this.$emit("close");
+    },
+    Init(type, rowdata) {
+      this.dialogVisible = true;
+      this.activeTabs = "sh";
+      // this.modelType = type;
+      this.formData = rowdata;
+      if (this.formData.list && this.formData.list.length)
+        this.activetime = this.formData.list[0].time;
+      var dateTime = new Date().getFullYear();
+      this.ruleForm.jzrq = moment(
+        new Date(new Date().setFullYear(dateTime + 1))
+      ).format("YYYY-MM-DD");
+    },
+    generate() {},
+    async submit() {
+      this.close();
+    },
+  },
+};
+</script>
+
+<style lang="scss" scoped>
+.dialog {
+  .content {
+    height: 400px;
+    overflow-y: auto;
+    overflow-x: hidden;
+    color: #fff;
+    .create {
+      display: inline-block;
+      padding: 5px 10px;
+      border: 1px solid #3f93f5;
+      border-radius: 5px;
+      cursor: pointer;
+    }
+  }
+
+  .el-radio {
+    color: #fff;
+  }
+  .elrow {
+    margin-top: 10px;
+  }
+}
+</style>
+<style lang="scss" >
+</style>

+ 154 - 6
src/views/ResourceShare/myReview/index.vue

@@ -1,17 +1,165 @@
 <template>
-  <div>
-    我是我的审核
+  <div class="ghzc ResourceShare">
+    <div class="innerContainer" v-drag>
+      <custom-form ref="formRef" :model="model" :config="formConfig">
+        <template #time>
+          <el-date-picker
+            v-model="model.sj"
+            type="daterange"
+            value-format="yyyy-MM-dd"
+            range-separator="~"
+            start-placeholder="开始日期"
+            end-placeholder="结束日期"
+            class="datepicker"
+            size="mini"
+            @change="changedate"
+          >
+          </el-date-picker>
+        </template>
+        <template #type>
+          <el-select v-model="model.placeCode" placeholder="申请状态">
+            <el-option
+              v-for="item in optionList"
+              :key="item.code"
+              :label="item.name"
+              :value="item.code"
+            >
+            </el-option>
+          </el-select>
+        </template>
+        <template #action>
+          <!-- v-hasPermi="['monitor:job:add']" -->
+          <el-button size="mini" @click="getTableData">查询</el-button>
+          <el-button size="mini" @click="reset()">重置</el-button>
+        </template>
+      </custom-form>
+      <!-- :total="table.total"
+    :tableArrDate="table.data" -->
+      <customForm></customForm>
+      <tablePage
+        class="tablePage"
+        :cloumn="cloumn"
+        :table="table"
+        ref="tableDialogRef"
+        @currentChange="searchFun"
+      >
+        <template #apptype="{ row }">
+          <div :class="`type${row.type}`">{{ row.typeN }}</div>
+        </template>
+        <template #url="{ row }">
+          <div v-if="row.url" @click="copyText(row.url)">
+            {{ row.url }}
+            <i class="el-icon-document-copy usable"></i>
+          </div>
+        </template>
+        <template #action="{ row }">
+          <span class="usable" @click="detail(row)">申请详情</span>
+          <span :class="{ usable: row.type == 3 }" @click="review(row)"
+            >审核</span
+          >
+        </template>
+      </tablePage>
+    </div>
+    <addEdt ref="addEdtModal" @close="closeMdel"></addEdt>
+    <review ref="reviewModal" @close="closeMdel"></review>
   </div>
 </template>
 
 <script>
+// import Clipboard from "clipboard";
+import tablePage from "@/components/mapView/tablePage.vue";
+import customForm from "@/components/mapView/custom-form.vue";
+import addEdt from "../myApplication/components/addEdtModal.vue";
+import review from "./components/reviewModal";
+import { FormConfig, TableHeader } from "../myApplication/config";
 export default {
+  components: {
+    tablePage,
+    customForm,
+    addEdt,
+    review,
+  },
+  props: {},
   data() {
-    return {};
+    return {
+      model: {
+        carNo: "", //网格名称
+        regionCode: "", //地区编码
+        placeCode: "", //所属小区
+      },
+      formConfig: FormConfig,
+      tableData: null,
+      details: {},
+      cloumn: TableHeader,
+      table: {
+        data: [
+          { JGMC: "ssmdmm", type: 0, typeN: "正在审核" },
+          {
+            JGMC: "ssmdmm",
+            type: 1,
+            time: "2024/9/3",
+            typeN: "审核通过",
+            url: "snsd",
+            list: [
+              { time: "2024/9/3", jg: "申请通过" },
+              { time: "2024/8/13", jg: "申请通过" },
+            ],
+          },
+          {
+            JGMC: "ssmdmm",
+            type: 2,
+            typeN: "审核不通过",
+            list: [
+              { time: "2024/9/3", jg: "申请通过" },
+              { time: "2024/8/13", jg: "申请通过" },
+            ],
+          },
+          { JGMC: "ssmdmm", type: 3, typeN: "已撤回" },
+        ],
+        total: 0,
+      },
+    };
+  },
+  methods: {
+    async getTableData(params) {
+      let obj = {
+        jscType: store.state.cockpit_vector.tablejscType,
+        beginTime: store.state.cockpit_date[0],
+        endTime: store.state.cockpit_date[1],
+        id: store.state.cockpit_region.id,
+        ...params,
+      };
+      let data = await QueryList(obj);
+      this.active_dableData = data.data;
+      this.tableData = data.data;
+    },
+    // 详情
+    detail(row) {
+      this.$refs.addEdtModal.Init("info", row);
+    },
+    review(row) {
+      if (row.type == 3) this.$refs.reviewModal.Init("review", row);
+    },
+    copyText(text) {
+      this.$copyText(text).then(
+        () => {
+          this.$message.success("复制成功");
+        },
+        () => {
+          this.$message.error("该浏览器不支持自动复制");
+        }
+      );
+    },
+    closeMdel() {},
   },
+  computed: {},
+  watch: {},
+  mounted() {},
 };
 </script>
-
-<style lang="less" scoped>
-
+<style lang="scss" scoped>
+@import "../resource.scss";
+</style>
+<style lang="scss">
+@import "../../cockpit/datePicker.scss";
 </style>

+ 36 - 0
src/views/ResourceShare/resource.scss

@@ -0,0 +1,36 @@
+.ResourceShare {
+    width: 100%;
+    height: 100%;
+    background: #b6e0ff;
+    position: absolute;
+    z-index: 99;
+    .innerContainer {
+      width: 100%;
+      height: 100%;
+      position: absolute;
+      background: #041024;
+      z-index: 99;
+      top: 0px;
+      background-image: url("/static/images/homepage/00-底框.png");
+      background-size: 100% 100%;
+      padding: 20px;
+    }
+    .tablePage {
+      margin-top: 20px;
+      height: calc(100% - 100px);
+      .type0,
+      .type3 {
+        color: #e6a23c;
+      }
+      .type1 {
+        color: #67c23a;
+      }
+      .type2 {
+        color: #f56c6c;
+      }
+      .usable {
+        color: #3f93f5;
+        cursor: pointer;
+      }
+    }
+  }

+ 5 - 2
src/views/cockpit/common/VectorSpace/BoxCommonVector.vue

@@ -162,8 +162,11 @@ export default {
         this.tempdataLayerId = did_v;
         if (tdsy.layersObj[did_v]) {
           tdsy.layersObj[did_v].show = true;
-          viewer.flyTo(layerSources[did_v], {
-            offset: new Cesium.HeadingPitchRange(0, -45),
+          // viewer.flyTo(layerSources[did_v], {
+          //   offset: new Cesium.HeadingPitchRange(0, -45),
+          // });
+          loadGeoJSON(item.geom, null, { isfly: true }, (data) => {
+            layerSources[did_v] = data;
           });
         } else {
           this.goLayer(item.geom, did_v);