sunyize преди 2 години
родител
ревизия
516267d1e6

+ 3 - 0
src/api/api.js

@@ -86,6 +86,8 @@ const queryUserByDepId = (params)=>getAction("/sys/user/queryUserByDepId",params
 
 // 重复校验
 const duplicateCheck = (params)=>getAction("/sys/duplicate/check",params);
+//角色
+const adminCheck = (params)=>getAction("/sys/duplicate/adminCheck",params);
 // 加载分类字典
 const loadCategoryData = (params)=>getAction("/sys/category/loadAllData",params);
 const checkRuleByCode = (params) => getAction('/sys/checkRule/checkByCode', params)
@@ -144,6 +146,7 @@ export {
   getVisitInfo,
   queryUserByDepId,
   duplicateCheck,
+  adminCheck,
   queryTreeListForRole,
   getSystemMenuList,
   getSystemSubmenu,

+ 21 - 15
src/views/networkAccess/userStatistics.vue

@@ -320,7 +320,7 @@ export default {
       ipagination:{
         current: 1,
         pageSize: 10,
-        pageSizeOptions: ['10', '20', '30','300'],
+        pageSizeOptions: ['10', '20', '30','500'],
         showTotal: (total, range) => {
           return range[0] + "-" + range[1] + " 共" + total + "条"
         },
@@ -374,55 +374,59 @@ export default {
         {
           title: '证件编号',
           align: "center",
-          sorter: true,
+          //sorter: true,
           dataIndex: 'cardNo',
           scopedSlots: {customRender: 'cardNo'}
 
         }, {
           title: '客户名称',
           align: "center",
-          sorter: true,
+         // sorter: true,
           dataIndex: 'cardName'
          // scopedSlots: {customRender: 'cardName'}
         }, {
           title: '创建人',
           align: "center",
-          sorter: true,
+        //  sorter: true,
+          sorter: (a, b) =>a.createBy.localeCompare(b.createBy),
           dataIndex: 'createBy'
          // scopedSlots: {customRender: 'createBy'}
         }, {
           title: '创建时间',
           align: "center",
-          sorter: true,
+          //sorter: true,
+          sorter:(a, b) => { return a.createTime>= b.createTime? 1 : -1 },
           width: 100,
           dataIndex: 'createTime'
         }, {
           title: '创建人归属部门',
           width: 100,
           align: "center",
-          sorter: true,
+         // sorter: (a, b) => a.businessAddress - b.businessAddress,
+          sorter: (a, b) =>a.businessAddress.localeCompare(b.businessAddress),
+         // sorter: true,
           dataIndex: 'businessAddress'
           //scopedSlots: {customRender: 'sysBusinessHall'}
 
         },{
           title: '上报时间',
           align: "center",
-          sorter: true,
-          dataIndex: 'upTime'
-          //scopedSlots: {customRender: 'sysBusinessHall'}
+          dataIndex: 'upTime',
+          // sorter: (a, b) => a.upTime - b.upTime,
+          sorter:(a, b) => { return a.upTime> b.upTime? 1 : -1 },
+          //sorter: true,
+          scopedSlots: {customRender: 'upTime'}
         },
 
       {
           title: '办理电话',
           align: "center",
-          sorter: true,
           width: 200,
           dataIndex: 'newPhone',
           scopedSlots: {customRender: 'newPhone'}
         },{
           title: '当前处理部门',
           align: "center",
-          sorter: true,
           dataIndex: 'currentDept',
           //  fixed: 'right',
 
@@ -432,7 +436,8 @@ export default {
         {
           title: '研判结果',
           align: "center",
-          sorter: true,
+         // sorter: true,
+          sorter: (a, b) =>a.numberResults.localeCompare(b.numberResults),
           dataIndex: 'numberResults',
           scopedSlots: {customRender: 'numberResults'},
           /*customRender: function (text, record, index) {
@@ -448,7 +453,8 @@ export default {
         },{
           title: '上报状态',
           align: "center",
-          sorter: true,
+         // sorter: true,
+          sorter: (a, b) => a.status - b.status,
           dataIndex: 'status',
        //   fixed: 'right',
           scopedSlots: {customRender: 'status'}
@@ -527,7 +533,7 @@ export default {
         '1': 'yellow',
         '0': 'gray',
       }
-      console.log(statusTypeMap[type])
+      console.log(statusTypeMap[type]+"aaa")
       return statusTypeMap[type]
     },
 
@@ -557,7 +563,7 @@ export default {
   created() {
     /**获取研判结果统计数*/
     this.typeCount();
-    this.getSysCompanyData();
+    //this.getSysCompanyData();
 
 
   },

+ 45 - 10
src/views/system/RoleUserList.vue

@@ -70,13 +70,13 @@
               </a>
               <a-menu slot="overlay">
                 <a-menu-item>
-                  <a @click="handlePerssion(record.id)">授权</a>
+                  <a @click="handlePerssion(record)">授权</a>
                 </a-menu-item>
                 <a-menu-item>
                   <a @click="handleEdit(record)">编辑</a>
                 </a-menu-item>
                 <a-menu-item>
-                  <a-popconfirm title="确定删除吗?" @confirm="() => handleDelete1(record.id)">
+                  <a-popconfirm title="确定删除吗?" @confirm="() => handleDelete1(record)">
                     <a>删除</a>
                   </a-popconfirm>
                 </a-menu-item>
@@ -192,6 +192,7 @@
   import { filterObj } from '@/utils/util'
   import UserRoleModal from './modules/UserRoleModal'
   import moment from 'moment'
+  import { adminCheck } from '@/api/api'
 
   const statusMap = {
     1: {
@@ -273,13 +274,15 @@
             {
               title: '角色名称',
               align: 'center',
-              dataIndex: 'roleName'
+              dataIndex: 'roleName',
+              sorter: (a, b) =>a.roleName.localeCompare(b.roleName),
             },
             {
               title: '创建时间',
               dataIndex: 'createTime',
               align:"center",
-              sorter: true,
+              // sorter: true,
+              sorter:(a, b) => { return a.createTime>= b.createTime? 1 : -1 },
               customRender: (text) => {
                 return moment(text).format('YYYY-MM-DD')
               }
@@ -441,10 +444,27 @@
         })
 
       },
-      handleDelete1: function(id) {
-        this.handleDelete(id)
-        this.dataSource2 = []
-        this.currentRoleId = ''
+      handleDelete1: function(role) {
+
+        //校验当前是否admin 并且 是否admin本人修改
+        var params = {
+        };
+        if (role.roleCode==='admin' ){
+          adminCheck(params).then((res) => {
+            if (res.success) {
+              this.handleDelete(role.id)
+              this.dataSource2 = []
+              this.currentRoleId = ''
+            } else {
+              callback("admin不可编辑!")
+            }
+          })
+        }else {
+          this.handleDelete(role.id)
+          this.dataSource2 = []
+          this.currentRoleId = ''
+        }
+
       },
       handleDelete2: function(id) {
         if (!this.url.delete2) {
@@ -556,8 +576,23 @@
         //this.rightcolval = 0
         this.selectedRowKeys1 = []
       },
-      handlePerssion(roleId){
-        this.$refs.modalUserRole.show(roleId);
+      handlePerssion(role ){
+        //校验当前是否admin 并且 是否admin本人修改
+        var params = {
+        };
+        if (role.roleCode==='admin' ){
+          adminCheck(params).then((res) => {
+            if (res.success) {
+              this.$refs.modalUserRole.show(role.id);
+            } else {
+              callback("admin不可编辑!")
+            }
+          })
+        }else {
+          this.$refs.modalUserRole.show(role.id);
+        }
+
+
       },
     }
   }

+ 9 - 9
src/views/system/UserList.vue

@@ -13,15 +13,15 @@
             </a-form-item>
           </a-col>
 
-          <a-col :md="6" :sm="8">
-            <a-form-item label="性别">
-              <a-select v-model="queryParam.sex" placeholder="请选择性别">
-                <a-select-option value="">请选择</a-select-option>
-                <a-select-option value="1">男</a-select-option>
-                <a-select-option value="2">女</a-select-option>
-              </a-select>
-            </a-form-item>
-          </a-col>
+<!--          <a-col :md="6" :sm="8">-->
+<!--            <a-form-item label="性别">-->
+<!--              <a-select v-model="queryParam.sex" placeholder="请选择性别">-->
+<!--                <a-select-option value="">请选择</a-select-option>-->
+<!--                <a-select-option value="1">男</a-select-option>-->
+<!--                <a-select-option value="2">女</a-select-option>-->
+<!--              </a-select>-->
+<!--            </a-form-item>-->
+<!--          </a-col>-->
 
 
           <template v-if="toggleSearchStatus">

+ 14 - 5
src/views/system/modules/DeptUserInfo.vue

@@ -10,6 +10,12 @@
               <a-input placeholder="请输入账号" v-model="queryParam.username"></a-input>
             </a-form-item>
           </a-col>
+          <a-col :md="6" :sm="4">
+            <a-form-item label="是否只显示本层级" style="margin-left:8px">
+              <a-switch default-checked @change="onChange" v-model="queryParam.info" />
+            </a-form-item>
+          </a-col>
+
           <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
             <a-col :md="6" :sm="24">
              <a-button type="primary" @click="searchQuery" icon="search" style="margin-left: 18px">查询</a-button>
@@ -135,11 +141,11 @@
             align: "center",
             dataIndex: 'orgCode'
           },
-          {
-            title: '性别',
-            align: "center",
-            dataIndex: 'sex_dictText'
-          },
+          // {
+          //   title: '性别',
+          //   align: "center",
+          //   dataIndex: 'sex_dictText'
+          // },
           {
             title: '电话',
             align: "center",
@@ -164,6 +170,9 @@
     },
 
     methods: {
+      onChange(checked) {
+        console.log(`a-switch to ${checked}`);
+      },
       searchReset() {
         this.queryParam = {}
         this.loadData(1);

+ 24 - 5
src/views/system/modules/RoleModal.vue

@@ -12,12 +12,10 @@
 
     <a-spin :spinning="confirmLoading">
       <a-form-model ref="form"  v-bind="layout"  :model="model" :rules="validatorRules">
-        <a-form-model-item label="角色编码" required prop="roleCode">
-          <a-input v-model="model.roleCode" :disabled="roleDisabled"  placeholder="请输入角色编码"/>
-        </a-form-model-item>
         <a-form-model-item label="角色名称" required prop="roleName">
           <a-input v-model="model.roleName" placeholder="请输入角色名称"/>
         </a-form-model-item>
+
         <a-form-model-item label="描述" prop="description">
           <a-textarea :rows="5" v-model="model.description" placeholder="请输入角色描述"/>
         </a-form-model-item>
@@ -44,10 +42,11 @@
         validatorRules:{
           roleName: [
             { required: true, message: '请输入角色名称!' },
-            { min: 2, max: 30, message: '长度在 2 到 30 个字符', trigger: 'blur' }
+            { min: 2, max: 30, message: '长度在 2 到 30 个字符', trigger: 'blur' },
+            { validator: this.validateRoleName}
           ],
           roleCode: [
-            { required: true, message: '请输入角色名称!'},
+            { required: true, message: '请输入角色编码!'},
             { min: 0, max: 64, message: '长度不超过 64 个字符', trigger: 'blur' },
             { validator: this.validateRoleCode}
           ],
@@ -62,6 +61,9 @@
       this.modelDefault = JSON.parse(JSON.stringify(this.model));
     },
     methods: {
+      codeActive(){
+
+      },
       add () {
         this.edit(this.modelDefault);
       },
@@ -129,6 +131,23 @@
             }
           });
         }
+      },
+      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);
+            }
+          });
+
       }
     }
   }

+ 3 - 3
src/views/system/modules/UserModal.vue

@@ -40,9 +40,9 @@
           <a-input placeholder="请输入用户姓名" v-model="model.realname" />
         </a-form-model-item>
 
-        <a-form-model-item label="工号" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="workNo">
-          <a-input placeholder="请输入工号" v-model="model.workNo" />
-        </a-form-model-item>
+<!--        <a-form-model-item label="工号" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="workNo">-->
+<!--          <a-input placeholder="请输入工号" v-model="model.workNo" />-->
+<!--        </a-form-model-item>-->
 
         <a-form-model-item label="手机号码" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="phone">
           <a-input placeholder="请输入手机号码" v-model="model.phone" />