Преглед изворни кода

4.1.42 角色选择跳回首页 修复curd全选bug

liuyanpeng пре 1 година
родитељ
комит
79ffd5e277

+ 1 - 1
package.json

@@ -1,7 +1,7 @@
 {
   "name": "client-base-v4",
   "description": "Leanwo Prodog Client",
-  "version": "4.1.41",
+  "version": "4.1.42",
   "author": "yangzhijie1488 <yangzhijie1488@163.com>",
   "scripts": {
     "ins": "npm install --registry http://wuzhixin.vip:4873",

+ 47 - 46
src/client/MenuWidget.vue

@@ -1,13 +1,7 @@
 <template>
-  <div
-    class="menu-side left_col scroll-view"
-    :style="{ width: width + 'px' }"
-  >
+  <div class="menu-side left_col scroll-view" :style="{ width: width + 'px' }">
     <div class="navbar nav_title" style="border: 0">
-      <a href="#/desktop/dashboard" class="site_title"><img
-        style="width: var(--menu-logo-width)"
-        :src="logoUrl"
-      /></a>
+      <a href="#/desktop/dashboard" class="site_title"><img style="width: var(--menu-logo-width)" :src="logoUrl" /></a>
     </div>
 
     <div class="clearfix" />
@@ -16,10 +10,7 @@
       <div class="menu_section">
         <div class="menu-div">
           <input
-            v-model="searchText"
-            autocomplete="off"
-            type="text"
-            class="form-control menu-search"
+            v-model="searchText" autocomplete="off" type="text" class="form-control menu-search"
             :placeholder="$t('lang.menuWidget.searchMenu')"
             style="background-color: var(--menu-search-input-background-color)"
           />
@@ -33,10 +24,7 @@
           </li>
           <template v-for="rootNode in rootNodes">
             <li
-              v-if="rootNode.show"
-              :key="rootNode.uuid"
-              :name="rootNode.no"
-              :model="rootNode"
+              v-if="rootNode.show" :key="rootNode.uuid" :name="rootNode.no" :model="rootNode"
               :class="{ active: selectedNode === rootNode }"
             >
               <a @click="selectMenuNode(rootNode)">
@@ -44,18 +32,9 @@
                 {{ Language.getMenuNameTrl($i18n.locale, rootNode) }}
                 <span class="fa fa-chevron-down" />
               </a>
-              <ul
-                class="nav menu-nav child_menu"
-                :class="{ active: rootNode.expand == true }"
-              >
-                <template
-                  v-for="subMenuItem in rootNode.subMenus"
-                  :key="subMenuItem.uuid"
-                >
-                  <MenuNode
-                    :model="subMenuItem"
-                    @select-node="selectNode($event, rootNode.subMenus)"
-                  />
+              <ul class="nav menu-nav child_menu" :class="{ active: rootNode.expand == true }">
+                <template v-for="subMenuItem in rootNode.subMenus" :key="subMenuItem.uuid">
+                  <MenuNode :model="subMenuItem" @select-node="selectNode($event, rootNode.subMenus)" />
                 </template>
               </ul>
             </li>
@@ -95,6 +74,7 @@ export default {
       searchText: '',
       logoUrl: '', // logo路径
       roleStateInstance: useRoleStateSingleton,
+      isRefresh: false,
     };
   },
 
@@ -102,10 +82,12 @@ export default {
     searchText: function (newVal, oldVal) {
       this.search(newVal);
     },
-    'roleStateInstance.userRoleOrTemplate': function(newValue, oldVal){
-
-      console.log(newValue);
+    'roleStateInstance.userRoleOrTemplate': function (newValue, oldVal) {
       this.loadMenuData();
+      console.log(newValue, oldVal);
+      if (newValue && oldVal && newValue.roleOrTemplateName !== oldVal.roleOrTemplateName) {
+        this.$router.push('/desktop/dashboard');
+      }
     },
   },
 
@@ -402,6 +384,7 @@ export default {
 .main_menu_side {
   padding: 0;
 }
+
 .main_menu .fa {
   width: 26px;
   opacity: 0.99;
@@ -413,38 +396,45 @@ export default {
   -webkit-font-smoothing: antialiased;
   -moz-osx-font-smoothing: grayscale;
 }
-.main_menu .navbar-nav > li > a {
+
+.main_menu .navbar-nav>li>a {
   color: #fff !important;
 }
-.main_menu .nav.side-menu > li {
+
+.main_menu .nav.side-menu>li {
   position: relative;
   display: block;
   cursor: pointer;
 }
-.main_menu .nav.side-menu > li > a {
+
+.main_menu .nav.side-menu>li>a {
   margin-bottom: 6px;
 }
-.main_menu .nav.side-menu > li > a:hover {
+
+.main_menu .nav.side-menu>li>a:hover {
   color: #f2f5f7 !important;
 }
-.main_menu .nav.side-menu > li > a,
-.main_menu .nav.child_menu > li > a {
+
+.main_menu .nav.side-menu>li>a,
+.main_menu .nav.child_menu>li>a {
   /* color: #e7e7e7; */
   color: #fff;
   font-weight: 500;
 }
-.main_menu .nav.side-menu > li.current-page,
-.main_menu .nav.side-menu > li.active {
+
+.main_menu .nav.side-menu>li.current-page,
+.main_menu .nav.side-menu>li.active {
   border-right: 5px solid #1abb9c;
 }
-.main_menu .nav.side-menu > li.active > a {
+
+.main_menu .nav.side-menu>li.active>a {
   text-shadow: rgba(0, 0, 0, 0.25) 0 -1px 0;
   background: linear-gradient(#334556, #2c4257), #2a3f54;
   box-shadow: rgba(0, 0, 0, 0.25) 0 1px 0,
     inset rgba(255, 255, 255, 0.16) 0 1px 0;
 }
 
-.main_menu .nav.child_menu li li a:hover{
+.main_menu .nav.child_menu li li a:hover {
   background-color: var(--menu-select-color);
 }
 
@@ -455,6 +445,7 @@ export default {
 .main_menu .nav.child_menu.active {
   display: block;
 }
+
 /*.nav.child_menu li:hover,
 	.nav.child_menu li.active {
   background-color: #495d70; 
@@ -466,6 +457,7 @@ export default {
 .main_menu .nav.child_menu li {
   padding-left: 36px;
 }
+
 .main_menu .nav-md ul.nav.child_menu li:before {
   background: #425668;
   bottom: auto;
@@ -479,6 +471,7 @@ export default {
   z-index: 1;
   border-radius: 50%;
 }
+
 .main_menu .nav-md ul.nav.child_menu li:after {
   border-left: 1px solid #425668;
   bottom: 0;
@@ -487,19 +480,23 @@ export default {
   position: absolute;
   top: 0;
 }
+
 .main_menu .nav.child_menu li li:hover,
 .main_menu .nav.child_menu li li.active {
   background-color: var(--menu-select-color);
 }
+
 .main_menu .nav.child_menu li li a:hover,
 .main_menu .nav.child_menu li li a.active {
   color: #fff;
 }
-.main_menu .nav > li > a {
+
+.main_menu .nav>li>a {
   position: relative;
   display: block;
   padding: 13px 15px 12px;
 }
+
 /*.nav li.current-page {
   background: rgba(255, 255, 255, 0.05); 
 	}
@@ -511,23 +508,27 @@ export default {
 .main_menu .nav li li.current-page a {
   color: #fff;
 }
-.main_menu .nav.navbar-nav > li > a {
+
+.main_menu .nav.navbar-nav>li>a {
   color: #515356 !important;
 }
-.main_menu .nav.top_menu > li > a {
+
+.main_menu .nav.top_menu>li>a {
   position: relative;
   display: block;
   padding: 10px 15px;
   color: #34495e !important;
 }
+
 /*	.nav > li > a:hover, .nav > li > a:focus {
   background-color: transparent; 
 	}*/
-.main_menu .menu-nav > li > a:focus,
-.main_menu .menu-nav > li > a:hover {
+.main_menu .menu-nav>li>a:focus,
+.main_menu .menu-nav>li>a:hover {
   text-decoration: none;
   background-color: transparent !important;
 }
+
 .main_menu .menu-search {
   /* background-color: #1c3e4b; */
   color: #fff;

+ 2 - 1
src/client/top-nav-role-select.vue

@@ -10,13 +10,14 @@
         <li
           v-for="userRoleOrTemplate in userRoleOrTemplateList"
           :key="userRoleOrTemplate.userRoleTemplateId + '-' + userRoleOrTemplate.userRoleId"
+          style="cursor: pointer;"
         >
           <a
             @click="roleStateInstance.setUserRoleOrTemplate(userRoleOrTemplate); uploadSelectedRole(userRoleOrTemplate)"
           >{{
             userRoleOrTemplate.roleOrTemplateName }}</a>
         </li>
-        <li>
+        <li style="cursor: pointer;">
           <a @click="roleStateInstance.setUserRoleOrTemplate(null); uploadSelectedRole(null)">全部</a>
         </li>
       </ul>

+ 4 - 4
src/dashboard/ShortcutMenu.vue

@@ -44,19 +44,19 @@ const menus = [
   },
   {
     menuName: '待收货',
-    infoWindowNo: '20241014_105157',
+    infoWindowNo: '20241021_093505',
   },
   {
     menuName: '待维修',
-    infoWindowNo: '20240922_095937',
+    infoWindowNo: '20241113_115221',
   },
   {
     menuName: '待转移',
-    infoWindowNo: '20240922_095937',
+    infoWindowNo: '20241014_105157',
   },
   {
     menuName: '待处置',
-    infoWindowNo: '20240922_095937',
+    infoWindowNo: '20241113_115346',
   },
 ];
 

+ 9 - 0
src/window1/tabGridView/GridHeader.vue

@@ -118,6 +118,11 @@ export default {
       type: String,
       default: '',
     },
+    // 是否勾选了全选
+    isSelectAllInput: {
+      type: Boolean,
+      default : false,
+    },
   },
   emits: ['onSort', 'multipleSelect'],
 
@@ -133,6 +138,10 @@ export default {
     };
   },
   watch: {
+    'isSelectAllInput': function (val) {
+      var _self = this;
+      _self.isSelectAll = val;
+    },
     'isSelectAll': function (val) {
       var _self = this;
       if (_self.multipleSelect) {

+ 11 - 2
src/window1/tabGridView/TabGridEdit.vue

@@ -59,8 +59,9 @@
                   <GridHeader
                     :is-show-edit="false" :tab-grid-fields="tabGridFields" :window-no="windowNo"
                     :tab-index="tabIndex" :is-chinese-english="window.isChineseEnglish" height="40px" :now-tab="nowTab"
-                    @on-sort="onSort($event)" @property-changed="propertyChanged($event)"
-                    @select-all="selectAll($event)" @multiple-select="changeSelectMode($event)"
+                    :is-select-all-input="isSelectAllInput" @on-sort="onSort($event)"
+                    @property-changed="propertyChanged($event)" @select-all="selectAll($event)"
+                    @multiple-select="changeSelectMode($event)"
                   />
                 </thead>
                 <tbody>
@@ -259,6 +260,7 @@ export default {
       dynamicComponentOpen: true,
       selectModelDatas: [],
       checkDatas: null,
+      isSelectAllInput: false,
     };
   },
   computed: {
@@ -810,6 +812,7 @@ export default {
 
           _self.loadHeaderAndFooterContent(tabQueryParam);
           _self.selectModelDatas = [];
+          _self.isSelectAllInput = false;
           _self.loading = false;
           _self.refreshCommand = false;
         },
@@ -1488,6 +1491,12 @@ export default {
       _self.modelDatas.forEach(function (item) {
         item.select = val;
       });
+      _self.isSelectAllInput = val;
+      if (val) {
+        _self.selectModelDatas = [..._self.modelDatas];
+      } else {
+        _self.selectModelDatas = [];
+      }
     },
 
     /**