zhaoke 3 жил өмнө
parent
commit
f48c11de8f

+ 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 () {

+ 1 - 1
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>

+ 11 - 2
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>
@@ -194,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 {

+ 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,