Browse Source

合并代码

zhongxiaoyu 3 years ago
parent
commit
478dd5d80b

+ 6 - 4
src/components/rulesofcompetency/index.vue

@@ -10,7 +10,7 @@
       </div>
       <div class="juris_list" :style="{ marginBottom: marginB }">
         <p>时效范围起</p>
-        <el-date-picker v-model="form.firstWeeks" type="datetime" value-format="yyyy-MM-dd HH:mm:ss" placeholder="选择时间" size="mini" :picker-options="pickerOptionsStart">
+        <el-date-picker @change="setTime" v-model="form.firstWeeks" type="datetime" value-format="yyyy-MM-dd HH:mm:ss" placeholder="选择时间" size="mini" :picker-options="pickerOptionsStart">
         </el-date-picker>
       </div>
       <div class="juris_list" :style="{ marginBottom: marginB }">
@@ -146,9 +146,11 @@ export default {
   },
   methods: {
     setTime () {
-      if (this.form.endWeeks <= this.form.firstWeeks) {
-        this.form.endWeeks = ''
-        this.$message.error('结束时间不能小于开始时间,请重新选择')
+      if (this.form.endWeeks && this.form.firstWeeks) {
+        if (this.form.endWeeks <= this.form.firstWeeks) {
+          this.form.endWeeks = ''
+          this.$message.error('结束时间不能小于开始时间,请重新选择')
+        }
       }
     },
     getData () {

+ 9 - 3
src/views/authorityManagement/components/authorityAppAdd.vue

@@ -40,7 +40,7 @@
           <el-form-item class="url" prop="url" label="应用地址">
             <el-input placeholder="请输入应用地址" maxlength="200" v-model="form.url"></el-input>
           </el-form-item>
-          <el-form-item class="content" prop="content" label="描述">
+          <el-form-item class="content" label="描述">
             <el-input type="textarea" maxlength="200" rows="3" placeholder="请输入描述" v-model="form.content"></el-input>
           </el-form-item>
         </el-form>
@@ -92,6 +92,7 @@
 
 <script>
 import { SaveApp } from "@/api/apiAuthority";
+import { lengthValidator } from '@/utils/validate'
 export default {
   name: "Addapp",
   data () {
@@ -106,8 +107,13 @@ export default {
       },
       rules: {
         //表单验证
-        name: [{ required: true, message: "请输入应用名称", trigger: "blur" }],
-        content: [{ required: true, message: "请输入描述", trigger: "blur" }],
+        name: [
+          { required: true, message: "请输入应用名称", trigger: "blur" },
+          { validator: lengthValidator, max: 32, message: '长度在 1到 32 个字符', trigger: ['change', 'blur'] }],
+        content: [
+          { required: true, message: "请输入描述", trigger: "blur" },
+          { validator: lengthValidator, max: 200, message: '长度在 1到 200 个字符', trigger: ['change', 'blur'] }
+        ],
       },
       radio: "1",
       type: null, //参数类型

+ 19 - 4
src/views/authorityManagement/components/authorityAppEdit.vue

@@ -23,7 +23,7 @@
         </div>
         <div class="btn">
           <!-- <el-button @click="deleteApp" class="r24" type="danger">删除</el-button> -->
-          <el-button @click="editApp" type="primary">保存</el-button>
+          <el-button @click="onSubmit('form')" type="primary">保存</el-button>
         </div>
       </div>
       <div class="addApp-form-content dialog-public-background">
@@ -46,7 +46,7 @@
           <el-form-item class="url" prop="url" label="应用地址">
             <el-input placeholder="请输入应用地址" maxlength="200" v-model="form.url"></el-input>
           </el-form-item>
-          <el-form-item prop="content" class="content" label="描述">
+          <el-form-item class="content" label="描述">
             <el-input type="textarea" maxlength="200" rows="3" placeholder="请输入描述" v-model="form.content"></el-input>
           </el-form-item>
         </el-form>
@@ -103,6 +103,7 @@ import {
   UpdateAppStatus,
   DeleteApp,
 } from "@/api/apiAuthority";
+import { lengthValidator } from '@/utils/validate'
 export default {
   name: "Addapp",
   data () {
@@ -117,8 +118,13 @@ export default {
       },
       rules: {
         //表单验证
-        name: [{ required: true, message: "请输入应用名称", trigger: "blur" }],
-        content: [{ required: true, message: "请输入描述", trigger: "blur" }],
+        name: [
+          { required: true, message: "请输入应用名称", trigger: "blur" },
+          { validator: lengthValidator, max: 32, message: '长度在 1到 32 个字符', trigger: ['change', 'blur'] }],
+        content: [
+          { required: true, message: "请输入描述", trigger: "blur" },
+          { validator: lengthValidator, max: 200, message: '长度在 1到 200 个字符', trigger: ['change', 'blur'] }
+        ],
       },
       radio: 1,
       AppId: null,
@@ -188,6 +194,15 @@ export default {
         console.log("出错了", error);
       }
     },
+    onSubmit (formName) {
+      this.$refs[formName].validate((valid) => {
+        if (valid) {
+          this.editApp();
+        } else {
+          return false;
+        }
+      });
+    },
     //应用状态变更
     async editApp () {
       try {

+ 1 - 1
src/views/authorityManagement/components/authorityHome.vue

@@ -26,7 +26,7 @@
         <el-col :span="6" class="bodyPart">
           <div class="grid-content">
             <div class="title">权限树</div>
-            <div class="contentTree">
+            <div v-loading="loading" element-loading-text="拼命加载中" element-loading-spinner="el-icon-loading" class="contentTree">
               <el-tree ref="tree" :data="dataListTree" :props="defaultProps" node-key="AuthId" :filter-node-method="filterNode" highlight-current :default-expanded-keys="[currentKey]" @node-click="handleNodeClick">
               </el-tree>
             </div>

+ 18 - 5
src/views/authorityManagement/components/authorityPowerAdd.vue

@@ -27,13 +27,13 @@
       <div class="addApp-form-content dialog-public-background">
         <el-form :inline="true" ref="form" :rules="rules" class="form" :model="form">
           <el-form-item prop="name" label="权限项名称">
-            <el-input placeholder="请输入权限项名称" maxlength="32" v-model="form.name"></el-input>
+            <el-input placeholder="请输入权限项名称" v-model="form.name"></el-input>
           </el-form-item>
           <el-form-item prop="id" label="标识符">
-            <el-input placeholder="请输入标识符" maxlength="32" v-model="form.id"></el-input>
+            <el-input placeholder="请输入标识符" v-model="form.id"></el-input>
           </el-form-item>
-          <el-form-item label="描述">
-            <el-input style="width: 640px" maxlength="200" placeholder="请输入描述" v-model="form.app"></el-input>
+          <el-form-item prop="app" label="描述">
+            <el-input style="width: 640px" placeholder="请输入描述" v-model="form.app"></el-input>
           </el-form-item>
         </el-form>
       </div>
@@ -77,6 +77,7 @@ import {
 } from "@/api/apiAuthority";
 import treeData from "../minixs/treeData";
 import { mapGetters } from "vuex";
+import { lengthValidator } from '@/utils/validate';
 export default {
   name: "AuthorityPower",
   components: { Rolelist, Rulesofcompetency, Organization },
@@ -94,8 +95,15 @@ export default {
         //表单验证
         name: [
           { required: true, message: "请输入权限项名称", trigger: "blur" },
+          { validator: lengthValidator, max: 32, message: '最多输入32个字符', trigger: ['change', 'blur'] }
         ],
-        id: [{ required: true, message: "请输入标识符", trigger: "blur" }],
+        id: [
+          { required: true, message: "请输入标识符", trigger: "blur" },
+          { validator: lengthValidator, max: 32, message: '最多输入32个字符', trigger: ['change', 'blur'] }
+        ],
+        app: [
+          { validator: lengthValidator, max: 128, message: '最多输入128个字符', trigger: ['change', 'blur'] }
+        ]
       },
       defaultProps: {
         children: "children",
@@ -292,6 +300,11 @@ export default {
             item.IsSelected = 1;
           });
         }
+        const rulesKeys = Object.keys(this.rulesObj);
+        if (rulesKeys.length && !datas.length) {
+          this.$message.error('请选中数据后再提交当前规则');
+          return;
+        }
         const res = await SaveAuth({
           AuthName: this.form.name,
           AuthIdent: this.form.id,

+ 18 - 5
src/views/authorityManagement/components/authorityPowerEdit.vue

@@ -27,13 +27,13 @@
       <div class="addApp-form-content dialog-public-background">
         <el-form :inline="true" ref="form" :rules="rules" class="form" :model="form">
           <el-form-item prop="name" label="权限项名称">
-            <el-input placeholder="请输入权限项名称" maxlength="32" v-model="form.name"></el-input>
+            <el-input placeholder="请输入权限项名称" v-model="form.name"></el-input>
           </el-form-item>
           <el-form-item prop="id" label="标识符">
-            <el-input placeholder="请输入标识符" maxlength="32" v-model="form.id"></el-input>
+            <el-input placeholder="请输入标识符" v-model="form.id"></el-input>
           </el-form-item>
-          <el-form-item label="描述">
-            <el-input style="width: 640px" maxlength="200" placeholder="请输入描述" v-model="form.app"></el-input>
+          <el-form-item prop="app" label="描述">
+            <el-input style="width: 640px" placeholder="请输入描述" v-model="form.app"></el-input>
           </el-form-item>
         </el-form>
       </div>
@@ -77,6 +77,7 @@ import {
 } from "@/api/apiAuthority";
 import treeData from "../minixs/treeData";
 import { mapGetters } from "vuex";
+import { lengthValidator } from '@/utils/validate';
 export default {
   name: "AuthorityPower",
   components: { Rolelist, Rulesofcompetency, Organization },
@@ -94,8 +95,15 @@ export default {
         //表单验证
         name: [
           { required: true, message: "请输入权限项名称", trigger: "blur" },
+          { validator: lengthValidator, max: 32, message: '最多输入32个字符', trigger: ['change', 'blur'] }
         ],
-        id: [{ required: true, message: "请输入标识符", trigger: "blur" }],
+        id: [
+          { required: true, message: "请输入标识符", trigger: "blur" },
+          { validator: lengthValidator, max: 32, message: '最多输入32个字符', trigger: ['change', 'blur'] }
+        ],
+        app: [
+          { validator: lengthValidator, max: 128, message: '最多输入128个字符', trigger: ['change', 'blur'] }
+        ]
       },
       defaultProps: {
         children: "children",
@@ -293,6 +301,11 @@ export default {
             item.IsSelected = 1;
           });
         }
+        const rulesKeys = Object.keys(this.rulesObj);
+        if (rulesKeys.length && !datas.length) {
+          this.$message.error('请选中数据后再提交当前规则');
+          return;
+        }
         const res = await EditAuth({
           AuthName: this.form.name,
           AuthIdent: this.form.id,

+ 1 - 1
src/views/authorityManagement/components/authorityRoleAdd.vue

@@ -1,7 +1,7 @@
 <!--
  * @Author: your name
  * @Date: 2021-11-29 16:31:31
- * @LastEditTime: 2022-03-15 11:50:39
+ * @LastEditTime: 2022-03-15 16:40:03
  * @LastEditors: your name
  * @Description: 新增/编辑角色
  * @FilePath: \Foshan4A2.0\src\views\authorityManagement\components\authorityRoleStatus.vue

+ 4 - 4
src/views/authorityManagement/components/authorityRoleEdit.vue

@@ -1,7 +1,7 @@
 <!--
  * @Author: your name
  * @Date: 2021-11-29 16:31:31
- * @LastEditTime: 2022-03-15 11:50:45
+ * @LastEditTime: 2022-03-15 16:39:51
  * @LastEditors: your name
  * @Description: 新增/编辑角色
  * @FilePath: \Foshan4A2.0\src\views\authorityManagement\components\authorityRoleStatus.vue
@@ -37,13 +37,13 @@
     </div>
     <div class="power-content flex-wrap">
       <div class="r24 flex1 part">
-        <Permissiontree v-loading="loading" element-loading-text="数据加载中" @getTreeData="getTreeData" :checkedKeys="checkedKeys" title="权限树" />
+        <Permissiontree @getTreeData="getTreeData" :checkedKeys="checkedKeys" title="权限树" />
       </div>
       <div :class="isClass ? '':'r24'" class="flex1 part">
-        <Rulesofcompetency v-loading="loading" element-loading-text="数据加载中" :authList="authList" :authTo="authTo" title="权限规则" />
+        <Rulesofcompetency :authList="authList" :authTo="authTo" title="权限规则" />
       </div>
       <div v-is="['role_edit_mutually_exclusive','role_edit_mutually_exclusive_list']" class="flex1 part">
-        <Rolelist v-is="['role_edit_mutually_exclusive']" v-loading="loading" element-loading-text="数据加载中" @checkChange="checkChange" @checkClick="checkClick" :roleType="roleType" needType="1" :needId="roleId" :checkBoxList="radioCheck" :active="true" class="hucRole" :imageSize="80" :number="8" style="height: 280px; overflow: hidden" title="互斥角色" />
+        <Rolelist v-is="['role_edit_mutually_exclusive']" @checkChange="checkChange" @checkClick="checkClick" :roleType="roleType" needType="1" :needId="roleId" :checkBoxList="radioCheck" :active="true" class="hucRole" :imageSize="80" :number="8" style="height: 280px; overflow: hidden" title="互斥角色" />
 
         <Permissionlist v-is="['role_edit_mutually_exclusive_list']" v-loading="permission" element-loading-text="数据加载中" :check="true" :imageSize="80" :RoleList="RoleList" class="hucPower" style="margin-top: 24px" title="互斥角色已有权限列表" />
       </div>

+ 6 - 1
src/views/authorityManagement/minixs/treeData.js

@@ -12,7 +12,8 @@ import { GetAuthTree } from '@/api/apiAuthority'
 export default {
   data () {
     return {
-      dataList: {}
+      dataList: {},
+      loading: false
     }
   },
   created () {
@@ -21,6 +22,7 @@ export default {
   methods: {
     async getAuthTree (name = '') {
       try {
+        this.loading = true
         const result = await GetAuthTree({
           "QueryName": name
         })
@@ -51,6 +53,7 @@ export default {
             children: []
           }
           )
+          this.loading = false
         } else {
           const obj = {
             AuthId: -1,
@@ -74,6 +77,7 @@ export default {
             children: []
           }
           )
+          this.loading = false
         }
       } catch (error) {
         const obj = {
@@ -98,6 +102,7 @@ export default {
           children: []
         }
         )
+        this.loading = false
       }
     }
   }

+ 11 - 2
src/views/systemManagement/EditSystem/index.vue

@@ -134,7 +134,7 @@
               placeholder="请输入内容"
               clearable
               @clear="clearData"
-              v-model="keyWords"
+              v-model.trim="keyWords"
             ></el-input>
             <el-button @click="queryData()">搜索</el-button>
           </div>
@@ -269,6 +269,7 @@ export default {
   },
   methods: {
     queryData() {
+      this.keyWords = this.keyWords.replace(/\s+/g, "");
       const search = this.keyWords;
       if (search) {
         this.FormData.Unuselist = findarrays(
@@ -305,6 +306,11 @@ export default {
             isSave = false;
           }
         });
+      } else {
+        if (this.isValidIP(ipArr[0]) == false) {
+          this.$message.error("请输入正确IP段,并以;号隔开");
+          isSave = false;
+        }
       }
 
       this.$refs["ruleForm"].validate((valid) => {
@@ -431,6 +437,9 @@ export default {
   font-weight: bold;
   color: #303133;
 }
+::v-deep .el-row {
+  width: 100%;
+}
 .Box {
   width: 100%;
   height: 100%;
@@ -522,7 +531,7 @@ export default {
     }
   }
   .inputBox2 .el-input__inner {
-    width: 470px;
+    width: 468px;
     height: 40px;
     background: #f5f7fa;
     border: 1px solid #dcdfe6;

+ 12 - 2
src/views/systemManagement/addSystem/index.vue

@@ -132,7 +132,7 @@
               placeholder="请输入内容"
               clearable
               @clear="clearData"
-              v-model="keyWords"
+              v-model.trim="keyWords"
             ></el-input>
             <el-button @click="getUserData">搜索</el-button>
           </div>
@@ -291,6 +291,11 @@ export default {
             isSave = false;
           }
         });
+      } else {
+        if (this.isValidIP(ipArr[0]) == false) {
+          this.$message.error("请输入正确IP段,并以;号隔开");
+          isSave = false;
+        }
       }
       this.$refs["ruleForm"].validate((valid) => {
         if (valid && isSave) {
@@ -394,6 +399,7 @@ export default {
       //   PageSize: this.PageSize,
       //   PageIndex: this.pageNum,
       // });
+      this.keyWords = this.keyWords.replace(/\s+/g, "");
       const search = this.keyWords;
       if (search) {
         this.FormData.Unuselist = findarrays(
@@ -431,6 +437,9 @@ export default {
   padding: 0 64px;
   padding-top: 32px;
 }
+::v-deep .el-row {
+  width: 100%;
+}
 .topBox {
   width: 100%;
   height: 240px;
@@ -438,6 +447,7 @@ export default {
   box-shadow: 0px 6px 7px 0px rgba(0, 0, 0, 0.06);
   border-radius: 16px;
 }
+
 .fristLine {
   display: flex;
   margin-left: 33px;
@@ -516,7 +526,7 @@ export default {
     }
   }
   .inputBox2 .el-input__inner {
-    width: 480px;
+    width: 468px;
     height: 32px;
     background: #f5f7fa;
     border: 1px solid #dcdfe6;