فهرست منبع

下拉框调整

Bella 2 سال پیش
والد
کامیت
c04b359795

+ 5 - 1
src/components/common/NewSelect.vue

@@ -5,7 +5,7 @@
     v-model="imgValue"
     :placeholder="placeholder"
     @change="currentSel"
-    clearable
+    :clearable="isClear"
     filterable
   >
     <!-- popper-append-to-body:是否将弹出菜单插入至 body 元素。在菜单的定位出现问题时,可尝试修改该属性-->
@@ -26,6 +26,10 @@
 export default {
   name: "NewSelect",
   props: {
+    isClear:{
+      type:Boolean,
+      default:false
+    },
     options: {
       type: Array,
       default() {

+ 87 - 30
src/components/layout/Header.vue

@@ -1,14 +1,30 @@
 <template>
   <div id="layoutHeader">
     <el-row>
-      <el-col :span="8" v-if="$store.state.windowsSize.width >= 1300" class="logoBox">
+      <el-col
+        :span="8"
+        v-if="$store.state.windowsSize.width >= 1300"
+        class="logoBox"
+      >
         <div class="logo"></div>
         <div class="title">
-          {{ systemInfo.system_name ? systemInfo.system_name : "浦东新区资源环境智慧审计平台" }}
-          <span class="title_version">Version:{{ systemInfo.version ? systemInfo.version : "版本信息获取失败!" }}</span>
+          {{
+            systemInfo.system_name
+              ? systemInfo.system_name
+              : "浦东新区资源环境智慧审计平台"
+          }}
+          <span class="title_version"
+            >Version:{{
+              systemInfo.version ? systemInfo.version : "版本信息获取失败!"
+            }}</span
+          >
         </div>
       </el-col>
-      <el-col :span="2" v-if="$store.state.windowsSize.width < 1300" class="logoBox">
+      <el-col
+        :span="2"
+        v-if="$store.state.windowsSize.width < 1300"
+        class="logoBox"
+      >
         <div class="logo"></div>
       </el-col>
       <el-col :span="$store.state.windowsSize.width < 1300 ? 18 : 13">
@@ -21,13 +37,23 @@
           @select="select"
         >
           <el-menu-item index="1"
-            ><i class="el-icon-s-home" v-show="$store.state.windowsSize.width <= 1700"></i
-            ><span v-show="$store.state.windowsSize.width > 1700">首页</span></el-menu-item
+            ><i
+              class="el-icon-s-home"
+              v-show="$store.state.windowsSize.width <= 1700"
+            ></i
+            ><span v-show="$store.state.windowsSize.width > 1700"
+              >首页</span
+            ></el-menu-item
           >
           <el-submenu index="2">
             <template slot="title" class="submenu"
-              ><i class="el-icon-s-order" v-show="$store.state.windowsSize.width <= 1700"></i
-              ><span v-show="$store.state.windowsSize.width > 1700">疑点筛查</span></template
+              ><i
+                class="el-icon-s-order"
+                v-show="$store.state.windowsSize.width <= 1700"
+              ></i
+              ><span v-show="$store.state.windowsSize.width > 1700"
+                >疑点筛查</span
+              ></template
             >
             <el-menu-item index="2-1">土地资源</el-menu-item>
             <el-menu-item index="2-2">水资源</el-menu-item>
@@ -36,17 +62,32 @@
             <el-menu-item index="2-5">镇域专题</el-menu-item>
           </el-submenu>
           <el-menu-item index="3"
-            ><i class="el-icon-s-order" v-show="$store.state.windowsSize.width <= 1700"></i
-            ><span v-show="$store.state.windowsSize.width > 1700">综合分析</span></el-menu-item
+            ><i
+              class="el-icon-s-order"
+              v-show="$store.state.windowsSize.width <= 1700"
+            ></i
+            ><span v-show="$store.state.windowsSize.width > 1700"
+              >综合分析</span
+            ></el-menu-item
           >
           <el-menu-item index="4"
-            ><i class="el-icon-s-management" v-show="$store.state.windowsSize.width <= 1700"></i
-            ><span v-show="$store.state.windowsSize.width > 1700">全流程管理</span></el-menu-item
+            ><i
+              class="el-icon-s-management"
+              v-show="$store.state.windowsSize.width <= 1700"
+            ></i
+            ><span v-show="$store.state.windowsSize.width > 1700"
+              >全流程管理</span
+            ></el-menu-item
           >
           <el-submenu index="5">
             <template slot="title"
-              ><i class="el-icon-s-finance" v-show="$store.state.windowsSize.width <= 1700"></i
-              ><span v-show="$store.state.windowsSize.width > 1700">智能辅助</span></template
+              ><i
+                class="el-icon-s-finance"
+                v-show="$store.state.windowsSize.width <= 1700"
+              ></i
+              ><span v-show="$store.state.windowsSize.width > 1700"
+                >智能辅助</span
+              ></template
             >
             <el-menu-item index="5-1">法律法规</el-menu-item>
             <el-menu-item index="5-2">历史问题</el-menu-item>
@@ -74,7 +115,11 @@
                 ></el-avatar>
                 <!-- <div class="inner-user-icon"></div> -->
                 <div class="inner-user-text">
-                  {{ $store.state.userInfo && $store.state.userInfo.username ? $store.state.userInfo.username : userName }}
+                  {{
+                    $store.state.userInfo && $store.state.userInfo.username
+                      ? $store.state.userInfo.username
+                      : userName
+                  }}
                 </div>
               </span>
               <el-dropdown-menu slot="dropdown">
@@ -93,7 +138,9 @@ export default {
   data() {
     return {
       systemInfo: {},
-      userName: localStorage.getItem("_USER_NAME") ? localStorage.getItem("_USER_NAME") : "未登录",
+      userName: localStorage.getItem("USER_NAME")
+        ? localStorage.getItem("USER_NAME")
+        : "未登录",
       ActiveIndex: "0",
       navData: {
         1: "首页",
@@ -107,8 +154,8 @@ export default {
         4: "全流程管理",
         "5-1": "法律法规",
         "5-2": "历史问题",
-        "5-3": "指标体系"
-      }
+        "5-3": "指标体系",
+      },
     };
   },
   mounted() {
@@ -127,7 +174,7 @@ export default {
       let sortparam = [{ field: "c_publish_time", orderByType: 2 }];
       params.append("orderBy", JSON.stringify(sortparam));
       this.$Post(this.urlsCollection.selectContentList, params).then(
-        res => {
+        (res) => {
           if (res.code === 200 && res.content.data.length > 0) {
             let tableData = res.content.data;
             if (tableData.length > 0) {
@@ -141,7 +188,10 @@ export default {
               if (systemVersion) {
                 if (systemVersion != this.systemInfo.version) {
                   this.$message.success("新版本已发布!自动更新中!");
-                  localStorage.setItem("SYSTEM_VERSION", this.systemInfo.version);
+                  localStorage.setItem(
+                    "SYSTEM_VERSION",
+                    this.systemInfo.version
+                  );
                   window.location.reload();
                 }
               } else {
@@ -153,7 +203,7 @@ export default {
             this.$message.error(res.message);
           }
         },
-        error => {
+        (error) => {
           this.systemInfo = {};
           this.$message.error(error);
         }
@@ -164,7 +214,10 @@ export default {
       let _ActiveIndex = "";
       if (this.$store.state.navSelect) {
         if (this.$store.state.navSelect.subIndex) {
-          _ActiveIndex = this.$store.state.navSelect.index + "-" + this.$store.state.navSelect.subIndex;
+          _ActiveIndex =
+            this.$store.state.navSelect.index +
+            "-" +
+            this.$store.state.navSelect.subIndex;
         } else {
           _ActiveIndex = this.$store.state.navSelect.index;
         }
@@ -194,7 +247,7 @@ export default {
       that.$emit("navSelect", {
         index: index[0],
         subIndex: index[1],
-        name: name
+        name: name,
       });
       // let notFound = ["2-2", "2-3", "2-4", "5-3"];
       // let notFoundState = true;
@@ -237,7 +290,7 @@ export default {
         // 我的标记
         myLabels: {},
         overlay: {},
-        analysisGroups: {}
+        analysisGroups: {},
       };
       localStorage.removeItem("TOKEN");
       localStorage.removeItem("USER_ID");
@@ -246,18 +299,18 @@ export default {
       const h = this.$createElement;
       this.$notify({
         title: "登出成功",
-        message: h("i", { style: "color: teal" }, "用户退出!感谢使用!")
+        message: h("i", { style: "color: teal" }, "用户退出!感谢使用!"),
       });
-    }
+    },
   },
   watch: {
     "$store.state.navSelect": {
       handler() {
         this.getActiveIndex(false);
       },
-      deep: true
-    }
-  }
+      deep: true,
+    },
+  },
 };
 </script>
 <style lang="less" scoped>
@@ -359,7 +412,11 @@ export default {
   color: #ffffff !important;
   font-size: 24px !important;
 }
-#layoutHeader /deep/ .el-menu--horizontal > .el-submenu .el-submenu__title:hover {
+#layoutHeader
+  /deep/
+  .el-menu--horizontal
+  > .el-submenu
+  .el-submenu__title:hover {
   background: none;
 }
 #layoutHeader /deep/ .el-submenu__title i {

+ 1 - 2
src/components/popup/CaseAuditPopup.vue

@@ -57,7 +57,6 @@
 </template>
 <script>
 import MenuCard from "@/components/layout/MenuCard.vue";
-import NewSelect from "@/components/common/NewSelect.vue";
 /**
  * 疑点审计弹窗
  *
@@ -65,7 +64,7 @@ import NewSelect from "@/components/common/NewSelect.vue";
  */
 export default {
   name: "CaseAuditPopup",
-  components: { MenuCard, NewSelect },
+  components: { MenuCard },
   props: ["tableObj"],
   data() {
     return {

+ 1 - 2
src/components/popup/LabelCasePopup.vue

@@ -33,7 +33,6 @@
 </template>
 <script>
 import MenuCard from "@/components/layout/MenuCard.vue";
-import NewSelect from "@/components/common/NewSelect.vue";
 /**
  * 标记疑点 - 辅助录入属性弹窗
  * @author: Gao Lu
@@ -41,7 +40,7 @@ import NewSelect from "@/components/common/NewSelect.vue";
  */
 export default {
   name: "LabelCasePopup",
-  components: { MenuCard, NewSelect },
+  components: { MenuCard },
   data() {
     return {
       nameInput: "",

+ 1 - 2
src/components/popup/NormalAttrPopup.vue

@@ -22,7 +22,6 @@
 </template>
 <script>
 import MenuCard from "@/components/layout/MenuCard.vue";
-import NewSelect from "@/components/common/NewSelect.vue";
 /**
  * 常规疑点图层弹窗 -- 不支持审计功能
  *
@@ -30,7 +29,7 @@ import NewSelect from "@/components/common/NewSelect.vue";
  */
 export default {
   name: "NormalAttrPopup",
-  components: { MenuCard, NewSelect },
+  components: { MenuCard },
   props: ["tableObj"],
   data() {
     return {

+ 59 - 0
src/utils/watermark.js

@@ -0,0 +1,59 @@
+/**
+ * 水印添加方法
+ */
+/**
+ * 水印添加方法
+ */
+let setWatermark = (str1, str2) => {
+  let waterMarkId = "waterMark_123";
+  //   let waterMarkId = "1.23452384164.123412415";
+  if (document.getElementById(waterMarkId) !== null) {
+    document.body.removeChild(document.getElementById(waterMarkId));
+  }
+  let can = document.createElement("canvas");
+  // 设置canvas画布大小
+  can.width = 500;
+  can.height = 330;
+  let cans = can.getContext("2d");
+  //   水印旋转角度
+  cans.rotate((-45 * Math.PI) / 180);
+  cans.font = "16px Vedana";
+  // cans.fillStyle = "#666666";
+  cans.fillStyle = "#F0FFFF";
+  cans.textAlign = "center";
+  cans.textBaseline = "Middle";
+  cans.fillText(str1, can.width / 2, can.height); // 水印在画布的位置x,y轴
+  cans.fillText(str2, can.width / 2, can.height + 22);
+
+  let div = document.createElement("div");
+  div.id = waterMarkId;
+  div.style.pointerEvents = "none";
+  div.style.top = "60px";
+  div.style.left = "0px";
+  div.style.opacity = "0.15";
+  div.style.position = "fixed";
+  div.style.zIndex = "100000";
+  div.style.width = document.documentElement.clientWidth + "px";
+  div.style.height = document.documentElement.clientHeight + "px";
+  // div.style.background = "rgba(255, 255, 255, 0.2)";
+  div.style.background =
+    "url(" + can.toDataURL("image/png") + ") left top repeat";
+  document.body.appendChild(div);
+  return waterMarkId;
+};
+
+// 添加水印方法
+export const setWaterMark = (str1, str2) => {
+  let waterMarkId = setWatermark(str1, str2);
+  if (document.getElementById(waterMarkId) === null) {
+    waterMarkId = setWatermark(str1, str2);
+  }
+};
+
+// 移除水印方法
+export const removeWatermark = () => {
+  let waterMarkId = "1.23452384164.123412415";
+  if (document.getElementById(waterMarkId) !== null) {
+    document.body.removeChild(document.getElementById(waterMarkId));
+  }
+};

+ 1 - 0
src/views/ComprehensiveAnalysis.vue

@@ -812,6 +812,7 @@ export default {
     // 右侧分页栏图斑定位
     locateCase(data) {
       console.log(data, "locateCase");
+      // 将当前点定位到中心位置
       if (map2DViewer.polygons[data.id]) {
         map2DViewer.map.fitBounds(map2DViewer.polygons[data.id].getBounds());
       }

+ 10 - 7
src/views/HomeView.vue

@@ -161,7 +161,7 @@ import FrequencyView from "@/views/FrequencyView.vue";
 import IndexSystem from "@/views/IndexSystem.vue";
 // 智能辅助 -- 法律法规
 import LawView from "@/views/LawView.vue";
-
+import { removeWatermark, setWaterMark } from "@/utils/watermark";
 export default {
   name: "HomeView",
   components: {
@@ -272,6 +272,15 @@ export default {
   mounted() {
     // 首先获取数据字典中的下拉框数据
     this.selectSelectData("0", "浦东新区行政区划", "associatedItems");
+
+    let markName = localStorage.getItem("USER_NAME");
+    let markDate = this.$dayjs().format("YYYY-MM-DD");
+    if (markName && markDate) {
+      setWaterMark(markName, markDate);
+    }
+  },
+  beforeDestroyed() {
+    removeWatermark();
   },
   methods: {
     classDictQuery(type, cName, keyName) {
@@ -290,12 +299,6 @@ export default {
       });
     },
     initMenu(menus) {
-      // if (menus) {
-      //   this.menus = menus;
-      //   setTimeout(() => {
-      //     this.getSourcesData();
-      //   }, 0);
-      // }
       this.menus = menuOnLine;
       setTimeout(() => {
         this.getSourcesData();