sunyize 2 anos atrás
pai
commit
2100eaf144

+ 12 - 8
src/views/system/expireDateConfig.vue

@@ -8,8 +8,8 @@
           <a-form layout="inline" @keyup.enter.native="searchQuery">
             <a-row :gutter="24">
               <a-col :md="12" :sm="8">
-                <a-form-item label="角色名称" :labelCol="{span: 5}" :wrapperCol="{span: 18, offset: 1}">
-                  <a-input placeholder="" v-model="queryParam.roleName"></a-input>
+                <a-form-item label="配置名称" :labelCol="{span: 5}" :wrapperCol="{span: 18, offset: 1}">
+                  <a-input placeholder="" v-model="queryParam.configName"></a-input>
                 </a-form-item>
               </a-col>
               <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
@@ -72,7 +72,7 @@
 <script>
   import { JeecgListMixin } from '@/mixins/JeecgListMixin'
   import { deleteAction, postAction, getAction } from '@/api/manage'
-  import SelectUserModal from './modules/SelectUserModal'
+  import expireModal from './modules/expireModal'
   import RoleModal from './modules/RoleModal'
   import UserModal from './modules/UserModal'
   import { filterObj } from '@/utils/util'
@@ -84,25 +84,25 @@
     mixins: [JeecgListMixin],
     components: {
       UserRoleModal,
-      SelectUserModal,
       RoleModal,
-      UserModal,
+      //UserModal,
+      expireModal,
       moment
     },
     data() {
       return {
+
         /* 数据源 */
-        dataSource:[],
         columns: [
             {
               title: '配置名称',
               align: 'center',
-              dataIndex: 'roleName',
+              dataIndex: 'configName',
             },
             {
               title: '数值',
               align: 'center',
-              dataIndex: 'power',
+              dataIndex: 'configNumber',
               scopedSlots: {customRender: 'power'}
             },
             {
@@ -122,7 +122,11 @@
               scopedSlots: { customRender: 'action' }
             }
           ],
+        url: {
+          list: "/sys/expire/list"
+        }
       }
+
     },
     methods: {
 

+ 163 - 0
src/views/system/modules/expireModal.vue

@@ -0,0 +1,163 @@
+<template>
+  <a-modal
+    :title="title"
+    :width="800"
+    :visible="visible"
+    :confirmLoading="confirmLoading"
+    @ok="handleOk"
+    @cancel="handleCancel"
+    cancelText="关闭"
+    wrapClassName="ant-modal-cust-warp"
+    style="top:5%;height: 85%;overflow-y: hidden">
+
+    <a-spin :spinning="confirmLoading">
+      <a-form-model ref="form"  v-bind="layout"  :model="model" :rules="validatorRules">
+        <a-form-model-item label="配置名称" required prop="roleName">
+          <a-input v-model="model.configName" placeholder="请输入配置名称"/>
+        </a-form-model-item>
+
+        <a-form-model-item label="数值" required prop="roleName">
+          <a-input v-model="model.configNumber" placeholder="请输入数值"/>
+        </a-form-model-item>
+
+      </a-form-model>
+    </a-spin>
+  </a-modal>
+</template>
+
+<script>
+  import {addRole,editRole,duplicateCheck } from '@/api/api'
+  export default {
+    name: "expireModal",
+    data () {
+      return {
+        title:"操作",
+        visible: false,
+        roleDisabled: false,
+        model: {},
+        layout: {
+          labelCol: { span: 3 },
+          wrapperCol: { span: 14 },
+        },
+        confirmLoading: false,
+        validatorRules:{
+          configName: [
+            { required: true, message: '请输入配置名称!' },
+            { min: 2, max: 30, message: '长度在 2 到 30 个字符', trigger: 'blur' },
+            { validator: this.validateRoleName}
+          ],
+          configNumber: [
+            { required: true, message: '请输入配置名称!' },
+            { min: 2, max: 30, message: '长度在 2 到 30 个字符', trigger: 'blur' },
+            { validator: this.validateRoleName}
+          ]
+        },
+      }
+    },
+    created () {
+      //备份model原始值
+      this.modelDefault = JSON.parse(JSON.stringify(this.model));
+    },
+    methods: {
+      codeActive(){
+
+      },
+      add () {
+        this.edit(this.modelDefault);
+      },
+      edit (record) {
+        this.model = Object.assign({}, record);
+        this.visible = true;
+        //编辑页面禁止修改角色编码
+        if(this.model.id){
+          this.roleDisabled = true;
+        }else{
+          this.roleDisabled = false;
+        }
+      },
+      close () {
+        this.$refs.form.clearValidate();
+        this.$emit('close');
+        this.visible = false;
+      },
+      handleOk () {
+        const that = this;
+        // 触发表单验证
+        this.$refs.form.validate(valid => {
+          if (valid) {
+            that.confirmLoading = true;
+            let obj;
+            if(!this.model.id){
+              obj=addRole(this.model);
+            }else{
+              obj=editRole(this.model);
+            }
+            obj.then((res)=>{
+              if(res.success){
+                that.$message.success(res.message);
+                that.$emit('ok');
+              }else{
+                that.$message.warning(res.message);
+              }
+            }).finally(() => {
+              that.confirmLoading = false;
+              that.close();
+            })
+          }else{
+            return false;
+          }
+        })
+      },
+      handleCancel () {
+        this.close()
+      },
+      validateRoleCode(rule, value, callback){
+        if(/[\u4E00-\u9FA5]/g.test(value)){
+          callback("角色编码不可输入汉字!");
+        }else{
+          let params = {
+            tableName: "sys_role",
+            fieldName: "role_code",
+            fieldVal: value,
+            dataId: this.model.id,
+          };
+          duplicateCheck(params).then((res)=>{
+            if(res.success){
+              callback();
+            }else{
+              callback(res.message);
+            }
+          });
+        }
+      },
+      validatePower(rule, value, callback) {
+        if ( value !=='' && value!==null) {
+          callback();
+        } else {
+          callback("请选择!");
+        }
+      },
+      validateRoleName(rule, value, callback){
+
+          let params = {
+            tableName: "sys_role",
+            fieldName: "role_name",
+            fieldVal: value,
+            dataId: this.model.id,
+          };
+          duplicateCheck(params).then((res)=>{
+            if(res.success){
+              callback();
+            }else{
+              callback(res.message);
+            }
+          });
+
+      }
+    }
+  }
+</script>
+
+<style scoped>
+
+</style>