Merge branch 'master-dev' into feature-Beta-dev-renpy
This commit is contained in:
		
						commit
						afc0d317ca
					
				|  | @ -1,12 +1,12 @@ | |||
| <template> | ||||
|   <div class="user-wrapper" :class="theme"> | ||||
|     <header-notice class="action"/> | ||||
|     <header-notice class="action" /> | ||||
|     <a-dropdown> | ||||
|       <span class="action action-full ant-dropdown-link user-dropdown-menu"> | ||||
|         <img src="@/assets/images/header/avatar.png" alt=""> | ||||
|         <img src="@/assets/images/header/avatar.png" alt="" /> | ||||
|       </span> | ||||
|       <a-menu slot="overlay" class="user-dropdown-menu-wrapper"> | ||||
|         <a-menu-item key="0"> | ||||
|         <!-- <a-menu-item key="0"> | ||||
|           <router-link :to="{ name: 'account-center' }"> | ||||
|             <a-icon type="user"/> | ||||
|             <span>个人中心</span> | ||||
|  | @ -21,24 +21,24 @@ | |||
|         <a-menu-item key="3"  @click="systemSetting"> | ||||
|            <a-icon type="tool"/> | ||||
|            <span>系统设置</span> | ||||
|         </a-menu-item> | ||||
|         </a-menu-item> --> | ||||
|         <a-menu-item key="4" @click="updatePassword"> | ||||
|           <a-icon type="setting"/> | ||||
|           <span>密码修改</span> | ||||
|           <a-icon type="setting" /> | ||||
|           <span>Change Password</span> | ||||
|         </a-menu-item> | ||||
|         <a-menu-item key="5" @click="updateCurrentDepart"> | ||||
|         <!-- <a-menu-item key="5" @click="updateCurrentDepart"> | ||||
|           <a-icon type="cluster"/> | ||||
|           <span>切换部门</span> | ||||
|         </a-menu-item> | ||||
|         <a-menu-item key="6" @click="clearCache"> | ||||
|           <a-icon type="sync"/> | ||||
|           <span>清理缓存</span> | ||||
|         </a-menu-item> | ||||
|         </a-menu-item> --> | ||||
|       </a-menu> | ||||
|     </a-dropdown> | ||||
|     <span class="action"> | ||||
|       <a class="logout_title" href="javascript:;" @click="handleLogout"> | ||||
|         <img src="@/assets/images/header/close.png" alt=""> | ||||
|         <img src="@/assets/images/header/close.png" alt="" /> | ||||
|       </a> | ||||
|     </span> | ||||
|     <user-password ref="userPassword"></user-password> | ||||
|  | @ -48,23 +48,23 @@ | |||
| </template> | ||||
| 
 | ||||
| <script> | ||||
|   import HeaderNotice from './HeaderNotice' | ||||
|   import UserPassword from './UserPassword' | ||||
|   import SettingDrawer from "@/components/setting/SettingDrawer"; | ||||
|   import DepartSelect from './DepartSelect' | ||||
|   import { mapActions, mapGetters,mapState } from 'vuex' | ||||
|   import { mixinDevice } from '@/utils/mixin.js' | ||||
|   import { getFileAccessHttpUrl,getAction } from "@/api/manage" | ||||
|   import Vue from 'vue' | ||||
|   import { UI_CACHE_DB_DICT_DATA } from "@/store/mutation-types" | ||||
| import HeaderNotice from './HeaderNotice' | ||||
| import UserPassword from './UserPassword' | ||||
| import SettingDrawer from '@/components/setting/SettingDrawer' | ||||
| import DepartSelect from './DepartSelect' | ||||
| import { mapActions, mapGetters, mapState } from 'vuex' | ||||
| import { mixinDevice } from '@/utils/mixin.js' | ||||
| import { getFileAccessHttpUrl, getAction } from '@/api/manage' | ||||
| import Vue from 'vue' | ||||
| import { UI_CACHE_DB_DICT_DATA } from '@/store/mutation-types' | ||||
| 
 | ||||
|   export default { | ||||
|     name: "UserMenu", | ||||
| export default { | ||||
|   name: 'UserMenu', | ||||
|   mixins: [mixinDevice], | ||||
|     data(){ | ||||
|       return{ | ||||
|   data() { | ||||
|     return { | ||||
|       // update-begin author:sunjianlei date:20200219 for: 头部菜单搜索规范命名 -------------- | ||||
|         searchMenuOptions:[], | ||||
|       searchMenuOptions: [], | ||||
|       searchMenuComp: 'span', | ||||
|       searchMenuVisible: false, | ||||
|       // update-begin author:sunjianlei date:20200219 for: 头部菜单搜索规范命名 -------------- | ||||
|  | @ -74,20 +74,20 @@ | |||
|     HeaderNotice, | ||||
|     UserPassword, | ||||
|     DepartSelect, | ||||
|       SettingDrawer | ||||
|     SettingDrawer, | ||||
|   }, | ||||
|   props: { | ||||
|     theme: { | ||||
|       type: String, | ||||
|       required: false, | ||||
|         default: 'dark' | ||||
|       } | ||||
|       default: 'dark', | ||||
|     }, | ||||
|   }, | ||||
|   /* update_begin author:zhaoxin date:20191129 for: 做头部菜单栏导航*/ | ||||
|   created() { | ||||
|     let lists = [] | ||||
|       this.searchMenus(lists,this.permissionMenuList) | ||||
|       this.searchMenuOptions=[...lists] | ||||
|     this.searchMenus(lists, this.permissionMenuList) | ||||
|     this.searchMenuOptions = [...lists] | ||||
|   }, | ||||
|   mounted() { | ||||
|     //如果是单点登录模式 | ||||
|  | @ -101,9 +101,8 @@ | |||
|   computed: { | ||||
|     ...mapState({ | ||||
|       // 后台菜单 | ||||
|         permissionMenuList: state => state.user.permissionList | ||||
| 
 | ||||
|       }) | ||||
|       permissionMenuList: (state) => state.user.permissionList, | ||||
|     }), | ||||
|   }, | ||||
|   /* update_end author:zhaoxin date:20191129 for: 做头部菜单栏导航*/ | ||||
|   watch: { | ||||
|  | @ -122,13 +121,13 @@ | |||
|     showClick() { | ||||
|       this.searchMenuVisible = true | ||||
|     }, | ||||
|       hiddenClick(){ | ||||
|     hiddenClick() { | ||||
|       this.shows = false | ||||
|     }, | ||||
|     /* update_end author:zhaoxin date:20191129 for: 做头部菜单栏导航*/ | ||||
|       ...mapActions(["Logout"]), | ||||
|       ...mapGetters(["nickname", "avatar","userInfo"]), | ||||
|       getAvatar(){ | ||||
|     ...mapActions(['Logout']), | ||||
|     ...mapGetters(['nickname', 'avatar', 'userInfo']), | ||||
|     getAvatar() { | ||||
|       return getFileAccessHttpUrl(this.avatar()) | ||||
|     }, | ||||
|     handleLogout() { | ||||
|  | @ -139,44 +138,46 @@ | |||
|         content: 'Ensure Log Out?', | ||||
|         cancelButtonProps: { | ||||
|           props: { | ||||
|               type: 'warn' | ||||
|             } | ||||
|             type: 'warn', | ||||
|           }, | ||||
|         }, | ||||
|         onOk() { | ||||
|             return that.Logout({}).then(() => { | ||||
|           return that | ||||
|             .Logout({}) | ||||
|             .then(() => { | ||||
|               // update-begin author:scott date:20211223 for:【JTC-198】退出登录体验不好 | ||||
|               //that.$router.push({ path: '/user/login' }); | ||||
|               window.location.reload() | ||||
|               // update-end author:scott date:20211223 for:【JTC-198】退出登录体验不好 | ||||
|             }).catch(err => { | ||||
|             }) | ||||
|             .catch((err) => { | ||||
|               that.$message.error({ | ||||
|                 title: 'Error', | ||||
|                 description: err.message | ||||
|                 description: err.message, | ||||
|               }) | ||||
|             }) | ||||
|         }, | ||||
|           onCancel() { | ||||
|         onCancel() {}, | ||||
|       }) | ||||
|     }, | ||||
|         }); | ||||
|       }, | ||||
|       updatePassword(){ | ||||
|     updatePassword() { | ||||
|       let username = this.userInfo().username | ||||
|       this.$refs.userPassword.show(username) | ||||
|     }, | ||||
|       updateCurrentDepart(){ | ||||
|     updateCurrentDepart() { | ||||
|       this.$refs.departSelect.show() | ||||
|     }, | ||||
|       systemSetting(){ | ||||
|     systemSetting() { | ||||
|       this.$refs.settingDrawer.showDrawer() | ||||
|     }, | ||||
|     /* update_begin author:zhaoxin date:20191129 for: 做头部菜单栏导航*/ | ||||
|       searchMenus(arr,menus){ | ||||
|         for(let i of menus){ | ||||
|           if(!i.hidden && "layouts/RouteView"!==i.component){ | ||||
|     searchMenus(arr, menus) { | ||||
|       for (let i of menus) { | ||||
|         if (!i.hidden && 'layouts/RouteView' !== i.component) { | ||||
|           arr.push(i) | ||||
|         } | ||||
|           if(i.children&& i.children.length>0){ | ||||
|             this.searchMenus(arr,i.children) | ||||
|         if (i.children && i.children.length > 0) { | ||||
|           this.searchMenus(arr, i.children) | ||||
|         } | ||||
|       } | ||||
|     }, | ||||
|  | @ -185,11 +186,11 @@ | |||
|     }, | ||||
|     // update_begin author:sunjianlei date:20191230 for: 解决外部链接打开失败的问题 | ||||
|     searchMethods(value) { | ||||
|         let route = this.searchMenuOptions.filter(item => item.id === value)[0] | ||||
|       let route = this.searchMenuOptions.filter((item) => item.id === value)[0] | ||||
|       //update-begin-author:sunjianlei date:20220111 for: 【JTC-702】【菜单搜索】菜单搜索里点击跳转的菜单,无法将Token信息传递过去 | ||||
|         if(route.component.includes('layouts/IframePageView')){ | ||||
|       if (route.component.includes('layouts/IframePageView')) { | ||||
|         this.$router.push(route) | ||||
|         }else{ | ||||
|       } else { | ||||
|         this.$router.push({ path: route.path }) | ||||
|       } | ||||
|       //update-end-author:sunjianlei date:20220111 for: 【JTC-702】【菜单搜索】菜单搜索里点击跳转的菜单,无法将Token信息传递过去 | ||||
|  | @ -198,32 +199,34 @@ | |||
|     // update_end author:sunjianlei date:20191230 for: 解决外部链接打开失败的问题 | ||||
|     /*update_end author:zhaoxin date:20191129 for: 做头部菜单栏导航*/ | ||||
|     /*update_begin author:liushaoqian date:20200507 for: 刷新缓存*/ | ||||
|       clearCache(){ | ||||
|         getAction("sys/dict/refleshCache").then((res) => { | ||||
|     clearCache() { | ||||
|       getAction('sys/dict/refleshCache') | ||||
|         .then((res) => { | ||||
|           if (res.success) { | ||||
|             //重新加载缓存 | ||||
|             getAction("sys/dict/queryAllDictItems").then((res) => { | ||||
|             getAction('sys/dict/queryAllDictItems').then((res) => { | ||||
|               if (res.success) { | ||||
|                 Vue.ls.remove(UI_CACHE_DB_DICT_DATA) | ||||
|                 Vue.ls.set(UI_CACHE_DB_DICT_DATA, res.result, 7 * 24 * 60 * 60 * 1000) | ||||
|               } | ||||
|             }) | ||||
|             this.$message.success("刷新缓存完成!"); | ||||
|             this.$message.success('刷新缓存完成!') | ||||
|           } | ||||
|         }).catch(e=>{ | ||||
|           this.$message.warn("刷新缓存失败!"); | ||||
|           console.log("刷新失败",e) | ||||
|         }) | ||||
|       } | ||||
|         .catch((e) => { | ||||
|           this.$message.warn('刷新缓存失败!') | ||||
|           console.log('刷新失败', e) | ||||
|         }) | ||||
|     }, | ||||
|     /*update_end author:liushaoqian date:20200507 for: 刷新缓存*/ | ||||
|     } | ||||
|   } | ||||
|   }, | ||||
| } | ||||
| </script> | ||||
| 
 | ||||
| <style lang="less" scoped> | ||||
|   /* update_begin author:zhaoxin date:20191129 for: 让搜索框颜色能随主题颜色变换*/ | ||||
|   /* update-begin author:sunjianlei date:20191220 for: 解决全局样式冲突问题 */ | ||||
|   .user-wrapper .search-input { | ||||
| /* update_begin author:zhaoxin date:20191129 for: 让搜索框颜色能随主题颜色变换*/ | ||||
| /* update-begin author:sunjianlei date:20191220 for: 解决全局样式冲突问题 */ | ||||
| .user-wrapper .search-input { | ||||
|   width: 180px; | ||||
|   color: inherit; | ||||
| 
 | ||||
|  | @ -231,18 +234,19 @@ | |||
|     background-color: inherit; | ||||
|     border: 0; | ||||
|     border-bottom: 1px solid white; | ||||
|       &__placeholder, &__field__placeholder { | ||||
|     &__placeholder, | ||||
|     &__field__placeholder { | ||||
|       color: inherit; | ||||
|     } | ||||
|   } | ||||
|   } | ||||
|   /* update-end author:sunjianlei date:20191220 for: 解决全局样式冲突问题 */ | ||||
|   /* update_end author:zhaoxin date:20191129 for: 让搜索框颜色能随主题颜色变换*/ | ||||
| } | ||||
| /* update-end author:sunjianlei date:20191220 for: 解决全局样式冲突问题 */ | ||||
| /* update_end author:zhaoxin date:20191129 for: 让搜索框颜色能随主题颜色变换*/ | ||||
| </style> | ||||
| 
 | ||||
| <style scoped> | ||||
|   .logout_title { | ||||
| .logout_title { | ||||
|   color: inherit; | ||||
|   text-decoration: none; | ||||
|   } | ||||
| } | ||||
| </style> | ||||
|  | @ -11,8 +11,9 @@ | |||
|     :customRow="customRow" | ||||
|     :rowClassName="() => (canSelect ? 'custom-table-row' : '')" | ||||
|     @change="handleTableChange" | ||||
|     :scroll="{ y: 186 }" | ||||
|     :scroll="scroll" | ||||
|   > | ||||
|     <!-- :scroll="{ y: 186 }" --> | ||||
|     <!-- 处理 scopedSlots --> | ||||
|     <template v-for="slotName of scopedSlotsKeys" :slot="slotName" slot-scope="text, record, index"> | ||||
|       <slot :name="slotName" :text="text" :record="record" :index="index"></slot> | ||||
|  | @ -58,6 +59,7 @@ export default { | |||
|       type: Boolean, | ||||
|       default: false, | ||||
|     }, | ||||
|     scroll: { type: Object }, | ||||
|   }, | ||||
|   data() { | ||||
|     return { | ||||
|  |  | |||
|  | @ -49,8 +49,7 @@ | |||
| 
 | ||||
| <script> | ||||
| import moment from 'moment' | ||||
| import dateFormat from '@/components/jeecg/JEasyCron/format-date' | ||||
| import { getAction, postAction, httpAction, deleteAction } from '@/api/manage' | ||||
| import { getAction } from '@/api/manage' | ||||
| export default { | ||||
|   props: { | ||||
|     value: { | ||||
|  | @ -76,6 +75,17 @@ export default { | |||
|   mounted() { | ||||
|     this.getDbList() | ||||
|   }, | ||||
|   watch: { | ||||
|     $route: { | ||||
|       handler: function (val, oldVal) { | ||||
|         if (val.query && val.query.id) { | ||||
|           this.getDbList() | ||||
|         } | ||||
|       }, | ||||
|       deep: true, | ||||
|       immediate: true, | ||||
|     }, | ||||
|   }, | ||||
|   methods: { | ||||
|     getBeforeHours(num) { | ||||
|       let currentTime = moment() | ||||
|  | @ -94,8 +104,10 @@ export default { | |||
|           // 如果url中有sourceId | ||||
|           if (sourceId) { | ||||
|             const find = res.result.find((item) => item.sourceId == sourceId) | ||||
|             if (find) { | ||||
|             if (find && find.hostId) { | ||||
|               this.value.hostId = find.hostId | ||||
|             } else { | ||||
|               this.value.hostId = `my${find.sourceId}` | ||||
|             } | ||||
|           } | ||||
|           if (!this.value.hostId) { | ||||
|  | @ -103,7 +115,7 @@ export default { | |||
|           } | ||||
| 
 | ||||
|           this.DbOptions = res.result.map((item, index) => { | ||||
|             let str = `my${index}` | ||||
|             let str = `my${item.sourceId}` | ||||
|             return { | ||||
|               label: item.sourceName, | ||||
|               value: item.hostId || str, | ||||
|  |  | |||
|  | @ -98,7 +98,7 @@ | |||
|             <div class="email-top-content-li-right"> | ||||
|               <div class="email-top-content-li-right-title">Used Capacity</div> | ||||
|               <div class="email-top-content-li-right-val" style="color: #ade6ee; font-size: 26px; margin-top: 36px"> | ||||
|                 {{ emailTotal.usage || 0 }}/<span style="font-size: 40px; vertical-align: middle">∞</span> | ||||
|                 {{ emailSpace.usage || 0 }}/<span style="font-size: 40px; vertical-align: middle">∞</span> | ||||
|               </div> | ||||
|             </div> | ||||
|             <div class="email-top-content-li-rect" style="background: #8351d4"></div> | ||||
|  | @ -239,7 +239,19 @@ export default { | |||
|   mounted() { | ||||
|     this.getEmailList() | ||||
|   }, | ||||
|   // activated() { | ||||
|   //   this.getEmailList() | ||||
|   // }, | ||||
|   watch: { | ||||
|     $route: { | ||||
|       handler: function (val, oldVal) { | ||||
|         if (val.query && val.query.emailId) { | ||||
|           this.getEmailList() | ||||
|         } | ||||
|       }, | ||||
|       deep: true, | ||||
|       immediate: true, | ||||
|     }, | ||||
|     emailId(newValue, oldValue) { | ||||
|       this.currId = newValue | ||||
|       this.getEmailStatus() | ||||
|  |  | |||
|  | @ -237,6 +237,17 @@ export default { | |||
|   mounted() { | ||||
|     this.getServerList() | ||||
|   }, | ||||
|   watch: { | ||||
|     $route: { | ||||
|       handler: function (val, oldVal) { | ||||
|         if (val.query && val.query.serverId) { | ||||
|           this.getServerList() | ||||
|         } | ||||
|       }, | ||||
|       deep: true, | ||||
|       immediate: true, | ||||
|     }, | ||||
|   }, | ||||
|   methods: { | ||||
|     handleRefresh() { | ||||
|       if (!this.userDefined) { | ||||
|  |  | |||
|  | @ -280,6 +280,7 @@ | |||
|           <BoxTitle title="Alarm information"></BoxTitle> | ||||
|           <div | ||||
|             class="alarm-info-list" | ||||
|             style="margin-bottom: 15px" | ||||
|             v-infinite-scroll="handleInfiniteAlarmInfo" | ||||
|             :infinite-scroll-disabled="busy_alarm_info" | ||||
|             :infinite-scroll-distance="10" | ||||
|  | @ -451,7 +452,23 @@ export default { | |||
|       }, | ||||
|     } | ||||
|   }, | ||||
|   watch: { | ||||
|     $route: { | ||||
|       handler: function (val, oldVal) { | ||||
|         if (val.query && val.query.serverId) { | ||||
|           this.getData() | ||||
|         } | ||||
|       }, | ||||
|       deep: true, | ||||
|       immediate: true, | ||||
|     }, | ||||
|   }, | ||||
|   mounted() { | ||||
|     this.getData() | ||||
|   }, | ||||
|   // activated() {}, | ||||
|   methods: { | ||||
|     getData() { | ||||
|       this.getSysServer((res) => { | ||||
|         this.loading = false | ||||
|         if (res.success) { | ||||
|  | @ -486,13 +503,7 @@ export default { | |||
|           this.$message.warning('This operation fails. Contact your system administrator') | ||||
|         } | ||||
|       }) | ||||
|     // this.$nextTick(() => { | ||||
|     //   setTimeout(() => { | ||||
|     //     this.drawGuageLoads() | ||||
|     //   }, 0) | ||||
|     // }) | ||||
|     }, | ||||
|   methods: { | ||||
|     moment, | ||||
|     // Basic lnformation | ||||
|     getBasiclnfo(sourceId) { | ||||
|  |  | |||
|  | @ -166,6 +166,17 @@ export default { | |||
|   mounted() { | ||||
|     this.getServerList() | ||||
|   }, | ||||
|   watch: { | ||||
|     $route: { | ||||
|       handler: function (val, oldVal) { | ||||
|         if (val.query && val.query.serverId) { | ||||
|           this.getServerList() | ||||
|         } | ||||
|       }, | ||||
|       deep: true, | ||||
|       immediate: true, | ||||
|     }, | ||||
|   }, | ||||
|   methods: { | ||||
|     handleRefresh() { | ||||
|       if (!this.userDefined) { | ||||
|  |  | |||
|  | @ -74,35 +74,17 @@ | |||
|         <div class="service-content-center"> | ||||
|           <a-row :gutter="20"> | ||||
|             <a-col :span="12"> | ||||
|               <BoxTitle title="Process CPU usage(%)"> | ||||
|                 <!-- <template slot="right"> | ||||
|                 <ul class="legend-list"> | ||||
|                   <li v-for="(item, index) in processCpu.legend" :key="index"> | ||||
|                     <div :style="`background:${processCpu.color[index]}`" class="li-icon"></div> | ||||
|                     {{ item }} | ||||
|                   </li> | ||||
|                 </ul> | ||||
|               </template> --> | ||||
|               </BoxTitle> | ||||
|               <BoxTitle title="Process CPU usage(%)" /> | ||||
|               <div class="service-content-center-item" id="processCpu"></div> | ||||
|             </a-col> | ||||
|             <a-col :span="12"> | ||||
|               <BoxTitle title="Process memory usage(%)"> | ||||
|                 <!-- <template slot="right"> | ||||
|                 <ul class="legend-list"> | ||||
|                   <li v-for="(item, index) in processMenbry.legend" :key="index"> | ||||
|                     <div :style="`background:${processMenbry.color[index]}`" class="li-icon"></div> | ||||
|                     {{ item }} | ||||
|                   </li> | ||||
|                 </ul> | ||||
|               </template> --> | ||||
|               </BoxTitle> | ||||
|               <BoxTitle title="Process memory usage(%)" /> | ||||
|               <div class="service-content-center-item" id="menbry"></div> | ||||
|             </a-col> | ||||
|           </a-row> | ||||
|         </div> | ||||
|         <div class="service-content-table"> | ||||
|           <BoxTitle title="Service"></BoxTitle> | ||||
|           <BoxTitle title="Service" /> | ||||
|           <div style="padding-top: 10px"> | ||||
|             <TableList | ||||
|               size="middle" | ||||
|  | @ -112,6 +94,7 @@ | |||
|               :loading="loading" | ||||
|               :pagination="false" | ||||
|               :canSelect="false" | ||||
|               :scroll="{ y: 186 }" | ||||
|             > | ||||
|             </TableList> | ||||
|             <!-- <a-pagination | ||||
|  | @ -303,6 +286,17 @@ export default { | |||
|       setTimeout(() => {}, 0) | ||||
|     }) | ||||
|   }, | ||||
|   watch: { | ||||
|     $route: { | ||||
|       handler: function (val, oldVal) { | ||||
|         if (val.query && val.query.serverId) { | ||||
|           this.getServerList() | ||||
|         } | ||||
|       }, | ||||
|       deep: true, | ||||
|       immediate: true, | ||||
|     }, | ||||
|   }, | ||||
|   methods: { | ||||
|     handleRefresh() { | ||||
|       if (!this.userDefined) { | ||||
|  |  | |||
|  | @ -17,7 +17,7 @@ | |||
|       </template> | ||||
|       <!-- 标题结束 --> | ||||
|       <!-- 内容 --> | ||||
|       <a-spin :spinning="isGettingTreeData" style="margin-top: 80px; width: 100%; text-align: center;"> </a-spin> | ||||
|       <a-spin :spinning="isGettingTreeData" style="margin-top: 80px; width: 100%; text-align: center"> </a-spin> | ||||
|       <tree-with-line | ||||
|         v-if="treeData.length" | ||||
|         :treeData="treeData" | ||||
|  | @ -57,7 +57,7 @@ | |||
|     <!-- 日志列表结束 --> | ||||
|     <custom-modal title="Log" :width="950" v-model="visible" :footer="null"> | ||||
|       <a-spin class="log-detail" :spinning="isGettingDetail"> | ||||
|         <div v-for="(logItem, index) in logInfo" :key="index"> | ||||
|         <div style="font-family: 宋体" v-for="(logItem, index) in logInfo" :key="index"> | ||||
|           {{ logItem }} | ||||
|         </div> | ||||
|       </a-spin> | ||||
|  | @ -74,42 +74,42 @@ const columns = [ | |||
|     title: 'NAME', | ||||
|     align: 'center', | ||||
|     width: 320, | ||||
|     dataIndex: 'fileName' | ||||
|     dataIndex: 'fileName', | ||||
|   }, | ||||
|   { | ||||
|     title: 'DATE', | ||||
|     align: 'center', | ||||
|     width: 200, | ||||
|     dataIndex: 'fileDate' | ||||
|     dataIndex: 'fileDate', | ||||
|   }, | ||||
|   { | ||||
|     title: 'SIZE', | ||||
|     align: 'center', | ||||
|     width: 220, | ||||
|     dataIndex: 'fileSize' | ||||
|     dataIndex: 'fileSize', | ||||
|   }, | ||||
|   { | ||||
|     title: 'OPERATE', | ||||
|     align: 'center', | ||||
|     width: 200, | ||||
|     scopedSlots: { | ||||
|       customRender: 'operate' | ||||
|     } | ||||
|   } | ||||
|       customRender: 'operate', | ||||
|     }, | ||||
|   }, | ||||
| ] | ||||
| 
 | ||||
| export default { | ||||
|   name: 'LogManage', | ||||
|   mixins: [JeecgListMixin], | ||||
|   components: { | ||||
|     TreeWithLine | ||||
|     TreeWithLine, | ||||
|   }, | ||||
|   data() { | ||||
|     this.columns = columns | ||||
|     return { | ||||
|       disableMixinCreated: true, | ||||
|       url: { | ||||
|         list: '/logManage/findFiles' | ||||
|         list: '/logManage/findFiles', | ||||
|       }, | ||||
|       isGettingTreeData: false, // 正在获取左侧树信息 | ||||
|       treeData: [], | ||||
|  | @ -119,7 +119,7 @@ export default { | |||
| 
 | ||||
|       visible: false, | ||||
|       isGettingDetail: false, | ||||
|       logInfo: [] | ||||
|       logInfo: [], | ||||
|     } | ||||
|   }, | ||||
|   created() { | ||||
|  | @ -148,11 +148,11 @@ export default { | |||
|      */ | ||||
|     buildTreeData(treeJson) { | ||||
|       const tree = [] | ||||
|       treeJson.forEach(item => { | ||||
|       treeJson.forEach((item) => { | ||||
|         const treeNode = { | ||||
|           title: item.name, | ||||
|           key: item.path, | ||||
|           children: [] | ||||
|           children: [], | ||||
|         } | ||||
|         if (item.children && item.children.length) { | ||||
|           treeNode.children.push(...this.buildTreeData(item.children)) | ||||
|  | @ -180,7 +180,7 @@ export default { | |||
|       var params = this.getQueryParams() //查询条件 | ||||
|       this.loading = true | ||||
|       getAction(this.url.list, params) | ||||
|         .then(res => { | ||||
|         .then((res) => { | ||||
|           this.dataSource = res | ||||
|         }) | ||||
|         .finally(() => { | ||||
|  | @ -216,8 +216,8 @@ export default { | |||
|       formData.append('fileName', fileName) | ||||
|       formData.append('localPath', filePath) | ||||
|       downloadFile('/logManage/downloadFile', fileName, formData, 'post') | ||||
|     } | ||||
|   } | ||||
|     }, | ||||
|   }, | ||||
| } | ||||
| </script> | ||||
| <style lang="less" scoped> | ||||
|  |  | |||
|  | @ -28,6 +28,10 @@ | |||
|         {{ index + 1 }} | ||||
|       </template> | ||||
|     </custom-table> | ||||
|     <!-- 日志列表结束 --> | ||||
|     <custom-modal title="List Of File Deletion Failures" :width="950" v-model="visibleInfo" :footer="null"> | ||||
|       <a-table :columns="columnsModal" :data-source="dataInfo" :pagination="false"> </a-table> | ||||
|     </custom-modal> | ||||
|   </div> | ||||
| </template> | ||||
| 
 | ||||
|  | @ -163,11 +167,24 @@ const columns = [ | |||
|     dataIndex: 'status', | ||||
|   }, | ||||
| ] | ||||
| const columnsModal = [ | ||||
|   { | ||||
|     title: 'Index', | ||||
|     dataIndex: 'rowCount', | ||||
|     align: 'center', | ||||
|   }, | ||||
|   { | ||||
|     title: 'Information', | ||||
|     dataIndex: 'info', | ||||
|     align: 'left', | ||||
|   }, | ||||
| ] | ||||
| 
 | ||||
| export default { | ||||
|   mixins: [JeecgListMixin], | ||||
|   data() { | ||||
|     this.columns = columns | ||||
|     this.columnsModal = columnsModal | ||||
|     return { | ||||
|       queryParam: { | ||||
|         collectStart: this.getBeforeDate(6), | ||||
|  | @ -183,6 +200,8 @@ export default { | |||
|       }, | ||||
|       stationList: [], | ||||
|       detectorList: [], | ||||
|       visibleInfo: false, | ||||
|       dataInfo: [], | ||||
|     } | ||||
|   }, | ||||
|   created() { | ||||
|  | @ -264,7 +283,7 @@ export default { | |||
|           cancelText: 'Cancel', | ||||
|           onOk: async () => { | ||||
|             try { | ||||
|               const { success, message } = await deleteAction('/gardsSampleData/deleteById', { | ||||
|               const { success, message, result } = await deleteAction('/gardsSampleData/deleteById', { | ||||
|                 sampleId: this.selectedRowKeys[0], | ||||
|                 ...this.delParams, | ||||
|               }) | ||||
|  | @ -273,6 +292,13 @@ export default { | |||
|                 that.loadData() | ||||
|               } else { | ||||
|                 this.$message.error(message) | ||||
|                 this.visibleInfo = true | ||||
|                 this.dataInfo = result.map((item, index) => { | ||||
|                   return { | ||||
|                     rowCount: `${index + 1}`, | ||||
|                     info: item, | ||||
|                   } | ||||
|                 }) | ||||
|               } | ||||
|             } catch (error) { | ||||
|               console.error(error) | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	Block a user