chenrui  3 年之前
父節點
當前提交
d703736634

二進制
dist.rar


+ 70 - 0
src/views/systemManagement/EditSystem/index.vue

@@ -92,6 +92,15 @@
       <div class="leftB">
         <div class="titleBtn">
           <span class="titleStyle">已分配职员 </span>
+          <div class="searchBox">
+            <el-input
+              placeholder="请输入内容"
+              clearable
+              v-model.trim="keyWordsUp"
+              @keyup.enter.native="queryDatas"
+            ></el-input>
+            <el-button @click="queryDatas()">搜索</el-button>
+          </div>
         </div>
         <div class="center-box fpBox">
           <el-row class="scCont" :gutter="16">
@@ -211,6 +220,7 @@ export default {
       UncheckList: true,
       Unuselist: [],
       keyWords: "",
+      keyWordsUp: "",
       options: [
         {
           value: 0,
@@ -233,6 +243,7 @@ export default {
         IpType: 1,
         IpList: "",
         UseList: [],
+        UseLists: [],
         Unuselist: [],
         Date: [],
         Time: [],
@@ -284,8 +295,33 @@ export default {
         this.getDetial(this.editId);
       }
     },
+    keyWordsUp() {
+      if (this.keyWordsUp.length == 0) {
+        this.FormData.UseList = this.FormData.UseLists;
+      }
+    },
   },
   methods: {
+    compare(property) {
+      return function (a, b) {
+        var value1 = a[property];
+        var value2 = b[property];
+        return value1 - value2;
+      };
+    },
+    queryDatas() {
+      this.keyWordsUp = this.keyWordsUp.replace(/\s+/g, "");
+      const search = this.keyWordsUp;
+      if (search) {
+        this.FormData.UseList = findarrays(
+          this.FormData.UseList,
+          "UserName",
+          search
+        );
+      } else {
+        this.FormData.UseList = this.FormData.UseLists;
+      }
+    },
     queryData() {
       this.keyWords = this.keyWords.replace(/\s+/g, "");
       const search = this.keyWords;
@@ -386,6 +422,9 @@ export default {
               if (that.FormData.Unuselist == null) {
                 that.FormData.Unuselist = [];
               }
+              that.FormData.Unuselist.forEach((res, index) => {
+                res.indexname = index;
+              });
               that.Unuselist = that.FormData.Unuselist;
               that.boxArr = _.cloneDeep(that.FormData.Unuselist);
             }
@@ -399,12 +438,21 @@ export default {
     changeChecked(val, index) {
       this.checkList = false;
       this.FormData.UseList.push(val);
+      this.FormData.UseLists = this.FormData.UseList;
       this.FormData.Unuselist.splice(index, 1);
     },
+
     UnchangeChecked(val, index) {
       this.UncheckList = true;
       this.FormData.Unuselist.push(val);
+      this.FormData.Unuselist = this.FormData.Unuselist.sort(
+        this.compare("indexname")
+      );
       this.FormData.UseList.splice(index, 1);
+      // this.FormData.UseLists.splice(index, 1);
+      this.FormData.UseLists = this.FormData.UseLists.filter(
+        (i) => i.UserName !== val.UserName
+      );
     },
     dataChange: function (data) {
       if (data && data.length > 1) {
@@ -587,6 +635,9 @@ export default {
   background: #ffffff;
   box-shadow: 0px 6px 7px 0px rgba(0, 0, 0, 0.06);
   border-radius: 4px;
+  .searchBox {
+    display: flex;
+  }
 }
 .center-box {
   // max-height: calc(100% - 105px);
@@ -667,6 +718,25 @@ export default {
     display: flex;
   }
 }
+::v-deep .leftB {
+  .el-input__inner {
+    width: 200px;
+    height: 32px;
+    background: #f5f7fa;
+    border: 1px solid #c0c4cc;
+    border-radius: 6px;
+  }
+  .el-button--default {
+    width: 64px;
+    height: 32px;
+    line-height: 8px;
+    background: linear-gradient(0deg, #6983be, #777dba);
+    border-radius: 6px;
+    color: #ffffff;
+    border: none;
+    margin-left: 10px;
+  }
+}
 ::v-deep .rightB {
   .el-input__inner {
     width: 200px;

+ 4 - 1
src/views/systemManagement/LoginPolicy/index.vue

@@ -44,7 +44,9 @@
                   <div>
                     <div class="header-top">
                       <div class="header-mid">
-                        <span class="title">{{ item.TacName }} </span>
+                        <span :title="item.TacName" class="title">{{
+                          item.TacName
+                        }}</span>
                       </div>
                       <div
                         class="loger"
@@ -318,6 +320,7 @@ export default {
 .header-mid {
   display: flex;
   align-items: center;
+  cursor: pointer;
 }
 .loger:hover {
   cursor: pointer;

+ 71 - 0
src/views/systemManagement/addSystem/index.vue

@@ -90,6 +90,15 @@
       <div class="leftB">
         <div class="titleBtn">
           <span class="titleStyle">已分配职员 </span>
+          <div class="searchBox">
+            <el-input
+              placeholder="请输入内容"
+              clearable
+              v-model.trim="keyWordsUp"
+              @keyup.enter.native="queryDatas"
+            ></el-input>
+            <el-button @click="queryDatas()">搜索</el-button>
+          </div>
         </div>
         <div class="center-box fpBox">
           <el-row class="scCont" :gutter="16">
@@ -186,6 +195,7 @@ import { lengthValidator } from "@/utils/validate";
 export default {
   data() {
     return {
+      keyWordsUp: "",
       keyWords: "",
       checkList: [],
       UncheckList: true,
@@ -211,6 +221,7 @@ export default {
         IpType: 1,
         IpList: "",
         UseList: [],
+        UseLists: [],
         Unuselist: [],
         Date: null,
         Time: null,
@@ -255,6 +266,7 @@ export default {
       arrList: [],
       dataList: [],
       checkData: [],
+      copyList: [],
     };
   },
   created: function () {
@@ -282,6 +294,11 @@ export default {
         });
       }
     },
+    keyWordsUp() {
+      if (this.keyWordsUp.length == 0) {
+        this.FormData.UseList = this.FormData.UseLists;
+      }
+    },
   },
   methods: {
     isValidIP: function (ip) {
@@ -356,9 +373,13 @@ export default {
               const arrs = this.arrList.flat();
               const msgs = _.unionBy(arrs, "UserId");
               this.FormData.Unuselist = msgs;
+              this.copyList = msgs;
               this.FormData.Unuselist = this.FormData.Unuselist.filter(
                 (i) => i.UserName
               );
+              this.FormData.Unuselist.forEach((res, index) => {
+                res.indexname = index;
+              });
               this.dataList = msgs;
               this.total = num;
               this.loading = false;
@@ -374,12 +395,27 @@ export default {
     changeChecked(val, index) {
       this.checkList = false;
       this.FormData.UseList.push(val);
+      this.FormData.UseLists = this.FormData.UseList;
       this.FormData.Unuselist.splice(index, 1);
     },
+    compare(property) {
+      return function (a, b) {
+        var value1 = a[property];
+        var value2 = b[property];
+        return value1 - value2;
+      };
+    },
     UnchangeChecked(val, index) {
       this.UncheckList = true;
       this.FormData.Unuselist.push(val);
+      this.FormData.Unuselist = this.FormData.Unuselist.sort(
+        this.compare("indexname")
+      );
       this.FormData.UseList.splice(index, 1);
+      // this.FormData.UseLists.splice(index, 1);
+      this.FormData.UseLists = this.FormData.UseLists.filter(
+        (i) => i.UserName !== val.UserName
+      );
     },
     dataChange: function (data) {
       this.FormData.DateBegin = data[0];
@@ -397,6 +433,19 @@ export default {
         PageIndex: this.pageNum,
       });
     },
+    queryDatas() {
+      this.keyWordsUp = this.keyWordsUp.replace(/\s+/g, "");
+      const search = this.keyWordsUp;
+      if (search) {
+        this.FormData.UseList = findarrays(
+          this.FormData.UseList,
+          "UserName",
+          search
+        );
+      } else {
+        this.FormData.UseList = this.FormData.UseLists;
+      }
+    },
     getUserData(val) {
       // this.arrList = [];
       // this.FormData.Unuselist = [];
@@ -572,6 +621,9 @@ export default {
   box-shadow: 0px 6px 7px 0px rgba(0, 0, 0, 0.06);
   border-radius: 4px;
   overflow: auto;
+  .searchBox {
+    display: flex;
+  }
 }
 .center-box {
   // max-height: calc(100% - 105px);
@@ -648,6 +700,25 @@ export default {
     display: flex;
   }
 }
+::v-deep .leftB {
+  .el-input__inner {
+    width: 200px;
+    height: 32px;
+    background: #f5f7fa;
+    border: 1px solid #c0c4cc;
+    border-radius: 6px;
+  }
+  .el-button--default {
+    width: 64px;
+    height: 32px;
+    line-height: 8px;
+    background: linear-gradient(0deg, #6983be, #777dba);
+    border-radius: 6px;
+    color: #ffffff;
+    border: none;
+    margin-left: 10px;
+  }
+}
 ::v-deep .rightB {
   .el-input__inner {
     width: 200px;