From 1d662c1648aeeff4b1bfdadb619cdba922740348 Mon Sep 17 00:00:00 2001
From: loulijun2021 <1694218219@qq.com>
Date: 星期三, 28 九月 2022 15:14:26 +0800
Subject: [PATCH] 1.头部搜索栏、下拉箭头优化

---
 src/views/jcsz/jsqd.vue |   89 ++++++++++++++++++++++++++++++++++----------
 1 files changed, 68 insertions(+), 21 deletions(-)

diff --git a/src/views/jcsz/jsqd.vue b/src/views/jcsz/jsqd.vue
index a0aa5d2..7e5e879 100644
--- a/src/views/jcsz/jsqd.vue
+++ b/src/views/jcsz/jsqd.vue
@@ -15,12 +15,12 @@
         <el-form
           ref="form"
           :model="form"
-          label-width="80px"
+          label-width="100px"
           inline
           style="display: flex;justify-content: space-between"
         >
           <div class="elForm">
-            <el-form-item label="瑙掕壊缂栫爜" style=" display: flex;">
+            <el-form-item label-width="70px" label="瑙掕壊缂栫爜" style=" display: flex;">
               <el-input v-model="form.RoleCode" placeholder="璇疯緭鍏�" style="width: 200px" />
             </el-form-item>
             <el-form-item label="瑙掕壊鍚嶇О" style=" display: flex;">
@@ -47,16 +47,21 @@
               <el-input v-model="form.UserName" style="width: 200px" placeholder="璇疯緭鍏�" />
             </el-form-item>
           </div>
-          <div style="display: flex;align-items: start;margin-top: 5px;">
+          <div class="bodySearchReset" :style="{marginLeft:$store.state.app.sidebar.opened?'5%':'10%'}">
             <el-button type="primary" icon="el-icon-search" @click="search">鏌ヨ</el-button>
             <el-button type="info" icon="el-icon-refresh" @click="reset">閲嶇疆</el-button>
           </div>
         </el-form>
+        <div
+          class="bodyTopFormExpand"
+        />
       </div>
 
       <div class="elTableDiv">
         <el-table
+          ref="tableDataRef"
           :data="tableData"
+          class="tableFixed"
           border
           :row-class-name="tableRowClassName"
           :height="tableHeight+'px'"
@@ -277,7 +282,7 @@
           sortable="custom"
         >
           <template slot-scope="{row}">
-            <el-input v-if="row.isVisible===1" v-model="row.roletype_code" placeholder="璇疯緭鍏�" />
+            <el-input v-if="row.isVisible===1" v-model="row.roletype_code" oninput="value=value.replace(/[^0-9a-zA-Z]/g,'')" placeholder="璇疯緭鍏�" />
             <div v-else> {{ row.roletype_code }}</div>
           </template>
         </el-table-column>
@@ -509,6 +514,7 @@
           <input
             class="myCheckboxInput"
             type="checkbox"
+            :disabled="rightFrom.usercode==='S001'"
             :value="item.code"
             :name="item.name"
             :style="{color:item.isSelected2?'#42b983':'#fff'}"
@@ -581,26 +587,14 @@
 } from '@/api/jcsz'
 import { getCookie } from '@/utils/auth'
 import $ from 'jquery'
-import clearAllChildren from '@/utils/global'
+import clearAllChildren, { validateCode } from '@/utils/global'
 
-const SER_HZ = /^[\u4e00-\u9fa5]+$/
 export default {
   name: 'JSQD',
   components: {
     Pagination, ImportPicker
   },
   data() {
-    const validateName = (rule, value, callback) => {
-      if (!value) {
-        return callback(new Error('璇疯緭鍏ョ紪鐮�'))
-      } else {
-        if (SER_HZ.test(value)) {
-          return callback(new Error('缂栫爜涓嶈兘涓轰腑鏂�'))
-        } else {
-          callback()
-        }
-      }
-    }
     return {
       isIpad: false,
       mainHeight: 0,
@@ -637,7 +631,7 @@
       operation: '',
       dialogFormRules: {
         RoleCode: [
-          { required: true, validator: validateName, trigger: ['blur', 'change'] }
+          { required: true, validator: validateCode, trigger: ['blur', 'change'] }
         ],
         RoleName: [
           { required: true, message: '璇疯緭鍏ュ悕绉�', trigger: ['blur', 'change'] }
@@ -804,6 +798,10 @@
     },
     // 淇敼鎸夐挳
     edit(operation, row) {
+      if (row.role_code === 'S001') {
+        return this.$message.info('姝よ鑹叉棤娉曟搷浣滐紒')
+      }
+
       this.operation = operation
       this.dialogVisible = true
 
@@ -818,6 +816,9 @@
     },
     // 鍒犻櫎鎸夐挳
     del(row) {
+      if (row.role_code === 'S001') {
+        return this.$message.info('姝よ鑹叉棤娉曟搷浣滐紒')
+      }
       this.$confirm('鏄惁纭鍒犻櫎?', '鎻愮ず', {
         confirmButtonText: '纭畾',
         cancelButtonText: '鍙栨秷',
@@ -877,12 +878,14 @@
     // 鑾峰彇椤甸潰楂樺害
     getHeight() {
       this.$nextTick(() => {
+        this.$refs.tableDataRef.doLayout()
         this.mainHeight = window.innerHeight - 85
-        this.tableHeight = this.mainHeight - 200
+        this.tableHeight = this.mainHeight - 195
         if (window.innerHeight < 769) {
           this.tableHeight = this.tableHeight - 40
         }
         this.isIpad = window.innerHeight < 769 && window.innerWidth < 1367
+        this.$refs.tableDataRef.doLayout()
       })
     },
     tableRowClassName({ row, rowIndex }) {
@@ -961,6 +964,9 @@
 
     /* 鍏宠仈鐢ㄦ埛妯″潡*/
     userClick(row) {
+      if (row.role_code === 'S001') {
+        return this.$message.info('姝よ鑹叉棤娉曟搷浣滐紒')
+      }
       this.userDialogVisible = true
       this.userForm.roleName = row.role_name
       this.dialogFormUser.rolecode = row.role_code
@@ -1073,20 +1079,47 @@
       this.dialogFormRight.rightAPPArr = res[1][0].is_delete === '0' ? res[1] : []
 
       this.PCTrue = res[0][0].is_delete === '0'
-      this.APPTrue = res[1][0].is_delete === '0'
+      this.APPTrue = res[1][0].children.filter(item => item.is_delete === '0').length === 0 ? false : res[1][0].is_delete === '0'
+
       // '0'鏄剧ず  '1' 涓嶆樉绀�   杩囨护鍑虹浉瀵瑰簲鐨勮彍鍗�
       if (this.PCTrue) {
         this.dialogFormRight.rightPCArr[0].children = this.dialogFormRight.rightPCArr[0].children.filter(item => item.is_delete === '0')
         this.dialogFormRight.rightPCArr[0].children.forEach(item => {
           item.children = item.children.filter(it => it.is_delete === '0')
+
+          if (this.rightFrom.usercode === 'S001') { // Admin绯荤粺绠$悊鍛樿彍鍗曞仛鍒板彧澧炰笉鍑�
+            if (item.flag === 'Y') {
+              item.disabled = true
+            }
+            if (item.children && item.children.length > 0) {
+              item.children.forEach(it => {
+                if (it.flag === 'Y') {
+                  it.disabled = true
+                }
+              })
+            }
+          }
         })
       }
 
       if (this.APPTrue) {
-        this.dialogFormRight.rightAPPArr[0].children = this.dialogFormRight.rightAPPArr[0].children.filter(item => item.is_delete === '0' || it.is_delete === null)
+        this.dialogFormRight.rightAPPArr[0].children = this.dialogFormRight.rightAPPArr[0].children.filter(item => item.is_delete === '0' || item.is_delete === null)
         this.dialogFormRight.rightAPPArr[0].children.forEach(item => {
           item.children = item.children.filter(it => it.is_delete === '0' || it.is_delete === null)
           // item.children = item.children.filter(it => it.is_delete !== '1')
+
+          if (this.rightFrom.usercode === 'S001') { // Admin绯荤粺绠$悊鍛樿彍鍗曞仛鍒板彧澧炰笉鍑�
+            if (item.flag === 'Y') {
+              item.disabled = true
+            }
+            if (item.children && item.children.length > 0) {
+              item.children.forEach(it => {
+                if (it.flag === 'Y') {
+                  it.disabled = true
+                }
+              })
+            }
+          }
         })
       }
       // console.log(this.dialogFormRight.rightAPPArr[0], 234)
@@ -1240,9 +1273,15 @@
       }
       if (this.PCTrue) {
         this.dialogFormRight.rightPCArr[0].name = '鍏ㄩ儴'
+        if (this.rightFrom.usercode === 'S001') { // Admin绯荤粺绠$悊鍛樿彍鍗曞仛鍒板彧澧炰笉鍑�
+          this.dialogFormRight.rightPCArr[0].disabled = true
+        }
       }
       if (this.APPTrue) {
         this.dialogFormRight.rightAPPArr[0].name = '鍏ㄩ儴'
+        if (this.rightFrom.usercode === 'S001') { // Admin绯荤粺绠$悊鍛樿彍鍗曞仛鍒板彧澧炰笉鍑�
+          this.dialogFormRight.rightAPPArr[0].disabled = true
+        }
       }
 
       // 鏍戝舰鍥炴樉閮ㄥ垎
@@ -1704,6 +1743,14 @@
   margin-bottom: 0;
 }
 
+.tableFixed{
+  ::v-deep .el-table__fixed-right{
+    height: 100% !important;
+  }
+  ::v-deep .el-table__fixed{
+    height: 100% !important;
+  }
+}
 </style>
 <style>
 

--
Gitblit v1.9.3