UNPKG

957 kBSource Map (JSON)View Raw
1{"version":3,"sources":["webpack://index/webpack/universalModuleDefinition","webpack://index/webpack/bootstrap","webpack://index/./base/api/base/sysm/QueryDesignerAPI.js","webpack://index/external \"core-js/modules/es6.regexp.replace\"","webpack://index/./base/common/TimeLine.vue?6d60","webpack://index/external \"core-js/modules/es6.object.assign\"","webpack://index/external \"core-js/modules/es6.array.find-index\"","webpack://index/external \"element-ui/lib/mixins/emitter\"","webpack://index/external \"element-ui/lib/select\"","webpack://index/external \"core-js/modules/es7.object.get-own-property-descriptors\"","webpack://index/./base/api/base/usrm/OrgAPI.js","webpack://index/external \"core-js/modules/es6.regexp.constructor\"","webpack://index/./base/module/sysm/ParaMgr.vue?4bd0","webpack://index/./base/api/base/sysm/ParaAPI.js","webpack://index/./base/module/sysm/ParaEditor.vue?2dd0","webpack://index/base/module/sysm/ParaEditor.vue","webpack://index/./base/module/sysm/ParaEditor.vue?aad9","webpack://index/./base/module/sysm/ParaEditor.vue","webpack://index/base/module/sysm/ParaMgr.vue","webpack://index/./base/module/sysm/ParaMgr.vue?3ce1","webpack://index/./base/module/sysm/ParaMgr.vue","webpack://index/external \"core-js/modules/es6.string.iterator\"","webpack://index/external \"core-js/modules/es6.function.name\"","webpack://index/external \"element-ui/lib/theme-chalk/index.css\"","webpack://index/./base/module/sysm/CodeMgr.vue?952f","webpack://index/external \"core-js/modules/es6.array.iterator\"","webpack://index/external \"core-js/modules/es6.regexp.match\"","webpack://index/./base/module/sysm/CodeMgr.vue?5e03","webpack://index/./base/common/SelectorTree.vue?fdd4","webpack://index/./base/common/BaseSelector.js","webpack://index/base/common/SelectorTree.vue","webpack://index/./base/common/SelectorTree.vue?dbc8","webpack://index/./base/common/SelectorTree.vue","webpack://index/./base/module/sysm/TaskMgrEdit.vue?6982","webpack://index/./base/common/CronTab/module/Crontab-Main.vue?f38c","webpack://index/external \"md5\"","webpack://index/./base/module/usrm/RoleMgr.vue?3279","webpack://index/./base/module/usrm/RoleEditor.vue?0b72","webpack://index/base/module/usrm/RoleEditor.vue","webpack://index/./base/module/usrm/RoleEditor.vue?0a64","webpack://index/./base/module/usrm/RoleEditor.vue","webpack://index/./base/module/usrm/RoleCopy.vue?a922","webpack://index/base/module/usrm/RoleCopy.vue","webpack://index/./base/module/usrm/RoleCopy.vue?8551","webpack://index/./base/module/usrm/RoleCopy.vue","webpack://index/base/module/usrm/RoleMgr.vue","webpack://index/./base/module/usrm/RoleMgr.vue?9b5f","webpack://index/./base/module/usrm/RoleMgr.vue","webpack://index/external \"element-ui/lib/utils/util\"","webpack://index/./base/module/logs/LogsServ.vue?8e1a","webpack://index/./base/module/logs/LogsServInfo.vue?0c32","webpack://index/base/module/logs/LogsServInfo.vue","webpack://index/./base/module/logs/LogsServInfo.vue?45ba","webpack://index/./base/module/logs/LogsServInfo.vue","webpack://index/base/module/logs/LogsServ.vue","webpack://index/./base/module/logs/LogsServ.vue?46b2","webpack://index/./base/module/logs/LogsServ.vue","webpack://index/./base/module/logs/LogsQuartz.vue?7736","webpack://index/./base/api/base/logs/LogsQuartz.js","webpack://index/base/module/logs/LogsQuartz.vue","webpack://index/./base/module/logs/LogsQuartz.vue?c480","webpack://index/./base/module/logs/LogsQuartz.vue","webpack://index/external \"core-js/modules/es6.array.find\"","webpack://index/./base/module/usrm/OrgMgr.vue?05ca","webpack://index/base/module/usrm/OrgMgr.vue","webpack://index/./base/module/usrm/OrgMgr.vue?7dea","webpack://index/./base/module/usrm/OrgMgr.vue","webpack://index/./base/module/sysm/QueryDesigner.vue?5979","webpack://index/external \"vue-moment\"","webpack://index/./base/module/logs/LogsSign.vue?fa4d","webpack://index/./base/module/logs/LogsSignInfo.vue?ac79","webpack://index/./base/api/base/logs/LogsSign.js","webpack://index/base/module/logs/LogsSignInfo.vue","webpack://index/./base/module/logs/LogsSignInfo.vue?8e56","webpack://index/./base/module/logs/LogsSignInfo.vue","webpack://index/./base/module/logs/SessionOper.vue?9559","webpack://index/./base/module/logs/SessionServ.vue?0c2b","webpack://index/base/module/logs/SessionServ.vue","webpack://index/./base/module/logs/SessionServ.vue?a254","webpack://index/./base/module/logs/SessionServ.vue","webpack://index/base/module/logs/SessionOper.vue","webpack://index/./base/module/logs/SessionOper.vue?e284","webpack://index/./base/module/logs/SessionOper.vue","webpack://index/base/module/logs/LogsSign.vue","webpack://index/./base/module/logs/LogsSign.vue?d32a","webpack://index/./base/module/logs/LogsSign.vue","webpack://index/./base/libs/CronValidator.js","webpack://index/./base/libs/Ajax.js","webpack://index/external \"vuex\"","webpack://index/./base/plugin/Selector.vue?2ce6","webpack://index/./base/views/Main.vue?2abe","webpack://index/./base/views/Main.vue","webpack://index/./base/module/usrm/PermMgr.vue?eef6","webpack://index/base/module/usrm/PermMgr.vue","webpack://index/./base/module/usrm/PermMgr.vue?f7f2","webpack://index/./base/module/usrm/PermMgr.vue","webpack://index/external \"core-js/modules/es6.regexp.split\"","webpack://index/./base/views/Login.vue?fa36","webpack://index/external \"element-ui\"","webpack://index/./base/api/base/sysm/SysAPI.js","webpack://index/external \"vue-router\"","webpack://index/./base/api/base/sysm/AcesAPI.js","webpack://index/./node_modules/_vue-loader@15.7.1@vue-loader/lib/runtime/componentNormalizer.js","webpack://index/external \"element-ui/lib/utils/popup\"","webpack://index/./base/api/base/usrm/PermAPI.js","webpack://index/external \"animate.css\"","webpack://index/external \"core-js/modules/es6.object.keys\"","webpack://index/./base/common/HandleHistory.vue?9761","webpack://index/./base/module/sysm/TaskMgr.vue?1887","webpack://index/./base/module/sysm/TaskMgrEdit.vue?ad05","webpack://index/./base/common/CronTab/index.vue?d6b6","webpack://index/./base/common/CronTab/module/Crontab-Main.vue?fe7e","webpack://index/./base/common/CronTab/module/Crontab-Second.vue?308a","webpack://index/./base/common/CronTab/module/crontab-second.js","webpack://index/base/common/CronTab/module/Crontab-Second.vue","webpack://index/./base/common/CronTab/module/Crontab-Second.vue?a54a","webpack://index/./base/common/CronTab/module/Crontab-Second.vue","webpack://index/./base/common/CronTab/module/Crontab-Min.vue?bd5a","webpack://index/./base/common/CronTab/module/crontab-min.js","webpack://index/base/common/CronTab/module/Crontab-Min.vue","webpack://index/./base/common/CronTab/module/Crontab-Min.vue?87df","webpack://index/./base/common/CronTab/module/Crontab-Min.vue","webpack://index/./base/common/CronTab/module/Crontab-Hour.vue?7269","webpack://index/./base/common/CronTab/module/crontab-hour.js","webpack://index/base/common/CronTab/module/Crontab-Hour.vue","webpack://index/./base/common/CronTab/module/Crontab-Hour.vue?4db0","webpack://index/./base/common/CronTab/module/Crontab-Hour.vue","webpack://index/./base/common/CronTab/module/Crontab-Day.vue?6b96","webpack://index/./base/common/CronTab/module/crontab-day.js","webpack://index/base/common/CronTab/module/Crontab-Day.vue","webpack://index/./base/common/CronTab/module/Crontab-Day.vue?7097","webpack://index/./base/common/CronTab/module/Crontab-Day.vue","webpack://index/./base/common/CronTab/module/Crontab-Mouth.vue?9995","webpack://index/./base/common/CronTab/module/crontab-mouth.js","webpack://index/base/common/CronTab/module/Crontab-Mouth.vue","webpack://index/./base/common/CronTab/module/Crontab-Mouth.vue?97ab","webpack://index/./base/common/CronTab/module/Crontab-Mouth.vue","webpack://index/./base/common/CronTab/module/Crontab-Week.vue?7941","webpack://index/./base/common/CronTab/module/crontab-week.js","webpack://index/base/common/CronTab/module/Crontab-Week.vue","webpack://index/./base/common/CronTab/module/Crontab-Week.vue?616c","webpack://index/./base/common/CronTab/module/Crontab-Week.vue","webpack://index/./base/common/CronTab/module/Crontab-Year.vue?09ab","webpack://index/./base/common/CronTab/module/crontab-year.js","webpack://index/base/common/CronTab/module/Crontab-Year.vue","webpack://index/./base/common/CronTab/module/Crontab-Year.vue?c080","webpack://index/./base/common/CronTab/module/Crontab-Year.vue","webpack://index/./base/common/CronTab/module/Crontab-Result.vue?9ed2","webpack://index/./base/common/CronTab/module/crontab-result.js","webpack://index/base/common/CronTab/module/Crontab-Result.vue","webpack://index/./base/common/CronTab/module/Crontab-Result.vue?b042","webpack://index/./base/common/CronTab/module/Crontab-Result.vue","webpack://index/base/common/CronTab/module/Crontab-Main.vue","webpack://index/./base/common/CronTab/module/Crontab-Main.vue?bed9","webpack://index/./base/common/CronTab/module/Crontab-Main.vue","webpack://index/base/common/CronTab/index.vue","webpack://index/./base/common/CronTab/index.vue?adcb","webpack://index/./base/common/CronTab/index.vue","webpack://index/./base/api/base/sysm/TaskMgrApi.js","webpack://index/base/module/sysm/TaskMgrEdit.vue","webpack://index/./base/module/sysm/TaskMgrEdit.vue?54dd","webpack://index/./base/module/sysm/TaskMgrEdit.vue","webpack://index/base/module/sysm/TaskMgr.vue","webpack://index/./base/module/sysm/TaskMgr.vue?de1d","webpack://index/./base/module/sysm/TaskMgr.vue","webpack://index/external \"regenerator-runtime/runtime\"","webpack://index/./base/module/sysm/QueryDesigner.vue?81c5","webpack://index/external \"element-ui/lib/locale\"","webpack://index/external \"core-js/modules/es6.map\"","webpack://index/external \"core-js/modules/web.dom.iterable\"","webpack://index/./base/module/logs/LogsOper.vue?654b","webpack://index/./base/module/logs/LogsOperInfo.vue?7129","webpack://index/base/module/logs/LogsOperInfo.vue","webpack://index/./base/module/logs/LogsOperInfo.vue?9689","webpack://index/./base/module/logs/LogsOperInfo.vue","webpack://index/base/module/logs/LogsOper.vue","webpack://index/./base/module/logs/LogsOper.vue?2bd4","webpack://index/./base/module/logs/LogsOper.vue","webpack://index/./base/api/base/logs/LogsOper.js","webpack://index/external \"element-ui/lib/mixins/locale\"","webpack://index/./base/common/Uploader.vue?76d2","webpack://index/external \"vue-element-dialog-draggable\"","webpack://index/external \"vue-i18n\"","webpack://index/./base/styles/index.scss?1da2","webpack://index/./base/module/usrm/UserMgr.vue?6732","webpack://index/./base/module/usrm/UserEditor.vue?8b29","webpack://index/base/module/usrm/UserEditor.vue","webpack://index/./base/module/usrm/UserEditor.vue?b58d","webpack://index/./base/module/usrm/UserEditor.vue","webpack://index/base/module/usrm/UserMgr.vue","webpack://index/./base/module/usrm/UserMgr.vue?2ec3","webpack://index/./base/module/usrm/UserMgr.vue","webpack://index/./base/common/Uploader.vue?5b3a","webpack://index/./node_modules/_@vue_cli-service@3.9.3@@vue/cli-service/lib/commands/build/setPublicPath.js","webpack://index/./node_modules/_@vue_cli-service@3.9.3@@vue/cli-service/lib/commands/build/entry-lib.js","webpack://index/external \"vue\"","webpack://index/external \"util\"","webpack://index/./base/api/base/usrm/RoleAPI.js","webpack://index/./node_modules/_@babel_runtime@7.5.5@@babel/runtime/helpers/esm/typeof.js","webpack://index/./base/common/Uploader.vue?fc85","webpack://index/./base/api/base/sysm/FilesAPI.js","webpack://index/base/common/Uploader.vue","webpack://index/./base/common/Uploader.vue?8544","webpack://index/./base/common/Uploader.vue","webpack://index/./base/views/error/NotFound.vue?4ed3","webpack://index/./base/plugin/Selector.vue?68aa","webpack://index/external \"sha.js\"","webpack://index/./base/common/TimeLine.vue?d7bd","webpack://index/base/common/TimeLine.vue","webpack://index/./base/common/TimeLine.vue?f42a","webpack://index/./base/common/TimeLine.vue","webpack://index/./base/module/logs/LogsOperData.vue?3fad","webpack://index/./base/service/module/CacheStores.js","webpack://index/./base/module/sysm/QueryMgr.vue?5c94","webpack://index/./base/module/sysm/QueryDesigner.vue?4b32","webpack://index/base/module/sysm/QueryDesigner.vue","webpack://index/./base/module/sysm/QueryDesigner.vue?ee90","webpack://index/./base/module/sysm/QueryDesigner.vue","webpack://index/base/module/sysm/QueryMgr.vue","webpack://index/./base/module/sysm/QueryMgr.vue?0c56","webpack://index/./base/module/sysm/QueryMgr.vue","webpack://index/external \"sortablejs\"","webpack://index/./base/module/logs/LogsOperData.vue?2f69","webpack://index/./base/views/layout/Container.vue?615f","webpack://index/external \"vue-the-mask\"","webpack://index/./base/module/logs/LogsOperData.vue?a264","webpack://index/base/module/logs/LogsOperData.vue","webpack://index/./base/module/logs/LogsOperData.vue?5526","webpack://index/./base/module/logs/LogsOperData.vue","webpack://index/external \"element-ui/lib/locale/lang/zh-CN\"","webpack://index/external \"clipboard\"","webpack://index/external \"core-js/modules/es6.string.starts-with\"","webpack://index/./base/common/CronTab/index.vue?9e7b","webpack://index/external \"core-js/modules/es6.promise\"","webpack://index/./base/base.js","webpack://index/./base/views/error/NotFound.vue?c151","webpack://index/./base/views/error/NotFound.vue","webpack://index/./base/views/Home.vue?c48d","webpack://index/./base/module/sysm/ChangePw.vue?25d1","webpack://index/./node_modules/_@babel_runtime@7.5.5@@babel/runtime/helpers/esm/defineProperty.js","webpack://index/base/module/sysm/ChangePw.vue","webpack://index/./base/module/sysm/ChangePw.vue?d17a","webpack://index/./base/module/sysm/ChangePw.vue","webpack://index/./base/views/layout/Container.vue?80c8","webpack://index/base/views/layout/Container.vue","webpack://index/./base/views/layout/Container.vue?ae18","webpack://index/./base/views/layout/Container.vue","webpack://index/./base/views/layout/Aside.vue?d7ef","webpack://index/base/views/layout/Aside.vue","webpack://index/./base/views/layout/Aside.vue?c8c3","webpack://index/./base/views/layout/Aside.vue","webpack://index/./base/views/layout/Header.vue?f380","webpack://index/./base/locale/locale.js","webpack://index/base/views/layout/Header.vue","webpack://index/./base/views/layout/Header.vue?9ca1","webpack://index/./base/views/layout/Header.vue","webpack://index/./base/service/module/CacheService.js","webpack://index/base/views/Home.vue","webpack://index/./base/views/Home.vue?af8c","webpack://index/./base/views/Home.vue","webpack://index/./base/views/Login.vue?ce1c","webpack://index/base/views/Login.vue","webpack://index/./base/views/Login.vue?cdbc","webpack://index/./base/views/Login.vue","webpack://index/./base/router/index.js","webpack://index/./base/tab/index.js","webpack://index/./base/plugin/PageTable.js","webpack://index/./base/plugin/Selector.vue?f54d","webpack://index/base/plugin/Selector.vue","webpack://index/./base/plugin/Selector.vue?8f95","webpack://index/./base/plugin/Selector.vue","webpack://index/./base/plugin/Panel.vue?0d67","webpack://index/base/plugin/Panel.vue","webpack://index/./base/plugin/Panel.vue?e4d0","webpack://index/./base/plugin/Panel.vue","webpack://index/./base/plugin/SysCode.js","webpack://index/./base/plugin/ExportCtrl.vue?56e2","webpack://index/base/plugin/ExportCtrl.vue","webpack://index/./base/plugin/ExportCtrl.vue?da35","webpack://index/./base/plugin/ExportCtrl.vue","webpack://index/./node_modules/_@babel_runtime@7.5.5@@babel/runtime/helpers/esm/classCallCheck.js","webpack://index/./node_modules/_@babel_runtime@7.5.5@@babel/runtime/helpers/esm/createClass.js","webpack://index/./base/plugin/TabView.js","webpack://index/./base/plugin/TableSort.js","webpack://index/./base/plugin/ButtonAuth.js","webpack://index/./base/plugin/CurdPanel.vue?47d3","webpack://index/./base/libs/PageTable.js","webpack://index/base/plugin/CurdPanel.vue","webpack://index/./base/plugin/CurdPanel.vue?60a3","webpack://index/./base/plugin/CurdPanel.vue","webpack://index/./base/plugin/mixin.js","webpack://index/./base/plugin/index.js","webpack://index/./base/service/module/WebSocketService.js","webpack://index/./base/service/index.js","webpack://index/./base/libs/CacheStores.js","webpack://index/./base/libs/CacheService.js","webpack://index/./base/libs/WebSocketService.js","webpack://index/./base/libs/index.js","webpack://index/./base/index.js","webpack://index/./base/module/sysm/TaskMgrEdit.vue?d4d7","webpack://index/./base/views/Main.vue?f599","webpack://index/./base/api/base/usrm/UserAPI.js","webpack://index/external \"localforage\"","webpack://index/external \"moment\"","webpack://index/./base/config.js","webpack://index/external \"element-ui/lib/scrollbar\"","webpack://index/./base/views/layout/Container.vue?dae0","webpack://index/external \"element-ui/lib/utils/clickoutside\"","webpack://index/external \"axios\"","webpack://index/./base/store/base.js","webpack://index/./base/store/index.js","webpack://index/./base/common/CronTab/index.vue?dcfc","webpack://index/external \"core-js/modules/es6.number.constructor\"","webpack://index/./base/module/sysm/Notice.vue?e127","webpack://index/./base/api/base/sysm/NoticeApi.js","webpack://index/base/module/sysm/Notice.vue","webpack://index/./base/module/sysm/Notice.vue?b6f6","webpack://index/./base/module/sysm/Notice.vue","webpack://index/./base/common/CronTab/module/Crontab-Main.vue?6a7a","webpack://index/external \"current-script-polyfill\"","webpack://index/./base/module/logs/LogsSqlData.vue?92a6","webpack://index/base/module/logs/LogsSqlData.vue","webpack://index/./base/module/logs/LogsSqlData.vue?368b","webpack://index/./base/module/logs/LogsSqlData.vue","webpack://index/./base/views/Main.vue?82dd","webpack://index/./base/common/HandleHistory.vue?9660","webpack://index/./base/module/sysm/CodeMgr.vue?3e2a","webpack://index/./base/api/base/sysm/CodeAPI.js","webpack://index/./base/module/sysm/CodeTypeEditor.vue?e1f1","webpack://index/base/module/sysm/CodeTypeEditor.vue","webpack://index/./base/module/sysm/CodeTypeEditor.vue?10fa","webpack://index/./base/module/sysm/CodeTypeEditor.vue","webpack://index/./base/module/sysm/CodeEditor.vue?1739","webpack://index/base/module/sysm/CodeEditor.vue","webpack://index/./base/module/sysm/CodeEditor.vue?9b55","webpack://index/./base/module/sysm/CodeEditor.vue","webpack://index/base/module/sysm/CodeMgr.vue","webpack://index/./base/module/sysm/CodeMgr.vue?05ff","webpack://index/./base/module/sysm/CodeMgr.vue","webpack://index/./base/common/HandleHistory.vue?f433","webpack://index/./base/common/HandleDetail.vue?dc48","webpack://index/./base/common/PopoverUserInfo.vue?ad9d","webpack://index/base/common/PopoverUserInfo.vue","webpack://index/./base/common/PopoverUserInfo.vue?983e","webpack://index/./base/common/PopoverUserInfo.vue","webpack://index/base/common/HandleDetail.vue","webpack://index/./base/common/HandleDetail.vue?f1ca","webpack://index/./base/common/HandleDetail.vue","webpack://index/base/common/HandleHistory.vue","webpack://index/./base/common/HandleHistory.vue?85b5","webpack://index/./base/common/HandleHistory.vue","webpack://index/./base/libs/Util.js","webpack://index/./node_modules/_@babel_runtime@7.5.5@@babel/runtime/helpers/esm/asyncToGenerator.js","webpack://index/./base/common/TimeLine.vue?1129","webpack://index/external \"vue2-filters\"","webpack://index/external \"babel-polyfill\"","webpack://index/external \"vue-progressbar\"","webpack://index/./base/api/base/logs/LogsServ.js","webpack://index/external \"querystring\"","webpack://index/external \"core-js/modules/es6.array.sort\"","webpack://index/./base/views/error/NotFound.vue?3f5a","webpack://index/./base/views/Login.vue?12c7"],"names":["loadDesignList","params","ajax","get","loadDesignMine","loadAllTable","loadTableInfo","tableName","saveDesign","data","post","debugDesign","deleteDesign","uuid","delete","loadDesign","NAME_SPACE","getChildren","puuid","then","editNode","resm","delNode","checkNode","put","repairNode","queryPara","savePara","getPara","delPara","mixins","Emitter","methods","selectTableRow","row","dispatch","$emit","selectTable","selection","queryLogsQuartz","queryLogsSign","queryLogsOper","queryLogsServ","getLogsSignByUuid","CronExpressionValidator","validateCronExpression","value","results","length","expressionArray","split","len","match","dayOfTheMonthWildcard","isNotWildCard","segmentValidator","convertMonthsToInteger","convertDaysToInteger","String","expression","v","replace","range","segmentName","numbers","Array","reg","RegExp","test","dupMatch","i","l","checkSegment","n","pattern","exec","indexOf","isNaN","push","numCheck","Number","numberSplit","axios","create","baseURL","document","baseURI","validateStatus","status","timeout","config","tomeOut","paramsSerializer","querystring","stringify","getStorageKey","category","url","Util","safety","safeData","queryStr","origGet","path","agile","down","fullURI","defaults","window","open","Promise","resolve","reject","cache","fullURL","cacheStore","CacheStores","ajaxStore","storageKey","force","removeItem","catch","getItem","progressing","onRequest","page","preSubmit","Vue","prototype","$Progress","start","onRequestError","error","onResponse","response","finish","respCode","respDesc","undefined","success","method","message","Message","duration","setItem","Error","Store","ignore","lengthen","showClose","dangerouslyUseHTMLString","validError","validat","onResponseError","t","statusText","Notification","title","interceptors","request","use","getAllCodes","codeType","codeListStore","wrapData","dataProp","oneData","key","codekey","label","codeval","strArray","wrapValue","index","join","getTree","treeKey","pid","keyword","field","codeTreeStore","fieldKey","keyWordKey","lazy","querySelectorData","dataType","encodePasswd","pwd","sha256","createHash","md5","update","digest","login","userid","passwd","captcha","headers","logck","logout","getLoginInfo","getRootMenu","changePwd","oldpasswd","reporttest","getPermByPID","loadPermTree","savePerm","deletePerm","autoAligned","saveSort","radioValue","cycle01","cycle02","average01","average02","checkboxList","checkNum","$options","propsData","check","name","props","radioChange","checkboxString","cycleChange","cycleTotal","averageChange","averageTotal","checkboxChange","watch","computed","str","workday","workdayChange","weekChange","week","workdayCheck","weekday","weekList","weekdayChange","dayChange","day","weekdayCheck","fullYear","mounted","Date","getFullYear","dayRule","dayRuleSup","dateArr","resultList","isShow","expressionChange","ruleArr","ex","nums","resultArr","nTime","nYear","nMouth","getMonth","nDay","getDate","nHour","getHours","nMin","getMinutes","nSecond","getSeconds","getSecondArr","getMinArr","getHourArr","getDayArr","getMouthArr","getWeekArr","getYearArr","sDate","mDate","hDate","DDate","MDate","YDate","sIdx","getIndex","mIdx","hIdx","DIdx","MIdx","YIdx","resetSecond","resetMin","resetHour","resetDay","resetMouth","goYear","Yi","YY","goMouth","Mi","MM","goDay","Di","DD","thisDD","checkDate","thisWeek","formatDate","goHour","hi","hh","goMin","mi","mm","goSecond","si","ss","arr","rule","year","getOrderArr","getCycleArr","getAverageArr","getAssignArr","matchRule","min","max","assiginArr","sort","compare","limit","agArr","step","cycleArr","add","Math","round","value1","value2","type","time","Y","M","D","h","m","s","getDay","format","addJob","updataJob","queryJob","delJob","runJob","stopJob","getJobClasss","loadJobInfo","loadJobRunHis","queryLogsOperData","queryQueryDataHis","getLogsOperByUuid","getRoleChildren","queryPerm","editRoleNode","role","copyRoleNode","editRolePermNode","delRoleNode","loadRoleEditInfo","getRoleTree","parRoleUuid","getOrgRoleTree","getCopyRoleTree","orgUuid","list","selectResource","useAll","localforage","createInstance","prefixs","sysCodeList","sysCodeTree","sysCode","location","hash","lang","ElementUI","Dialog","closeOnClickModal","default","closeOnPressEscape","FormItem","showMessage","Pagination","layout","VueRouter","VueI18n","size","zIndex","Vuex","Vue2Filters","VueMoment","moment","VueProgressBar","thickness","DlgDraggable","directive","mask","serverError","httpError","ui","noCode","common","serverReceiving","tableLoading","router","Home","Setting","Query","UserMgr","RoleMgr","OrgMgr","PermMgr","CodeMgr","ParaMgr","QueryMgr","Business","Maintenance","LogsOper","LogsServ","LogsSign","en","notify","OBSERVER_TOPIC_CACHE_CODE","store","codetype","OBSERVER_TOPIC_CACHE_TREE","iterate","iterationNumber","startsWith","treetype","version","repairWith","tocpic","component","Login","NotFound","base","require","log","usrm","sysm","Object","assign","defaultParams","total","pageNum","pageSize","orderField","orderDirection","Table","hideTitle","Boolean","load","Function","doLoadData","arguments","hideExport","autoLoad","autoHeight","height","rowKey","pageLayout","showAutoUpdate","interval","runTimer","isLoading","timer","checkTimer","activated","deactivated","clearTimer","destroyed","e","addTimer","setInterval","clearInterval","setCurrentRow","$refs","theTable","toggleRowSelection","selected","clearSelection","restore","changeSort","column","prop","order","changePage","changeSize","totalRows","isArray","datarows","download","columns","$children","forEach","element","column_t","trim","$attrs","dict","JSON","currentChange","currentRow","oldCurrentRow","getTableIndex","render","$slots","buttons","$t","$props","args","append","mode","parseInt","text","$store","code","c","find","bind","el","binding","vnode","oldnode","context","TabViewComponent","functional","_","children","parent","$createElement","comp","$tabView","views","TabView","idx","viewList","findIndex","item","active","splice","oldName","newName","removeBefore","removeAfter","forceFirst","install","option","isDef","mixin","beforeCreate","$root","tabView","_tabView","util","defineReactive","defineProperty","VelTableSort","tbody","querySelectorAll","orderKey","arg","Sortable","ghostClass","chosenClass","animation","setData","dataTransfer","onEnd","newIndex","oldIndex","componentInstance","targetRow","v_auth","group","is","funcUrl","index2","value3","index3","permCode","inserted","formEl","sysMenus","state","tabPagesPath","getters","paths","remove","paramName","PageTable","param","doLoad","_param","isLog","handleReset","handleLoad","curr","console","resp","strengData","lastParam","rc","$isLoading","$isEditing","od","exp","_curr","nld","_size","formatterDate","cellValue","formatterDateTime","confirm","txt","$confirm","confirmButtonText","cancelButtonText","SysCode","Selector","Panel","CurdPanel","ExportCtrl","ButtonAuth","TableSort","intervalTime","topicSub","socket","onmessage","parse","topicSubs","topic","processFn","bootstrap","connect","onopen","onclose","onerror","onTopic","serviceFn","readyState","WebSocket","webSocketURL","WebSocketService","CacheService","plugin","locale","zhLocale","Locale","cfg","stores","baseStores","tabs","baseTabs","routeMap","Map","baseRoutes","route","set","routes","init","modules","service","Ajax","ajaxUrl","asd","queryUser","getUser","userEdit","user","saveUser","shutUser","lockUser","openUser","userPWReSet","uuids","resetPwd","getRoleUserByOrgId","getUserInfo","lockAndOpenUsers","getTimeLine","resetUserPw","contextPath","process","companyInfo","logo","embedHeader","protocol","domain","port","needLogin","loginToken","codeMap","WrapType","EdocCode","failure","namespaced","queryDesign","sysUser","loginTimeout","loginChangePwd","mutations","updateState","tab","SET_SYSCODE","REMOVE_SYSCODE","SET_LOGIN","sysLogin","actions","loadSysCode","commit","SysAPI","refreshSysCode","AcesAPI","menus","getQueryDesign","QueryDesignerAPI","setPdfUuid","pdfUuid","doQuery","doGet","doDelete","doSave","queryCodeByType","saveCode","delCode","getCode","queryCodeType","saveCodeType","deleteCodeType","findCode","downFileIframe","id","iframe","getElementById","createElement","src","body","appendChild","onload","removeChild","opDesc","opUuid","crUserUuid","crTime","opUserUuid","opUserName","opTime","isDate","hasOwnProperty","queryLogsSqlData","SqlFormat","sql","getLogsServByUuid"],"mappings":"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AACA,WAvBA,qBAuBA;AAAA;;AACA;AACA;AACA,mDACA,IADA,CACA;AAAA;AAAA,OADA,EAEA,IAFA,CAEA;AACA;AACA;AACA,OALA;AAMA,KAhCA;AAiCA;AACA,UAlCA,oBAkCA;AACA;AACA,KApCA;AAqCA;AACA,UAtCA,oBAsCA;AACA;AACA;AACA;AACA,KA1CA;AA2CA;AACA,aA5CA,uBA4CA;AAAA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAHA,EAGA,GAHA;AAIA;AACA;;AACA;;AACA;AACA;AACA;AACA;AACA,WAFA;AAGA,SAJA,EAIA,MAJA;AAKA,OANA;;AAOA;AACA,KAhEA;AAiEA;AACA,iBAlEA,yBAkEA,IAlEA,EAkEA,IAlEA,EAkEA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA,KAzEA;AA0EA;AACA,YA3EA,oBA2EA,IA3EA,EA2EA,OA3EA,EA2EA;AACA;;AACA;AACA;AACA;;AACA;AACA;AACA,OAFA;AAGA,KAnFA;AAoFA;AACA,WArFA,mBAqFA,IArFA,EAqFA;AAAA;;AACA;AACA;AACA;AACA,qBADA;AAEA;AAFA;;AAIA;AACA;AACA;AACA,OAHA,MAGA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AAAA;AAAA,aAFA,CAEA;;AACA;AACA;AACA;AACA;AACA,SAPA;AAQA,OATA,EASA,IATA;AAUA,KA7GA;AA8GA;AACA,cA/GA,sBA+GA,IA/GA,EA+GA;AAAA;;AACA;AACA;AACA;AACA,0DACA,IADA,CACA;AACA;AACA;AACA,SAJA,EAKA,KALA,CAKA;AACA;AACA,SAPA;AAQA,OAVA,CAFA,CAaA;;;AACA;AACA,KA9HA;AA+HA;AACA,eAhIA,uBAgIA,IAhIA,EAgIA;AACA;AACA;AACA;AAnIA;AAhCA,G;;ACjEob,CAAgB,wGAAG,EAAC,C;;ACAlX;AAC3B;AACL;;;AAGtD;AACgH;AAChH,IAAI,iBAAS,GAAG,8CAAU;AAC1B,EAAE,oCAAM;AACR,EAAE,MAAM;AACR,EAAE,eAAe;AACjB;AACA;AACA;AACA;;AAEA;;AAE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A;AACA,aADA,uBACA;AACA,qBACA,kBACA,cADA,IAEA,kBAFA,KAGA,iDACA,uDAJA,CADA;AAMA;AACA;AATA,GAnCA;AA8CA,SA9CA,qBA8CA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA,GArDA;AAsDA;AACA,WADA,mBACA,GADA,EACA;AACA;AACA;AACA;AACA;AACA,OAJA,MAIA;AACA;;AACA;AACA;AACA;AACA;AACA,KAZA;AAaA,aAbA,qBAaA,GAbA,EAaA;AACA;AACA,KAfA;AAgBA,SAhBA,iBAgBA,GAhBA,EAgBA;AACA;AACA;AACA;AACA;AApBA,GAtDA;AA6EA;AACA,eADA,yBACA;AACA;AACA;AACA,KAJA;AAKA,cALA,wBAKA;AACA;AACA,KAPA;AAQA,cARA,wBAQA;AACA;AACA,KAVA;AAWA,eAXA,yBAWA;AACA;AACA,KAbA;AAcA,mBAdA,6BAcA;AACA;;AACA;AACA;AACA;AACA;AACA,KApBA;AAqBA,eArBA,yBAqBA;AACA;AACA;AACA,OAFA,MAEA;AACA;AACA,OAFA,MAEA;AACA;AACA;AACA,KA7BA;AA8BA,aA9BA,uBA8BA;AACA;AACA,KAhCA;AAiCA,mBAjCA,6BAiCA,EAjCA;AAkCA,mBAlCA,2BAkCA,KAlCA,EAkCA;AACA;AACA;AACA,OAFA,MAEA;AACA;AACA;AACA,KAxCA;AAyCA,kBAzCA,0BAyCA,KAzCA,EAyCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAlDA;AAmDA,eAnDA,uBAmDA,IAnDA,EAmDA;AACA;;AACA;AACA;AACA,OAFA,MAEA;AACA;AACA;AACA,KA1DA;AA2DA,kBA3DA,0BA2DA,GA3DA,EA2DA;AACA;AACA,2CACA,mDADA,GAEA,GAFA;AAGA;AACA;AACA;AACA;AACA;AACA;AArEA;AA7EA,G;;AChCsa,CAAgB,4GAAG,EAAC,C;;;;;ACAnW;AAC3B;AACL;AACc;;;AAGrE;AAC6G;AAC7G,IAAI,kBAAS,GAAG,8CAAU;AAC1B,EAAE,uCAAM;AACR,EAAE,4CAAM;AACR,EAAE,qDAAe;AACjB;A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A;AACA,kBADA;AAEA,mBAFA;AAGA,wBAHA;AAIA;AAJA;AALA;AA7BA;AA0CA,GA9CA;AA+CA,SA/CA,qBA+CA;AACA;AACA,GAjDA;AAkDA;AACA,sBADA,2BACA,gBADA,EACA;AACA;AACA;AACA,OAFA,MAEA;AACA;AACA;AACA;AAPA,GAlDA;AA2DA;AACA,gBADA,0BACA;AACA,iCACA,QACA;AACA,sBADA;AAEA,+DAFA;AAGA;AAHA,OADA;AAOA,KAVA;AAWA,cAXA,wBAWA;AACA;AACA;AACA;;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AArBA,GA3DA;AAkFA;AACA,iBADA,2BACA;AAAA;;AACA;AACA,8BACA,IADA,CACA;AACA;AACA;AACA,OAJA,EAKA,KALA,CAKA;AACA;AACA,OAPA;AAQA,KAXA;AAYA,mBAZA,6BAYA;AAAA;;AACA;AACA;AACA,OAFA;AAGA,KAhBA;AAiBA;AACA,kBAlBA,0BAkBA,IAlBA,EAkBA;AAAA;;AACA;AACA;AACA,iCACA,IADA,CACA;AACA;;AACA;AACA;AACA,OALA,EAMA,KANA,CAMA;AACA;AACA;AACA,OATA;AAUA,KA/BA;AAgCA,kBAhCA,0BAgCA,IAhCA,EAgCA;AAAA;;AACA;AACA,wCACA,IADA,CACA;AACA;;AACA;AACA;AACA,OALA,EAMA,KANA,CAMA;AACA;AACA,OARA;AASA,KA3CA;AA4CA,cA5CA,sBA4CA,IA5CA,EA4CA;AAAA;;AACA;AACA,wCACA,IADA,CACA;AACA;;AACA;AACA,OAJA,EAKA,KALA,CAKA;AACA;AACA,OAPA;AAQA,KAtDA;AAuDA;AACA,cAxDA,sBAwDA,IAxDA,EAwDA;AAAA;;AACA;AACA;AACA,6BACA,IADA,CACA;AACA;;AACA;AACA;AACA,OALA,EAMA,KANA,CAMA;AACA;AACA;AACA,OATA;AAUA,KArEA;AAsEA;AACA,YAvEA,sBAuEA;AAAA;;AACA;AACA,gDACA,IADA,CACA;AACA;AACA;AACA,OAJA,EAKA,KALA,CAKA;AACA;AACA,OAPA;AAQA,KAjFA;AAkFA;AACA,qB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","file":"index.umd.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"index\"] = factory();\n\telse\n\t\troot[\"index\"] = factory();\n})((typeof self !== 'undefined' ? self : this), function() {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"89c3\");\n","import ajax from \"@/libs/Ajax\";\n\nexport default {\n /**\n *\n * @param {*} data\n */\n loadDesignList(params) {\n return ajax.get(\"/queryDesigner/loadDesignList\", { params });\n },\n /**\n * 查询定义的大纲\n */\n loadDesignMine(params) {\n return ajax.get(\"/queryDesigner/loadDesignMine\");\n },\n\n /**\n * 获取系统可用的表\n */\n loadAllTable() {\n return ajax.get(\"/queryDesigner/loadAllTable\");\n },\n /**\n * 获取表信息\n * @param {String} tableName\n */\n loadTableInfo(tableName) {\n return ajax.get(\"/queryDesigner/loadTableInfo\", { params: { tableName } });\n },\n /**\n * 保存设计信息\n * @param {Object} data\n */\n saveDesign(data) {\n return ajax.post(\"/queryDesigner/saveDesign\", data);\n },\n\n /**\n * 服务器端测试运行结果\n * @param {Object} data 同 saveDesign\n */\n debugDesign(data) {\n return ajax.post(\"/queryDesigner/debugDesign\", data);\n },\n /**\n * 删除\n * @param {String} uuid\n */\n deleteDesign(uuid) {\n return ajax.delete(\"/queryDesigner/deleteDesign\", { params: { uuid } });\n },\n /**\n * 加载设计信息\n * @param {String} uuid 要加载的信息\n */\n loadDesign(uuid) {\n return ajax.get(\"/queryDesigner/loadDesign\", { params: { uuid } });\n }\n};\n","module.exports = require(\"core-js/modules/es6.regexp.replace\");","// extracted by mini-css-extract-plugin","module.exports = require(\"core-js/modules/es6.object.assign\");","module.exports = require(\"core-js/modules/es6.array.find-index\");","module.exports = require(\"element-ui/lib/mixins/emitter\");","module.exports = require(\"element-ui/lib/select\");","module.exports = require(\"core-js/modules/es7.object.get-own-property-descriptors\");","import ajax from \"@/libs/Ajax\";\r\n\r\n// 后台命名空间\r\nconst NAME_SPACE = \"/usrm/usr/org\";\r\n\r\n/**\r\n * 组织机构API\r\n */\r\nexport default {\r\n // 查询子节点数据\r\n getChildren(puuid) {\r\n return ajax\r\n .get(`${NAME_SPACE}/getChildren`, { params: { puuid } })\r\n .then(data => data || []);\r\n },\r\n // 编辑节点\r\n editNode(resm) {\r\n return ajax.post(`${NAME_SPACE}/editNode`, resm);\r\n },\r\n // 删除节点\r\n delNode(uuid) {\r\n return ajax.delete(`${NAME_SPACE}/delNode`, { params: { uuid } });\r\n },\r\n // 检查节点\r\n checkNode(uuid) {\r\n return ajax.put(`${NAME_SPACE}/checkNode`, { params: { uuid } });\r\n },\r\n // 修复节点异常\r\n repairNode(uuid) {\r\n return ajax.put(`${NAME_SPACE}/repairLRNode`, { params: { uuid } });\r\n }\r\n};\r\n","module.exports = require(\"core-js/modules/es6.regexp.constructor\");","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('el-card',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}]},[_c('template',{slot:\"header\"},[_c('span',[_vm._v(\"参数管理\")]),_c('div',{staticClass:\"pull-right\"},[_c('el-button',{attrs:{\"type\":\"primary\",\"icon\":\"el-icon-fa-plus\",\"title\":\"添加\"},on:{\"click\":_vm.handleAdd}})],1)]),_c('el-form',{ref:\"queryForm\",attrs:{\"model\":_vm.searchForm}},[_c('el-row',[_c('el-col',{attrs:{\"lg\":4,\"sm\":12}},[_c('el-form-item',{attrs:{\"prop\":\"paraname\",\"label\":\"参数名称\"}},[_c('el-input',{model:{value:(_vm.searchForm.paraname),callback:function ($$v) {_vm.$set(_vm.searchForm, \"paraname\", $$v)},expression:\"searchForm.paraname\"}})],1)],1),_c('el-col',{attrs:{\"lg\":4,\"sm\":12}},[_c('el-form-item',{attrs:{\"prop\":\"paravalue\",\"label\":\"参数值\"}},[_c('el-input',{model:{value:(_vm.searchForm.paravalue),callback:function ($$v) {_vm.$set(_vm.searchForm, \"paravalue\", $$v)},expression:\"searchForm.paravalue\"}})],1)],1)],1)],1)],2),_c('el-card',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}],staticClass:\"margin-top-2\"},[_c('template',{slot:\"header\"},[_c('span',[_vm._v(\"参数列表\")]),_c('div',{staticClass:\"pull-right\"},[_c('el-button',{attrs:{\"type\":\"primary\",\"icon\":\"el-icon-fa-search\",\"title\":\"查询\"},on:{\"click\":_vm.queryData}}),_c('el-button',{attrs:{\"type\":\"primary\",\"icon\":\"el-icon-fa-reply-all\",\"title\":\"重置\"},on:{\"click\":_vm.resetQuery}})],1)]),_c('PageTable',{ref:\"dataTable\",attrs:{\"hideTitle\":\"\",\"auto-load\":true,\"data\":_vm.data,\"highlight-current-row\":\"\",\"stripe\":\"\",\"border\":\"\"},on:{\"load-data\":_vm.dataTableLoad}},[_c('el-table-column',{attrs:{\"prop\":\"paraname\",\"label\":\"参数名称\"}}),_c('el-table-column',{attrs:{\"prop\":\"paravalue\",\"label\":\"参数值\"}}),_c('el-table-column',{attrs:{\"prop\":\"paradesc\",\"label\":\"参数描述\"}}),_c('el-table-column',{attrs:{\"label\":\"操作\",\"fixed\":\"right\",\"width\":\"70\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('el-button',{attrs:{\"type\":\"primary\",\"icon\":\"el-icon-fa-edit\",\"title\":\"编辑\"},on:{\"click\":function($event){return _vm.handleEdit(scope.row)}}}),_c('el-button',{attrs:{\"type\":\"primary\",\"icon\":\"el-icon-fa-trash\",\"title\":\"删除\"},on:{\"click\":function($event){return _vm.handleDelete(scope.row)}}})]}}])})],1)],2),_c('el-dialog',{directives:[{name:\"draggable\",rawName:\"v-draggable\"}],attrs:{\"append-to-body\":\"\",\"width\":\"600px\",\"title\":\"客户端数据编辑\",\"visible\":_vm.editor.visible,\"close-on-click-modal\":false},on:{\"update:visible\":function($event){return _vm.$set(_vm.editor, \"visible\", $event)}}},[_c('div',{staticClass:\"dialog-button\"},[_c('el-button',{attrs:{\"type\":\"primary\",\"plain\":\"\",\"loading\":_vm.editor.saving,\"icon\":\"el-icon-fa-save\",\"title\":\"提交\"},on:{\"click\":_vm.handleSubmit}})],1),(_vm.editor.visible)?_c('ParaEditor',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.editor.saving),expression:\"editor.saving\"}],ref:\"editor\",attrs:{\"error\":_vm.editor.error,\"uuid\":_vm.editor.uuid}}):_vm._e()],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import ajax from \"@/libs/Ajax\";\n\nexport default {\n // 查询\n queryPara(params) {\n return ajax.get(`/sys/para/queryPara`, { params });\n },\n // 保存客户端数据\n savePara(data) {\n return ajax.post(`/sys/para/savePara`, data);\n },\n // //查询一条数据\n getPara(uuid) {\n return ajax.get(`/sys/para/getPara`, { params: { uuid } });\n },\n // 保存客户端数据\n delPara(uuid) {\n return ajax.delete(`/sys/para/delPara`, { params: { uuid } });\n }\n};\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('el-form',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}],ref:\"form\",attrs:{\"label-position\":\"top\",\"model\":_vm.data,\"rules\":_vm.rules}},[_c('el-form-item',{attrs:{\"label\":\"参数名称\",\"prop\":\"paraname\",\"error\":_vm.error.paraname}},[_c('el-input',{model:{value:(_vm.data.paraname),callback:function ($$v) {_vm.$set(_vm.data, \"paraname\", $$v)},expression:\"data.paraname\"}})],1),_c('el-form-item',{attrs:{\"label\":\"参数值\",\"prop\":\"paravalue\",\"error\":_vm.error.paravalue}},[_c('el-input',{model:{value:(_vm.data.paravalue),callback:function ($$v) {_vm.$set(_vm.data, \"paravalue\", $$v)},expression:\"data.paravalue\"}})],1),_c('el-form-item',{attrs:{\"label\":\"参数描述\",\"prop\":\"paradesc\",\"error\":_vm.error.paradesc}},[_c('el-input',{attrs:{\"type\":\"textarea\"},model:{value:(_vm.data.paradesc),callback:function ($$v) {_vm.$set(_vm.data, \"paradesc\", $$v)},expression:\"data.paradesc\"}})],1)],1),(_vm.data.uuid)?_c('HandleHistory',{staticClass:\"margin-top-1 margin-bottom-1\",attrs:{\"uuid\":_vm.data.uuid,\"cr-user-uuid\":_vm.data.crUserUuid,\"op-user-uuid\":_vm.data.opUserUuid,\"cr-time\":_vm.data.crTime,\"op-time\":_vm.data.opTime,\"mode\":\"plan\"}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <div>\n <el-form v-loading=\"loading\" label-position=\"top\" ref=\"form\" :model=\"data\" :rules=\"rules\">\n <el-form-item label=\"参数名称\" prop=\"paraname\" :error=\"error.paraname\">\n <el-input v-model=\"data.paraname\"></el-input>\n </el-form-item>\n <el-form-item label=\"参数值\" prop=\"paravalue\" :error=\"error.paravalue\">\n <el-input v-model=\"data.paravalue\"></el-input>\n </el-form-item>\n <el-form-item label=\"参数描述\" prop=\"paradesc\" :error=\"error.paradesc\">\n <el-input type=\"textarea\" v-model=\"data.paradesc\"></el-input>\n </el-form-item>\n </el-form>\n <HandleHistory class=\"margin-top-1 margin-bottom-1\" v-if=\"data.uuid\" :uuid=\"data.uuid\" :cr-user-uuid=\"data.crUserUuid\" :op-user-uuid=\"data.opUserUuid\" :cr-time=\"data.crTime\" :op-time=\"data.opTime\" mode=\"plan\" />\n </div>\n</template>\n<script>\nimport HandleHistory from \"@/common/HandleHistory\";\nimport ParaApi from \"@/api/base/sysm/ParaAPI\";\n\nlet dafaultData = {\n paraname: \"\",\n paravalue: \"\",\n paradesc: \"\"\n};\n\nexport default {\n components: { HandleHistory },\n props: {\n // 一定要暴露一个UUID属性,用来做编辑操作.\n uuid: String,\n // 暴露出去一个属性用来显示服务器校验失败错误\n error: Object\n },\n data() {\n return {\n loading: false,\n data: Object.assign({}, dafaultData),\n rules: {\n paraname: [{ required: true, message: \"请输入参数名称!\" }],\n paravalue: [{ required: true, message: \"请输入参数值!\" }]\n }\n };\n },\n watch: {\n uuid(val) {\n this.loadData();\n }\n },\n mounted() {\n // 最开始显示的时候要加载数据\n this.loadData();\n },\n methods: {\n // 因为表单里面没有按钮,所以需要暴露方法\n // 提供一个校验方法 ,\n validate() {\n return this.$refs.form.validate().then(() => this.data);\n },\n // 加载数据方法,如果有UUID,就加载数据,如果没有,就重置表单\n loadData() {\n if (!this.uuid) {\n this.$refs.form.resetFields();\n } else {\n this.loading = true;\n ParaApi.getPara(this.uuid).then(respData => {\n this.data = respData;\n this.loading = false;\n });\n }\n }\n }\n};\n</script>\n","import mod from \"-!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/_thread-loader@2.1.2@thread-loader/dist/cjs.js!../../../node_modules/_babel-loader@8.0.6@babel-loader/lib/index.js!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./ParaEditor.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/_thread-loader@2.1.2@thread-loader/dist/cjs.js!../../../node_modules/_babel-loader@8.0.6@babel-loader/lib/index.js!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./ParaEditor.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ParaEditor.vue?vue&type=template&id=77631cf7&\"\nimport script from \"./ParaEditor.vue?vue&type=script&lang=js&\"\nexport * from \"./ParaEditor.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","<!-- 参数管理 -->\n<template>\n <div>\n <el-card v-loading=\"loading\">\n <template slot=\"header\">\n <span>参数管理</span>\n <div class=\"pull-right\">\n <el-button type=\"primary\" @click=\"handleAdd\" icon=\"el-icon-fa-plus\" title=\"添加\"></el-button>\n </div>\n </template>\n <el-form :model=\"searchForm\" ref=\"queryForm\">\n <el-row>\n <el-col :lg='4' :sm='12'>\n <el-form-item prop=\"paraname\" label=\"参数名称\">\n <el-input v-model=\"searchForm.paraname\"></el-input>\n </el-form-item>\n </el-col>\n <el-col :lg='4' :sm='12'>\n <el-form-item prop=\"paravalue\" label=\"参数值\">\n <el-input v-model=\"searchForm.paravalue\"></el-input>\n </el-form-item>\n </el-col>\n </el-row>\n </el-form>\n </el-card>\n <el-card v-loading=\"loading\" class=\"margin-top-2\">\n <template slot=\"header\">\n <span>参数列表</span>\n <div class=\"pull-right\">\n <el-button type=\"primary\" @click=\"queryData\" icon=\"el-icon-fa-search\" title=\"查询\"></el-button>\n <el-button type=\"primary\" @click=\"resetQuery\" icon=\"el-icon-fa-reply-all\" title=\"重置\"></el-button>\n </div>\n </template>\n <PageTable hideTitle ref=\"dataTable\" :auto-load=\"true\" @load-data=\"dataTableLoad\" :data=\"data\" highlight-current-row stripe border>\n \n <el-table-column prop=\"paraname\" label=\"参数名称\"></el-table-column>\n <el-table-column prop=\"paravalue\" label=\"参数值\"></el-table-column>\n <el-table-column prop=\"paradesc\" label=\"参数描述\"></el-table-column>\n <el-table-column label=\"操作\" fixed='right' width=\"70\">\n <template slot-scope=\"scope\">\n <el-button type=\"primary\" @click=\"handleEdit(scope.row)\" icon=\"el-icon-fa-edit\" title=\"编辑\"></el-button>\n <el-button type=\"primary\" @click=\"handleDelete(scope.row)\" icon=\"el-icon-fa-trash\" title=\"删除\"></el-button>\n </template>\n </el-table-column>\n </PageTable>\n </el-card>\n <el-dialog append-to-body v-draggable width=\"600px\" title=\"客户端数据编辑\" :visible.sync=\"editor.visible\" :close-on-click-modal=\"false\">\n <div class='dialog-button'>\n <el-button type=\"primary\" plain :loading=\"editor.saving\" @click=\"handleSubmit\" icon=\"el-icon-fa-save\" title=\"提交\"></el-button>\n </div>\n <ParaEditor v-loading=\"editor.saving\" v-if=\"editor.visible\" ref=\"editor\" :error=\"editor.error\" :uuid=\"editor.uuid\" />\n </el-dialog>\n </div>\n</template>\n<script>\nimport ParaApi from \"@/api/base/sysm/ParaAPI\";\nimport ParaEditor from \"./ParaEditor\";\n\nexport default {\n name: \"ParaMgr\",\n components: { ParaEditor },\n data() {\n return {\n loading: false,\n // 编辑器用到的所有数据\n editor: {\n saving: false,\n visible: false,\n error: {},\n uuid: \"\"\n },\n // 查询表单用到的数据\n searchForm: {\n paraname: \"\",\n paravalue: \"\"\n },\n data: []\n };\n },\n methods: {\n // 逻辑处理\n // 加载表格数据\n dataTableLoad(params, resolve) {\n ParaApi.queryPara(params)\n .then(resolve) // 让表格解析你提供的数据 (主要解析页码等)\n .then(respData => (this.data = respData.datarows)); // 本地也记录一下数据 (提供给表示显示的数据)\n },\n // 查询数据\n queryData() {\n this.$refs.dataTable.load(this.searchForm);\n },\n // 重置查询\n resetQuery() {\n this.$refs.queryForm.resetFields();\n },\n // 删除执行\n deleteParam(data) {\n this.loading = true;\n ParaApi.delPara(data.uuid)\n .then(() => {\n this.queryData();\n this.loading = false;\n })\n .catch(() => {\n this.loading = false;\n });\n },\n // 提交执行\n submitParam(data) {\n this.editor.saving = true;\n this.editor.error = {};\n ParaApi.savePara(data)\n .then(() => {\n this.queryData();\n this.editor.saving = false;\n this.editor.visible = false;\n })\n .catch(error => {\n this.editor.saving = false;\n this.editor.error = error.validError;\n });\n },\n // 下面的方法专门用于响应页面按钮点击 则为 handleXXXX\n // 响应[编辑按钮]\n handleEdit(data) {\n this.editor.visible = true;\n this.editor.uuid = data.uuid;\n },\n // 响应[提交按钮]\n handleSubmit() {\n this.$refs.editor.validate().then(this.submitParam);\n },\n // 响应[删除按钮]\n handleDelete(data) {\n this.confirm(data).then(this.deleteParam);\n },\n // 响应[添加按钮]\n handleAdd() {\n this.editor.visible = true;\n this.editor.uuid = \"\";\n }\n }\n};\n</script>\n","import mod from \"-!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/_thread-loader@2.1.2@thread-loader/dist/cjs.js!../../../node_modules/_babel-loader@8.0.6@babel-loader/lib/index.js!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./ParaMgr.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/_thread-loader@2.1.2@thread-loader/dist/cjs.js!../../../node_modules/_babel-loader@8.0.6@babel-loader/lib/index.js!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./ParaMgr.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ParaMgr.vue?vue&type=template&id=01f5310e&\"\nimport script from \"./ParaMgr.vue?vue&type=script&lang=js&\"\nexport * from \"./ParaMgr.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","module.exports = require(\"core-js/modules/es6.string.iterator\");","module.exports = require(\"core-js/modules/es6.function.name\");","module.exports = require(\"element-ui/lib/theme-chalk/index.css\");","import mod from \"-!../../../node_modules/_mini-css-extract-plugin@0.6.0@mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/_css-loader@1.0.1@css-loader/index.js??ref--8-oneOf-1-1!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/_sass-loader@7.1.0@sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./CodeMgr.vue?vue&type=style&index=0&lang=scss&\"; export default mod; export * from \"-!../../../node_modules/_mini-css-extract-plugin@0.6.0@mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/_css-loader@1.0.1@css-loader/index.js??ref--8-oneOf-1-1!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/_sass-loader@7.1.0@sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./CodeMgr.vue?vue&type=style&index=0&lang=scss&\"","module.exports = require(\"core-js/modules/es6.array.iterator\");","module.exports = require(\"core-js/modules/es6.regexp.match\");","// extracted by mini-css-extract-plugin","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}]},[_c('el-form',{ref:\"queryForm\",attrs:{\"inline\":\"\",\"model\":_vm.table.params}},[_c('el-form-item',{attrs:{\"prop\":\"keyword\"}},[_c('el-input',{attrs:{\"placeholder\":\"搜索...\"},model:{value:(_vm.table.params.keyword),callback:function ($$v) {_vm.$set(_vm.table.params, \"keyword\", $$v)},expression:\"table.params.keyword\"}})],1),_c('el-button-group',{staticClass:\"pull-right\",staticStyle:{\"margin\":\"4px\"}},[_c('el-button',{attrs:{\"icon\":\"el-icon-fa-refresh\"},on:{\"click\":_vm.resetQuery}}),_c('el-button',{attrs:{\"icon\":\"el-icon-fa-search\"},on:{\"click\":_vm.queryData}}),_c('el-button',{attrs:{\"icon\":\"el-icon-fa-expand\"},on:{\"click\":_vm.expandAll}})],1)],1),_c('div',{staticStyle:{\"max-height\":\"400px\",\"overflow-y\":\"auto\"}},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.noData),expression:\"noData\"}],staticStyle:{\"text-align\":\"center\",\"margin-bottom\":\"10px\"}},[_vm._v(\"没有数据...\")]),_c('el-tree',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.noData),expression:\"!noData\"}],ref:\"orgTree\",attrs:{\"lazy\":\"\",\"load\":_vm.loadTree,\"node-key\":\"uuid\",\"expand-on-click-node\":false,\"highlight-current\":\"\",\"render-content\":_vm.renderContent}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import Emitter from \"element-ui/lib/mixins/emitter\";\n\n/**\n * 选择器基础类\n */\nexport default {\n mixins: [Emitter],\n data() {\n return {};\n },\n methods: {\n /**\n * 响应选中 一条\n * @param {Object} row\n */\n selectTableRow(row) {\n // 如果在 EtSelector 中包裹,要通知\n this.dispatch(\"EtSelector\", \"selectTableRow\", row);\n this.$emit(\"select\", row);\n },\n /**\n * 响应选中 一组\n * @param {Array} selection\n */\n selectTable(selection) {\n // 如果在 EtSelector 中包裹,要通知\n this.dispatch(\"EtSelector\", \"selectTable\", [selection]);\n this.$emit(\"select\", [selection]);\n }\n }\n};\n","<template>\n <div v-loading=\"loading\">\n <el-form inline :model=\"table.params\" ref=\"queryForm\">\n <el-form-item prop=\"keyword\">\n <el-input v-model=\"table.params.keyword\" placeholder=\"搜索...\"></el-input>\n </el-form-item>\n <el-button-group class=\"pull-right\" style=\"margin: 4px;\">\n <el-button icon=\"el-icon-fa-refresh\" @click=\"resetQuery\"></el-button>\n <el-button icon=\"el-icon-fa-search\" @click=\"queryData\"></el-button>\n <el-button icon=\"el-icon-fa-expand\" @click=\"expandAll\"></el-button>\n </el-button-group>\n </el-form>\n <div style=\"max-height:400px;overflow-y:auto;\">\n <div v-show=\"noData\" style=\"text-align:center;margin-bottom:10px;\">没有数据...</div>\n <el-tree v-show=\"!noData\" ref=\"orgTree\" lazy :load=\"loadTree\" node-key=\"uuid\" :expand-on-click-node=\"false\" highlight-current :render-content=\"renderContent\"></el-tree>\n </div>\n </div>\n</template>\n<script>\nimport BaseSelector from \"../common/BaseSelector\";\nimport SysAPI from \"../api/base/sysm/SysAPI\";\n\nexport default {\n extends: BaseSelector,\n props: {\n // 树类型\n treeKey: {\n type: String,\n required: true\n },\n // 查询字段(数据库对应)\n searchField: {\n type: String,\n required: false\n },\n // 树的根节点命名\n rootLabel: {\n type: String,\n default: \"请选择数据\"\n }\n },\n data() {\n return {\n loading: false,\n noData: false,\n table: {\n data: [],\n params: {\n keyword: \"\"\n }\n }\n };\n },\n mounted() {},\n methods: {\n // [按钮]点击查询\n queryData() {\n this.$refs.orgTree.root.childNodes.forEach(element => {\n element.loaded = false;\n element.expand();\n }, this);\n },\n // [按钮]重置查询\n resetQuery() {\n this.noData = false;\n this.$refs.queryForm.resetFields();\n this.queryData();\n },\n // 懒加载树节点\n loadTree(node, resolve) {\n let pid;\n if (node.data) {\n pid = node.data.id;\n }\n let keyWord = this.table.params.keyword;\n SysAPI.getTree(this.treeKey, pid, keyWord, this.searchField, true)\n .then(data => {\n resolve(data);\n if (keyWord && data.length === 0) {\n this.noData = true;\n } else {\n node.childNodes.forEach(element => {\n let isLeaf = this.table.params.keyword\n ? true\n : element.data.isLeaf;\n element.isLeaf = isLeaf;\n element.loaded = isLeaf;\n }, this);\n this.noData = false;\n }\n })\n .catch(resolve);\n },\n // 展开/关闭 全部\n expandAll() {\n let expandFn = (element, expand) => {\n element.childNodes.forEach(element => {\n element.expand(() => {\n expandFn(element);\n });\n }, this);\n };\n expandFn(this.$refs.orgTree.root);\n },\n // 自定义JSX渲染\n renderContent(h, { node, data, store }) {\n return (\n <span>\n {data.pid !== \"none\" ? (\n <span>\n <a\n onClick={() => {\n this.selectTableRow(data);\n }}\n class=\"href\"\n >\n {data.label}\n </a>\n </span>\n ) : (\n <span>{data.label}</span>\n )}\n </span>\n );\n }\n }\n};\n</script>\n","import mod from \"-!../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../node_modules/_thread-loader@2.1.2@thread-loader/dist/cjs.js!../../node_modules/_babel-loader@8.0.6@babel-loader/lib/index.js!../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./SelectorTree.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../node_modules/_thread-loader@2.1.2@thread-loader/dist/cjs.js!../../node_modules/_babel-loader@8.0.6@babel-loader/lib/index.js!../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./SelectorTree.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SelectorTree.vue?vue&type=template&id=871f1e20&\"\nimport script from \"./SelectorTree.vue?vue&type=script&lang=js&\"\nexport * from \"./SelectorTree.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/_vue-loader@15.7.1@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","// extracted by mini-css-extract-plugin","import mod from \"-!../../../../node_modules/_mini-css-extract-plugin@0.6.0@mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/_css-loader@1.0.1@css-loader/index.js??ref--8-oneOf-1-1!../../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/_sass-loader@7.1.0@sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./Crontab-Main.vue?vue&type=style&index=0&lang=scss&\"; export default mod; export * from \"-!../../../../node_modules/_mini-css-extract-plugin@0.6.0@mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/_css-loader@1.0.1@css-loader/index.js??ref--8-oneOf-1-1!../../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/_sass-loader@7.1.0@sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./Crontab-Main.vue?vue&type=style&index=0&lang=scss&\"","module.exports = require(\"md5\");","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"card-height-full flex-h\"},[(_vm.rightBlock)?_c('el-card',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.doLoading),expression:\"doLoading\"}],staticClass:\"flex-1 full\"},[_c('template',{slot:\"header\"},[_c('span',[_vm._v(\"系统角色管理\")]),_c('div',{staticClass:\"pull-right\"},[_c('el-button',{attrs:{\"type\":\"primary\",\"icon\":\"el-icon-fa-expand\"},on:{\"click\":_vm.expandAll}}),_c('el-button',{attrs:{\"type\":\"primary\",\"icon\":\"el-icon-fa-refresh\"},on:{\"click\":_vm.refresh}}),_c('el-button',{attrs:{\"type\":\"primary\",\"icon\":\"el-icon-fa-copy\",\"title\":\"角色复制\"},on:{\"click\":_vm.doAdd}}),_c('el-button',{attrs:{\"type\":\"primary\",\"icon\":!_vm.leftBlock?'el-icon-caret-left':'el-icon-caret-right'},on:{\"click\":function($event){_vm.leftBlock=!_vm.leftBlock}}})],1)]),(_vm.showRoleTree)?_c('el-tree',{ref:\"roleTree\",attrs:{\"default-expand-all\":_vm.expandedAll,\"lazy\":\"\",\"current-node-key\":_vm.current.roleUuid,\"load\":_vm.loadTree,\"node-key\":\"uuid\",\"expand-on-click-node\":false,\"highlight-current\":\"\"},on:{\"current-change\":_vm.currentChange},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar node = ref.node;\nvar data = ref.data;\nreturn _c('span',{staticClass:\"custom-tree-node\"},[(data.orgName)?_c('span',[_c('i',{staticClass:\"el-icon-fa el-icon-fa-sitemap margin-right-2 \"}),_c('span',[_vm._v(_vm._s(data.orgName))])]):_vm._e(),(data.roleName&&data.parRoleUuid==='none'&&data.roleType==='1')?_c('span',[_c('i',{staticClass:\"el-icon-fa el-icon-fa-user-o margin-right-2 \"}),_c('span',[_vm._v(_vm._s(data.roleName))])]):_vm._e(),(data.roleName&&data.parRoleUuid==='none'&&data.roleType==='2')?_c('span',[_c('i',{staticClass:\"el-icon-fa el-icon-fa-folder-open margin-right-2 \"}),_c('span',[_vm._v(_vm._s(data.roleName))])]):_vm._e(),(data.roleName&&data.parRoleUuid!=='none')?_c('span',[_c('i',{staticClass:\"el-icon-fa el-icon-fa-user-o margin-right-2 \"}),_c('span',[_vm._v(_vm._s(data.roleName))])]):_vm._e(),_c('el-button-group',[_c('el-button',{attrs:{\"icon\":\"el-icon-fa-refresh\"},on:{\"click\":function($event){return _vm.refreshNode(node)}}}),_c('el-button',{attrs:{\"disabled\":!!!data.orgName||_vm.$store.state.base.sysUser.graUser==='0',\"icon\":\"el-icon-fa-plus\"},on:{\"click\":function($event){return _vm.addNode(node)}}}),_c('el-button',{attrs:{\"icon\":\"el-icon-fa-minus\",\"disabled\":!!data.orgName||_vm.$store.state.base.sysUser.graUser==='0'},on:{\"click\":function($event){return _vm.removeNode(node)}}})],1)],1)}}],null,false,1325818454)}):_vm._e()],2):_vm._e(),(_vm.leftBlock)?_c('div',{staticClass:\"flex-2 flex-h margin-left-2\"},[_c('el-card',{staticClass:\"flex-1 full\"},[_c('template',{slot:\"header\"},[_c('span',[_vm._v(\"角色信息编辑\")]),_c('div',{staticClass:\"pull-right\"},[_c('el-button',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.current.roleUuid),expression:\"current.roleUuid\"}],attrs:{\"disabled\":_vm.$store.state.base.sysUser.graUser===\"0\",\"type\":\"primary\",\"icon\":\"el-icon-fa-save\",\"title\":\"保存\"},on:{\"click\":_vm.submit}}),_c('el-button',{attrs:{\"type\":\"primary\",\"icon\":_vm.rightBlock?'el-icon-caret-left':'el-icon-caret-right'},on:{\"click\":function($event){_vm.rightBlock=!_vm.rightBlock}}})],1)]),_c('RoleEditor',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.current.roleUuid),expression:\"current.roleUuid\"}],ref:\"roleEditor\",staticClass:\"full-height\",attrs:{\"uuid\":_vm.current.roleUuid,\"org-uuid\":_vm.current.orgUuid},on:{\"onsave\":_vm.onsave}})],2),_c('el-dialog',{directives:[{name:\"draggable\",rawName:\"v-draggable\"}],attrs:{\"append-to-body\":\"\",\"width\":\"800px\",\"visible\":_vm.editor.show,\"title\":\"角色复制\"},on:{\"update:visible\":function($event){return _vm.$set(_vm.editor, \"show\", $event)}}},[_c('div',{staticClass:\"dialog-button\"},[_c('el-button-group',[_c('el-button',{attrs:{\"type\":\"primary\",\"plain\":\"\",\"icon\":\"el-icon-fa-save\",\"title\":\"复制\"},on:{\"click\":function($event){return _vm.doSubmit()}}})],1)],1),(_vm.editor.show)?_c('CopyEditor',{ref:\"userEditor\",attrs:{\"uuid\":_vm.editor.uuid}}):_vm._e()],1)],1):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('el-tabs',{attrs:{\"type\":\"border-card\"}},[_c('el-tab-pane',{attrs:{\"label\":\"角色编辑\"}},[_c('el-form',{ref:\"form\",staticClass:\"etong\",attrs:{\"model\":_vm.data,\"label-position\":\"top\",\"rules\":_vm.rules}},[_c('div',{staticClass:\"flex-h \"},[_c('el-form-item',{staticClass:\"flex-1\",attrs:{\"label\":\"角色名称\",\"prop\":\"roleName\",\"error\":_vm.error.roleName}},[_c('el-input',{model:{value:(_vm.data.roleName),callback:function ($$v) {_vm.$set(_vm.data, \"roleName\", $$v)},expression:\"data.roleName\"}})],1),_c('el-form-item',{staticClass:\"flex-1\",attrs:{\"label\":\"角色类型\",\"prop\":\"roleType\",\"error\":_vm.error.roleType}},[_c('el-select',{attrs:{\"placeholder\":\"请选择类型\"},model:{value:(_vm.data.roleType),callback:function ($$v) {_vm.$set(_vm.data, \"roleType\", $$v)},expression:\"data.roleType\"}},_vm._l((_vm.roleTypes),function(item){return _c('el-option',{key:item.value,attrs:{\"label\":item.label,\"value\":item.value}})}),1)],1),_c('el-form-item',{staticClass:\"flex-1 \",attrs:{\"label\":\"数据权限\",\"prop\":\"dataAuth\",\"error\":_vm.error.dataAuth}},[_c('el-select',{attrs:{\"placeholder\":\"请选择\"},model:{value:(_vm.data.dataAuth),callback:function ($$v) {_vm.$set(_vm.data, \"dataAuth\", $$v)},expression:\"data.dataAuth\"}},_vm._l((_vm.options),function(item){return _c('el-option',{key:item.value,attrs:{\"label\":item.label,\"value\":item.value}})}),1)],1)],1),_c('el-form-item',{attrs:{\"label\":\"角色描述\",\"prop\":\"roleDesc\",\"error\":_vm.error.roleDesc}},[_c('el-input',{attrs:{\"type\":\"textarea\"},model:{value:(_vm.data.roleDesc),callback:function ($$v) {_vm.$set(_vm.data, \"roleDesc\", $$v)},expression:\"data.roleDesc\"}})],1)],1),_c('HandleHistory',{attrs:{\"uuid\":_vm.data.uuid,\"cr-user-uuid\":_vm.data.crUserUuid,\"op-user-uuid\":_vm.data.opUserUuid,\"cr-time\":_vm.data.crTime,\"op-time\":_vm.data.opTime,\"mode\":\"plan\"}})],1),_c('el-tab-pane',{attrs:{\"label\":\"分配用户\"}},[_c('el-form',{ref:\"queryform\",attrs:{\"inline\":true,\"model\":_vm.queryform}},[_c('el-form-item',{attrs:{\"label\":\"登录账号\",\"prop\":\"userid\"}},[_c('el-input',{attrs:{\"placeholder\":\"登录账号\"},model:{value:(_vm.queryform.userid),callback:function ($$v) {_vm.$set(_vm.queryform, \"userid\", $$v)},expression:\"queryform.userid\"}})],1),_c('el-form-item',{attrs:{\"label\":\"用户名称\",\"prop\":\"username\"}},[_c('el-input',{attrs:{\"placeholder\":\"用户名称\"},model:{value:(_vm.queryform.username),callback:function ($$v) {_vm.$set(_vm.queryform, \"username\", $$v)},expression:\"queryform.username\"}})],1)],1),_c('PageTable',{ref:\"multipleTable\",attrs:{\"row-key\":\"uuid\",\"border\":\"\",\"auto-load\":false,\"data\":_vm.table.data},on:{\"load-data\":_vm.dataTableLoad,\"selection-change\":_vm.handleSelectionChange}},[_c('template',{slot:\"buttons\"},[_c('el-button',{attrs:{\"type\":\"primary\",\"icon\":\"el-icon-fa-search\",\"title\":\"查询\"},on:{\"click\":_vm.queryUserData}}),_c('el-button',{attrs:{\"type\":\"primary\",\"icon\":\"el-icon-fa-reply-all\",\"title\":\"重置\"},on:{\"click\":_vm.resetquery}})],1),_c('el-table-column',{attrs:{\"type\":\"selection\",\"align\":\"center\",\"width\":\"50\",\"fixed\":\"left\",\"reserve-selection\":true}}),_c('el-table-column',{attrs:{\"prop\":\"userid\",\"label\":\"登录账号\"}}),_c('el-table-column',{attrs:{\"prop\":\"username\",\"label\":\"用户名称\"}}),_c('el-table-column',{attrs:{\"prop\":\"usercode\",\"label\":\"用户工号\"}}),_c('el-table-column',{attrs:{\"prop\":\"orgname\",\"label\":\"隶属机构\",\"show-overflow-tooltip\":\"\"}}),_c('el-table-column',{attrs:{\"prop\":\"crtime\",\"formatter\":_vm.formatterDateTime,\"label\":\"创建时间\",\"show-overflow-tooltip\":\"\"}}),_c('el-table-column',{attrs:{\"prop\":\"optime\",\"formatter\":_vm.formatterDateTime,\"label\":\"最后修改时间\",\"show-overflow-tooltip\":\"\",\"width\":\"100\"}})],2)],1),_c('el-tab-pane',{attrs:{\"label\":\"功能分配\"}},[_c('el-tree',{ref:\"permTree\",attrs:{\"node-key\":\"uuid\",\"data\":_vm.permTreeData,\"props\":_vm.permTreeProp,\"default-expand-all\":true,\"highlight-current\":\"\",\"show-checkbox\":\"\"}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <div>\n <el-tabs type=\"border-card\">\n <el-tab-pane label=\"角色编辑\">\n <el-form class=\"etong\" ref=\"form\" :model=\"data\" label-position=\"top\" :rules=\"rules\">\n <div class=\"flex-h \">\n <el-form-item class=\"flex-1\" label=\"角色名称\" prop=\"roleName\" :error=\"error.roleName\">\n <el-input v-model=\"data.roleName\"></el-input>\n </el-form-item>\n <el-form-item class=\"flex-1\" label=\"角色类型\" prop=\"roleType\" :error=\"error.roleType\">\n <el-select v-model=\"data.roleType\" placeholder=\"请选择类型\">\n <el-option v-for=\"item in roleTypes\" :key=\"item.value\" :label=\"item.label\" :value=\"item.value\">\n </el-option>\n </el-select>\n </el-form-item>\n <el-form-item class=\"flex-1 \" label=\"数据权限\" prop=\"dataAuth\" :error=\"error.dataAuth\">\n <el-select v-model=\"data.dataAuth\" placeholder=\"请选择\">\n <el-option v-for=\"item in options\" :key=\"item.value\" :label=\"item.label\" :value=\"item.value\">\n </el-option>\n </el-select>\n </el-form-item>\n </div>\n <el-form-item label=\"角色描述\" prop=\"roleDesc\" :error=\"error.roleDesc\">\n <el-input type=\"textarea\" v-model=\"data.roleDesc\"></el-input>\n </el-form-item>\n </el-form>\n <HandleHistory :uuid=\"data.uuid\" :cr-user-uuid=\"data.crUserUuid\" :op-user-uuid=\"data.opUserUuid\" :cr-time=\"data.crTime\" :op-time=\"data.opTime\" mode=\"plan\"></HandleHistory>\n </el-tab-pane>\n <el-tab-pane label=\"分配用户\">\n <el-form :inline=\"true\" :model=\"queryform\" ref=\"queryform\">\n <el-form-item label=\"登录账号\" prop=\"userid\">\n <el-input v-model=\"queryform.userid\" placeholder=\"登录账号\"></el-input>\n </el-form-item>\n <el-form-item label=\"用户名称\" prop=\"username\">\n <el-input v-model=\"queryform.username\" placeholder=\"用户名称\"></el-input>\n </el-form-item>\n </el-form>\n <PageTable ref=\"multipleTable\" row-key=\"uuid\" border @load-data=\"dataTableLoad\" :auto-load=\"false\" :data=\"table.data\" @selection-change=\"handleSelectionChange\">\n <template slot=\"buttons\">\n <el-button type=\"primary\" @click=\"queryUserData\" icon=\"el-icon-fa-search\" title=\"查询\"></el-button>\n <el-button type=\"primary\" @click=\"resetquery\" icon=\"el-icon-fa-reply-all\" title=\"重置\"></el-button>\n </template>\n <el-table-column type=\"selection\" align='center' width=\"50\" fixed='left' :reserve-selection=\"true\"></el-table-column>\n <el-table-column prop=\"userid\" label=\"登录账号\"></el-table-column>\n <el-table-column prop=\"username\" label=\"用户名称\"></el-table-column>\n <el-table-column prop=\"usercode\" label=\"用户工号\"></el-table-column>\n <el-table-column prop=\"orgname\" label=\"隶属机构\" show-overflow-tooltip></el-table-column>\n <el-table-column prop=\"crtime\" :formatter=\"formatterDateTime\" label=\"创建时间\" show-overflow-tooltip></el-table-column>\n <el-table-column prop=\"optime\" :formatter=\"formatterDateTime\" label=\"最后修改时间\" show-overflow-tooltip width=\"100\"></el-table-column>\n </PageTable>\n </el-tab-pane>\n <el-tab-pane label=\"功能分配\">\n <el-tree ref=\"permTree\" node-key=\"uuid\" :data=\"permTreeData\" :props=\"permTreeProp\" :default-expand-all=\"true\" highlight-current show-checkbox></el-tree>\n </el-tab-pane>\n </el-tabs>\n </div>\n</template>\n<script>\nimport RoleAPI from \"@/api/base/usrm/RoleAPI\";\nimport PermApi from \"@/api/base/usrm/PermAPI\";\nimport UserAPI from \"@/api/base/usrm/UserAPI\";\nimport HandleHistory from \"@/common/HandleHistory\";\n\nlet dafaultData = {\n uuid: \"\",\n orgUuid: \"\",\n roleName: \"\",\n roleDesc: \"\",\n roleType: \"\",\n parRoleUuid: \"\",\n dataAuth: null\n};\n\nexport default {\n components: { HandleHistory },\n props: {\n uuid: {\n type: String,\n default: null\n },\n orgUuid: {\n type: String,\n default: null\n }\n },\n watch: {\n uuid(uuid) {\n if (uuid) {\n this.loadInfo();\n } else {\n this.data = Object.assign({}, dafaultData);\n }\n }\n },\n data() {\n return {\n dirty: false,\n multipleSelection: [],\n data: Object.assign({}, dafaultData),\n roleTypes: [{ value: \"1\", label: \"角色\" }, { value: \"2\", label: \"目录\" }],\n permTreeData: [],\n view: {\n loading: false\n },\n queryform: {\n username: \"\",\n userid: \"\",\n uuid: this.uuid\n },\n table: {\n data: []\n },\n error: {},\n rules: {\n roleName: [{ required: true, message: \"角色名称不能为空!\" }]\n },\n permTreeProp: { label: \"permName\", children: \"children\" },\n options: [\n { value: 0, label: \"本人\" },\n { value: 1, label: \"本组织\" },\n { value: 2, label: \"本组织及下属组织\" },\n { value: 3, label: \"所有组织\" }\n ]\n };\n },\n mounted() {\n // 读取系统菜单\n PermApi.loadPermTree().then(data => {\n this.permTreeData = data;\n });\n },\n methods: {\n resetquery() {\n this.$refs.queryform.resetFields();\n },\n queryUserData() {\n this.$refs.multipleTable.load(this.queryform);\n },\n dataTableLoad(params, resolve) {\n params.orgUuid = this.data.orgUuid;\n UserAPI.getRoleUserByOrgId(params)\n .then(resolve) // 让表格解析你提供的数据 (主要解析页码等)\n .then(respData => (this.table.data = respData.datarows)); // 本地也记录一下数据 (提供给表示显示的数据)\n },\n // 获取选中值\n handleSelectionChange(val) {\n this.data.userIds = [];\n val.forEach(element => {\n this.data.userIds.push(element.uuid);\n }, this);\n },\n // 加载编辑器需要的信息\n loadInfo() {\n this.view.loading = true;\n this.$refs.multipleTable.clearSelection();\n this.data.userIds = [];\n this.queryform.uuid = this.uuid;\n RoleAPI.loadRoleEditInfo(this.uuid).then(data => {\n this.data = data;\n this.view.loading = false;\n // 在功能页上回显数据\n this.$refs.permTree.setCheckedKeys([]);\n data.permIds.forEach(uuid => {\n this.$refs.permTree.setChecked(uuid, true, false);\n });\n\n data.userIds.forEach(uuid => {\n this.$refs.multipleTable.toggleRowSelection({ uuid }, true);\n });\n this.queryUserData();\n });\n },\n // 提交数据\n submit() {\n this.$refs.form.validate(valid => {\n if (valid) {\n this.view.loading = true;\n this.error = {};\n let data = Object.assign({}, this.data);\n if (this.orgUuid) {\n data.orgUuid = this.orgUuid;\n }\n let permTree = this.$refs.permTree;\n data.permIds = permTree\n .getCheckedKeys()\n .concat(permTree.getHalfCheckedKeys())\n .filter(uuid => uuid !== \"none\");\n\n // 处理选中节点的数组,遍历,把uuid放入userIds才可以\n return RoleAPI.editRoleNode(data)\n .then(data => {\n this.view.loading = false;\n this.$emit(\"onsave\", this.data);\n return data;\n })\n .catch(error => {\n this.error = error.validError;\n this.view.loading = false;\n });\n }\n });\n }\n }\n};\n</script>\n","import mod from \"-!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/_thread-loader@2.1.2@thread-loader/dist/cjs.js!../../../node_modules/_babel-loader@8.0.6@babel-loader/lib/index.js!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./RoleEditor.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/_thread-loader@2.1.2@thread-loader/dist/cjs.js!../../../node_modules/_babel-loader@8.0.6@babel-loader/lib/index.js!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./RoleEditor.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoleEditor.vue?vue&type=template&id=29fa0e74&\"\nimport script from \"./RoleEditor.vue?vue&type=script&lang=js&\"\nexport * from \"./RoleEditor.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticStyle:{\"height\":\"600px\"}},[_c('el-alert',{attrs:{\"type\":\"warning\",\"close-text\":\"知道了\",\"title\":\"您可以选择指定海关下的指定角色,批量复制到目标海关中.\"}}),_c('div',{staticClass:\"flex-h\",staticStyle:{\"height\":\"563px\"}},[_c('el-card',{staticClass:\"flex-1 full margin-1\"},[_c('template',{slot:\"header\"},[_c('span',[_vm._v(\"选择海关\")]),_c('div',{staticClass:\"pull-right\"},[_c('el-button',{attrs:{\"type\":\"primary\",\"icon\":\"el-icon-fa-expand\"},on:{\"click\":_vm.expandRoleAll}})],1)]),_c('el-tree',{ref:\"roleTree\",staticStyle:{\"min-height\":\"400px\"},attrs:{\"default-expand-all\":_vm.expandedAll,\"node-key\":\"uuid\",\"lazy\":\"\",\"current-node-key\":_vm.currNode.uuid,\"load\":_vm.loadRoleTree,\"expand-on-click-node\":false,\"highlight-current\":\"\",\"render-content\":_vm.renderContentRole},on:{\"node-click\":_vm.handleCheckChange}})],2),_c('el-card',{staticClass:\"flex-1 full margin-1\"},[_c('template',{slot:\"header\"},[_c('span',[_vm._v(\"选择角色\")])]),_c('el-tree',{ref:\"roleOrgTree\",attrs:{\"node-key\":\"uuid\",\"default-expand-all\":true,\"lazy\":\"\",\"load\":_vm.loadOrgRoleTree,\"current-node-key\":\"currNode.uuid\",\"expand-on-click-node\":false,\"highlight-current\":\"\",\"show-checkbox\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar node = ref.node;\nvar data = ref.data;\nreturn _c('span',{staticClass:\"custom-tree-node\"},[(data.roleName&&data.parRoleUuid==='none')?_c('span',[_c('i',{staticClass:\"el-icon-fa el-icon-fa-user-circle margin-right-2 font-blue\"}),_c('span',[_vm._v(_vm._s(data.roleName))])]):_vm._e(),(data.roleName&&data.parRoleUuid!=='none')?_c('span',[_c('i',{staticClass:\"el-icon-fa el-icon-fa-user-o margin-right-2 font-yellow-casablanca\"}),_c('span',[_vm._v(_vm._s(data.roleName))])]):_vm._e()])}}])})],2),_c('el-card',{staticClass:\"flex-1 full margin-1\"},[_c('template',{slot:\"header\"},[_c('span',[_vm._v(\"目标复制海关\")]),_c('div',{staticClass:\"pull-right\"},[_c('el-button',{attrs:{\"type\":\"primary\",\"icon\":\"el-icon-fa-expand\"},on:{\"click\":_vm.expandAll}})],1)]),_c('el-tree',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.saving),expression:\"saving\"}],ref:\"orgTree\",attrs:{\"default-expand-all\":_vm.expandedAll,\"lazy\":\"\",\"load\":_vm.loadTree,\"node-key\":\"uuid\",\"current-node-key\":_vm.currNode.uuid,\"expand-on-click-node\":false,\"highlight-current\":\"\",\"render-content\":_vm.renderContent,\"show-checkbox\":\"\",\"check-strictly\":true},on:{\"current-change\":_vm.currentChange}})],2)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <div style='height: 600px;'>\n <el-alert type=\"warning\" close-text=\"知道了\" title='您可以选择指定海关下的指定角色,批量复制到目标海关中.'></el-alert>\n <div class=\"flex-h\" style='height: 563px;'>\n <el-card class=\"flex-1 full margin-1\">\n <template slot=\"header\">\n <span>选择海关</span>\n <div class=\"pull-right\">\n <el-button type=\"primary\" icon=\"el-icon-fa-expand\" @click=\"expandRoleAll\"></el-button>\n </div>\n </template>\n <el-tree style=\"min-height:400px\" ref=\"roleTree\" @node-click=\"handleCheckChange\" :default-expand-all=\"expandedAll\" node-key=\"uuid\" lazy :current-node-key=\"currNode.uuid\" :load=\"loadRoleTree\" :expand-on-click-node=\"false\" highlight-current :render-content=\"renderContentRole\"></el-tree>\n </el-card>\n <el-card class=\"flex-1 full margin-1\">\n <template slot=\"header\">\n <span>选择角色</span>\n </template>\n <el-tree ref=\"roleOrgTree\" node-key=\"uuid\" :default-expand-all=\"true\" lazy :load=\"loadOrgRoleTree\" current-node-key=\"currNode.uuid\" :expand-on-click-node=\"false\" highlight-current show-checkbox>\n <span class=\"custom-tree-node\" slot-scope=\"{ node, data }\">\n <span v-if=\"data.roleName&&data.parRoleUuid==='none'\">\n <i class=\"el-icon-fa el-icon-fa-user-circle margin-right-2 font-blue\" />\n <span>{{data.roleName}}</span>\n </span>\n <span v-if=\"data.roleName&&data.parRoleUuid!=='none'\">\n <i class=\"el-icon-fa el-icon-fa-user-o margin-right-2 font-yellow-casablanca\" />\n <span>{{data.roleName}}</span>\n </span>\n </span>\n </el-tree>\n </el-card>\n <el-card class=\"flex-1 full margin-1\">\n <template slot=\"header\">\n <span>目标复制海关</span>\n <div class=\"pull-right\">\n <el-button type=\"primary\" icon=\"el-icon-fa-expand\" @click=\"expandAll\"></el-button>\n </div>\n </template>\n <el-tree ref=\"orgTree\" :default-expand-all=\"expandedAll\" v-loading=\"saving\" lazy :load=\"loadTree\" node-key=\"uuid\" :current-node-key=\"currNode.uuid\" :expand-on-click-node=\"false\" highlight-current :render-content=\"renderContent\" @current-change=\"currentChange\" show-checkbox :check-strictly=\"true\"></el-tree>\n </el-card>\n </div>\n </div>\n</template>\n<script>\nimport OrgAPI from \"@/api/base/usrm/OrgAPI\";\nimport RoleAPI from \"@/api/base/usrm/RoleAPI\";\n\nexport default {\n data() {\n return {\n currParentNode: {},\n currNode: {\n data: null,\n orgUuid: null,\n roleUuid: null\n },\n saving: false,\n expandedAll: false,\n editor: {\n error: {}\n },\n rules: {\n name: [{ required: true, message: \"角色名称不能为空!\" }]\n }\n };\n },\n mounted() {\n // 读取系统菜单\n OrgAPI.getChildren().then(resp => {\n this.$refs.orgTree.root.setData(resp.data);\n });\n RoleAPI.getRoleChildren().then(resp => {\n // 角色表的第一位节点肯定是管区,禁用即可\n /* resp.data.forEach((el) => { el.disabled = true }) */\n this.$refs.roleTree.root.setData(resp.data);\n });\n },\n submitForm(data) {\n this.$refs.form.validate(valid => {\n if (valid) {\n // 通知父类组件一个提交事件\n this.$emit(\"submit\", this.data);\n } else {\n console.log(\"error submit!!\");\n return false;\n }\n });\n },\n methods: {\n selectAll() {\n // console.log(this.$refs)\n this.$refs.roleOrgTree.setCheckedKeys();\n },\n // 提交数据\n onSubmit(roleuuid) {\n let newNode = {\n uuid: roleuuid,\n orgUuids: this.$refs.orgTree.getCheckedKeys(),\n roleUuids: this.$refs.roleOrgTree.getCheckedKeys()\n };\n return RoleAPI.copyRoleNode(newNode);\n },\n handleCheckChange(data, checked, indeterminate) {\n RoleAPI.getCopyRoleTree(data.uuid).then(resp => {\n this.$refs.roleOrgTree.root.setData(resp.data);\n });\n },\n // 点击菜单树节点\n currentChange(data, node) {\n this.currParentNode = node.parent.data || {};\n this.currNode = data || {};\n },\n loadOrgRoleTree(node, resolve) {\n if (node.data) {\n RoleAPI.getOrgRoleTree(node.data.uuid)\n .then(resp => resp.data)\n .then(resolve);\n } else {\n resolve([]);\n }\n },\n loadRoleTree(node, resolve) {\n if (node.data) {\n OrgAPI.getChildren(node.data.uuid)\n .then(resp => resp.data)\n .then(resolve);\n } else {\n resolve([]);\n }\n },\n // 加载树内容\n loadTree(node, resolve) {\n if (node.data) {\n OrgAPI.getChildren(node.data.uuid)\n .then(resp => resp.data)\n .then(resolve);\n } else {\n resolve([]);\n }\n },\n // 刷新树\n refreshNode(node) {\n node.loaded = false;\n node.expand(() => {\n node.childNodes.forEach(element => {\n element.isLeaf = element.data.roleType === \"1\";\n element.loaded = element.data.roleType === \"1\";\n }, this);\n });\n },\n // 全部展开关区树\n expandAll() {\n let expandFn = (element, expand) => {\n element.childNodes.forEach(function(element) {\n element.expand(() => {\n expandFn(element);\n });\n }, this);\n };\n expandFn(this.$refs.orgTree.root);\n },\n expandRoleAll() {\n let expandFn = (element, expand) => {\n element.childNodes.forEach(function(element) {\n element.expand(() => {\n expandFn(element);\n });\n }, this);\n };\n expandFn(this.$refs.roleTree.root);\n },\n // 渲染树内容方法\n renderContent(h, { node, data, store }) {\n let refreshBtn = (\n <el-button\n icon=\"el-icon-fa-refresh\"\n onClick={() => {\n this.refreshNode(node);\n }}\n />\n );\n return (\n <span>\n <span clasS={data.orgStat === \"0\" ? \"removed-line-through\" : \"\"}>\n {data.orgName}\n </span>\n <span style=\"position:absolute;right: 20px\">\n <el-button-group>{refreshBtn}</el-button-group>\n </span>\n </span>\n );\n },\n renderContentRole(h, { node, data, store }) {\n let refreshBtn = (\n <el-button\n icon=\"el-icon-fa-refresh\"\n onClick={() => {\n this.refreshNode(node);\n }}\n />\n );\n return (\n <span>\n <span clasS={data.orgStat === \"0\" ? \"removed-line-through\" : \"\"}>\n {data.orgName}\n </span>\n <span style=\"position:absolute;right: 20px\">\n <el-button-group>{refreshBtn}</el-button-group>\n </span>\n </span>\n );\n }\n }\n};\n</script>\n","import mod from \"-!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/_thread-loader@2.1.2@thread-loader/dist/cjs.js!../../../node_modules/_babel-loader@8.0.6@babel-loader/lib/index.js!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./RoleCopy.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/_thread-loader@2.1.2@thread-loader/dist/cjs.js!../../../node_modules/_babel-loader@8.0.6@babel-loader/lib/index.js!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./RoleCopy.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoleCopy.vue?vue&type=template&id=6e7f5720&\"\nimport script from \"./RoleCopy.vue?vue&type=script&lang=js&\"\nexport * from \"./RoleCopy.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","<template>\n <div class=\"card-height-full flex-h\">\n <el-card v-if=\"rightBlock\" class=\"flex-1 full\" v-loading='doLoading'>\n <template slot=\"header\">\n <span>系统角色管理</span>\n <div class=\"pull-right\">\n <el-button type=\"primary\" icon=\"el-icon-fa-expand\" @click=\"expandAll\"></el-button>\n <el-button type=\"primary\" icon=\"el-icon-fa-refresh\" @click=\"refresh\"></el-button>\n <el-button type=\"primary\" icon=\"el-icon-fa-copy\" title=\"角色复制\" @click=\"doAdd\"></el-button>\n <el-button type=\"primary\" :icon=\"!leftBlock?'el-icon-caret-left':'el-icon-caret-right'\" @click=\"leftBlock=!leftBlock\"></el-button>\n </div>\n </template>\n <el-tree v-if='showRoleTree' ref=\"roleTree\" :default-expand-all=\"expandedAll\" lazy :current-node-key=\"current.roleUuid\" :load=\"loadTree\" node-key=\"uuid\" :expand-on-click-node=\"false\" highlight-current @current-change=\"currentChange\">\n <span class=\"custom-tree-node\" slot-scope=\"{ node, data }\">\n <span v-if=\"data.orgName\">\n <i class=\"el-icon-fa el-icon-fa-sitemap margin-right-2 \" ></i>\n <span>{{data.orgName}}</span>\n </span>\n <span v-if=\"data.roleName&&data.parRoleUuid==='none'&&data.roleType==='1'\">\n <i class=\"el-icon-fa el-icon-fa-user-o margin-right-2 \" ></i>\n <span>{{data.roleName}}</span>\n </span>\n <span v-if=\"data.roleName&&data.parRoleUuid==='none'&&data.roleType==='2'\">\n <i class=\"el-icon-fa el-icon-fa-folder-open margin-right-2 \"></i>\n <span>{{data.roleName}}</span>\n </span>\n <span v-if=\"data.roleName&&data.parRoleUuid!=='none'\">\n <i class=\"el-icon-fa el-icon-fa-user-o margin-right-2 \" ></i>\n <span>{{data.roleName}}</span>\n </span>\n <el-button-group>\n <el-button icon=\"el-icon-fa-refresh\" @click=\"refreshNode(node)\" />\n <el-button :disabled=\"!!!data.orgName||$store.state.base.sysUser.graUser==='0'\" icon=\"el-icon-fa-plus\" @click=\"addNode(node)\" />\n <el-button icon=\"el-icon-fa-minus\" @click=\"removeNode(node)\" :disabled=\"!!data.orgName||$store.state.base.sysUser.graUser==='0'\" />\n </el-button-group>\n </span>\n </el-tree>\n </el-card>\n <div v-if=\"leftBlock\" class=\"flex-2 flex-h margin-left-2\">\n <el-card class=\"flex-1 full\">\n <template slot=\"header\">\n <span>角色信息编辑</span>\n <div class=\"pull-right\">\n <el-button :disabled='$store.state.base.sysUser.graUser===\"0\"' type=\"primary\" @click=\"submit\" icon=\"el-icon-fa-save\" title=\"保存\" v-show=\"current.roleUuid\"></el-button>\n <el-button type=\"primary\" :icon=\"rightBlock?'el-icon-caret-left':'el-icon-caret-right'\" @click=\"rightBlock=!rightBlock\"></el-button>\n </div>\n </template>\n <RoleEditor class=\"full-height\" @onsave=\"onsave\" ref=\"roleEditor\" v-show=\"current.roleUuid\" :uuid=\"current.roleUuid\" :org-uuid=\"current.orgUuid\"></RoleEditor>\n </el-card>\n <el-dialog append-to-body v-draggable width=\"800px\" :visible.sync=\"editor.show\" title=\"角色复制\">\n <div class=\"dialog-button\">\n <el-button-group>\n <el-button type=\"primary\" plain icon=\"el-icon-fa-save\" @click=\"doSubmit()\" title=\"复制\"></el-button>\n </el-button-group>\n </div>\n <CopyEditor v-if=\"editor.show\" ref=\"userEditor\" :uuid=\"editor.uuid\"></CopyEditor>\n </el-dialog>\n </div>\n </div>\n</template>\n<script>\nimport RoleAPI from \"@/api/base/usrm/RoleAPI\";\nimport RoleEditor from \"./RoleEditor\";\nimport CopyEditor from \"./RoleCopy\";\n\nexport default {\n name: \"RoleMgr\",\n components: { RoleEditor, CopyEditor },\n data() {\n return {\n leftBlock: true,\n rightBlock: true,\n //显示树\n showRoleTree: true,\n //树遮罩\n doLoading: false,\n view: {\n loading: false\n },\n current: {\n data: null,\n orgUuid: null,\n roleUuid: null\n },\n editor: {\n error: {},\n show: false,\n uuid: null,\n visible: false,\n loading: false\n },\n expandedAll: false\n };\n },\n mounted() {\n this.refresh();\n },\n methods: {\n // 角色复制保存\n doSubmit() {\n this.$refs.userEditor.onSubmit(this.current.roleUuid).then(resp => {\n this.doLoading = true;\n this.showRoleTree = false;\n setTimeout(() => {\n this.showRoleTree = true;\n this.doLoading = false;\n });\n });\n this.cancelEditorLoading();\n },\n // 打开新建画面\n doAdd() {\n this.editor.show = true;\n },\n // 关闭加载页面\n cancelEditorLoading() {\n this.editor.show = false;\n this.editor.loading = false;\n },\n // 刷新树节点\n refresh() {\n this.view.loading = true;\n this.current.roleUuid = null;\n RoleAPI.getRoleChildren()\n .then(resp => resp.data)\n .then(data => {\n this.$refs.roleTree.root.children = data;\n this.view.loading = false;\n });\n },\n // 提交角色编辑页信息\n submit() {\n this.$refs.roleEditor.submit();\n },\n // 保存角色编辑页信息\n onsave() {\n if (this.current.data) {\n Object.assign(this.current.data, this.$refs.roleEditor.data);\n }\n },\n // 展开/关闭 全部\n expandAll() {\n if (this.expandedAll) {\n this.saving = true;\n this.showRoleTree = false;\n this.expandedAll = false;\n setTimeout(() => {\n this.showRoleTree = true;\n this.saving = false;\n }, 200);\n return;\n }\n this.expandedAll = true;\n let expandFn = (element, expand) => {\n element.childNodes.forEach(function(element) {\n element.expand(() => {\n expandFn(element);\n });\n }, this);\n };\n expandFn(this.$refs.roleTree.root);\n },\n // 点击菜单树节点\n currentChange(data, node) {\n this.current.roleUuid = null;\n if (data.roleName) {\n this.current.roleUuid = data.uuid;\n this.current.orgUuid = node.parent.data.uuid;\n this.current.data = data;\n }\n },\n // 加载树内容\n loadTree(node, resolve) {\n let puuid;\n if (node.data) {\n puuid = node.data.uuid;\n }\n RoleAPI.getRoleChildren(puuid).then(resp => {\n resp.data && resolve(resp.data);\n });\n },\n // 添加菜单\n addNode(node) {\n this.view.loading = true;\n let data = node.data;\n let newNode = {\n roleType: \"1\",\n roleName: \"新建角色\"\n };\n if (data.roleName) {\n // 表示是角色\n newNode.parRoleUuid = data.uuid;\n } else {\n // 表示是关区\n newNode.orgUuid = data.uuid;\n }\n node.expand(() => {\n RoleAPI.editRoleNode(newNode).then(data => {\n newNode.uuid = data.uuid;\n node.insertChild({ data: newNode }); // 让当前节点追加一个新节点\n this.current.roleUuid = data.uuid;\n this.current.orgUuid = newNode.orgUuid;\n this.current.data = newNode;\n this.view.loading = false;\n });\n }, this);\n },\n // 删除菜单\n removeNode(node) {\n // 删除菜单实际要执行的方法\n let action = data => {\n this.view.loading = true;\n RoleAPI.delRoleNode(data.uuid)\n .then(data => {\n node.parent.removeChild(node);\n this.view.loading = false;\n })\n .catch(() => {\n this.view.loading = false;\n });\n };\n // 单出提示,然后执行该方法\n this.confirm(node.data).then(action);\n },\n // 刷新菜单\n refreshNode(node) {\n node.loaded = false;\n node.expand();\n }\n }\n};\n</script>\n","import mod from \"-!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/_thread-loader@2.1.2@thread-loader/dist/cjs.js!../../../node_modules/_babel-loader@8.0.6@babel-loader/lib/index.js!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./RoleMgr.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/_thread-loader@2.1.2@thread-loader/dist/cjs.js!../../../node_modules/_babel-loader@8.0.6@babel-loader/lib/index.js!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./RoleMgr.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoleMgr.vue?vue&type=template&id=5802aeba&\"\nimport script from \"./RoleMgr.vue?vue&type=script&lang=js&\"\nexport * from \"./RoleMgr.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","module.exports = require(\"element-ui/lib/utils/util\");","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('el-card',{staticClass:\"flex-1\"},[_c('template',{slot:\"header\"},[_c('span',[_vm._v(\"服务日志管理\")])]),_c('el-form',{ref:\"queryform\",attrs:{\"model\":_vm.queryform}},[_c('el-row',[_c('el-col',{attrs:{\"lg\":4,\"sm\":12}},[_c('el-form-item',{attrs:{\"label\":\"开始时间\",\"prop\":\"servSta\"}},[_c('el-date-picker',{attrs:{\"type\":\"datetime\",\"placeholder\":\"选择开始时间\"},model:{value:(_vm.queryform.servSta),callback:function ($$v) {_vm.$set(_vm.queryform, \"servSta\", $$v)},expression:\"queryform.servSta\"}})],1)],1),_c('el-col',{attrs:{\"lg\":4,\"sm\":12}},[_c('el-form-item',{attrs:{\"label\":\"结束时间\",\"prop\":\"servEnd\"}},[_c('el-date-picker',{attrs:{\"type\":\"datetime\",\"placeholder\":\"选择结束时间\"},model:{value:(_vm.queryform.servEnd),callback:function ($$v) {_vm.$set(_vm.queryform, \"servEnd\", $$v)},expression:\"queryform.servEnd\"}})],1)],1),_c('el-col',{attrs:{\"lg\":4,\"sm\":12}},[_c('el-form-item',{attrs:{\"label\":\"交互标识\",\"prop\":\"operuuid\"}},[_c('el-input',{model:{value:(_vm.queryform.operuuid),callback:function ($$v) {_vm.$set(_vm.queryform, \"operuuid\", $$v)},expression:\"queryform.operuuid\"}})],1)],1),_c('el-col',{attrs:{\"lg\":4,\"sm\":12}},[_c('el-form-item',{attrs:{\"label\":\"服务器地址\",\"prop\":\"svrIp\"}},[_c('el-input',{model:{value:(_vm.queryform.svrIp),callback:function ($$v) {_vm.$set(_vm.queryform, \"svrIp\", $$v)},expression:\"queryform.svrIp\"}})],1)],1),_c('el-col',{attrs:{\"lg\":4,\"sm\":12}},[_c('el-form-item',{attrs:{\"label\":\"服务描述\",\"prop\":\"servDesc\"}},[_c('el-input',{model:{value:(_vm.queryform.servDesc),callback:function ($$v) {_vm.$set(_vm.queryform, \"servDesc\", $$v)},expression:\"queryform.servDesc\"}})],1)],1),_c('el-col',{attrs:{\"lg\":4,\"sm\":12}},[_c('el-form-item',{attrs:{\"label\":\"会话标识\",\"prop\":\"sesId\"}},[_c('el-input',{model:{value:(_vm.queryform.sesId),callback:function ($$v) {_vm.$set(_vm.queryform, \"sesId\", $$v)},expression:\"queryform.sesId\"}})],1)],1),_c('el-col',{attrs:{\"lg\":4,\"sm\":12}},[_c('el-form-item',{attrs:{\"label\":\"处理结果\",\"prop\":\"sesId\"}},[_c('el-select',{directives:[{name:\"sys-code\",rawName:\"v-sys-code\",value:('questionType'),expression:\"'questionType'\"}],attrs:{\"placeholder\":\"请选择\",\"clearable\":\"\"},model:{value:(_vm.queryform.respcode),callback:function ($$v) {_vm.$set(_vm.queryform, \"respcode\", $$v)},expression:\"queryform.respcode\"}},_vm._l((_vm.resp),function(item){return _c('el-option',{key:item.key,attrs:{\"label\":item.label,\"value\":item.key}})}),1)],1)],1)],1)],1)],2),_c('el-card',{staticClass:\"flex-1 margin-top-2\"},[_c('template',{slot:\"header\"},[_c('span',[_vm._v(\"服务日志列表\")]),_c('div',{staticClass:\"pull-right\"},[_c('el-button',{attrs:{\"type\":\"primary\",\"icon\":\"el-icon-fa-search\",\"title\":\"查询\"},on:{\"click\":_vm.queryData}}),_c('el-button',{attrs:{\"type\":\"primary\",\"icon\":\"el-icon-fa-reply-all\",\"title\":\"重置\"},on:{\"click\":_vm.resetquery}})],1)]),_c('PageTable',{ref:\"dataTable\",attrs:{\"hideTitle\":\"\",\"page-size\":10,\"data\":_vm.table.data,\"highlight-current-row\":\"\",\"stripe\":\"\",\"border\":\"\"},on:{\"load-data\":_vm.dataTableLoad}},[_c('el-table-column',{attrs:{\"prop\":\"opuuid\",\"label\":\"交互标识\",\"show-overflow-tooltip\":\"\"}}),_c('el-table-column',{attrs:{\"prop\":\"svrip\",\"label\":\"服务器地址\",\"width\":\"100px\",\"show-overflow-tooltip\":\"\"}}),_c('el-table-column',{attrs:{\"prop\":\"svrname\",\"label\":\"服务器名称\",\"width\":\"100px\",\"show-overflow-tooltip\":\"\"}}),_c('el-table-column',{attrs:{\"prop\":\"servdesc\",\"label\":\"服务描述\",\"show-overflow-tooltip\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_vm._v(\"\\n \"+_vm._s(scope.row.servdesc||\"系统服务\")+\"\\n \")]}}])}),_c('el-table-column',{attrs:{\"prop\":\"sesid\",\"label\":\"会话标识\",\"width\":\"250px\",\"show-overflow-tooltip\":\"\"}}),_c('el-table-column',{attrs:{\"prop\":\"servsta\",\"label\":\"操作时间\",\"width\":\"140px\",\"formatter\":_vm.formatterDateTime,\"show-overflow-tooltip\":\"\"}}),_c('el-table-column',{attrs:{\"prop\":\"optime\",\"label\":\"操作耗时\",\"placement\":\"top\",\"show-overflow-tooltip\":\"\"}}),_c('el-table-column',{attrs:{\"prop\":\"respcode\",\"label\":\"处理结果\",\"formatter\":_vm.respcodeFormatter,\"show-overflow-tooltip\":\"\"}}),_c('el-table-column',{attrs:{\"label\":\"操作\",\"fixed\":\"right\",\"width\":\"80\",\"align\":\"center\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('el-button',{attrs:{\"type\":\"primary\",\"icon\":\"el-icon-fa-eye\",\"title\":\"查看详情\"},on:{\"click\":function($event){return _vm.showInfo(scope.row)}}})]}}])})],1),_c('el-dialog',{directives:[{name:\"draggable\",rawName:\"v-draggable\"}],attrs:{\"append-to-body\":\"\",\"title\":\"查看详情\",\"visible\":_vm.currentInfo.show,\"width\":\"800px\"},on:{\"update:visible\":function($event){return _vm.$set(_vm.currentInfo, \"show\", $event)}}},[(_vm.currentInfo.show)?_c('LogsServInfo',{attrs:{\"uuid\":_vm.currentInfo.uuid,\"error\":_vm.currentInfo.error}}):_vm._e()],1),_c('el-dialog',{directives:[{name:\"draggable\",rawName:\"v-draggable\"}],attrs:{\"append-to-body\":\"\",\"title\":\"查看数据\",\"visible\":_vm.editor.datashow,\"width\":\"800px\"},on:{\"update:visible\":function($event){return _vm.$set(_vm.editor, \"datashow\", $event)}}},[_c('LogsOperData',{attrs:{\"uuid\":_vm.editor.uuid,\"flag\":2}})],1),_c('el-dialog',{directives:[{name:\"draggable\",rawName:\"v-draggable\"}],attrs:{\"append-to-body\":\"\",\"title\":\"查看SQL\",\"width\":\"800px\",\"visible\":_vm.editor.sqlshow},on:{\"update:visible\":function($event){return _vm.$set(_vm.editor, \"sqlshow\", $event)}}},[_c('LogsSqlData',{attrs:{\"seuuid\":_vm.editor.seuuid}})],1),_c('el-dialog',{directives:[{name:\"draggable\",rawName:\"v-draggable\"}],attrs:{\"append-to-body\":\"\",\"title\":\"查看堆栈信息\",\"visible\":_vm.editor.stakshow,\"width\":\"800px\"},on:{\"update:visible\":function($event){return _vm.$set(_vm.editor, \"stakshow\", $event)}}},[[(_vm.stakinfo)?_c('el-input',{attrs:{\"type\":\"textarea\",\"rows\":25,\"readonly\":\"\"},model:{value:(_vm.stakinfo),callback:function ($$v) {_vm.stakinfo=$$v},expression:\"stakinfo\"}}):_vm._e(),(!_vm.stakinfo)?_c('h1',{staticStyle:{\"text-align\":\"center\",\"font-size\":\"6px\",\"height\":\"300px\",\"line-height\":\"300px\"}},[_vm._v(\"暂无数据\")]):_vm._e()]],2)],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('el-form',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}],ref:\"form \",attrs:{\"label-position\":\"top\",\"model\":_vm.data}},[_c('el-row',[_c('el-col',{attrs:{\"span\":12}},[_c('el-form-item',{attrs:{\"label\":\"服务器地址 \",\"prop\":\"svrIp \"}},[_c('el-input',{attrs:{\"readonly\":\"\"},model:{value:(_vm.data.svrIp ),callback:function ($$v) {_vm.$set(_vm.data, \"svrIp\", $$v)},expression:\"data.svrIp \"}})],1)],1),_c('el-col',{attrs:{\"span\":12}},[_c('el-form-item',{attrs:{\"label\":\"服务器名称 \",\"prop\":\"svrName \"}},[_c('el-input',{attrs:{\"readonly\":\"\"},model:{value:(_vm.data.svrName ),callback:function ($$v) {_vm.$set(_vm.data, \"svrName\", $$v)},expression:\"data.svrName \"}})],1)],1)],1),_c('el-row',[_c('el-col',{attrs:{\"span\":12}},[_c('el-form-item',{attrs:{\"label\":\"处理代码 \",\"prop\":\"respCode \"}},[_c('el-input',{attrs:{\"readonly\":\"\"},model:{value:(_vm.data.respCode ),callback:function ($$v) {_vm.$set(_vm.data, \"respCode\", $$v)},expression:\"data.respCode \"}})],1)],1),_c('el-col',{attrs:{\"span\":12}},[_c('el-form-item',{attrs:{\"label\":\"处理描述 \",\"prop\":\"respDesc \"}},[_c('el-input',{attrs:{\"readonly\":\"\"},model:{value:(_vm.data.respDesc ),callback:function ($$v) {_vm.$set(_vm.data, \"respDesc\", $$v)},expression:\"data.respDesc \"}})],1)],1)],1),_c('el-row',[_c('el-col',{attrs:{\"span\":12}},[_c('el-form-item',{attrs:{\"label\":\"服务定义 \",\"prop\":\"reqIp \"}},[_c('el-input',{attrs:{\"readonly\":\"\"},model:{value:(_vm.data.servDefn ),callback:function ($$v) {_vm.$set(_vm.data, \"servDefn\", $$v)},expression:\"data.servDefn \"}})],1)],1),_c('el-col',{attrs:{\"span\":12}},[_c('el-form-item',{attrs:{\"label\":\"服务描述 \",\"prop\":\"acttype \"}},[_c('el-input',{attrs:{\"readonly\":\"\"},model:{value:(_vm.data.servDesc ),callback:function ($$v) {_vm.$set(_vm.data, \"servDesc\", $$v)},expression:\"data.servDesc \"}})],1)],1)],1),_c('el-row',[_c('el-col',{attrs:{\"span\":12}},[_c('el-form-item',{attrs:{\"label\":\"操作开始时间 \",\"prop\":\"actSta \"}},[_c('el-input',{attrs:{\"readonly\":\"\"},model:{value:(_vm.servSta ),callback:function ($$v) {_vm.servSta =$$v},expression:\"servSta \"}})],1)],1),_c('el-col',{attrs:{\"span\":12}},[_c('el-form-item',{attrs:{\"label\":\"操作结束时间 \",\"prop\":\"actEnd \"}},[_c('el-input',{attrs:{\"readonly\":\"\"},model:{value:(_vm.servEnd ),callback:function ($$v) {_vm.servEnd =$$v},expression:\"servEnd \"}})],1)],1)],1),_c('el-form-item',{attrs:{\"label\":\"会话标识 \",\"prop\":\"sesId \"}},[_c('el-input',{attrs:{\"readonly\":\"\"},model:{value:(_vm.data.sesId ),callback:function ($$v) {_vm.$set(_vm.data, \"sesId\", $$v)},expression:\"data.sesId \"}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <div>\r\n <el-form label-position=\"top\" :model=\"data\" v-loading=\"loading\" ref=\"form \">\r\n <el-row>\r\n <el-col :span=\"12 \">\r\n <el-form-item label=\"服务器地址 \" prop=\"svrIp \">\r\n <el-input v-model=\"data.svrIp \" readonly></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span=\"12 \">\r\n <el-form-item label=\"服务器名称 \" prop=\"svrName \">\r\n <el-input v-model=\"data.svrName \" readonly></el-input>\r\n </el-form-item>\r\n </el-col>\r\n </el-row>\r\n <el-row>\r\n <el-col :span=\"12 \">\r\n <el-form-item label=\"处理代码 \" prop=\"respCode \">\r\n <el-input v-model=\"data.respCode \" readonly></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span=\"12 \">\r\n <el-form-item label=\"处理描述 \" prop=\"respDesc \">\r\n <el-input v-model=\"data.respDesc \" readonly></el-input>\r\n </el-form-item>\r\n </el-col>\r\n </el-row>\r\n <el-row>\r\n <el-col :span=\"12 \">\r\n <el-form-item label=\"服务定义 \" prop=\"reqIp \">\r\n <el-input v-model=\"data.servDefn \" readonly></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span=\"12 \">\r\n <el-form-item label=\"服务描述 \" prop=\"acttype \">\r\n <el-input v-model=\"data.servDesc \" readonly></el-input>\r\n </el-form-item>\r\n </el-col>\r\n </el-row>\r\n <el-row>\r\n <el-col :span=\"12 \">\r\n <el-form-item label=\"操作开始时间 \" prop=\"actSta \">\r\n <el-input v-model=\"servSta \" readonly></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span=\"12 \">\r\n <el-form-item label=\"操作结束时间 \" prop=\"actEnd \">\r\n <el-input v-model=\"servEnd \" readonly></el-input>\r\n </el-form-item>\r\n </el-col>\r\n </el-row>\r\n <el-form-item label=\"会话标识 \" prop=\"sesId \">\r\n <el-input v-model=\"data.sesId \" readonly></el-input>\r\n </el-form-item>\r\n </el-form>\r\n </div>\r\n</template>\r\n<script>\r\nimport ServAPI from \"@/api/base/logs/LogsServ\";\r\nexport default {\r\n components: { ServAPI },\r\n props: {\r\n // 一定要暴露一个UUID属性,用来做编辑操作.\r\n uuid: String,\r\n // 暴露出去一个属性用来显示服务器校验失败错误\r\n error: Object\r\n },\r\n data() {\r\n return {\r\n loading: false,\r\n data: Object.assign({}),\r\n servSta: \"\",\r\n servEnd: \"\"\r\n };\r\n },\r\n watch: {\r\n uuid(val) {\r\n this.loadData();\r\n }\r\n },\r\n mounted() {\r\n // 最开始显示的时候要加载数据\r\n this.loadData();\r\n },\r\n methods: {\r\n // 因为表单里面没有按钮,所以需要暴露方法\r\n // 提供一个校验方法 ,\r\n validate() {\r\n return this.$refs.form.validate().then(() => this.data);\r\n },\r\n // 加载数据方法,如果有UUID,就加载数据,如果没有,就重置表单\r\n loadData() {\r\n if (!this.uuid) {\r\n this.$refs.form.resetFields();\r\n } else {\r\n this.loading = true;\r\n ServAPI.getLogsServByUuid(this.uuid)\r\n .then(respData => {\r\n this.data = respData.data;\r\n this.loading = false;\r\n this.servSta = this.formatterDateTime(\r\n null,\r\n null,\r\n respData.data.servSta\r\n );\r\n this.servEnd = this.formatterDateTime(\r\n null,\r\n null,\r\n respData.data.servEnd\r\n );\r\n })\r\n .catch(resp => {});\r\n }\r\n }\r\n }\r\n};\r\n</script>\r\n<style lang=\"scss\" scoped>\r\n</style>\r\n","import mod from \"-!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/_thread-loader@2.1.2@thread-loader/dist/cjs.js!../../../node_modules/_babel-loader@8.0.6@babel-loader/lib/index.js!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./LogsServInfo.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/_thread-loader@2.1.2@thread-loader/dist/cjs.js!../../../node_modules/_babel-loader@8.0.6@babel-loader/lib/index.js!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./LogsServInfo.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./LogsServInfo.vue?vue&type=template&id=1e762eb9&scoped=true&\"\nimport script from \"./LogsServInfo.vue?vue&type=script&lang=js&\"\nexport * from \"./LogsServInfo.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1e762eb9\",\n null\n \n)\n\nexport default component.exports","<!-- 服务日志管理页面 -->\n<template>\n <div>\n <el-card class=\"flex-1\">\n <template slot=\"header\">\n <span>服务日志管理</span>\n </template>\n <el-form :model=\"queryform\" ref=\"queryform\">\n <el-row>\n <el-col :lg='4' :sm='12'>\n <el-form-item label=\"开始时间\" prop=\"servSta\">\n <el-date-picker v-model=\"queryform.servSta\" type=\"datetime\" placeholder=\"选择开始时间\">\n </el-date-picker>\n </el-form-item>\n </el-col>\n <el-col :lg='4' :sm='12'>\n <el-form-item label=\"结束时间\" prop=\"servEnd\">\n <el-date-picker v-model=\"queryform.servEnd\" type=\"datetime\" placeholder=\"选择结束时间\">\n </el-date-picker>\n </el-form-item>\n </el-col>\n <el-col :lg='4' :sm='12'>\n <el-form-item label=\"交互标识\" prop=\"operuuid\">\n <el-input v-model=\"queryform.operuuid\"></el-input>\n </el-form-item>\n </el-col>\n <el-col :lg='4' :sm='12'>\n <el-form-item label=\"服务器地址\" prop=\"svrIp\">\n <el-input v-model=\"queryform.svrIp\"></el-input>\n </el-form-item>\n </el-col>\n <el-col :lg='4' :sm='12'>\n <el-form-item label=\"服务描述\" prop=\"servDesc\">\n <el-input v-model=\"queryform.servDesc\"></el-input>\n </el-form-item>\n </el-col>\n <el-col :lg='4' :sm='12'>\n <el-form-item label=\"会话标识\" prop=\"sesId\">\n <el-input v-model=\"queryform.sesId\"></el-input>\n </el-form-item>\n </el-col>\n <el-col :lg='4' :sm='12'>\n <el-form-item label=\"处理结果\" prop=\"sesId\">\n <el-select placeholder=\"请选择\" v-sys-code=\"'questionType'\" v-model=\"queryform.respcode\" clearable>\n <el-option v-for=\"item in resp\" :key=\"item.key\" :label=\"item.label\" :value=\"item.key\" />\n </el-select>\n </el-form-item>\n </el-col>\n </el-row>\n </el-form>\n </el-card>\n <el-card class=\"flex-1 margin-top-2\">\n <template slot=\"header\">\n <span>服务日志列表</span>\n <div class=\"pull-right\">\n <el-button type=\"primary\" @click=\"queryData\" icon=\"el-icon-fa-search\" title=\"查询\"></el-button>\n <el-button type=\"primary\" @click=\"resetquery\" icon=\"el-icon-fa-reply-all\" title=\"重置\"></el-button>\n </div>\n </template>\n <PageTable hideTitle ref=\"dataTable\" :page-size=\"10\" @load-data=\"dataTableLoad\" :data=\"table.data\" highlight-current-row stripe border>\n <el-table-column prop=\"opuuid\" label=\"交互标识\" show-overflow-tooltip></el-table-column>\n <el-table-column prop=\"svrip\" label=\"服务器地址\" width=\"100px\" show-overflow-tooltip></el-table-column>\n <el-table-column prop=\"svrname\" label=\"服务器名称\" width=\"100px\" show-overflow-tooltip></el-table-column>\n <el-table-column prop=\"servdesc\" label=\"服务描述\" show-overflow-tooltip>\n <template slot-scope='scope'>\n {{scope.row.servdesc||\"系统服务\"}}\n </template>\n </el-table-column>\n <el-table-column prop=\"sesid\" label=\"会话标识\" width=\"250px\" show-overflow-tooltip></el-table-column>\n <el-table-column prop=\"servsta\" label=\"操作时间\" width='140px' :formatter=\"formatterDateTime\" show-overflow-tooltip></el-table-column>\n <el-table-column prop=\"optime\" label=\"操作耗时\" placement=\"top\" show-overflow-tooltip></el-table-column>\n <el-table-column prop=\"respcode\" label=\"处理结果\" :formatter=\"respcodeFormatter\" show-overflow-tooltip></el-table-column>\n <el-table-column label=\"操作\" fixed='right' width='80' align='center'>\n <template slot-scope=\"scope\">\n <el-button type=\"primary\" @click=\"showInfo(scope.row)\" icon=\"el-icon-fa-eye\" title=\"查看详情\"></el-button>\n <!-- <el-button type=\"primary\" @click=\"showSQL(scope.row.uuid)\" icon=\"el-icon-fa-info\" title=\"查看SQL\"></el-button>\n <el-button type=\"primary\" v-if=\"scope.row.dataflag\" @click=\"showData(scope.row.uuid)\" icon=\"el-icon-fa-search\" title=\"查看数据\"></el-button>\n <el-button type=\"primary\" v-if=\"scope.row.stakinfo\" @click=\"showStak(scope.row.stakinfo)\" icon=\"el-icon-fa-book\" title=\"查看堆栈信息\"></el-button> -->\n </template>\n </el-table-column>\n </PageTable>\n <el-dialog append-to-body v-draggable title=\"查看详情\" :visible.sync=\"currentInfo.show\" width=\"800px\">\n <LogsServInfo v-if=\"currentInfo.show\" :uuid=\"currentInfo.uuid\" :error=\"currentInfo.error\"></LogsServInfo>\n </el-dialog>\n <el-dialog append-to-body v-draggable title=\"查看数据\" :visible.sync=\"editor.datashow\" width=\"800px\">\n <LogsOperData :uuid=\"editor.uuid\" :flag=\"2\"></LogsOperData>\n </el-dialog>\n <el-dialog append-to-body v-draggable title=\"查看SQL\" width=\"800px\" :visible.sync=\"editor.sqlshow\">\n <LogsSqlData :seuuid=\"editor.seuuid\">\n </LogsSqlData>\n </el-dialog>\n <el-dialog append-to-body v-draggable title=\"查看堆栈信息\" :visible.sync=\"editor.stakshow\" width=\"800px\">\n <template>\n <el-input v-if=\"stakinfo\" type=\"textarea\" :rows=\"25\" v-model=\"stakinfo\" readonly></el-input>\n <h1 v-if=\"!stakinfo\" style=\"text-align: center;font-size: 6px;height: 300px;line-height: 300px;\">暂无数据</h1>\n </template>\n </el-dialog>\n </el-card>\n </div>\n</template>\n<script>\nimport LogsServInfo from \"./LogsServInfo\";\nimport LogsOperData from \"./LogsOperData\";\nimport LogsSqlData from \"./LogsSqlData\";\nimport ServAPI from \"@/api/base/logs/LogsServ\";\nimport { debug } from \"util\";\n\nexport default {\n components: { LogsOperData, LogsSqlData, LogsServInfo },\n props: {\n uuid: {\n type: String\n },\n sesId: {\n type: String\n }\n },\n data() {\n return {\n stakinfo: \"\",\n queryform: {\n svrIp: \"\",\n respCode: \"\",\n servSta: \"\",\n sesId: \"\",\n operuuid: \"\",\n respcode: \"\"\n },\n sql: \"\",\n table: {\n data: []\n },\n //详细信息dialog\n currentInfo: {\n loading: false,\n show: false,\n uuid: \"\",\n error: {}\n },\n editor: {\n uuid: null,\n seuuid: null,\n datashow: false,\n sqlshow: false,\n stakshow: false,\n visible: false, // 编辑器-显示\n loading: true\n },\n resp: [\n {\n key: \"1\",\n label: \"成功\"\n },\n {\n key: \"2\",\n label: \"失败\"\n }\n ],\n respcode: [\n {\n code: \"000000\",\n label: \"请求处理成功\"\n },\n {\n code: \"000100\",\n label: \"用户会话超时\"\n },\n {\n code: \"000200\",\n label: \"安全服务错误\"\n },\n {\n code: \"000300\",\n label: \"校验服务错误\"\n },\n {\n code: \"000400\",\n label: \"系统后台错误\"\n },\n {\n code: \"000500\",\n label: \"网络服务错误\"\n }\n ]\n };\n },\n mounted() {\n this.$nextTick(() => {\n //加载页面取得opuuid,如果有的话\n this.getOpUuid();\n this.queryData();\n });\n },\n methods: {\n respcodeFormatter(row, column, cellValue) {\n return cellValue\n ? this.respcode.filter(v => v.code === cellValue)[0].label\n : \"未知错误\";\n },\n //查看详情\n showInfo(row) {\n this.currentInfo.uuid = row.uuid;\n this.currentInfo.show = true;\n },\n showStak(stakinfo) {\n this.editor.stakshow = true;\n this.stakinfo = stakinfo;\n },\n showSQL(seuuid) {\n this.editor.seuuid = seuuid;\n this.editor.sqlshow = true;\n },\n showData(opUuid) {\n this.editor.uuid = opUuid;\n this.editor.datashow = true;\n },\n queryData() {\n if (this.queryform.servEnd < this.queryform.servSta) {\n this.$message.error(\"开始时间不能大于结束时间\");\n return;\n }\n this.$refs.dataTable.load(this.queryform);\n },\n resetquery() {\n this.$refs.queryform.resetFields();\n this.queryform.respcode = \"\";\n },\n dataTableLoad(params, resolve) {\n ServAPI.queryLogsServ(params)\n .then(resolve) // 让表格解析你提供的数据 (主要解析页码等)\n .then(respData => {\n this.table.data = respData.datarows;\n }); // 本地也记录一下数据 (提供给表示显示的数据)\n },\n //取得交互日志传来的uuid\n getOpUuid() {\n this.queryform.operuuid = this.uuid;\n this.queryform.sesId = this.sesId;\n }\n }\n};\n</script>\n","import mod from \"-!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/_thread-loader@2.1.2@thread-loader/dist/cjs.js!../../../node_modules/_babel-loader@8.0.6@babel-loader/lib/index.js!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./LogsServ.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/_thread-loader@2.1.2@thread-loader/dist/cjs.js!../../../node_modules/_babel-loader@8.0.6@babel-loader/lib/index.js!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./LogsServ.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./LogsServ.vue?vue&type=template&id=335c3c87&\"\nimport script from \"./LogsServ.vue?vue&type=script&lang=js&\"\nexport * from \"./LogsServ.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('el-card',{staticClass:\"flex-1\"},[_c('template',{slot:\"header\"},[_c('span',[_vm._v(\"任务日志管理\")])]),_c('el-form',{ref:\"queryform\",attrs:{\"model\":_vm.queryform}},[_c('el-row',[_c('el-col',{attrs:{\"lg\":4,\"sm\":12}},[_c('el-form-item',{attrs:{\"label\":\"执行者IP\",\"prop\":\"pcip\"}},[_c('el-input',{model:{value:(_vm.queryform.pcip),callback:function ($$v) {_vm.$set(_vm.queryform, \"pcip\", $$v)},expression:\"queryform.pcip\"}})],1)],1),_c('el-col',{attrs:{\"lg\":4,\"sm\":12}},[_c('el-form-item',{attrs:{\"label\":\"Job名称\",\"prop\":\"jobName\"}},[_c('el-input',{model:{value:(_vm.queryform.jobName),callback:function ($$v) {_vm.$set(_vm.queryform, \"jobName\", $$v)},expression:\"queryform.jobName\"}})],1)],1),_c('el-col',{attrs:{\"lg\":4,\"sm\":12}},[_c('el-form-item',{attrs:{\"label\":\"执行者名称\",\"prop\":\"pcname\"}},[_c('el-input',{model:{value:(_vm.queryform.pcname),callback:function ($$v) {_vm.$set(_vm.queryform, \"pcname\", $$v)},expression:\"queryform.pcname\"}})],1)],1),_c('el-col',{attrs:{\"lg\":12,\"sm\":12}},[_c('el-form-item',{attrs:{\"label\":\"执行区间\",\"prop\":\"dateRange\"}},[_c('el-date-picker',{attrs:{\"type\":\"datetimerange\",\"placeholder\":\"选择时间范围\"},model:{value:(_vm.dateRange),callback:function ($$v) {_vm.dateRange=$$v},expression:\"dateRange\"}})],1)],1)],1),_c('el-row',[_c('el-col',{attrs:{\"lg\":8,\"sm\":12}},[_c('el-form-item',{attrs:{\"label\":\"日志级别\",\"prop\":\"logLevel\"}},[_c('el-radio-group',{model:{value:(_vm.queryform.logLevel),callback:function ($$v) {_vm.$set(_vm.queryform, \"logLevel\", $$v)},expression:\"queryform.logLevel\"}},[_c('el-radio',{attrs:{\"label\":\"1\"}},[_vm._v(\"系统级别\")]),_c('el-radio',{attrs:{\"label\":\"2\"}},[_vm._v(\"自定义级别\")])],1)],1)],1)],1)],1)],2),_c('el-card',{staticClass:\"flex-1 margin-top-2\"},[_c('template',{slot:\"header\"},[_c('span',[_vm._v(\"任务日志列表\")]),_c('div',{staticClass:\"pull-right\"},[_c('el-button',{attrs:{\"type\":\"primary\",\"icon\":\"el-icon-fa-search\",\"title\":\"查询\"},on:{\"click\":_vm.queryData}}),_c('el-button',{attrs:{\"type\":\"primary\",\"icon\":\"el-icon-fa-reply-all\",\"title\":\"重置\"},on:{\"click\":_vm.resetquery}})],1)]),_c('PageTable',{ref:\"dataTable\",attrs:{\"hideTitle\":\"\",\"auto-load\":true,\"page-size\":10,\"data\":_vm.table.data,\"highlight-current-row\":\"\",\"stripe\":\"\",\"border\":\"\"},on:{\"load-data\":_vm.dataTableLoad}},[_c('el-table-column',{attrs:{\"prop\":\"pcip\",\"label\":\"执行者IP\",\"width\":\"100\",\"show-overflow-tooltip\":\"\"}}),_c('el-table-column',{attrs:{\"prop\":\"pcname\",\"label\":\"执行者名称\",\"width\":\"140\",\"show-overflow-tooltip\":\"\"}}),_c('el-table-column',{attrs:{\"prop\":\"jobname\",\"label\":\"Job名称\",\"width\":\"200\",\"show-overflow-tooltip\":\"\"}}),_c('el-table-column',{attrs:{\"prop\":\"timecon\",\"label\":\"Job执行耗时\",\"width\":\"100\",\"show-overflow-tooltip\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_vm._v(_vm._s(scope.row.timecon/1000+\"s\"))]}}])}),_c('el-table-column',{attrs:{\"prop\":\"recotime\",\"label\":\"记录/完成时间\",\"width\":\"140\",\"show-overflow-tooltip\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_vm._v(_vm._s(_vm._f(\"date\")(scope.row.recotime,'%Y-%m-%d %T')))]}}])}),_c('el-table-column',{attrs:{\"prop\":\"exceinfo\",\"label\":\"执行信息\",\"show-overflow-tooltip\":\"\"}})],1)],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import ajax from \"@/libs/Ajax\";\r\n/**\r\n * 任务日志管理父页面\r\n */\r\nexport default {\r\n // 执行查询登录日志请求\r\n queryLogsQuartz(params) {\r\n return ajax.get(\"/sys/quartz/getLoadJobHis\", { params: params });\r\n }\r\n};\r\n","<!-- 定时任务管理页面 -->\r\n<template>\r\n <div>\r\n <el-card class=\"flex-1\">\r\n <template slot=\"header\">\r\n <span>任务日志管理</span>\r\n </template>\r\n <el-form :model=\"queryform\" ref=\"queryform\">\r\n <el-row>\r\n <el-col :lg='4' :sm='12'>\r\n <el-form-item label=\"执行者IP\" prop=\"pcip\">\r\n <el-input v-model=\"queryform.pcip\"></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :lg='4' :sm='12'>\r\n <el-form-item label=\"Job名称\" prop=\"jobName\">\r\n <el-input v-model=\"queryform.jobName\"></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :lg='4' :sm='12'>\r\n <el-form-item label=\"执行者名称\" prop=\"pcname\">\r\n <el-input v-model=\"queryform.pcname\"></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :lg='12' :sm='12'>\r\n <el-form-item label=\"执行区间\" prop=\"dateRange\">\r\n <el-date-picker type=\"datetimerange\" v-model=\"dateRange\" placeholder=\"选择时间范围\"></el-date-picker>\r\n </el-form-item>\r\n </el-col>\r\n </el-row>\r\n <el-row>\r\n <el-col :lg='8' :sm='12'>\r\n <el-form-item label=\"日志级别\" prop=\"logLevel\">\r\n <el-radio-group v-model=\"queryform.logLevel\">\r\n <el-radio label=\"1\">系统级别</el-radio>\r\n <el-radio label=\"2\">自定义级别</el-radio>\r\n </el-radio-group>\r\n </el-form-item>\r\n </el-col>\r\n </el-row>\r\n </el-form>\r\n </el-card>\r\n <el-card class=\"flex-1 margin-top-2\">\r\n <template slot=\"header\">\r\n <span>任务日志列表</span>\r\n <div class=\"pull-right\">\r\n <el-button type=\"primary\" @click=\"queryData\" icon=\"el-icon-fa-search\" title=\"查询\"></el-button>\r\n <el-button type=\"primary\" @click=\"resetquery\" icon=\"el-icon-fa-reply-all\" title=\"重置\"></el-button>\r\n </div>\r\n </template>\r\n <PageTable hideTitle ref=\"dataTable\" :auto-load=\"true\" :page-size=\"10\" @load-data=\"dataTableLoad\" :data=\"table.data\" highlight-current-row stripe border>\r\n <el-table-column prop=\"pcip\" label=\"执行者IP\" width=\"100\" show-overflow-tooltip></el-table-column>\r\n <el-table-column prop=\"pcname\" label=\"执行者名称\" width=\"140\" show-overflow-tooltip></el-table-column>\r\n <el-table-column prop=\"jobname\" label=\"Job名称\" width=\"200\" show-overflow-tooltip></el-table-column>\r\n <el-table-column prop=\"timecon\" label=\"Job执行耗时\" width=\"100\" show-overflow-tooltip>\r\n <template slot-scope='scope'>{{scope.row.timecon/1000+\"s\"}}</template>\r\n </el-table-column>\r\n <el-table-column prop=\"recotime\" label=\"记录/完成时间\" width=\"140\" show-overflow-tooltip>\r\n <template slot-scope='scope'>{{scope.row.recotime|date('%Y-%m-%d %T')}}</template>\r\n </el-table-column>\r\n <el-table-column prop=\"exceinfo\" label=\"执行信息\" show-overflow-tooltip></el-table-column>\r\n </PageTable>\r\n </el-card>\r\n </div>\r\n</template>\r\n<script>\r\nimport LogsQuartzAPI from \"@/api/base/logs/LogsQuartz\";\r\n\r\nexport default {\r\n data() {\r\n return {\r\n queryform: {\r\n pcip: \"\",\r\n pcname: \"\",\r\n jobName: \"\",\r\n startTime: null,\r\n endTime: null,\r\n logLevel: \"1\"\r\n },\r\n dateRange: [],\r\n table: {\r\n data: []\r\n }\r\n };\r\n },\r\n watch: {\r\n dateRange: {\r\n handler(val) {\r\n if (val && val.length === 2) {\r\n this.queryform.startTime = val[0];\r\n this.queryform.endTime = val[1];\r\n } else {\r\n this.queryform.startTime = null;\r\n this.queryform.endTime = null;\r\n }\r\n }\r\n }\r\n },\r\n methods: {\r\n queryData() {\r\n this.$refs.dataTable.load(this.queryform);\r\n },\r\n resetquery() {\r\n this.$refs.queryform.resetFields();\r\n this.queryform.logLevel = \"1\";\r\n this.dateRange = [];\r\n },\r\n dataTableLoad(params, resolve) {\r\n LogsQuartzAPI.queryLogsQuartz(params)\r\n .then(resolve) // 让表格解析你提供的数据 (主要解析页码等)\r\n .then(respData => (this.table.data = respData.datarows)); // 本地也记录一下数据 (提供给表示显示的数据)\r\n }\r\n }\r\n};\r\n</script>\r\n","import mod from \"-!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/_thread-loader@2.1.2@thread-loader/dist/cjs.js!../../../node_modules/_babel-loader@8.0.6@babel-loader/lib/index.js!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./LogsQuartz.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/_thread-loader@2.1.2@thread-loader/dist/cjs.js!../../../node_modules/_babel-loader@8.0.6@babel-loader/lib/index.js!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./LogsQuartz.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./LogsQuartz.vue?vue&type=template&id=045b0ac2&\"\nimport script from \"./LogsQuartz.vue?vue&type=script&lang=js&\"\nexport * from \"./LogsQuartz.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","module.exports = require(\"core-js/modules/es6.array.find\");","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"flex-h card-height-full\"},[(_vm.rightBlock)?_c('el-card',{staticClass:\"flex-2 full\"},[_c('template',{slot:\"header\"},[_c('span',[_vm._v(\"系统组织机构一览\")]),_c('div',{staticClass:\"pull-right\"},[_c('el-button',{attrs:{\"type\":\"primary\",\"icon\":\"el-icon-fa-expand\"},on:{\"click\":_vm.expandAll}}),_c('el-button',{attrs:{\"type\":\"primary\",\"icon\":\"el-icon-fa-check-square-o\",\"title\":\"检查节点\"},on:{\"click\":_vm.checkNode}}),_c('el-button',{attrs:{\"type\":\"primary\",\"icon\":\"el-icon-fa-wrench\",\"title\":\"修复节点\"},on:{\"click\":_vm.repairNode}}),_c('el-button',{attrs:{\"type\":\"primary\",\"icon\":!_vm.leftBlock?'el-icon-caret-left':'el-icon-caret-right'},on:{\"click\":function($event){_vm.leftBlock=!_vm.leftBlock}}})],1)]),(_vm.showOrgTree)?_c('el-tree',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.saving),expression:\"saving\"}],ref:\"orgTree\",attrs:{\"render-content\":_vm.renderContent,\"default-expand-all\":_vm.expandedAll,\"lazy\":\"\",\"load\":_vm.loadTree,\"node-key\":\"uuid\",\"current-node-key\":_vm.currNode.uuid,\"expand-on-click-node\":false,\"highlight-current\":\"\",\"props\":_vm.treeProps},on:{\"current-change\":_vm.currentChange}}):_vm._e()],2):_vm._e(),(_vm.leftBlock)?_c('el-card',{staticClass:\"flex-2 margin-left-2 full\",attrs:{\"header\":\"组织机构编辑\"}},[_c('template',{slot:\"header\"},[_c('span',[_vm._v(\"组织机构编辑\")]),_c('div',{staticClass:\"pull-right\"},[(_vm.currNode.puuid!==\"none\"&&_vm.currNode.uuid)?_c('el-button',{attrs:{\"type\":\"primary\",\"title\":\"高级\",\"icon\":\"el-icon-more\"},on:{\"click\":function($event){_vm.showMore=!_vm.showMore}}}):_vm._e(),(_vm.currNode.puuid!==\"none\"&&_vm.currNode.uuid)?_c('el-button',{attrs:{\"type\":\"primary\",\"icon\":\"el-icon-fa-save\"},on:{\"click\":_vm.onSubmit}}):_vm._e(),_c('el-button',{attrs:{\"type\":\"primary\",\"icon\":_vm.rightBlock?'el-icon-caret-left':'el-icon-caret-right'},on:{\"click\":function($event){_vm.rightBlock=!_vm.rightBlock}}})],1)]),(_vm.currNode.puuid!==\"none\"&&_vm.currNode.uuid)?_c('el-form',{ref:\"form\",attrs:{\"rules\":_vm.rules,\"model\":_vm.currNode,\"label-position\":\"top\"}},[_c('el-form-item',{attrs:{\"label\":\"组织机构编码\",\"prop\":\"orgCode\",\"error\":_vm.editor.error.orgCode}},[_c('el-input',{model:{value:(_vm.currNode.orgCode),callback:function ($$v) {_vm.$set(_vm.currNode, \"orgCode\", $$v)},expression:\"currNode.orgCode\"}})],1),_c('el-form-item',{attrs:{\"prop\":\"puuid\",\"label\":\"上级组织机构\"}},[_c('Selector',{attrs:{\"init-label\":_vm.currParentNode.orgName,\"clearable\":true,\"label-key\":\"label\",\"value-key\":\"id\",\"placeholder\":\"隶属组织机构\"},model:{value:(_vm.currNode.puuid),callback:function ($$v) {_vm.$set(_vm.currNode, \"puuid\", $$v)},expression:\"currNode.puuid\"}},[_c('SelectorTree',{attrs:{\"tree-key\":\"orgTree\",\"rootLabel\":\"系统组织机构\"}})],1)],1),_c('el-form-item',{attrs:{\"label\":\"组织机构名称\",\"prop\":\"orgName\",\"error\":_vm.editor.error.orgName}},[_c('el-input',{model:{value:(_vm.currNode.orgName),callback:function ($$v) {_vm.$set(_vm.currNode, \"orgName\", $$v)},expression:\"currNode.orgName\"}})],1),_c('el-form-item',{attrs:{\"label\":\"组织机构描述\",\"prop\":\"orgDesc\",\"error\":_vm.editor.error.orgDesc}},[_c('el-input',{attrs:{\"type\":\"textarea\"},model:{value:(_vm.currNode.orgDesc),callback:function ($$v) {_vm.$set(_vm.currNode, \"orgDesc\", $$v)},expression:\"currNode.orgDesc\"}})],1),(_vm.showMore)?[_c('el-form-item',{attrs:{\"label\":\"负责人\",\"prop\":\"orgMast\",\"error\":_vm.editor.error.orgMast}},[_c('el-input',{model:{value:(_vm.currNode.orgMast),callback:function ($$v) {_vm.$set(_vm.currNode, \"orgMast\", $$v)},expression:\"currNode.orgMast\"}})],1),_c('el-form-item',{attrs:{\"label\":\"组织机构状态\",\"prop\":\"orgStat\",\"error\":_vm.editor.error.orgStat}},[_c('el-radio-group',{model:{value:(_vm.currNode.orgStat),callback:function ($$v) {_vm.$set(_vm.currNode, \"orgStat\", $$v)},expression:\"currNode.orgStat\"}},[_c('el-radio',{attrs:{\"label\":\"1\"}},[_vm._v(\"可用\")]),_c('el-radio',{attrs:{\"label\":\"0\"}},[_vm._v(\"禁用\")])],1)],1),_c('el-form-item',{attrs:{\"label\":\"组织机构简称\",\"prop\":\"orgBrfName\",\"error\":_vm.editor.error.orgBrfName}},[_c('el-input',{attrs:{\"type\":\"textarea\"},model:{value:(_vm.currNode.orgBrfName),callback:function ($$v) {_vm.$set(_vm.currNode, \"orgBrfName\", $$v)},expression:\"currNode.orgBrfName\"}})],1),_c('el-form-item',{attrs:{\"label\":\"邮政编码\",\"prop\":\"orgPost\",\"error\":_vm.editor.error.orgPost}},[_c('el-input',{model:{value:(_vm.currNode.orgPost),callback:function ($$v) {_vm.$set(_vm.currNode, \"orgPost\", $$v)},expression:\"currNode.orgPost\"}})],1),_c('el-form-item',{attrs:{\"label\":\"地址\",\"prop\":\"orgAddr\",\"error\":_vm.editor.error.orgAddr}},[_c('el-input',{attrs:{\"type\":\"textarea\"},model:{value:(_vm.currNode.orgAddr),callback:function ($$v) {_vm.$set(_vm.currNode, \"orgAddr\", $$v)},expression:\"currNode.orgAddr\"}})],1)]:_vm._e()],2):_vm._e(),(_vm.currNode.puuid!==\"none\"&&_vm.currNode.uuid)?_c('HandleHistory',{staticClass:\"margin-top-2\",attrs:{\"uuid\":_vm.currNode.uuid,\"cr-user-uuid\":_vm.currNode.crUserUuid,\"op-user-uuid\":_vm.currNode.opUserUuid,\"cr-time\":_vm.currNode.crTime,\"op-time\":_vm.currNode.opTime,\"mode\":\"plan\"}}):_vm._e()],2):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <div class=\"flex-h card-height-full\">\n <el-card v-if=\"rightBlock\" class=\"flex-2 full\">\n <template slot=\"header\">\n <span>系统组织机构一览</span>\n <div class=\"pull-right\">\n <el-button type=\"primary\" icon=\"el-icon-fa-expand\" @click=\"expandAll\"></el-button>\n <el-button type=\"primary\" icon=\"el-icon-fa-check-square-o\" @click=\"checkNode\" title=\"检查节点\"></el-button>\n <el-button type=\"primary\" icon=\"el-icon-fa-wrench\" @click=\"repairNode\" title=\"修复节点\"></el-button>\n <el-button type=\"primary\" :icon=\"!leftBlock?'el-icon-caret-left':'el-icon-caret-right'\" @click=\"leftBlock=!leftBlock\"></el-button>\n </div>\n </template>\n <el-tree v-if='showOrgTree' ref=\"orgTree\" :render-content=\"renderContent\" :default-expand-all=\"expandedAll\" v-loading=\"saving\" lazy :load=\"loadTree\" node-key=\"uuid\" :current-node-key=\"currNode.uuid\" :expand-on-click-node=\"false\" highlight-current @current-change=\"currentChange\" :props=\"treeProps\">\n </el-tree>\n </el-card>\n <el-card v-if=\"leftBlock\" header=\"组织机构编辑\" class=\"flex-2 margin-left-2 full\">\n <template slot=\"header\">\n <span>组织机构编辑</span>\n <div class=\"pull-right\">\n <el-button type=\"primary\" @click=\"showMore=!showMore\" title=\"高级\" icon=\"el-icon-more\" v-if='currNode.puuid!==\"none\"&&currNode.uuid'></el-button>\n <el-button type=\"primary\" @click=\"onSubmit\" icon=\"el-icon-fa-save\" v-if='currNode.puuid!==\"none\"&&currNode.uuid'></el-button>\n <el-button type=\"primary\" :icon=\"rightBlock?'el-icon-caret-left':'el-icon-caret-right'\" @click=\"rightBlock=!rightBlock\"></el-button>\n </div>\n </template>\n <el-form ref=\"form\" :rules=\"rules\" :model=\"currNode\" label-position='top' v-if='currNode.puuid!==\"none\"&&currNode.uuid'>\n <el-form-item label=\"组织机构编码\" prop=\"orgCode\" :error=\"editor.error.orgCode\">\n <el-input v-model=\"currNode.orgCode\"></el-input>\n </el-form-item>\n <el-form-item prop='puuid' label=\"上级组织机构\">\n <Selector v-model=\"currNode.puuid\" :init-label=\"currParentNode.orgName\" :clearable=\"true\" label-key=\"label\" value-key=\"id\" placeholder=\"隶属组织机构\">\n <SelectorTree tree-key=\"orgTree\" rootLabel=\"系统组织机构\"></SelectorTree>\n </Selector>\n </el-form-item>\n <el-form-item label=\"组织机构名称\" prop=\"orgName\" :error=\"editor.error.orgName\">\n <el-input v-model=\"currNode.orgName\"></el-input>\n </el-form-item>\n <el-form-item label=\"组织机构描述\" prop=\"orgDesc\" :error=\"editor.error.orgDesc\">\n <el-input type=\"textarea\" v-model=\"currNode.orgDesc\"></el-input>\n </el-form-item>\n <template v-if=\"showMore\">\n <el-form-item label=\"负责人\" prop=\"orgMast\" :error=\"editor.error.orgMast\">\n <el-input v-model=\"currNode.orgMast\"></el-input>\n </el-form-item>\n <el-form-item label=\"组织机构状态\" prop=\"orgStat\" :error=\"editor.error.orgStat\">\n <el-radio-group v-model=\"currNode.orgStat\">\n <el-radio label=\"1\">可用</el-radio>\n <el-radio label=\"0\">禁用</el-radio>\n </el-radio-group>\n </el-form-item>\n <el-form-item label=\"组织机构简称\" prop=\"orgBrfName\" :error=\"editor.error.orgBrfName\">\n <el-input type=\"textarea\" v-model=\"currNode.orgBrfName\"></el-input>\n </el-form-item>\n <el-form-item label=\"邮政编码\" prop=\"orgPost\" :error=\"editor.error.orgPost\">\n <el-input v-model=\"currNode.orgPost\"></el-input>\n </el-form-item>\n <el-form-item label=\"地址\" prop=\"orgAddr\" :error=\"editor.error.orgAddr\">\n <el-input type=\"textarea\" v-model=\"currNode.orgAddr\"></el-input>\n </el-form-item>\n </template>\n </el-form>\n <HandleHistory v-if='currNode.puuid!==\"none\"&&currNode.uuid' class=\"margin-top-2\" :uuid=\"currNode.uuid\" :cr-user-uuid=\"currNode.crUserUuid\" :op-user-uuid=\"currNode.opUserUuid\" :cr-time=\"currNode.crTime\" :op-time=\"currNode.opTime\" mode=\"plan\">\n </HandleHistory>\n </el-card>\n </div>\n</template>\n<script>\nimport OrgAPI from \"@/api/base/usrm/OrgAPI\";\nimport HandleHistory from \"@/common/HandleHistory\";\nimport SelectorTree from \"@/common/SelectorTree\";\n\nexport default {\n name: \"OrgMgr\",\n components: { HandleHistory, SelectorTree },\n data() {\n return {\n showMore: false,\n leftBlock: true,\n rightBlock: true,\n //显示树\n showOrgTree: true,\n currParentNode: {},\n currNode: {},\n saving: false,\n expandedAll: false,\n editor: {\n error: {}\n },\n rules: {\n orgCode: [{ required: true, message: \"组织机构编码不能为空!\" }],\n puuid: [{ required: true, message: \"上级组织机构不能为空!\" }],\n orgName: [{ required: true, message: \"组织机构名称不能为空!\" }]\n },\n treeProps: {\n isLeaf: \"isLeaf\"\n }\n };\n },\n mounted() {},\n methods: {\n getTreeListen(orgId) {\n OrgAPI.getCopyRoleTree(orgId).then(resp => {\n if (this.$refs.roleTree) {\n this.$refs.roleTree.root.setData({ children: resp.data });\n if (this.data.arrRoles) {\n this.$refs.roleTree.setCheckedKeys(this.data.arrRoles, false);\n }\n }\n });\n },\n /**\n * 检查节点\n */\n repairNode() {\n OrgAPI.repairNode(this.currNode.uuid);\n },\n /**\n * 修复节点异常\n */\n checkNode() {\n OrgAPI.checkNode(this.currNode.uuid);\n },\n // 提交数据\n onSubmit() {\n this.$refs.form.validate(valid => {\n if (valid) {\n this.saving = true;\n this.editor.error = {};\n OrgAPI.editNode(this.currNode)\n .then(data => {\n this.saving = false;\n this.expandAll();\n this.expandedAll = true;\n })\n .catch(error => {\n this.editor.error = error.validError;\n this.saving = false;\n });\n }\n });\n },\n // 展开/关闭 全部\n expandAll() {\n if (this.expandedAll) {\n this.saving = true;\n this.showOrgTree = false;\n this.expandedAll = false;\n setTimeout(() => {\n this.showOrgTree = true;\n this.saving = false;\n }, 200);\n return;\n }\n this.expandedAll = true;\n let expandFn = (element, expand) => {\n element.childNodes.forEach(element => {\n if (!element.isLeaf) {\n element.expand(() => {\n expandFn(element);\n });\n }\n }, this);\n };\n expandFn(this.$refs.orgTree.root);\n },\n // 点击菜单树节点\n currentChange(data, node) {\n this.currParentNode = node.parent.data || data;\n this.currNode = data || {};\n },\n // 加载树内容\n loadTree(node, resolve) {\n let puuid = \"none\";\n if (node.data) {\n puuid = node.data.uuid;\n }\n OrgAPI.getChildren(puuid).then(resp => resp.data && resolve(resp.data));\n },\n // 添加菜单\n addNode(node) {\n let newNode = {\n orgName: \"新建组织机构\",\n orgCode: \"请填写组织机构代码\",\n orgStat: \"1\",\n puuid: node.data.uuid\n };\n this.saving = true;\n this.currParentNode.orgName = node.data.orgName;\n OrgAPI.editNode(newNode)\n .then(data => {\n Object.assign(newNode, {\n uuid: data.uuid,\n opUserUuid: this.$store.state.base.sysUser.uuid,\n crUserUuid: this.$store.state.base.sysUser.uuid\n }); // 合并刚才返回的UUID主键\n this.saving = false; // 保存结束\n node.insertChild({ data: newNode }); // 让当前节点追加一个新节点\n node.expand(() => {\n this.currNode = newNode;\n }); // 如果没拉取子节点,先拉取子节点,然后设置当前节点\n })\n .catch(() => {\n this.saving = false;\n });\n },\n // 删除菜单\n removeNode(node) {\n // 删除菜单实际要执行的方法\n let action = data => {\n this.saving = true;\n OrgAPI.delNode(data.uuid)\n .then(data => {\n this.saving = false;\n node.parent.removeChild(node);\n })\n .catch(() => {\n this.saving = false;\n });\n };\n // 单出提示,然后执行该方法\n this.confirm(node.data).then(action);\n },\n // 刷新菜单\n refreshNode(node) {\n node.loaded = false;\n node.expand(() => {});\n },\n // 树节点的内容区的渲染方法\n renderContent(h, { node, data, store }) {\n let addBtn = (\n <el-button\n icon=\"el-icon-fa-plus\"\n onClick={() => this.addNode(node)}\n disabled={data.puuid === \"none\"}\n />\n );\n let refresh = (\n <el-button\n icon=\"el-icon-fa-refresh\"\n onClick={() => this.refreshNode(node)}\n />\n );\n let deleteBtn = (\n <el-button\n icon=\"el-icon-fa-minus\"\n onClick={() => {\n this.removeNode(node);\n }}\n disabled={data.puuid === \"none\"}\n />\n );\n return (\n <div>\n <span>\n <span class={\"removed-line-through\" + data.orgStat == \"0\"}>\n <i class=\"el-icon-fa el-icon-fa-sitemap margin-right-2\" />\n {data.orgName}\n </span>\n </span>\n <span style=\"position:absolute;right:20px;\">\n <el-button-group>\n {refresh}\n {addBtn}\n {deleteBtn}\n </el-button-group>\n </span>\n </div>\n );\n }\n }\n};\n</script>\n","import mod from \"-!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/_thread-loader@2.1.2@thread-loader/dist/cjs.js!../../../node_modules/_babel-loader@8.0.6@babel-loader/lib/index.js!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./OrgMgr.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/_thread-loader@2.1.2@thread-loader/dist/cjs.js!../../../node_modules/_babel-loader@8.0.6@babel-loader/lib/index.js!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./OrgMgr.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./OrgMgr.vue?vue&type=template&id=38cd4721&\"\nimport script from \"./OrgMgr.vue?vue&type=script&lang=js&\"\nexport * from \"./OrgMgr.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","// extracted by mini-css-extract-plugin","module.exports = require(\"vue-moment\");","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('el-card',{staticClass:\"flex-1\"},[_c('template',{slot:\"header\"},[_c('span',[_vm._v(\"登录日志管理\")])]),_c('el-form',{ref:\"queryform\",attrs:{\"model\":_vm.queryform}},[_c('el-row',[_c('el-col',{attrs:{\"lg\":4,\"sm\":12}},[_c('el-form-item',{attrs:{\"label\":\"服务器IP\",\"prop\":\"svrIp\"}},[_c('el-input',{model:{value:(_vm.queryform.svrIp),callback:function ($$v) {_vm.$set(_vm.queryform, \"svrIp\", $$v)},expression:\"queryform.svrIp\"}})],1)],1),_c('el-col',{attrs:{\"lg\":4,\"sm\":12}},[_c('el-form-item',{attrs:{\"label\":\"登录账号\",\"prop\":\"userId\"}},[_c('el-input',{model:{value:(_vm.queryform.userId),callback:function ($$v) {_vm.$set(_vm.queryform, \"userId\", $$v)},expression:\"queryform.userId\"}})],1)],1),_c('el-col',{attrs:{\"lg\":4,\"sm\":12}},[_c('el-form-item',{attrs:{\"label\":\"处理结果\",\"prop\":\"sesId\"}},[_c('el-select',{directives:[{name:\"sys-code\",rawName:\"v-sys-code\",value:('questionType'),expression:\"'questionType'\"}],attrs:{\"placeholder\":\"请选择\",\"clearable\":\"\"},model:{value:(_vm.queryform.respcode),callback:function ($$v) {_vm.$set(_vm.queryform, \"respcode\", $$v)},expression:\"queryform.respcode\"}},_vm._l((_vm.RESPCODE),function(item){return _c('el-option',{key:item.key,attrs:{\"label\":item.label,\"value\":item.key}})}),1)],1)],1),_c('el-col',{attrs:{\"lg\":4,\"sm\":12}},[_c('el-form-item',{attrs:{\"label\":\"登录开始时间\",\"prop\":\"actSta\"}},[_c('el-date-picker',{attrs:{\"type\":\"date\",\"value-format\":\"timestamp\"},model:{value:(_vm.queryform.actSta),callback:function ($$v) {_vm.$set(_vm.queryform, \"actSta\", $$v)},expression:\"queryform.actSta\"}})],1)],1)],1)],1)],2),_c('el-card',{staticClass:\"flex-1 margin-top-2\"},[_c('template',{slot:\"header\"},[_c('span',[_vm._v(\"登录日志列表\")]),_c('div',{staticClass:\"pull-right\"},[_c('el-button',{attrs:{\"type\":\"primary\",\"icon\":\"el-icon-fa-search\",\"title\":\"查询\"},on:{\"click\":_vm.queryData}}),_c('el-button',{attrs:{\"type\":\"primary\",\"icon\":\"el-icon-fa-reply-all\",\"title\":\"重置\"},on:{\"click\":_vm.resetquery}})],1)]),_c('PageTable',{ref:\"dataTable\",attrs:{\"hideTitle\":\"\",\"auto-load\":true,\"page-size\":10,\"data\":_vm.table.data,\"highlight-current-row\":\"\",\"stripe\":\"\",\"border\":\"\"},on:{\"load-data\":_vm.dataTableLoad}},[_c('el-table-column',{attrs:{\"prop\":\"userid\",\"label\":\"登录账号\",\"show-overflow-tooltip\":\"\"}}),_c('el-table-column',{attrs:{\"prop\":\"username\",\"label\":\"用户名称\",\"show-overflow-tooltip\":\"\"}}),_c('el-table-column',{attrs:{\"prop\":\"svrip\",\"label\":\"服务器地址\",\"width\":\"100px\",\"show-overflow-tooltip\":\"\"}}),_c('el-table-column',{attrs:{\"prop\":\"svrname\",\"label\":\"服务器名称\",\"width\":\"100px\",\"show-overflow-tooltip\":\"\"}}),_c('el-table-column',{attrs:{\"prop\":\"logtype\",\"dict\":\"logtype\",\"label\":\"登录类型\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('SysCode',{attrs:{\"type\":'logtype',\"value\":scope.row.logtype}})]}}])}),_c('el-table-column',{attrs:{\"prop\":\"reqip\",\"label\":\"请求者地址\",\"width\":\"100px\",\"show-overflow-tooltip\":\"\"}}),_c('el-table-column',{attrs:{\"prop\":\"acttype\",\"dict\":\"acttype\",\"label\":\"协议类型\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('SysCode',{attrs:{\"type\":'acttype',\"value\":scope.row.acttype}})]}}])}),_c('el-table-column',{attrs:{\"prop\":\"sesid\",\"label\":\"会话标识\",\"width\":\"250px\",\"show-overflow-tooltip\":\"\"}}),_c('el-table-column',{attrs:{\"prop\":\"actsta\",\"label\":\"操作时间\",\"formatter\":_vm.formatterDateTime,\"width\":\"150px\"}}),_c('el-table-column',{attrs:{\"prop\":\"optime\",\"label\":\"操作耗时\",\"placement\":\"top\",\"show-overflow-tooltip\":\"\"}}),_c('el-table-column',{attrs:{\"prop\":\"respcode\",\"label\":\"处理代码\",\"show-overflow-tooltip\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_vm._v(\"\\n \"+_vm._s(scope.row.respcode+':'+(scope.row.respcode==\"000000\"?\"请求处理成功\":scope.row.respcode==\"000100\"?\"用户会话超时\":scope.row.respcode==\"000200\"?\"安全服务错误\":scope.row.respcode==\"000300\"?\"校验服务错误\":scope.row.respcode==\"000400\"?\"系统后台错误\":scope.row.respcode==\"000500\"?\"网络服务错误\":\"未知错误\"))+\"\\n \")]}}])}),_c('el-table-column',{attrs:{\"label\":\"操作\",\"fixed\":\"right\",\"width\":\"100\",\"align\":\"center\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('el-button',{attrs:{\"type\":\"primary\",\"icon\":\"el-icon-fa-eye\",\"title\":\"查看详情\"},on:{\"click\":function($event){return _vm.showInfo(scope.row.uuid)}}}),(scope.row.servflag)?_c('el-button',{attrs:{\"type\":\"primary\",\"icon\":\"el-icon-fa-bookmark-o\",\"title\":\"查看会话服务\"},on:{\"click\":function($event){return _vm.showService(scope.row.sesid)}}}):_vm._e(),(scope.row.operflag)?_c('el-button',{attrs:{\"type\":\"primary\",\"icon\":\"el-icon-fa-exchange\",\"title\":\"查看会话操作\"},on:{\"click\":function($event){return _vm.showSession(scope.row.sesid)}}}):_vm._e()]}}])})],1),_c('el-dialog',{directives:[{name:\"draggable\",rawName:\"v-draggable\"}],attrs:{\"append-to-body\":\"\",\"title\":\"查看详情\",\"visible\":_vm.currentInfo.show,\"width\":\"600px\"},on:{\"update:visible\":function($event){return _vm.$set(_vm.currentInfo, \"show\", $event)}}},[(_vm.currentInfo.show)?_c('SignInfo',{attrs:{\"uuid\":_vm.currentInfo.uuid,\"error\":_vm.currentInfo.error}}):_vm._e()],1)],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('el-form',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}],ref:\"form \",attrs:{\"label-position\":\"top\",\"model\":_vm.data}},[_c('el-row',[_c('el-col',{attrs:{\"span\":12}},[_c('el-form-item',{attrs:{\"label\":\"登录名 \",\"prop\":\"userid \"}},[_c('el-input',{attrs:{\"readonly\":\"\"},model:{value:(_vm.data.userid ),callback:function ($$v) {_vm.$set(_vm.data, \"userid\", $$v)},expression:\"data.userid \"}})],1)],1),_c('el-col',{attrs:{\"span\":12}},[_c('el-form-item',{attrs:{\"label\":\"用户名 \",\"prop\":\"username \"}},[_c('el-input',{attrs:{\"readonly\":\"\"},model:{value:(_vm.data.username ),callback:function ($$v) {_vm.$set(_vm.data, \"username\", $$v)},expression:\"data.username \"}})],1)],1)],1),_c('el-row',[_c('el-col',{attrs:{\"span\":12}},[_c('el-form-item',{attrs:{\"label\":\"服务器地址 \",\"prop\":\"svrip \"}},[_c('el-input',{attrs:{\"readonly\":\"\"},model:{value:(_vm.data.svrip ),callback:function ($$v) {_vm.$set(_vm.data, \"svrip\", $$v)},expression:\"data.svrip \"}})],1)],1),_c('el-col',{attrs:{\"span\":12}},[_c('el-form-item',{attrs:{\"label\":\"服务器名称 \",\"prop\":\"respDesc \"}},[_c('el-input',{attrs:{\"readonly\":\"\"},model:{value:(_vm.data.svrname ),callback:function ($$v) {_vm.$set(_vm.data, \"svrname\", $$v)},expression:\"data.svrname \"}})],1)],1)],1),_c('el-row',[_c('el-col',{attrs:{\"span\":12}},[_c('el-form-item',{attrs:{\"label\":\"处理代码 \",\"prop\":\"respcode \"}},[_c('el-input',{attrs:{\"readonly\":\"\"},model:{value:(_vm.data.respcode ),callback:function ($$v) {_vm.$set(_vm.data, \"respcode\", $$v)},expression:\"data.respcode \"}})],1)],1),_c('el-col',{attrs:{\"span\":12}},[_c('el-form-item',{attrs:{\"label\":\"处理描述 \",\"prop\":\"respdesc \"}},[_c('el-input',{attrs:{\"readonly\":\"\"},model:{value:(_vm.data.respdesc ),callback:function ($$v) {_vm.$set(_vm.data, \"respdesc\", $$v)},expression:\"data.respdesc \"}})],1)],1)],1),_c('el-row',[_c('el-col',{attrs:{\"span\":12}},[_c('el-form-item',{attrs:{\"label\":\"请求地址 \",\"prop\":\"reqip \"}},[_c('el-input',{attrs:{\"readonly\":\"\"},model:{value:(_vm.data.reqip ),callback:function ($$v) {_vm.$set(_vm.data, \"reqip\", $$v)},expression:\"data.reqip \"}})],1)],1),_c('el-col',{attrs:{\"span\":12}},[_c('el-form-item',{attrs:{\"label\":\"登录类型 \",\"prop\":\"logtype \"}},[_c('el-input',{attrs:{\"readonly\":\"\"},model:{value:(_vm.logtype ),callback:function ($$v) {_vm.logtype =$$v},expression:\"logtype \"}})],1)],1)],1),_c('el-row',[_c('el-col',{attrs:{\"span\":12}},[_c('el-form-item',{attrs:{\"label\":\"操作开始时间 \",\"prop\":\"actsta \"}},[_c('el-input',{attrs:{\"readonly\":\"\"},model:{value:(_vm.actsta ),callback:function ($$v) {_vm.actsta =$$v},expression:\"actsta \"}})],1)],1),_c('el-col',{attrs:{\"span\":12}},[_c('el-form-item',{attrs:{\"label\":\"操作结束时间 \",\"prop\":\"actend \"}},[_c('el-input',{attrs:{\"readonly\":\"\"},model:{value:(_vm.actend ),callback:function ($$v) {_vm.actend =$$v},expression:\"actend \"}})],1)],1)],1),_c('el-form-item',{attrs:{\"label\":\"请求终端类型 \",\"prop\":\"devtype \"}},[_c('el-input',{attrs:{\"readonly\":\"\"},model:{value:(_vm.data.devtype ),callback:function ($$v) {_vm.$set(_vm.data, \"devtype\", $$v)},expression:\"data.devtype \"}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import ajax from \"../../../libs/Ajax\";\r\n/**\r\n * 登录日志管理父页面\r\n */\r\nexport default {\r\n // 执行查询登录日志请求\r\n queryLogsSign(params) {\r\n return ajax.get(\"/logs/LogsSign/queryLogsSign\", { params: params });\r\n },\r\n\r\n // 执行查询交互日志请求\r\n queryLogsOper(params) {\r\n return ajax.get(\"/logs/LogsSign/queryLogsOper\", { params: params });\r\n },\r\n\r\n // 执行查询服务日志请求\r\n queryLogsServ(params) {\r\n return ajax.get(\"/logs/LogsSign/queryLogsServ\", { params: params });\r\n },\r\n getLogsSignByUuid(uuid) {\r\n return ajax.get(\"/logs/LogsSign/getLogsSignByUuid\", { params: { uuid } });\r\n }\r\n};\r\n","<template>\r\n <div>\r\n <el-form label-position=\"top\" :model=\"data\" v-loading=\"loading\" ref=\"form \">\r\n <el-row>\r\n <el-col :span=\"12 \">\r\n <el-form-item label=\"登录名 \" prop=\"userid \">\r\n <el-input v-model=\"data.userid \" readonly></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span=\"12 \">\r\n <el-form-item label=\"用户名 \" prop=\"username \">\r\n <el-input v-model=\"data.username \" readonly></el-input>\r\n </el-form-item>\r\n </el-col>\r\n </el-row>\r\n <el-row>\r\n <el-col :span=\"12 \">\r\n <el-form-item label=\"服务器地址 \" prop=\"svrip \">\r\n <el-input v-model=\"data.svrip \" readonly></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span=\"12 \">\r\n <el-form-item label=\"服务器名称 \" prop=\"respDesc \">\r\n <el-input v-model=\"data.svrname \" readonly></el-input>\r\n </el-form-item>\r\n </el-col>\r\n </el-row>\r\n <el-row>\r\n <el-col :span=\"12 \">\r\n <el-form-item label=\"处理代码 \" prop=\"respcode \">\r\n <el-input v-model=\"data.respcode \" readonly></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span=\"12 \">\r\n <el-form-item label=\"处理描述 \" prop=\"respdesc \">\r\n <el-input v-model=\"data.respdesc \" readonly></el-input>\r\n </el-form-item>\r\n </el-col>\r\n </el-row>\r\n <el-row>\r\n <el-col :span=\"12 \">\r\n <el-form-item label=\"请求地址 \" prop=\"reqip \">\r\n <el-input v-model=\"data.reqip \" readonly></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span=\"12 \">\r\n <el-form-item label=\"登录类型 \" prop=\"logtype \">\r\n <el-input v-model=\"logtype \" readonly></el-input>\r\n </el-form-item>\r\n </el-col>\r\n </el-row>\r\n <el-row>\r\n <el-col :span=\"12 \">\r\n <el-form-item label=\"操作开始时间 \" prop=\"actsta \">\r\n <el-input v-model=\"actsta \" readonly></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span=\"12 \">\r\n <el-form-item label=\"操作结束时间 \" prop=\"actend \">\r\n <el-input v-model=\"actend \" readonly></el-input>\r\n </el-form-item>\r\n </el-col>\r\n </el-row>\r\n <el-form-item label=\"请求终端类型 \" prop=\"devtype \">\r\n <el-input v-model=\"data.devtype \" readonly></el-input>\r\n </el-form-item>\r\n </el-form>\r\n </div>\r\n</template>\r\n<script>\r\nimport SignAPI from \"@/api/base/logs/LogsSign\";\r\nexport default {\r\n components: { SignAPI },\r\n props: {\r\n // 一定要暴露一个UUID属性,用来做编辑操作.\r\n uuid: String,\r\n // 暴露出去一个属性用来显示服务器校验失败错误\r\n error: Object\r\n },\r\n data() {\r\n return {\r\n loading: false,\r\n data: Object.assign({}),\r\n logtype: \"\",\r\n actsta: \"\",\r\n actend: \"\"\r\n };\r\n },\r\n watch: {\r\n uuid(val) {\r\n this.loadData();\r\n }\r\n },\r\n mounted() {\r\n // 最开始显示的时候要加载数据\r\n this.loadData();\r\n },\r\n methods: {\r\n // 因为表单里面没有按钮,所以需要暴露方法\r\n // 提供一个校验方法 ,\r\n validate() {\r\n return this.$refs.form.validate().then(() => this.data);\r\n },\r\n // 加载数据方法,如果有UUID,就加载数据,如果没有,就重置表单\r\n loadData() {\r\n if (!this.uuid) {\r\n this.$refs.form.resetFields();\r\n } else {\r\n this.loading = true;\r\n SignAPI.getLogsSignByUuid(this.uuid)\r\n .then(respData => {\r\n this.data = respData.datarows[0];\r\n this.loading = false;\r\n this.logtype = this.loginFormat(this.data.logtype);\r\n this.actsta = this.formatterDateTime(\r\n null,\r\n null,\r\n respData.datarows[0].actsta\r\n );\r\n this.actend = this.formatterDateTime(\r\n null,\r\n null,\r\n respData.datarows[0].actend\r\n );\r\n })\r\n .catch(resp => {});\r\n }\r\n },\r\n //登录类型\r\n loginFormat(par) {\r\n var stat = \"\";\r\n if (this.sysCode.loginType === undefined) {\r\n this.refresh();\r\n }\r\n this.sysCode.loginType.forEach(val => {\r\n if (par === val.value) {\r\n stat = val.label;\r\n return;\r\n }\r\n });\r\n return stat;\r\n },\r\n refresh() {\r\n this.$store.dispatch(\"base/refreshSysCode\", \"loginType\");\r\n }\r\n }\r\n};\r\n</script>\r\n<style lang=\"scss\" scoped>\r\n</style>\r\n","import mod from \"-!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/_thread-loader@2.1.2@thread-loader/dist/cjs.js!../../../node_modules/_babel-loader@8.0.6@babel-loader/lib/index.js!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./LogsSignInfo.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/_thread-loader@2.1.2@thread-loader/dist/cjs.js!../../../node_modules/_babel-loader@8.0.6@babel-loader/lib/index.js!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./LogsSignInfo.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./LogsSignInfo.vue?vue&type=template&id=1adbf638&scoped=true&\"\nimport script from \"./LogsSignInfo.vue?vue&type=script&lang=js&\"\nexport * from \"./LogsSignInfo.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1adbf638\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-card',{staticClass:\"flex-1\"},[_c('PageTable',{ref:\"dataTable\",attrs:{\"auto-load\":false,\"page-size\":10,\"data\":_vm.table.data,\"highlight-current-row\":\"\",\"stripe\":\"\",\"border\":\"\"},on:{\"load-data\":_vm.dataTableLoad}},[_c('el-table-column',{attrs:{\"prop\":\"actdefn\",\"label\":\"操作定义\",\"show-overflow-tooltip\":\"\"}}),_c('el-table-column',{attrs:{\"prop\":\"actdesc\",\"label\":\"操作描述\",\"show-overflow-tooltip\":\"\"}}),_c('el-table-column',{attrs:{\"prop\":\"reqip\",\"width\":\"100px\",\"label\":\"请求者地址\"}}),_c('el-table-column',{attrs:{\"prop\":\"actsta\",\"label\":\"登录开始时间\",\"formatter\":_vm.formatterDateTime,\"width\":\"150px\"}}),_c('el-table-column',{attrs:{\"prop\":\"actend\",\"label\":\"登录结束时间\",\"formatter\":_vm.formatterDateTime,\"width\":\"150px\"}}),_c('el-table-column',{attrs:{\"prop\":\"devtype\",\"label\":\"请求终端类型\",\"show-overflow-tooltip\":\"\"}}),_c('el-table-column',{attrs:{\"label\":\"处理代码\",\"show-overflow-tooltip\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_vm._v(\"\\n \"+_vm._s(scope.row.respcode+':'+(scope.row.respcode==\"000000\"?\"请求处理成功\":scope.row.respcode==\"000100\"?\"用户会话超时\":scope.row.respcode==\"000200\"?\"安全服务错误\":scope.row.respcode==\"000300\"?\"校验服务错误\":scope.row.respcode==\"000400\"?\"系统后台错误\":scope.row.respcode==\"000500\"?\"网络服务错误\":\"未知错误\"))+\"\\n \")]}}])}),_c('el-table-column',{attrs:{\"label\":\"操作\",\"fixed\":\"right\",\"width\":\"100\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('el-button',{attrs:{\"type\":\"primary\",\"icon\":\"el-icon-fa-search\",\"title\":\"查看数据\"},on:{\"click\":function($event){return _vm.showData(scope.row.uuid)}}}),_c('el-button',{attrs:{\"type\":\"primary\",\"icon\":\"el-icon-fa-info\",\"title\":\"查看服务\"},on:{\"click\":function($event){return _vm.showServ(scope.row.uuid)}}}),(scope.row.stakinfo)?_c('el-button',{attrs:{\"type\":\"primary\",\"icon\":\"el-icon-fa-book\",\"title\":\"查看堆栈信息\"},on:{\"click\":function($event){return _vm.showStak(scope.row.stakinfo)}}}):_vm._e()]}}])})],1),_c('el-dialog',{directives:[{name:\"draggable\",rawName:\"v-draggable\"}],attrs:{\"append-to-body\":\"\",\"title\":\"查看数据\",\"visible\":_vm.editor.datashow},on:{\"update:visible\":function($event){return _vm.$set(_vm.editor, \"datashow\", $event)}}},[_c('LogsOperData',{attrs:{\"uuid\":_vm.editor.uuid}})],1),_c('el-dialog',{directives:[{name:\"draggable\",rawName:\"v-draggable\"}],attrs:{\"append-to-body\":\"\",\"title\":\"查看服务\",\"visible\":_vm.editor.servshow},on:{\"update:visible\":function($event){return _vm.$set(_vm.editor, \"servshow\", $event)}}},[(_vm.editor.servshow)?_c('SessionServ',{attrs:{\"opid\":_vm.editor.opid}}):_vm._e()],1),_c('el-dialog',{directives:[{name:\"draggable\",rawName:\"v-draggable\"}],attrs:{\"append-to-body\":\"\",\"title\":\"查看堆栈信息\",\"visible\":_vm.editor.stakshow,\"readonly\":\"\"},on:{\"update:visible\":function($event){return _vm.$set(_vm.editor, \"stakshow\", $event)}}},[[(_vm.stakinfo)?_c('el-input',{attrs:{\"type\":\"textarea\",\"rows\":30},model:{value:(_vm.stakinfo),callback:function ($$v) {_vm.stakinfo=$$v},expression:\"stakinfo\"}}):_vm._e()]],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('PageTable',{ref:\"dataTable\",attrs:{\"auto-load\":false,\"page-size\":10,\"data\":_vm.table.data,\"highlight-current-row\":\"\",\"stripe\":\"\",\"border\":\"\"},on:{\"load-data\":_vm.dataTableLoad}},[_c('el-table-column',{attrs:{\"prop\":\"svrname\",\"label\":\"服务器名称\",\"show-overflow-tooltip\":\"\"}}),_c('el-table-column',{attrs:{\"prop\":\"servdefn\",\"label\":\"服务器定义\",\"show-overflow-tooltip\":\"\"}}),_c('el-table-column',{attrs:{\"prop\":\"servdesc\",\"label\":\"服务器信息\",\"width\":\"140px\",\"show-overflow-tooltip\":\"\"}}),_c('el-table-column',{attrs:{\"prop\":\"servsta\",\"label\":\"服务开始时间\",\"formatter\":_vm.formatterDate,\"width\":\"150px\"}}),_c('el-table-column',{attrs:{\"prop\":\"servend\",\"label\":\"服务结束时间\",\"formatter\":_vm.formatterDate,\"width\":\"150px\"}}),_c('el-table-column',{attrs:{\"prop\":\"respcode\",\"label\":\"处理代码\",\"show-overflow-tooltip\":\"\"}}),_c('el-table-column',{attrs:{\"prop\":\"respdesc\",\"label\":\"处理描述\",\"show-overflow-tooltip\":\"\"}}),_c('el-table-column',{attrs:{\"label\":\"操作\",\"fixed\":\"right\",\"width\":\"100\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('el-button',{attrs:{\"type\":\"primary\",\"icon\":\"el-icon-fa-search\",\"title\":\"查看数据\"},on:{\"click\":function($event){return _vm.showData(scope.row.opuuid)}}}),_c('el-button',{attrs:{\"type\":\"primary\",\"icon\":\"el-icon-fa-info\",\"title\":\"查看SQL\"},on:{\"click\":function($event){return _vm.showSQL(scope.row.uuid)}}}),(scope.row.stakinfo)?_c('el-button',{attrs:{\"type\":\"primary\",\"icon\":\"el-icon-fa-book\",\"title\":\"查看堆栈信息\"},on:{\"click\":function($event){return _vm.showStak(scope.row.stakinfo)}}}):_vm._e()]}}])})],1),_c('el-dialog',{directives:[{name:\"draggable\",rawName:\"v-draggable\"}],attrs:{\"append-to-body\":\"\",\"title\":\"查看数据\",\"visible\":_vm.editor.datashow},on:{\"update:visible\":function($event){return _vm.$set(_vm.editor, \"datashow\", $event)}}},[_c('LogsOperData',{attrs:{\"uuid\":_vm.editor.uuid}})],1),_c('el-dialog',{directives:[{name:\"draggable\",rawName:\"v-draggable\"}],attrs:{\"append-to-body\":\"\",\"title\":\"查看SQL\",\"visible\":_vm.editor.sqlshow},on:{\"update:visible\":function($event){return _vm.$set(_vm.editor, \"sqlshow\", $event)}}},[_c('LogsSqlData',{attrs:{\"seuuid\":_vm.editor.seuuid}})],1),_c('el-dialog',{directives:[{name:\"draggable\",rawName:\"v-draggable\"}],attrs:{\"append-to-body\":\"\",\"title\":\"查看堆栈信息\",\"visible\":_vm.editor.stakshow,\"readonly\":\"\"},on:{\"update:visible\":function($event){return _vm.$set(_vm.editor, \"stakshow\", $event)}}},[[(_vm.stakinfo)?_c('el-input',{attrs:{\"rows\":30,\"type\":\"textarea\",\"readonly\":\"\"},model:{value:(_vm.stakinfo),callback:function ($$v) {_vm.stakinfo=$$v},expression:\"stakinfo\"}}):_vm._e(),(!_vm.stakinfo)?_c('h1',{staticStyle:{\"text-align\":\"center\",\"font-size\":\"6px\",\"height\":\"300px\",\"line-height\":\"300px\"}},[_vm._v(\"暂无数据\")]):_vm._e()]],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--登录日志会话服务页面-->\n<template>\n <div>\n <PageTable ref=\"dataTable\" :auto-load=\"false\" :page-size=\"10\" @load-data=\"dataTableLoad\" :data=\"table.data\" highlight-current-row stripe border>\n \n <el-table-column prop=\"svrname\" label=\"服务器名称\" show-overflow-tooltip></el-table-column>\n <el-table-column prop=\"servdefn\" label=\"服务器定义\" show-overflow-tooltip></el-table-column>\n <el-table-column prop=\"servdesc\" label=\"服务器信息\" width=\"140px\" show-overflow-tooltip></el-table-column>\n <el-table-column prop=\"servsta\" label=\"服务开始时间\" :formatter=\"formatterDate\" width=\"150px\"></el-table-column>\n <el-table-column prop=\"servend\" label=\"服务结束时间\" :formatter=\"formatterDate\" width=\"150px\"></el-table-column>\n <el-table-column prop=\"respcode\" label=\"处理代码\" show-overflow-tooltip></el-table-column>\n <el-table-column prop=\"respdesc\" label=\"处理描述\" show-overflow-tooltip></el-table-column>\n <el-table-column label=\"操作\" fixed='right' width='100'>\n <template slot-scope=\"scope\">\n <el-button type=\"primary\" @click=\"showData(scope.row.opuuid)\" icon=\"el-icon-fa-search\" title=\"查看数据\"></el-button>\n <el-button type=\"primary\" @click=\"showSQL(scope.row.uuid)\" icon=\"el-icon-fa-info\" title=\"查看SQL\"></el-button>\n <el-button type=\"primary\" v-if='scope.row.stakinfo' @click=\"showStak(scope.row.stakinfo)\" icon=\"el-icon-fa-book\" title=\"查看堆栈信息\"></el-button>\n </template>\n </el-table-column>\n </PageTable>\n <el-dialog append-to-body v-draggable title=\"查看数据\" :visible.sync=\"editor.datashow\">\n <LogsOperData :uuid=\"editor.uuid\"></LogsOperData>\n </el-dialog>\n <el-dialog append-to-body v-draggable title=\"查看SQL\" :visible.sync=\"editor.sqlshow\">\n <LogsSqlData :seuuid=\"editor.seuuid\">\n </LogsSqlData>\n </el-dialog>\n <el-dialog append-to-body v-draggable title=\"查看堆栈信息\" :visible.sync=\"editor.stakshow\" readonly>\n <template>\n <el-input :rows=\"30\" v-if=\"stakinfo\" v-model=\"stakinfo\" type=\"textarea\" readonly></el-input>\n <h1 v-if=\"!stakinfo\" style=\"text-align: center;font-size: 6px;height: 300px;line-height: 300px;\">暂无数据</h1>\n </template>\n </el-dialog>\n </div>\n</template>\n<script>\nimport LogsOperData from \"./LogsOperData\";\nimport LogsSqlData from \"./LogsSqlData\";\nimport LogsSignAPI from \"@/api/base/logs/LogsSign\";\n\nexport default {\n components: { LogsOperData, LogsSqlData },\n props: {\n uuid: null,\n opid: null,\n seuuid: null\n },\n data() {\n return {\n stakinfo: \"\",\n sql: \"\",\n editor: {\n uuid: null,\n opid: null,\n seuuid: null,\n datashow: false,\n sqlshow: false,\n stakshow: false,\n visible: false, // 编辑器-显示\n loading: true\n },\n table: {\n data: []\n }\n };\n },\n mounted() {\n this.loadInfo(this.uuid, this.opid);\n },\n watch: {\n uuid(uuid) {\n this.loadInfo(uuid);\n },\n opid(opid) {\n this.loadInfo(opid);\n }\n },\n methods: {\n showStak(stakinfo) {\n this.editor.stakshow = true;\n this.stakinfo = stakinfo;\n },\n showSQL(seuuid) {\n this.editor.seuuid = seuuid;\n this.editor.sqlshow = true;\n },\n showData(uuid) {\n this.editor.uuid = uuid;\n this.editor.datashow = true;\n },\n // 加载数据\n loadInfo(uuid, opid) {\n this.$refs.dataTable.load({ opid: opid, sesId: uuid });\n },\n queryData() {},\n dataTableLoad(params, resolve) {\n LogsSignAPI.queryLogsServ(params)\n .then(resolve) // 让表格解析你提供的数据 (主要解析页码等)\n .then(respData => (this.table.data = respData.datarows)); // 本地也记录一下数据 (提供给表示显示的数据)\n }\n }\n};\n</script>\n","import mod from \"-!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/_thread-loader@2.1.2@thread-loader/dist/cjs.js!../../../node_modules/_babel-loader@8.0.6@babel-loader/lib/index.js!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./SessionServ.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/_thread-loader@2.1.2@thread-loader/dist/cjs.js!../../../node_modules/_babel-loader@8.0.6@babel-loader/lib/index.js!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./SessionServ.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SessionServ.vue?vue&type=template&id=134ab266&\"\nimport script from \"./SessionServ.vue?vue&type=script&lang=js&\"\nexport * from \"./SessionServ.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","<!--登录日志会话操作页面-->\n<template>\n <el-card class=\"flex-1\">\n <PageTable ref=\"dataTable\" :auto-load=\"false\" :page-size=\"10\" @load-data=\"dataTableLoad\" :data=\"table.data\" highlight-current-row stripe border>\n \n <el-table-column prop=\"actdefn\" label=\"操作定义\" show-overflow-tooltip></el-table-column>\n <el-table-column prop=\"actdesc\" label=\"操作描述\" show-overflow-tooltip></el-table-column>\n <el-table-column prop=\"reqip\" width=\"100px\" label=\"请求者地址\"></el-table-column>\n <el-table-column prop=\"actsta\" label=\"登录开始时间\" :formatter=\"formatterDateTime\" width=\"150px\"></el-table-column>\n <el-table-column prop=\"actend\" label=\"登录结束时间\" :formatter=\"formatterDateTime\" width=\"150px\"></el-table-column>\n <el-table-column prop=\"devtype\" label=\"请求终端类型\" show-overflow-tooltip></el-table-column>\n <el-table-column label=\"处理代码\" show-overflow-tooltip>\n <template slot-scope='scope'>\n {{scope.row.respcode+':'+(scope.row.respcode==\"000000\"?\"请求处理成功\":scope.row.respcode==\"000100\"?\"用户会话超时\":scope.row.respcode==\"000200\"?\"安全服务错误\":scope.row.respcode==\"000300\"?\"校验服务错误\":scope.row.respcode==\"000400\"?\"系统后台错误\":scope.row.respcode==\"000500\"?\"网络服务错误\":\"未知错误\")}}\n </template>\n </el-table-column>\n <el-table-column label=\"操作\" fixed='right' width='100'>\n <template slot-scope=\"scope\">\n <el-button type=\"primary\" @click=\"showData(scope.row.uuid)\" icon=\"el-icon-fa-search\" title=\"查看数据\"></el-button>\n <el-button type=\"primary\" @click=\"showServ(scope.row.uuid)\" icon=\"el-icon-fa-info\" title=\"查看服务\"></el-button>\n <el-button type=\"primary\" v-if=\"scope.row.stakinfo\" @click=\"showStak(scope.row.stakinfo)\" icon=\"el-icon-fa-book\" title=\"查看堆栈信息\"></el-button>\n </template>\n </el-table-column>\n </PageTable>\n <el-dialog append-to-body v-draggable title=\"查看数据\" :visible.sync=\"editor.datashow\">\n <LogsOperData :uuid=\"editor.uuid\"></LogsOperData>\n </el-dialog>\n <el-dialog append-to-body v-draggable title=\"查看服务\" :visible.sync=\"editor.servshow\">\n <SessionServ :opid=\"editor.opid\" v-if=\"editor.servshow\"></SessionServ>\n </el-dialog>\n <el-dialog append-to-body v-draggable title=\"查看堆栈信息\" :visible.sync=\"editor.stakshow\" readonly>\n <template>\n <el-input v-if=\"stakinfo\" type=\"textarea\" :rows=\"30\" v-model=\"stakinfo\"></el-input>\n </template>\n </el-dialog>\n </el-card>\n</template>\n<script>\nimport LogsOperData from \"./LogsOperData\";\nimport SessionServ from \"./SessionServ\";\nimport LogsSignAPI from \"@/api/base/logs/LogsSign\";\n\nexport default {\n components: { LogsOperData, SessionServ },\n props: {\n uuid: null\n },\n data() {\n return {\n stakinfo: \"\",\n table: {\n data: []\n },\n editor: {\n uuid: null,\n datashow: false,\n servshow: false,\n stakshow: false,\n visible: false, // 编辑器-显示\n loading: true\n }\n };\n },\n mounted() {\n this.loadInfo(this.uuid);\n },\n watch: {\n uuid(uuid) {\n this.loadInfo(this.uuid);\n }\n },\n methods: {\n showStak(stakinfo) {\n this.editor.stakshow = true;\n this.stakinfo = stakinfo;\n },\n showData(uuid) {\n this.editor.uuid = uuid;\n this.editor.datashow = true;\n },\n showServ(opid) {\n this.editor.opid = opid;\n this.editor.servshow = true;\n },\n // 加载数据\n loadInfo(uuid) {\n this.$refs.dataTable.load({ sesId: uuid });\n },\n queryData() {},\n dataTableLoad(params, resolve) {\n LogsSignAPI.queryLogsOper(params)\n .then(resolve) // 让表格解析你提供的数据 (主要解析页码等)\n .then(respData => (this.table.data = respData.datarows)); // 本地也记录一下数据 (提供给表示显示的数据)\n }\n }\n};\n</script>\n","import mod from \"-!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/_thread-loader@2.1.2@thread-loader/dist/cjs.js!../../../node_modules/_babel-loader@8.0.6@babel-loader/lib/index.js!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./SessionOper.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/_thread-loader@2.1.2@thread-loader/dist/cjs.js!../../../node_modules/_babel-loader@8.0.6@babel-loader/lib/index.js!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./SessionOper.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SessionOper.vue?vue&type=template&id=784c4920&\"\nimport script from \"./SessionOper.vue?vue&type=script&lang=js&\"\nexport * from \"./SessionOper.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","<!-- 登录日志管理页面 -->\n<template>\n <div>\n <el-card class=\"flex-1\">\n <template slot=\"header\">\n <span>登录日志管理</span>\n </template>\n <el-form :model=\"queryform\" ref=\"queryform\">\n <el-row>\n <el-col :lg='4' :sm='12'>\n <el-form-item label=\"服务器IP\" prop=\"svrIp\">\n <el-input v-model=\"queryform.svrIp\"></el-input>\n </el-form-item>\n </el-col>\n <el-col :lg='4' :sm='12'>\n <el-form-item label=\"登录账号\" prop=\"userId\">\n <el-input v-model=\"queryform.userId\"></el-input>\n </el-form-item>\n </el-col>\n <el-col :lg='4' :sm='12'>\n <el-form-item label=\"处理结果\" prop=\"sesId\">\n <el-select placeholder=\"请选择\" v-sys-code=\"'questionType'\" v-model=\"queryform.respcode\" clearable>\n <el-option v-for=\"item in RESPCODE\" :key=\"item.key\" :label=\"item.label\" :value=\"item.key\" />\n </el-select>\n </el-form-item>\n </el-col>\n <el-col :lg='4' :sm='12'>\n <el-form-item label=\"登录开始时间\" prop=\"actSta\">\n <el-date-picker type=\"date\" v-model=\"queryform.actSta\" value-format=\"timestamp\"></el-date-picker>\n </el-form-item>\n </el-col>\n </el-row>\n </el-form>\n </el-card>\n <el-card class=\"flex-1 margin-top-2\">\n <template slot=\"header\">\n <span>登录日志列表</span>\n <div class=\"pull-right\">\n <el-button type=\"primary\" @click=\"queryData\" icon=\"el-icon-fa-search\" title=\"查询\"></el-button>\n <el-button type=\"primary\" @click=\"resetquery\" icon=\"el-icon-fa-reply-all\" title=\"重置\"></el-button>\n </div>\n </template>\n <PageTable hideTitle ref=\"dataTable\" :auto-load=\"true\" :page-size=\"10\" @load-data=\"dataTableLoad\" :data=\"table.data\" highlight-current-row stripe border>\n <el-table-column prop=\"userid\" label=\"登录账号\" show-overflow-tooltip></el-table-column>\n <el-table-column prop=\"username\" label=\"用户名称\" show-overflow-tooltip></el-table-column>\n <el-table-column prop=\"svrip\" label=\"服务器地址\" width=\"100px\" show-overflow-tooltip></el-table-column>\n <el-table-column prop=\"svrname\" label=\"服务器名称\" width=\"100px\" show-overflow-tooltip></el-table-column>\n <el-table-column prop=\"logtype\" dict='logtype' label=\"登录类型\">\n <template slot-scope=\"scope\">\n <SysCode :type=\"'logtype'\" :value=\"scope.row.logtype\"></SysCode>\n </template>\n </el-table-column>\n <el-table-column prop=\"reqip\" label=\"请求者地址\" width=\"100px\" show-overflow-tooltip></el-table-column>\n <el-table-column prop=\"acttype\" dict='acttype' label=\"协议类型\">\n <template slot-scope=\"scope\">\n <SysCode :type=\"'acttype'\" :value=\"scope.row.acttype\"></SysCode>\n </template>\n </el-table-column>\n <el-table-column prop=\"sesid\" label=\"会话标识\" width=\"250px\" show-overflow-tooltip></el-table-column>\n <el-table-column prop=\"actsta\" label=\"操作时间\" :formatter=\"formatterDateTime\" width=\"150px\"></el-table-column>\n <el-table-column prop=\"optime\" label=\"操作耗时\" placement=\"top\" show-overflow-tooltip>\n </el-table-column>\n <el-table-column prop=\"respcode\" label=\"处理代码\" show-overflow-tooltip>\n <template slot-scope='scope'>\n {{scope.row.respcode+':'+(scope.row.respcode==\"000000\"?\"请求处理成功\":scope.row.respcode==\"000100\"?\"用户会话超时\":scope.row.respcode==\"000200\"?\"安全服务错误\":scope.row.respcode==\"000300\"?\"校验服务错误\":scope.row.respcode==\"000400\"?\"系统后台错误\":scope.row.respcode==\"000500\"?\"网络服务错误\":\"未知错误\")}}\n </template>\n </el-table-column>\n <el-table-column label=\"操作\" fixed='right' width='100' align='center'>\n <template slot-scope=\"scope\">\n <el-button type=\"primary\" @click=\"showInfo(scope.row.uuid)\" icon=\"el-icon-fa-eye\" title=\"查看详情\"></el-button>\n <el-button type=\"primary\" v-if=\"scope.row.servflag\" icon=\"el-icon-fa-bookmark-o\" title=\"查看会话服务\" @click=\"showService(scope.row.sesid)\"></el-button>\n <el-button type=\"primary\" v-if=\"scope.row.operflag\" icon=\"el-icon-fa-exchange\" title=\"查看会话操作\" @click=\"showSession(scope.row.sesid)\"></el-button>\n </template>\n </el-table-column>\n </PageTable>\n <el-dialog append-to-body v-draggable title=\"查看详情\" :visible.sync=\"currentInfo.show\" width=\"600px\">\n <SignInfo :uuid=\"currentInfo.uuid\" :error=\"currentInfo.error\" v-if=\"currentInfo.show\"></SignInfo>\n </el-dialog>\n\n </el-card>\n </div>\n</template>\n<script>\nimport SignInfo from \"./LogsSignInfo\";\nimport SessionOper from \"./SessionOper\";\nimport SessionServ from \"./SessionServ\";\nimport LogsSignAPI from \"@/api/base/logs/LogsSign\";\n\nexport default {\n components: { SessionOper, SessionServ, SignInfo },\n data() {\n return {\n queryform: {\n svrIp: \"\",\n userId: \"\",\n respCode: \"\",\n actSta: \"\",\n respcode: \"\"\n },\n RESPCODE: [\n {\n key: \"1\",\n label: \"成功\"\n },\n {\n key: \"2\",\n label: \"失败\"\n }\n ],\n table: {\n data: []\n },\n currentInfo: {\n error: {},\n uuid: \"\",\n show: false,\n loading: false\n }\n };\n },\n methods: {\n showInfo(uuid) {\n this.currentInfo.uuid = uuid;\n this.currentInfo.show = true;\n },\n queryData() {\n this.$refs.dataTable.load(this.queryform);\n },\n resetquery() {\n this.$refs.queryform.resetFields();\n this.queryform.actSta = \"\";\n this.queryform.respcode = \"\";\n },\n dataTableLoad(params, resolve) {\n LogsSignAPI.queryLogsSign(params)\n .then(resolve) // 让表格解析你提供的数据 (主要解析页码等)\n .then(respData => (this.table.data = respData.datarows)); // 本地也记录一下数据 (提供给表示显示的数据)\n },\n async showSession(sesId) {\n await this.confirm(null, \"是否跳转至交互日志页面?\");\n await this.removeView(\"交互日志\");\n await this.addView(\"交互日志\", \"/logs/LogsOper\", { sesId: sesId });\n },\n async showService(sesId) {\n await this.confirm(null, \"是否跳转至服务日志页面?\");\n await this.removeView(\"服务日志\");\n await this.addView(\"服务日志\", \"/logs/LogsServ\", { sesId: sesId });\n },\n addView(name, path, propsData) {\n let idx = this.$tabView.viewList.findIndex(item => item.name === name);\n if (idx === -1) this.$tabView.viewList.push({ name, path, propsData });\n this.$tabView.active = name;\n },\n removeView(name) {\n let idx = this.$tabView.viewList.findIndex(item => item.name === name);\n if (idx > -1) {\n this.$tabView.active = this.$tabView.viewList[idx - 1].name;\n this.$tabView.viewList.splice(idx, 1);\n }\n }\n }\n};\n</script>\n","import mod from \"-!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/_thread-loader@2.1.2@thread-loader/dist/cjs.js!../../../node_modules/_babel-loader@8.0.6@babel-loader/lib/index.js!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./LogsSign.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/_thread-loader@2.1.2@thread-loader/dist/cjs.js!../../../node_modules/_babel-loader@8.0.6@babel-loader/lib/index.js!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./LogsSign.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./LogsSign.vue?vue&type=template&id=0d02b780&\"\nimport script from \"./LogsSign.vue?vue&type=script&lang=js&\"\nexport * from \"./LogsSign.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","/* eslint-disable */\r\nfunction CronExpressionValidator() {}\r\n\r\nCronExpressionValidator.validateCronExpression = function(value) {\r\n var results = true;\r\n if (value == null || value.length == 0) {\r\n return false;\r\n }\r\n\r\n // split and test length\r\n var expressionArray = value.split(\" \");\r\n var len = expressionArray.length;\r\n\r\n if (len != 6 && len != 7) {\r\n return false;\r\n }\r\n\r\n // check only one question mark\r\n var match = value.match(/\\?/g);\r\n if (match != null && match.length > 1) {\r\n return false;\r\n }\r\n\r\n // check only one question mark\r\n var dayOfTheMonthWildcard = \"\";\r\n\r\n // if appropriate length test parts\r\n // [0] Seconds 0-59 , - * /\r\n if (CronExpressionValidator.isNotWildCard(expressionArray[0], /[\\*]/gi)) {\r\n if (\r\n !CronExpressionValidator.segmentValidator(\r\n \"([0-9\\\\\\\\,-\\\\/])\",\r\n expressionArray[0],\r\n [0, 59],\r\n \"seconds\"\r\n )\r\n ) {\r\n return false;\r\n }\r\n }\r\n\r\n // [1] Minutes 0-59 , - * /\r\n if (CronExpressionValidator.isNotWildCard(expressionArray[1], /[\\*]/gi)) {\r\n if (\r\n !CronExpressionValidator.segmentValidator(\r\n \"([0-9\\\\\\\\,-\\\\/])\",\r\n expressionArray[1],\r\n [0, 59],\r\n \"minutes\"\r\n )\r\n ) {\r\n return false;\r\n }\r\n }\r\n\r\n // [2] Hours 0-23 , - * /\r\n if (CronExpressionValidator.isNotWildCard(expressionArray[2], /[\\*]/gi)) {\r\n if (\r\n !CronExpressionValidator.segmentValidator(\r\n \"([0-9\\\\\\\\,-\\\\/])\",\r\n expressionArray[2],\r\n [0, 23],\r\n \"hours\"\r\n )\r\n ) {\r\n return false;\r\n }\r\n }\r\n\r\n // [3] Day of month 1-31 , - * ? / L W C\r\n if (CronExpressionValidator.isNotWildCard(expressionArray[3], /[\\*\\?]/gi)) {\r\n if (\r\n !CronExpressionValidator.segmentValidator(\r\n \"([0-9LWC\\\\\\\\,-\\\\/])\",\r\n expressionArray[3],\r\n [1, 31],\r\n \"days of the month\"\r\n )\r\n ) {\r\n return false;\r\n }\r\n } else {\r\n dayOfTheMonthWildcard = expressionArray[3];\r\n }\r\n\r\n // [4] Month 1-12 or JAN-DEC , - * /\r\n if (CronExpressionValidator.isNotWildCard(expressionArray[4], /[\\*]/gi)) {\r\n expressionArray[4] = CronExpressionValidator.convertMonthsToInteger(\r\n expressionArray[4]\r\n );\r\n if (\r\n !CronExpressionValidator.segmentValidator(\r\n \"([0-9\\\\\\\\,-\\\\/])\",\r\n expressionArray[4],\r\n [1, 12],\r\n \"months\"\r\n )\r\n ) {\r\n return false;\r\n }\r\n }\r\n\r\n // [5] Day of week 1-7 or SUN-SAT , - * ? / L C #\r\n if (CronExpressionValidator.isNotWildCard(expressionArray[5], /[\\*\\?]/gi)) {\r\n expressionArray[5] = CronExpressionValidator.convertDaysToInteger(\r\n expressionArray[5]\r\n );\r\n if (\r\n !CronExpressionValidator.segmentValidator(\r\n \"([0-9LC#\\\\\\\\,-\\\\/])\",\r\n expressionArray[5],\r\n [1, 7],\r\n \"days of the week\"\r\n )\r\n ) {\r\n return false;\r\n }\r\n } else {\r\n if (dayOfTheMonthWildcard == String(expressionArray[5])) {\r\n return false;\r\n }\r\n }\r\n\r\n // [6] Year empty or 1970-2099 , - * /\r\n if (len == 7) {\r\n if (CronExpressionValidator.isNotWildCard(expressionArray[6], /[\\*]/gi)) {\r\n if (\r\n !CronExpressionValidator.segmentValidator(\r\n \"([0-9\\\\\\\\,-\\\\/])\",\r\n expressionArray[6],\r\n [1970, 2099],\r\n \"years\"\r\n )\r\n ) {\r\n return false;\r\n }\r\n }\r\n }\r\n return true;\r\n};\r\n\r\n// ----------------------------------\r\n// isNotWildcard 静态方法;\r\n// ----------------------------------\r\nCronExpressionValidator.isNotWildCard = function(value, expression) {\r\n var match = value.match(expression);\r\n return match == null || match.length == 0 ? true : false;\r\n};\r\n\r\n// ----------------------------------\r\n// convertDaysToInteger 静态方法;\r\n// ----------------------------------\r\nCronExpressionValidator.convertDaysToInteger = function(value) {\r\n var v = value;\r\n v = v.replace(/SUN/gi, \"1\");\r\n v = v.replace(/MON/gi, \"2\");\r\n v = v.replace(/TUE/gi, \"3\");\r\n v = v.replace(/WED/gi, \"4\");\r\n v = v.replace(/THU/gi, \"5\");\r\n v = v.replace(/FRI/gi, \"6\");\r\n v = v.replace(/SAT/gi, \"7\");\r\n return v;\r\n};\r\n\r\n// ----------------------------------\r\n// convertMonthsToInteger 静态方法;\r\n// ----------------------------------\r\nCronExpressionValidator.convertMonthsToInteger = function(value) {\r\n var v = value;\r\n v = v.replace(/JAN/gi, \"1\");\r\n v = v.replace(/FEB/gi, \"2\");\r\n v = v.replace(/MAR/gi, \"3\");\r\n v = v.replace(/APR/gi, \"4\");\r\n v = v.replace(/MAY/gi, \"5\");\r\n v = v.replace(/JUN/gi, \"6\");\r\n v = v.replace(/JUL/gi, \"7\");\r\n v = v.replace(/AUG/gi, \"8\");\r\n v = v.replace(/SEP/gi, \"9\");\r\n v = v.replace(/OCT/gi, \"10\");\r\n v = v.replace(/NOV/gi, \"11\");\r\n v = v.replace(/DEC/gi, \"12\");\r\n return v;\r\n};\r\n\r\n// ----------------------------------\r\n// segmentValidator 静态方法;\r\n// ----------------------------------\r\nCronExpressionValidator.segmentValidator = function(\r\n expression,\r\n value,\r\n range,\r\n segmentName\r\n) {\r\n var v = value;\r\n var numbers = new Array();\r\n\r\n // first, check for any improper segments\r\n var reg = new RegExp(expression, \"gi\");\r\n if (!reg.test(v)) {\r\n return false;\r\n }\r\n\r\n // check duplicate types\r\n // check only one L\r\n var dupMatch = value.match(/L/gi);\r\n if (dupMatch != null && dupMatch.length > 1) {\r\n return false;\r\n }\r\n\r\n // look through the segments\r\n // break up segments on ','\r\n // check for special cases L,W,C,/,#,-\r\n var split = v.split(\",\");\r\n var i = -1;\r\n var l = split.length;\r\n var match;\r\n\r\n while (++i < l) {\r\n // set vars\r\n var checkSegment = split[i];\r\n var n;\r\n var pattern = /(\\w*)/;\r\n match = pattern.exec(checkSegment);\r\n\r\n // if just number\r\n pattern = /(\\w*)\\-?\\d+(\\w*)/;\r\n match = pattern.exec(checkSegment);\r\n\r\n if (\r\n match &&\r\n match[0] == checkSegment &&\r\n checkSegment.indexOf(\"L\") == -1 &&\r\n checkSegment.indexOf(\"l\") == -1 &&\r\n checkSegment.indexOf(\"C\") == -1 &&\r\n checkSegment.indexOf(\"c\") == -1 &&\r\n checkSegment.indexOf(\"W\") == -1 &&\r\n checkSegment.indexOf(\"w\") == -1 &&\r\n checkSegment.indexOf(\"/\") == -1 &&\r\n (checkSegment.indexOf(\"-\") == -1 || checkSegment.indexOf(\"-\") == 0) &&\r\n checkSegment.indexOf(\"#\") == -1\r\n ) {\r\n n = match[0];\r\n\r\n if (n && !isNaN(n)) numbers.push(n);\r\n else if (match[0] == \"0\") numbers.push(n);\r\n continue;\r\n }\r\n // includes L, C, or w\r\n pattern = /(\\w*)L|C|W(\\w*)/i;\r\n match = pattern.exec(checkSegment);\r\n\r\n if (\r\n match &&\r\n match[0] != \"\" &&\r\n (checkSegment.indexOf(\"L\") > -1 ||\r\n checkSegment.indexOf(\"l\") > -1 ||\r\n checkSegment.indexOf(\"C\") > -1 ||\r\n checkSegment.indexOf(\"c\") > -1 ||\r\n checkSegment.indexOf(\"W\") > -1 ||\r\n checkSegment.indexOf(\"w\") > -1)\r\n ) {\r\n // check just l or L\r\n if (checkSegment == \"L\" || checkSegment == \"l\") continue;\r\n pattern = /(\\w*)\\d+(l|c|w)?(\\w*)/i;\r\n match = pattern.exec(checkSegment);\r\n\r\n // if something before or after\r\n if (!match || match[0] != checkSegment) {\r\n continue;\r\n }\r\n\r\n // get the number\r\n var numCheck = match[0];\r\n numCheck = numCheck.replace(/(l|c|w)/gi, \"\");\r\n\r\n n = Number(numCheck);\r\n\r\n if (n && !isNaN(n)) numbers.push(n);\r\n else if (match[0] == \"0\") numbers.push(n);\r\n continue;\r\n }\r\n\r\n var numberSplit;\r\n\r\n // includes /\r\n if (checkSegment.indexOf(\"/\") > -1) {\r\n // take first #\r\n numberSplit = checkSegment.split(\"/\");\r\n\r\n if (numberSplit.length != 2) {\r\n continue;\r\n } else {\r\n n = numberSplit[0];\r\n\r\n if (n && !isNaN(n)) numbers.push(n);\r\n else if (numberSplit[0] == \"0\") numbers.push(n);\r\n continue;\r\n }\r\n }\r\n\r\n // includes #\r\n if (checkSegment.indexOf(\"#\") > -1) {\r\n // take first #\r\n numberSplit = checkSegment.split(\"#\");\r\n\r\n if (numberSplit.length != 2) {\r\n continue;\r\n } else {\r\n n = numberSplit[0];\r\n\r\n if (n && !isNaN(n)) numbers.push(n);\r\n else if (numberSplit[0] == \"0\") numbers.push(n);\r\n continue;\r\n }\r\n }\r\n\r\n // includes -\r\n if (checkSegment.indexOf(\"-\") > 0) {\r\n // take both #\r\n numberSplit = checkSegment.split(\"-\");\r\n\r\n if (numberSplit.length != 2) {\r\n continue;\r\n } else if (Number(numberSplit[0]) > Number(numberSplit[1])) {\r\n continue;\r\n } else {\r\n n = numberSplit[0];\r\n\r\n if (n && !isNaN(n)) numbers.push(n);\r\n else if (numberSplit[0] == \"0\") numbers.push(n);\r\n n = numberSplit[1];\r\n\r\n if (n && !isNaN(n)) numbers.push(n);\r\n else if (numberSplit[1] == \"0\") numbers.push(n);\r\n continue;\r\n }\r\n }\r\n }\r\n // lastly, check that all the found numbers are in range\r\n i = -1;\r\n l = numbers.length;\r\n\r\n if (l == 0) return false;\r\n\r\n while (++i < l) {\r\n // alert(numbers[i]);\r\n if (numbers[i] < range[0] || numbers[i] > range[1]) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n};\r\n\r\nexport default CronExpressionValidator;\r\n","import axios from \"axios\";\nimport Vue from \"vue\";\nimport Store from \"@/store\";\nimport { Message, Notification } from \"element-ui\";\n\nimport config from \"../config\";\nimport Util from \"./Util\";\nimport CacheStores from \"../service/module/CacheStores\";\nimport querystring from \"querystring\";\n\n// 支持额外属性:\n// ① message: 如果为false,则不会提示服务器返回respDesc信息\n// ② cache : 使用本地缓存?如果使用,数据会本地缓存一份.可以穿字符串,作为key的前缀,如果传递force,表示强刷\n\n// 记录最低数据权限对象缓存\n// const dataLowAuth = new Map();\n// 当前使用的数据权限(当前路由信息地址)\n// let currentDataAuth = '';\n\n// 应用使用的AJAX库\nlet ajax = axios.create({\n baseURL: document.baseURI,\n params: {},\n validateStatus: function (status) {\n // 服务器响应200-299状态码,才判定成功\n return status >= 200 && status < 300;\n },\n timeout: config.tomeOut,\n //防止 RFC 7230 and RFC3986 URL规范\n paramsSerializer(params) {\n return querystring.stringify(params);\n }\n});\n\n/**\n * 根据配置,找到对应的缓存key\n * @param {String} category\n * @param {String} url\n * @param {Object} params\n */\nconst getStorageKey = (category, url, params) => {\n Util.safety.safeData(params);\n let queryStr = querystring.stringify(params);\n return category + \":\" + url + (queryStr ? \"?\" + queryStr : \"\");\n};\n\n// 代理get请求\n// ①进行ajax请求缓存,仅缓存get请求,开启缓存,使用配置项 cache : true\nconst origGet = ajax.get;\najax.get = (path, config) => {\n if (!config) {\n return origGet(path, config);\n }\n // 处理如果是下载\n if (config.params && config.params.agile && config.params.down) {\n let fullURI = ajax.defaults.baseURL + path + \"?\" + querystring.stringify(config.params);\n window.open(fullURI);\n return new Promise((resolve, reject) => {\n });\n }\n\n if (config && config.cache) {\n let fullURL = ajax.defaults.baseURL + path;\n if (config.cache === true) {\n config.cache = \"unknow_cache_key\";\n }\n let cacheStore = config.cacheStore || CacheStores.ajaxStore;\n fullURL = fullURL.replace(\"// \", \"/\");\n let storageKey = getStorageKey(config.cache, fullURL, config.params);\n if (storageKey !== null) {\n return new Promise((resolve, reject) => {\n if (config.force === true) {\n cacheStore.removeItem(storageKey).then(() => {\n origGet(path, config)\n .then(resolve)\n .catch(reject);\n });\n } else {\n cacheStore\n .getItem(storageKey)\n .then(data => {\n if (data) {\n resolve(data);\n } else {\n origGet(path, config)\n .then(resolve)\n .catch(reject);\n }\n })\n .catch(() => {\n origGet(path, config)\n .then(resolve)\n .catch(reject);\n });\n }\n });\n }\n }\n return origGet(path, config);\n};\n\nlet progressing = false;\n\n// 请求处理\nfunction onRequest(config) {\n // 校正page 服务器从0开始.client 从1开始\n if (config.params) {\n config.params.page && config.params.page--;\n }\n\n // 防止非法数据\n Util.safety.preSubmit(config.data);\n Util.safety.preSubmit(config.params);\n\n if (progressing === false) {\n Vue.prototype.$Progress.start();\n progressing = true;\n }\n return config;\n}\n\n/**\n * 请求错误\n * @param error\n * @return {Promise.<*>}\n */\nfunction onRequestError(error) {\n return Promise.reject(error);\n}\n\n/**\n * 响应处理 , 200状态下的响应\n * ② 只有,当服务器返回 000000 的时候,才返回.否则抛弃\n * @param {*} response\n */\nfunction onResponse(response) {\n progressing = false;\n Vue.prototype.$Progress.finish();\n let { respCode, respDesc } = response.data;\n\n //本次服务器处理 - 成功\n if (respCode === undefined || respCode === config.respCode.success) {\n // 不是get请求 && 有respDesc && message属性不是false && respDesc是文本\n if (response.config.method !== \"get\" && response.data.respDesc && typeof response.data.respDesc === typeof String() && response.config.message !== false) {\n Message.success({\n message: respDesc,\n duration: 1000\n });\n }\n\n // 插入缓存\n let config = response.config;\n\n //如果需要缓存,则缓存起来\n if (config && config.cache) {\n let cacheStore = config.cacheStore;\n let storageKey = getStorageKey(config.cache, config.url, config.params);\n cacheStore.setItem(storageKey, response.data);\n }\n\n return response.data;\n }\n\n //本次服务器处理 - 失败\n if (respCode !== config.respCode.success) {\n let error = new Error(respDesc);\n\n // 登录超时情况\n if (respCode === config.respCode.timeout) {\n try {\n Store.dispatch(\"base/timeout\");\n } catch (ignore) {\n }\n return response.data;\n }\n\n // 系统错误,要直接显示系统错误.\n // respDesc是文本 && message属性不是false\n if (typeof response.data.respDesc === typeof String() && response.config.message !== false) {\n Message.error({\n message: response.data.respDesc,\n duration: response.data.lengthen ? 10000 : 3000,\n showClose: response.data.lengthen,\n dangerouslyUseHTMLString: true\n });\n }\n // if (respCode === config.respCode.validat) {\n // Message.error({\n // message: JSON.stringify(response.data.respDesc),\n // duration: 1000\n // });\n // }\n error.data = response.data;\n error.validError = {};\n if (respCode === config.respCode.validat) {\n error.validError = respDesc || {};\n }\n return Promise.reject(error);\n }\n}\n\n/**\n * 响应异常 服务器500 404 406 405 401 等\n * @param error\n * @return {Promise.<*>}\n */\nfunction onResponseError(error) {\n // 从国际化中取,然后看服务器响应的[message],如果不存在,使用状态码文本\n if (error.response) {\n let message = Vue.t(\"httpError.\" + error.response.status) || error.response.statusText;\n\n Notification.error({\n title: Vue.t(\"httpError.title\"),\n message: message\n });\n }\n\n return Promise.reject(error);\n}\n\najax.interceptors.request.use(onRequest, onRequestError);\najax.interceptors.response.use(onResponse, onResponseError);\n\nexport default ajax;\n","module.exports = require(\"vuex\");","// extracted by mini-css-extract-plugin","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"welcome\"})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./Main.vue?vue&type=template&id=6e45f5ab&\"\nvar script = {}\nimport style0 from \"./Main.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/_vue-loader@15.7.1@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"flex-h card-height-full\"},[(_vm.rightBlock)?_c('el-card',{staticClass:\"flex-2 full\"},[_c('template',{slot:\"header\"},[_c('span',[_vm._v(\"功能权限管理\")]),_c('div',{staticClass:\"pull-right\"},[_c('el-button',{attrs:{\"type\":\"primary\",\"icon\":\"el-icon-fa-expand\",\"title\":\"展开全部节点\"},on:{\"click\":_vm.expandAll}}),_c('el-button',{attrs:{\"type\":\"primary\",\"icon\":\"el-icon-fa-refresh\",\"title\":\"刷新数据\"},on:{\"click\":_vm.load}}),_c('el-button',{attrs:{\"type\":\"primary\",\"icon\":\"el-icon-fa-sort-amount-asc\",\"title\":\"修整数据\"},on:{\"click\":_vm.autoAligned}}),_c('el-button',{attrs:{\"type\":\"primary\",\"icon\":!_vm.leftBlock?'el-icon-caret-left':'el-icon-caret-right'},on:{\"click\":function($event){_vm.leftBlock=!_vm.leftBlock}}})],1)]),(_vm.showPermTree)?_c('el-tree',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.saving),expression:\"saving\"}],ref:\"permTree\",attrs:{\"node-key\":\"uuid\",\"default-expand-all\":_vm.expandedAll,\"expand-on-click-node\":false,\"data\":_vm.permTreeData,\"current-node-key\":_vm.currPerm.uuid,\"highlight-current\":\"\",\"render-content\":_vm.renderContent},on:{\"current-change\":_vm.currentChange}}):_vm._e()],2):_vm._e(),(_vm.leftBlock)?_c('el-card',{staticClass:\"flex-2 margin-left-2 full\"},[_c('template',{slot:\"header\"},[_c('span',[_vm._v(\"编辑权限\")]),_c('div',{staticClass:\"pull-right\"},[(_vm.currPerm.uuid&&_vm.currPerm.uuid!=='none')?_c('el-button',{attrs:{\"type\":\"primary\",\"icon\":\"el-icon-fa-save\"},on:{\"click\":_vm.onSubmit}}):_vm._e(),_c('el-button',{attrs:{\"type\":\"primary\",\"icon\":_vm.rightBlock?'el-icon-caret-left':'el-icon-caret-right'},on:{\"click\":function($event){_vm.rightBlock=!_vm.rightBlock}}})],1)]),(_vm.currPerm.uuid&&_vm.currPerm.uuid!=='none')?_c('div',[_c('el-form',{ref:\"form\",attrs:{\"model\":_vm.currPerm,\"label-position\":\"top\",\"rules\":_vm.rules}},[_c('el-form-item',{attrs:{\"label\":\"功能名称\",\"prop\":\"permName\"}},[_c('el-input',{model:{value:(_vm.currPerm.permName),callback:function ($$v) {_vm.$set(_vm.currPerm, \"permName\", $$v)},expression:\"currPerm.permName\"}})],1),_c('el-form-item',{staticClass:\"flex-1\",attrs:{\"label\":\"功能编码\",\"prop\":\"permCode\"}},[_c('el-input',{model:{value:(_vm.currPerm.permCode),callback:function ($$v) {_vm.$set(_vm.currPerm, \"permCode\", $$v)},expression:\"currPerm.permCode\"}})],1),_c('el-form-item',{staticClass:\"flex-2 \",attrs:{\"label\":\"功能地址\",\"prop\":\"funcUrl\"}},[_c('el-input',{model:{value:(_vm.currPerm.funcUrl),callback:function ($$v) {_vm.$set(_vm.currPerm, \"funcUrl\", $$v)},expression:\"currPerm.funcUrl\"}})],1),_c('el-form-item',{attrs:{\"label\":\"菜单类型\",\"prop\":\"permType\"}},[_c('el-radio-group',{model:{value:(_vm.currPerm.permType),callback:function ($$v) {_vm.$set(_vm.currPerm, \"permType\", $$v)},expression:\"currPerm.permType\"}},_vm._l((_vm.permTypes),function(item){return _c('el-radio',{key:item.value,attrs:{\"label\":item.value}},[_vm._v(_vm._s(item.label))])}),1)],1),_c('el-form-item',{attrs:{\"label\":\"最低数据权限\",\"prop\":\"lowDataAuth\"}},[_c('el-select',{attrs:{\"placeholder\":\"请选择\"},model:{value:(_vm.currPerm.lowDataAuth),callback:function ($$v) {_vm.$set(_vm.currPerm, \"lowDataAuth\", $$v)},expression:\"currPerm.lowDataAuth\"}},_vm._l((_vm.lowDataAuths),function(item){return _c('el-option',{key:item.value,attrs:{\"label\":item.label,\"value\":item.value}})}),1)],1),_c('el-form-item',{attrs:{\"label\":\"图标样式\",\"prop\":\"iconUrl\"}},[_c('el-input',{model:{value:(_vm.currPerm.iconUrl),callback:function ($$v) {_vm.$set(_vm.currPerm, \"iconUrl\", $$v)},expression:\"currPerm.iconUrl\"}})],1),_c('el-form-item',{attrs:{\"label\":\"顺序编号\",\"prop\":\"ordeCode\"}},[_c('el-input-number',{model:{value:(_vm.currPerm.ordeCode),callback:function ($$v) {_vm.$set(_vm.currPerm, \"ordeCode\", $$v)},expression:\"currPerm.ordeCode\"}})],1),_c('el-form-item',{attrs:{\"label\":\"功能描述\",\"prop\":\"permDesc\"}},[_c('el-input',{attrs:{\"type\":\"textarea\"},model:{value:(_vm.currPerm.permDesc),callback:function ($$v) {_vm.$set(_vm.currPerm, \"permDesc\", $$v)},expression:\"currPerm.permDesc\"}})],1)],1),(_vm.currPerm.uuid)?_c('HandleHistory',{staticClass:\"margin-top-1 margin-bottom-1\",attrs:{\"uuid\":_vm.currPerm.uuid,\"cr-user-uuid\":_vm.currPerm.crUserUuid,\"op-user-uuid\":_vm.currPerm.opUserUuid,\"cr-time\":_vm.currPerm.crTime,\"op-time\":_vm.currPerm.opTime,\"mode\":\"plan\"}}):_vm._e()],1):_vm._e()],2):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n 写在前面:\n 系统功能树是一个全树,不是懒加载.\n -->\n<template>\n <div class=\"flex-h card-height-full\">\n <el-card v-if=\"rightBlock\" class=\"flex-2 full\">\n <template slot=\"header\">\n <span>功能权限管理</span>\n <div class=\"pull-right\">\n <el-button type=\"primary\" icon=\"el-icon-fa-expand\" @click=\"expandAll\" title=\"展开全部节点\"></el-button>\n <el-button type=\"primary\" icon=\"el-icon-fa-refresh\" @click=\"load\" title=\"刷新数据\"></el-button>\n <el-button type=\"primary\" icon=\"el-icon-fa-sort-amount-asc\" @click=\"autoAligned\" title=\"修整数据\"></el-button>\n <el-button type=\"primary\" :icon=\"!leftBlock?'el-icon-caret-left':'el-icon-caret-right'\" @click=\"leftBlock=!leftBlock\"></el-button>\n </div>\n </template>\n <el-tree v-if='showPermTree'\n ref=\"permTree\"\n node-key=\"uuid\"\n v-loading=\"saving\"\n :default-expand-all=\"expandedAll\"\n :expand-on-click-node=\"false\"\n :data=\"permTreeData\"\n :current-node-key=\"currPerm.uuid\"\n highlight-current :render-content=\"renderContent\"\n @current-change=\"currentChange\"\n >\n </el-tree>\n </el-card>\n <el-card v-if=\"leftBlock\" class=\"flex-2 margin-left-2 full\">\n <template slot=\"header\">\n <span>编辑权限</span>\n <div class=\"pull-right\">\n <el-button v-if=\"currPerm.uuid&&currPerm.uuid!=='none'\" type=\"primary\" @click=\"onSubmit\" icon=\"el-icon-fa-save\"></el-button>\n <el-button type=\"primary\" :icon=\"rightBlock?'el-icon-caret-left':'el-icon-caret-right'\" @click=\"rightBlock=!rightBlock\"></el-button>\n </div>\n </template>\n <div v-if=\"currPerm.uuid&&currPerm.uuid!=='none'\">\n <el-form ref=\"form\" :model=\"currPerm\" label-position=\"top\" :rules=\"rules\">\n <el-form-item label=\"功能名称\" prop=\"permName\">\n <el-input v-model=\"currPerm.permName\" />\n </el-form-item>\n <el-form-item class=\"flex-1\" label=\"功能编码\" prop=\"permCode\">\n <el-input v-model=\"currPerm.permCode\"></el-input>\n </el-form-item>\n <el-form-item class=\"flex-2 \" label=\"功能地址\" prop=\"funcUrl\">\n <el-input v-model=\"currPerm.funcUrl\"></el-input>\n </el-form-item>\n <el-form-item label=\"菜单类型\" prop=\"permType\">\n <el-radio-group v-model=\"currPerm.permType\">\n <el-radio v-for=\"item in permTypes\" :key=\"item.value\" :label=\"item.value\">{{item.label}}</el-radio>\n </el-radio-group>\n </el-form-item>\n <el-form-item label=\"最低数据权限\" prop=\"lowDataAuth\">\n <el-select v-model=\"currPerm.lowDataAuth\" placeholder=\"请选择\">\n <el-option v-for=\"item in lowDataAuths\" :key=\"item.value\" :label=\"item.label\" :value=\"item.value\">\n </el-option>\n </el-select>\n </el-form-item>\n <el-form-item label=\"图标样式\" prop=\"iconUrl\">\n <el-input v-model=\"currPerm.iconUrl\"></el-input>\n </el-form-item>\n <el-form-item label=\"顺序编号\" prop=\"ordeCode\">\n <el-input-number v-model=\"currPerm.ordeCode\"></el-input-number>\n </el-form-item>\n <!-- <el-form-item label=\"组件\" prop=\"permComp\">\n <el-input v-model=\"currPerm.permComp\"></el-input>\n </el-form-item> -->\n <el-form-item label=\"功能描述\" prop=\"permDesc\">\n <el-input type=\"textarea\" v-model=\"currPerm.permDesc\"></el-input>\n </el-form-item>\n </el-form>\n <HandleHistory class=\"margin-top-1 margin-bottom-1\" v-if=\"currPerm.uuid\" :uuid=\"currPerm.uuid\" :cr-user-uuid=\"currPerm.crUserUuid\" :op-user-uuid=\"currPerm.opUserUuid\" :cr-time=\"currPerm.crTime\"\n :op-time=\"currPerm.opTime\" mode=\"plan\" />\n </div>\n </el-card>\n </div>\n</template>\n<script>\nimport HandleHistory from \"@/common/HandleHistory\";\nimport PermApi from \"@/api/base/usrm/PermAPI\";\nimport config from \"@/config\";\n\nexport default {\n name: \"PermMgr\",\n components: { HandleHistory },\n data() {\n return {\n leftBlock: true,\n rightBlock: true,\n //树显示\n showPermTree: true,\n aaaaa: \"\",\n currPerm: {},\n currParentPerm: {},\n permTreeData: [],\n saving: false,\n expandedAll: false,\n currNode: \"\",\n editor: {\n error: {}\n },\n rules: {\n permName: [{ required: true, message: \"功能名称不能为空!\" }],\n permCode: [{ required: true, message: \"功能编码不能为空!\" }],\n permType: [{ required: true, message: \"菜单类型不能为空!\" }],\n funcUrl: [{ required: true, message: \"功能地址不能为空!\" }],\n lowDataAuths: [{ required: true, message: \"最低数据权限不能为空!\" }]\n },\n lowDataAuths: [\n { value: 0, label: \"本人\", disabled: true },\n { value: 1, label: \"本组织\" },\n { value: 2, label: \"本组织及下属组织\" },\n { value: 3, label: \"所有组织\" }\n ],\n permTypes: [{ value: \"1\", label: \"菜单\" }, { value: \"2\", label: \"按钮\" }]\n };\n },\n mounted() {\n this.load();\n },\n methods: {\n // 拖拽完成\n handleDrop(draggingNode, dropNode, dropType, ev) {\n console.dir(arguments)\n },\n load() {\n this.currPerm = {};\n this.saving = true;\n // 读取系统菜单\n PermApi.loadPermTree().then(data => {\n this.permTreeData = data;\n this.saving = false;\n });\n },\n autoAligned() {\n this.confirm(\n null,\n \"操作会自动排列菜单排序,以及功能编码,是否确定操作?\"\n ).then(() => {\n this.saving = true;\n PermApi.autoAligned()\n .then(() => {\n this.saving = false;\n })\n .then(this.load);\n });\n },\n addPerm(node) {\n let newPerm = {\n permName: \"新建菜单\",\n ordeCode: node.childNodes.length + 1,\n permCode: \"X\",\n lowDataAuth: 0, // 服务器给的数据是字符串.\n parPermUuid: node.data.uuid,\n permType: \"1\",\n funcUrl: \"/\",\n iconUrl: \"user\"\n };\n this.saving = true;\n PermApi.savePerm(newPerm)\n .then(data => {\n Object.assign(newPerm, { uuid: data.uuid }); // 合并刚才返回的UUID主键\n this.saving = false; // 保存结束\n node.insertChild({ data: newPerm }); // 让当前节点追加一个新节点\n node.expand(() => {\n this.currPerm = newPerm;\n }); // 如果没拉取子节点,先拉取子节点,然后设置当前节点\n })\n .then(this.loadTree);\n },\n // 展开/关闭 全部\n expandAll() {\n if (this.expandedAll) {\n this.saving = true;\n this.showPermTree = false;\n this.expandedAll = false;\n setTimeout(() => {\n this.showPermTree = true;\n this.saving = false;\n }, 200);\n return;\n }\n this.expandedAll = true;\n let expandFn = (element, expand) => {\n element.childNodes.forEach(function(element) {\n element.expand(() => {\n expandFn(element);\n });\n }, this);\n };\n expandFn(this.$refs.permTree.root);\n },\n // 点击菜单树节点\n currentChange(data, node) {\n this.currParentPerm = node.parent.data || {};\n this.currPerm = data || {};\n this.currNode = node;\n },\n // 提交数据\n onSubmit() {\n this.$refs.form.validate(valid => {\n if (valid) {\n this.saving = true;\n this.editor.error = {};\n PermApi.savePerm(this.currPerm)\n .then(data => {\n this.saving = false;\n })\n .catch(error => {\n this.editor.error = error.validError;\n this.saving = false;\n });\n }\n });\n },\n // 加载树内容\n loadTree(node, resolve) {\n if (node.data && node.data.permType !== \"0\") {\n PermApi.getPermByPID(node.data.uuid)\n .then(resp => resp.data)\n .then(resolve);\n } else {\n resolve([]);\n }\n this.saving = false;\n },\n // 删除菜单\n removePerm(node) {\n // 删除菜单实际要执行的方法\n let action = data => {\n this.saving = true;\n PermApi.deletePerm(data.uuid)\n .then(data => {\n this.saving = false;\n node.parent.removeChild(node);\n })\n .catch(() => {\n this.saving = false;\n });\n };\n // 单出提示,然后执行该方法\n this.confirm(node.data).then(action);\n },\n // 树节点的内容区的渲染方法\n renderContent(h, { node, data, store }) {\n let addBtn = (\n <el-button icon=\"el-icon-fa-plus\" onClick={() => this.addPerm(node)} />\n );\n let deleteBtn = (\n <el-button\n icon=\"el-icon-fa-minus\"\n onClick={() => {\n this.removePerm(node);\n }}\n disabled={data.uuid === \"none\"}\n />\n );\n let tip = (\n <el-tooltip effect=\"dark\" content={data.permDesc} placement=\"top\">\n <el-button style=\"color: #000;\" type=\"text\">\n {data.permName}\n </el-button>\n </el-tooltip>\n );\n return (\n <div>\n <span>\n <span>({data.ordeCode ? data.ordeCode : \"\"})</span>\n <span>\n {\" \"}\n {data.iconUrl ? (\n <i class={\"el-icon-fa el-icon-fa-\" + data.iconUrl} />\n ) : null}{\" \"}\n {data.permDesc ? tip : data.permName}\n </span>\n </span>\n <span style=\"position:absolute;right:20px;\">\n <el-button-group>\n {addBtn}\n {deleteBtn}\n </el-button-group>\n </span>\n </div>\n );\n }\n }\n};\n</script>\n","import mod from \"-!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/_thread-loader@2.1.2@thread-loader/dist/cjs.js!../../../node_modules/_babel-loader@8.0.6@babel-loader/lib/index.js!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./PermMgr.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/_thread-loader@2.1.2@thread-loader/dist/cjs.js!../../../node_modules/_babel-loader@8.0.6@babel-loader/lib/index.js!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./PermMgr.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PermMgr.vue?vue&type=template&id=6c7783f4&\"\nimport script from \"./PermMgr.vue?vue&type=script&lang=js&\"\nexport * from \"./PermMgr.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","module.exports = require(\"core-js/modules/es6.regexp.split\");","// extracted by mini-css-extract-plugin","module.exports = require(\"element-ui\");","import ajax from \"@/libs/Ajax\";\nimport CacheStores from \"@/service/module/CacheStores\";\n\nexport default {\n /**\n * 获取字典表数据,返回的数据经过包装,只适用于下拉选择,通常会缓存到本地存储\n * @param {String} codeType 字典类型\n * @param {Boolean } force 强制刷新,不经过缓存\n */\n getAllCodes(codeType, force = false) {\n return ajax\n .get(`/base/code/getAllCodes`, {\n force,\n cache: codeType,\n cacheStore: CacheStores.codeListStore,\n params: { codeType }\n })\n .then(data => data || [])\n .then(data => {\n let wrapData = [];\n for (let dataProp in data) {\n let oneData = data[dataProp];\n let key = oneData.codekey;\n let label = oneData.codeval;\n let value = oneData.codekey;\n let strArray = [];\n for (let key in oneData) {\n strArray.push(oneData[key]);\n }\n let wrapValue = {\n label,\n key,\n value,\n oneData,\n index: strArray.join(\";\")\n };\n wrapData.push(wrapValue);\n // 这里放个map 快速取值用\n }\n return wrapData;\n });\n },\n\n /**\n * 查询字典树,懒加载\n * @param {String} treeKey 查询的树类型\n * @param {String} pid 父节点ID\n * @param {String} keyword 搜索关键字\n * @param {String} field 查询搜索字段\n * @param {Boolean } force 强制刷新,不经过缓存\n */\n getTree(treeKey, pid, keyword, field, force) {\n if (keyword) {\n return ajax\n .get(`/base/tree/getTreeMatchingNodes`, {\n cache: treeKey,\n force,\n cacheStore: CacheStores.codeTreeStore,\n params: { treeKey, fieldKey: field, keyWordKey: keyword }\n })\n .then(data => data || []);\n } else {\n return ajax\n .get(`/base/tree/getTreeNodes`, {\n cache: treeKey,\n force,\n cacheStore: CacheStores.codeTreeStore,\n params: { treeKey, pid, lazy: true }\n })\n .then(data => data || []);\n }\n },\n /**\n * 查询对应的数据选择器数据\n * @param {String} dataType 数据类型\n * @param {Object} params 查询参数\n */\n querySelectorData(dataType, params) {\n return ajax\n .get(`/base/select/${dataType}`, { params, cache: false })\n .then(data => data || []);\n }\n};\n","module.exports = require(\"vue-router\");","import querystring from \"querystring\";\nimport md5 from \"md5\";\nimport createHash from \"sha.js\";\n\nimport ajax from \"@/libs/Ajax\";\n\n// 密码加密统一算法\nfunction encodePasswd(pwd) {\n var sha256 = createHash(\"sha256\");\n return md5(sha256.update(pwd).digest(\"hex\"));\n}\n\nexport default {\n /**\n * 用户登录\n * @param userid 用户ID\n * @param passwd 密码\n * @param captcha 验证码\n * @return {Promise}\n */\n login({userid, passwd, captcha}) {\n passwd = encodePasswd(passwd);\n return ajax.request({\n method: \"post\",\n url: \"/anon/aces/login\",\n data: querystring.stringify({userid, passwd, captcha}),\n headers: {\"Content-type\": \"application/x-www-form-urlencoded\"}\n });\n },\n /**\n * 检查这个用户登录状态.\n * @param {String} userid\n */\n logck(userid) {\n return ajax.get(\"/anon/aces/logck\", {params: {userid}, message: false});\n },\n /**\n * 登出\n * @return {Promise}\n */\n logout() {\n return ajax.get(\"/base/init/logout\");\n },\n /**\n * 获取用户登录信息\n * @return {AxiosPromise}\n */\n getLoginInfo() {\n return ajax.get(\"/base/init/lastLoginInfo\", {message: false});\n },\n /**\n * 获取系统菜单\n */\n getRootMenu() {\n return ajax.get(\"/sys/init/getRootMenu\");\n },\n\n /**\n * 修改密码\n * @param {String} oldpasswd\n * @param {String} passwd\n */\n changePwd(oldpasswd, passwd) {\n passwd = encodePasswd(passwd);\n oldpasswd = encodePasswd(oldpasswd);\n return ajax.post(\"/base/init/changePwd\", {oldpasswd, passwd});\n },\n\n reporttest() {\n return ajax.post(\"/decm/report\");\n }\n};\n","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functioal component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","module.exports = require(\"element-ui/lib/utils/popup\");","import ajax from \"@/libs/Ajax\";\n\nexport default {\n /**\n * 获取系统菜单,直接返回菜单数据\n * @param {*} puuid\n */\n getPermByPID(puuid) {\n return ajax\n .get(`/usrm/usr/perm/getPermByPID`, { params: { puuid } })\n .then(data => data || []);\n },\n\n /**\n * 加载彩单树\n */\n loadPermTree() {\n return ajax.get(`/usrm/usr/perm/loadPermTree`).then(data => data || []);\n },\n /**\n * 保存菜单数据\n * @param {*} resm\n */\n savePerm(resm) {\n return ajax.post(`/usrm/usr/perm/savePerm`, resm);\n },\n /**\n * 删除菜单\n * @param {*} uuid\n */\n deletePerm(uuid) {\n return ajax.delete(`/usrm/usr/perm/deletePerm`, { params: { uuid } });\n },\n /**\n * 自动调整菜单\n */\n autoAligned() {\n return ajax.delete(`/usrm/usr/perm/autoAligned`);\n },\n /**\n * 保存排序\n */\n saveSort(data) {\n return ajax.post(`/usrm/usr/perm/saveSort`, data);\n }\n};\n","module.exports = require(\"animate.css\");","module.exports = require(\"core-js/modules/es6.object.keys\");","// extracted by mini-css-extract-plugin","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('el-card',[_c('template',{slot:\"header\"},[_c('span',[_vm._v(\"任务管理\")]),_c('div',{staticClass:\"pull-right\"},[_c('el-button',{attrs:{\"type\":\"primary\",\"icon\":\"el-icon-fa-plus\",\"title\":\"新增任务\"},on:{\"click\":function($event){return _vm.doAdd()}}})],1)]),_c('el-form',{ref:\"queryform\",attrs:{\"model\":_vm.queryform}},[_c('el-row',[_c('el-col',{attrs:{\"lg\":4,\"sm\":12}},[_c('el-form-item',{attrs:{\"label\":\"任务名称\",\"prop\":\"jobName\"}},[_c('el-input',{model:{value:(_vm.queryform.jobName),callback:function ($$v) {_vm.$set(_vm.queryform, \"jobName\", $$v)},expression:\"queryform.jobName\"}})],1)],1),_c('el-col',{attrs:{\"lg\":4,\"sm\":12}},[_c('el-form-item',{attrs:{\"label\":\"执行状态\",\"prop\":\"triggerState\"}},[_c('el-select',{attrs:{\"placeholder\":\"请选择\"},model:{value:(_vm.queryform.triggerState),callback:function ($$v) {_vm.$set(_vm.queryform, \"triggerState\", $$v)},expression:\"queryform.triggerState\"}},_vm._l((_vm.triStOptions),function(item){return _c('el-option',{key:item.value,attrs:{\"label\":item.label,\"value\":item.value}})}),1)],1)],1)],1)],1)],2),_c('el-card',{staticClass:\"margin-top-2\"},[_c('template',{slot:\"header\"},[_c('span',[_vm._v(\"任务数据列表\")]),_c('div',{staticClass:\"pull-right\"},[_c('el-button',{attrs:{\"type\":\"primary\",\"icon\":\"el-icon-fa-search\",\"title\":\"查询\"},on:{\"click\":_vm.queryJobData}}),_c('el-button',{attrs:{\"type\":\"primary\",\"icon\":\"el-icon-fa-reply-all\",\"title\":\"重置\"},on:{\"click\":_vm.resetquery}}),_c('el-button',{attrs:{\"type\":\"primary\",\"disabled\":!_vm.multipleSelection.length>0,\"icon\":\"el-icon-fa-play\",\"title\":\"批量启用\"},on:{\"click\":function($event){return _vm.lockJobs(true)}}}),_c('el-button',{attrs:{\"type\":\"primary\",\"disabled\":!_vm.multipleSelection.length>0,\"icon\":\"el-icon-fa-pause\",\"title\":\"批量暂停\"},on:{\"click\":function($event){return _vm.lockJobs(false)}}}),_c('el-button',{attrs:{\"type\":\"primary\",\"disabled\":!_vm.multipleSelection.length>0,\"icon\":\"el-icon-fa-trash\",\"title\":\"批量删除\"},on:{\"click\":function($event){return _vm.delJobs()}}})],1)]),_c('PageTable',{ref:\"dataTable\",attrs:{\"auto-load\":true,\"hideTitle\":\"\",\"data\":_vm.table.data,\"highlight-current-row\":\"\",\"stripe\":\"\",\"border\":\"\"},on:{\"load-data\":_vm.dataTableLoad,\"selection-change\":_vm.handleSelectionChange}},[_c('el-table-column',{attrs:{\"type\":\"selection\",\"align\":\"center\",\"width\":\"50\",\"fixed\":\"left\"}}),_c('el-table-column',{attrs:{\"prop\":\"jobname\",\"label\":\"任务名称\",\"show-overflow-tooltip\":\"\"}}),_c('el-table-column',{attrs:{\"prop\":\"description\",\"label\":\"任务描述\",\"show-overflow-tooltip\":\"\"}}),_c('el-table-column',{attrs:{\"prop\":\"jobclasspath\",\"label\":\"执行类\",\"show-overflow-tooltip\":\"\"}}),_c('el-table-column',{attrs:{\"prop\":\"triggerstate\",\"label\":\"状态\",\"width\":\"50\",\"show-overflow-tooltip\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [(scope.row.triggerstate == 'ACQUIRED')?_c('el-button',{attrs:{\"type\":\"success\"}},[_vm._v(\"执行\")]):_vm._e(),(scope.row.triggerstate == 'PAUSED')?_c('el-button',{attrs:{\"type\":\"info\"}},[_vm._v(\"暂停\")]):_vm._e(),(scope.row.triggerstate == 'ERROR')?_c('el-button',{attrs:{\"type\":\"error\"}},[_vm._v(\"错误\")]):_vm._e()]}}])}),_c('el-table-column',{attrs:{\"prop\":\"cronexpression\",\"label\":\"Cron表达式\",\"width\":\"120\",\"show-overflow-tooltip\":\"\"}}),_c('el-table-column',{attrs:{\"label\":\"操作\",\"fixed\":\"right\",\"width\":\"150\",\"align\":\"center\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('el-button',{attrs:{\"disabled\":scope.row.triggerstate==='ACQUIRED',\"type\":\"primary\",\"icon\":\"el-icon-fa-edit\",\"title\":\"修改\"},on:{\"click\":function($event){return _vm.doEdit(scope.row)}}}),_c('el-button',{attrs:{\"type\":\"primary\",\"icon\":\"el-icon-fa-eye\",\"title\":\"查看\"},on:{\"click\":function($event){return _vm.doEye(scope.row)}}}),(scope.row.triggerstate===\"PAUSED\")?_c('el-button',{attrs:{\"type\":\"primary\",\"icon\":\"el-icon-fa-play\",\"title\":\"启用\"},on:{\"click\":function($event){return _vm.dolock(scope.row,true)}}}):_vm._e(),(scope.row.triggerstate===\"ACQUIRED\")?_c('el-button',{attrs:{\"type\":\"primary\",\"icon\":\"el-icon-fa-pause\",\"title\":\"暂停\"},on:{\"click\":function($event){return _vm.dolock(scope.row,false)}}}):_vm._e(),_c('el-button',{attrs:{\"disabled\":scope.row.triggerstate==='ACQUIRED',\"type\":\"primary\",\"icon\":\"el-icon-fa-trash\",\"title\":\"删除\"},on:{\"click\":function($event){return _vm.delJob(scope.row)}}})]}}])})],1)],2),_c('el-dialog',{directives:[{name:\"draggable\",rawName:\"v-draggable\"}],attrs:{\"append-to-body\":\"\",\"visible\":_vm.showDia,\"title\":\"任务管理\",\"close-on-click-modal\":false},on:{\"update:visible\":function($event){_vm.showDia=$event}}},[(!_vm.currJobData.onlyRead)?_c('div',{staticClass:\"dialog-button\"},[_c('el-button',{attrs:{\"type\":\"primary\",\"plain\":\"\",\"icon\":\"el-icon-fa-save\",\"title\":\"保存\"},on:{\"click\":function($event){return _vm.$refs.taskmgredit.submitForm()}}}),_c('el-button',{attrs:{\"type\":\"primary\",\"icon\":\"el-icon-fa-reply-all\",\"plain\":\"\",\"title\":\"重置\"},on:{\"click\":function($event){return _vm.$refs.taskmgredit.resetForm()}}})],1):_vm._e(),(_vm.showDia)?_c('task-mgr-edit',{ref:\"taskmgredit\",attrs:{\"jobData\":_vm.currJobData},on:{\"closeDia\":_vm.closeDia}}):_vm._e()],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}],attrs:{\"elemeur-loading-text\":\"正在读取数据...\"}},[_c('el-tabs',{attrs:{\"type\":\"border-card\"},model:{value:(_vm.activeName),callback:function ($$v) {_vm.activeName=$$v},expression:\"activeName\"}},[_c('el-tab-pane',{attrs:{\"label\":\"基本信息\",\"name\":\"first\"}},[_c('el-form',{ref:\"form\",attrs:{\"model\":_vm.taskData,\"rules\":_vm.rules,\"label-position\":\"top\"}},[_c('el-row',[_c('el-col',{attrs:{\"span\":12}},[_c('el-form-item',{attrs:{\"label\":\"任务名称\",\"prop\":\"jobName\"}},[_c('el-input',{attrs:{\"readonly\":_vm.jobData.onlyRead},model:{value:(_vm.taskData.jobName),callback:function ($$v) {_vm.$set(_vm.taskData, \"jobName\", $$v)},expression:\"taskData.jobName\"}})],1)],1),_c('el-col',{attrs:{\"span\":12}},[_c('el-form-item',{attrs:{\"label\":\"优先级\",\"prop\":\"jobPrio\"}},[_c('el-input-number',{attrs:{\"disabled\":_vm.jobData.onlyRead},model:{value:(_vm.taskData.jobPrio),callback:function ($$v) {_vm.$set(_vm.taskData, \"jobPrio\", $$v)},expression:\"taskData.jobPrio\"}})],1)],1),_c('el-col',{attrs:{\"span\":24}},[_c('el-form-item',{attrs:{\"label\":\"任务描述\",\"prop\":\"description\"}},[_c('el-input',{attrs:{\"readonly\":_vm.jobData.onlyRead},model:{value:(_vm.taskData.description),callback:function ($$v) {_vm.$set(_vm.taskData, \"description\", $$v)},expression:\"taskData.description\"}})],1)],1),_c('el-col',{attrs:{\"span\":24}},[_c('el-form-item',{attrs:{\"label\":\"执行类\",\"prop\":\"jobClassName\"}},[_c('el-select',{attrs:{\"disabled\":_vm.jobData.onlyRead},model:{value:(_vm.taskData.jobClassName),callback:function ($$v) {_vm.$set(_vm.taskData, \"jobClassName\", $$v)},expression:\"taskData.jobClassName\"}},_vm._l((_vm.jobClasss),function(item){return _c('el-option',{key:item.value,attrs:{\"label\":item.label,\"value\":item.value}})}),1)],1)],1),_c('el-col',{attrs:{\"span\":24}},[_c('el-form-item',{attrs:{\"label\":\"执行配置\",\"prop\":\"jobConfig\"}},[_c('el-input',{attrs:{\"readonly\":_vm.jobData.onlyRead},model:{value:(_vm.taskData.jobConfig),callback:function ($$v) {_vm.$set(_vm.taskData, \"jobConfig\", $$v)},expression:\"taskData.jobConfig\"}})],1)],1),_c('el-col',{attrs:{\"span\":24}},[_c('el-form-item',{attrs:{\"label\":\"Cron表达式\",\"prop\":\"cronExpression\"}},[_c('cron-tab',{attrs:{\"readonly\":_vm.jobData.onlyRead},model:{value:(_vm.taskData.cronExpression),callback:function ($$v) {_vm.$set(_vm.taskData, \"cronExpression\", $$v)},expression:\"taskData.cronExpression\"}})],1)],1),(_vm.jobData.onlyRead&&_vm.taskData.exceInfo)?_c('el-col',{attrs:{\"span\":24}},[_c('el-form-item',{attrs:{\"label\":\"异常信息\",\"prop\":\"exceInfo\"}},[_c('el-input',{attrs:{\"type\":\"textarea\",\"autosize\":{ minRows: 2, maxRows: 6 },\"readonly\":\"\"},model:{value:(_vm.taskData.exceInfo),callback:function ($$v) {_vm.$set(_vm.taskData, \"exceInfo\", $$v)},expression:\"taskData.exceInfo\"}})],1)],1):_vm._e(),(!_vm.jobData.onlyRead)?_c('el-col',{attrs:{\"span\":24}},[_c('el-form-item',{attrs:{\"label\":\"是否立即执行\",\"prop\":\"isRun\"}},[_c('el-radio-group',{model:{value:(_vm.taskData.isRun),callback:function ($$v) {_vm.$set(_vm.taskData, \"isRun\", $$v)},expression:\"taskData.isRun\"}},[_c('el-radio',{attrs:{\"label\":\"1\"}},[_vm._v(\"是\")]),_c('el-radio',{attrs:{\"label\":\"0\"}},[_vm._v(\"否\")])],1)],1)],1):_vm._e()],1),(_vm.jobData.onlyRead)?_c('el-row',[_c('el-col',{attrs:{\"span\":12}},[_c('el-form-item',{attrs:{\"label\":\"下一次执行时间\",\"prop\":\"nextFireTime\"}},[_vm._v(\"\\n \"+_vm._s(_vm._f(\"date\")(_vm.taskData.nextFireTime,'%Y-%m-%d %T'))+\"\\n \")])],1),_c('el-col',{attrs:{\"span\":12}},[_c('el-form-item',{attrs:{\"label\":\"上一次执行时间\",\"prop\":\"prevFireTime\"}},[_vm._v(\"\\n \"+_vm._s(_vm._f(\"date\")(_vm.taskData.prevFireTime,'%Y-%m-%d %T'))+\"\\n \")])],1),_c('el-col',{attrs:{\"span\":12}},[_c('el-form-item',{attrs:{\"label\":\"触发器状态\",\"prop\":\"triggerState\"}},[_vm._v(\"\\n \"+_vm._s(_vm.triggerState(_vm.taskData.triggerState))+\"\\n \")])],1),_c('el-col',{attrs:{\"span\":12}},[_c('el-form-item',{attrs:{\"label\":\"触发器生效时间\",\"prop\":\"startTime\"}},[_vm._v(\"\\n \"+_vm._s(_vm._f(\"date\")(_vm.taskData.startTime,'%Y-%m-%d %T'))+\"\\n \")])],1),_c('el-col',{attrs:{\"span\":12}},[_c('el-form-item',{attrs:{\"label\":\"触发器失效时间\",\"prop\":\"endTime\"}},[_vm._v(\"\\n \"+_vm._s(_vm._f(\"date\")(_vm.taskData.endTime,'%Y-%m-%d %T'))+\"\\n \")])],1),_c('el-col',{attrs:{\"span\":12}},[_c('el-form-item',{attrs:{\"label\":\"触发器时区\",\"prop\":\"timeZoneId\"}},[_vm._v(\"\\n \"+_vm._s(_vm.taskData.timeZoneId)+\"\\n \")])],1),_c('el-col',{attrs:{\"span\":12}},[_c('el-form-item',{attrs:{\"label\":\"目前执行次数\"}},[_vm._v(\"\\n \"+_vm._s(_vm.jobRunNum)+\"\\n \")])],1),_c('el-col',{attrs:{\"span\":12}},[_c('el-form-item',{attrs:{\"label\":\" \"}},[_vm._v(\"\\n \"+_vm._s(\"_\")+\"\\n \")])],1)],1):_vm._e()],1),_c('HandleHistory',{staticClass:\"margin-top-1 margin-bottom-1\",attrs:{\"uuid\":_vm.taskData.uuid,\"cr-user-uuid\":_vm.taskData.crUserUuid,\"op-user-uuid\":_vm.taskData.opUserUuid,\"cr-time\":_vm.taskData.crTime,\"op-time\":_vm.taskData.opTime,\"mode\":\"plan\"}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('el-input',{staticClass:\"input-append\",attrs:{\"readonly\":_vm.readonly},on:{\"blur\":_vm.cronblur},model:{value:(_vm.cronStr),callback:function ($$v) {_vm.cronStr=$$v},expression:\"cronStr\"}},[_c('el-button',{attrs:{\"slot\":\"append\",\"type\":\"text\",\"icon\":\"alibaba al-gaojixuangu\",\"title\":_vm.title,\"disabled\":_vm.readonly},on:{\"click\":_vm.showCronDia},slot:\"append\"})],1),_c('el-dialog',{attrs:{\"append-to-body\":\"\",\"visible\":_vm.showCron,\"width\":\"80%\"},on:{\"update:visible\":function($event){_vm.showCron=$event}}},[_c('template',{slot:\"title\"},[_c('i',{staticClass:\"alibaba al-gaojixuangu\"}),_c('span',[_vm._v(\" \"+_vm._s(_vm.title))])]),_c('div',{staticClass:\"dialog-button\"},[_c('el-button',{attrs:{\"icon\":\"el-icon-fa-save\",\"type\":\"primary\",\"plain\":\"\"},on:{\"click\":function($event){_vm.$refs.cronTab.submitFill();_vm.showCron=!_vm.showCron}}})],1),_c('cron-main',{ref:\"cronTab\",model:{value:(_vm.cronStr),callback:function ($$v) {_vm.cronStr=$$v},expression:\"cronStr\"}})],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"crontab-warp\"},[_c('el-tabs',{attrs:{\"type\":\"border-card\"},model:{value:(_vm.tabActive),callback:function ($$v) {_vm.tabActive=$$v},expression:\"tabActive\"}},[_c('el-tab-pane',{attrs:{\"label\":_vm.tabTitles[0],\"name\":\"second\"}},[_c('CrontabSecond',{attrs:{\"check\":_vm.checkNumber},on:{\"updata\":_vm.updataContabValue}})],1),_c('el-tab-pane',{attrs:{\"label\":_vm.tabTitles[1],\"name\":\"minute\"}},[_c('CrontabMin',{attrs:{\"check\":_vm.checkNumber},on:{\"updata\":_vm.updataContabValue}})],1),_c('el-tab-pane',{attrs:{\"label\":_vm.tabTitles[2],\"name\":\"hour\"}},[_c('CrontabHour',{attrs:{\"check\":_vm.checkNumber},on:{\"updata\":_vm.updataContabValue}})],1),_c('el-tab-pane',{attrs:{\"label\":_vm.tabTitles[3],\"name\":\"day\"}},[_c('CrontabDay',{attrs:{\"check\":_vm.checkNumber,\"week\":_vm.contabValueObj.week},on:{\"updata\":_vm.updataContabValue}})],1),_c('el-tab-pane',{attrs:{\"label\":_vm.tabTitles[4],\"name\":\"month\"}},[_c('CrontabMouth',{attrs:{\"check\":_vm.checkNumber},on:{\"updata\":_vm.updataContabValue}})],1),_c('el-tab-pane',{attrs:{\"label\":_vm.tabTitles[5],\"name\":\"week\"}},[_c('CrontabWeek',{attrs:{\"check\":_vm.checkNumber,\"day\":_vm.contabValueObj.day},on:{\"updata\":_vm.updataContabValue}})],1),_c('el-tab-pane',{attrs:{\"label\":_vm.tabTitles[6],\"name\":\"year\"}},[_c('CrontabYear',{attrs:{\"check\":_vm.checkNumber},on:{\"updata\":_vm.updataContabValue}})],1)],1),_c('el-card',[_c('template',{staticClass:\"clearfix\",slot:\"header\"},[_c('span',[_vm._v(\"时间表达式预览 :\")]),_c('el-tag',{attrs:{\"type\":\"\"}},[_vm._v(_vm._s(_vm.contabValueString))])],1),_c('el-form',{staticClass:\"crontab-form\",attrs:{\"label-position\":\"top\"}},[_c('el-row',{attrs:{\"gutter\":10}},[_c('el-col',{attrs:{\"span\":3}},[_c('el-form-item',{attrs:{\"label\":_vm.tabTitles[0]}},[_c('el-input',{attrs:{\"title\":_vm.contabValueObj.second,\"readonly\":\"\"},model:{value:(_vm.contabValueObj.second),callback:function ($$v) {_vm.$set(_vm.contabValueObj, \"second\", $$v)},expression:\"contabValueObj.second\"}})],1)],1),_c('el-col',{attrs:{\"span\":3}},[_c('el-form-item',{attrs:{\"label\":_vm.tabTitles[1]}},[_c('el-input',{attrs:{\"title\":_vm.contabValueObj.min,\"readonly\":\"\"},model:{value:(_vm.contabValueObj.min),callback:function ($$v) {_vm.$set(_vm.contabValueObj, \"min\", $$v)},expression:\"contabValueObj.min\"}})],1)],1),_c('el-col',{attrs:{\"span\":3}},[_c('el-form-item',{attrs:{\"label\":_vm.tabTitles[2]}},[_c('el-input',{attrs:{\"title\":_vm.contabValueObj.hour,\"readonly\":\"\"},model:{value:(_vm.contabValueObj.hour),callback:function ($$v) {_vm.$set(_vm.contabValueObj, \"hour\", $$v)},expression:\"contabValueObj.hour\"}})],1)],1),_c('el-col',{attrs:{\"span\":3}},[_c('el-form-item',{attrs:{\"label\":_vm.tabTitles[3]}},[_c('el-input',{attrs:{\"title\":_vm.contabValueObj.day,\"readonly\":\"\"},model:{value:(_vm.contabValueObj.day),callback:function ($$v) {_vm.$set(_vm.contabValueObj, \"day\", $$v)},expression:\"contabValueObj.day\"}})],1)],1),_c('el-col',{attrs:{\"span\":3}},[_c('el-form-item',{attrs:{\"label\":_vm.tabTitles[4]}},[_c('el-input',{attrs:{\"title\":_vm.contabValueObj.mouth,\"readonly\":\"\"},model:{value:(_vm.contabValueObj.mouth),callback:function ($$v) {_vm.$set(_vm.contabValueObj, \"mouth\", $$v)},expression:\"contabValueObj.mouth\"}})],1)],1),_c('el-col',{attrs:{\"span\":3}},[_c('el-form-item',{attrs:{\"label\":_vm.tabTitles[5]}},[_c('el-input',{attrs:{\"title\":_vm.contabValueObj.week,\"readonly\":\"\"},model:{value:(_vm.contabValueObj.week),callback:function ($$v) {_vm.$set(_vm.contabValueObj, \"week\", $$v)},expression:\"contabValueObj.week\"}})],1)],1),_c('el-col',{attrs:{\"span\":6}},[_c('el-form-item',{attrs:{\"label\":_vm.tabTitles[6]}},[_c('el-input',{attrs:{\"title\":_vm.contabValueObj.year,\"readonly\":\"\"},model:{value:(_vm.contabValueObj.year),callback:function ($$v) {_vm.$set(_vm.contabValueObj, \"year\", $$v)},expression:\"contabValueObj.year\"}})],1)],1)],1)],1)],2),_c('CrontabResult',{attrs:{\"ex\":_vm.contabValueString}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-form',[_c('el-radio-group',{model:{value:(_vm.radioValue),callback:function ($$v) {_vm.radioValue=$$v},expression:\"radioValue\"}},[_c('el-row',{staticClass:\"margin-10\"},[_c('el-radio',{attrs:{\"label\":1}},[_vm._v(\" 秒,允许的通配符[, - * /]\")])],1),_c('el-row',{staticClass:\"margin-10\"},[_c('el-radio',{attrs:{\"label\":2}},[_vm._v(\"\\n\\t\\t\\t\\t周期从\\n\\t\\t\\t\\t\"),_c('el-input-number',{staticClass:\"el-input-height\",attrs:{\"min\":1},model:{value:(_vm.cycle01),callback:function ($$v) {_vm.cycle01=$$v},expression:\"cycle01\"}}),_vm._v(\" -\\n\\t\\t\\t\\t\"),_c('el-input-number',{staticClass:\"el-input-height\",attrs:{\"min\":1},model:{value:(_vm.cycle02),callback:function ($$v) {_vm.cycle02=$$v},expression:\"cycle02\"}}),_vm._v(\" 秒\\n\\t\\t\\t\")],1)],1),_c('el-row',{staticClass:\"margin-10\"},[_c('el-radio',{attrs:{\"label\":3}},[_vm._v(\"\\n\\t\\t\\t\\t从\\n\\t\\t\\t\\t\"),_c('el-input-number',{staticClass:\"el-input-height\",attrs:{\"min\":1},model:{value:(_vm.average01),callback:function ($$v) {_vm.average01=$$v},expression:\"average01\"}}),_vm._v(\" 秒开始,每\\n\\t\\t\\t\\t\"),_c('el-input-number',{staticClass:\"el-input-height\",attrs:{\"min\":1},model:{value:(_vm.average02),callback:function ($$v) {_vm.average02=$$v},expression:\"average02\"}}),_vm._v(\" 秒执行一次\\n\\t\\t\\t\")],1)],1),_c('el-row',{staticClass:\"margin-10\"},[_c('el-radio',{attrs:{\"label\":4}},[_vm._v(\"\\n\\t\\t\\t\\t任意指定\\n\\t\\t\\t\\t\"),_c('el-button',{attrs:{\"size\":\"mini\"},on:{\"click\":function($event){_vm.checkboxList=[]}}},[_vm._v(\"清空指定\")]),_c('el-row',{staticClass:\"margin-top-10\"},[_c('el-checkbox-group',{model:{value:(_vm.checkboxList),callback:function ($$v) {_vm.checkboxList=$$v},expression:\"checkboxList\"}},_vm._l((60),function(item,index){return _c('el-col',{key:item,attrs:{\"span\":2}},[_c('el-checkbox',{attrs:{\"label\":item-1}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\"+_vm._s(index+1>10?item-1:'0'+(item-1))+\"\\n\\t\\t\\t\\t\\t\\t\\t\")])],1)}),1)],1)],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export default {\r\n data() {\r\n return {\r\n radioValue: 1,\r\n cycle01: 1,\r\n cycle02: 2,\r\n average01: 0,\r\n average02: 1,\r\n checkboxList: [],\r\n checkNum: this.$options.propsData.check\r\n };\r\n },\r\n name: \"crontab-second\",\r\n props: [\"check\"],\r\n methods: {\r\n // 单选按钮值变化时\r\n radioChange() {\r\n switch (this.radioValue) {\r\n case 1:\r\n this.$emit(\"updata\", \"second\", \"*\");\r\n break;\r\n case 2:\r\n this.$emit(\"updata\", \"second\", this.cycle01 + \"-\" + this.cycle02);\r\n break;\r\n case 3:\r\n this.$emit(\"updata\", \"second\", this.average01 + \"/\" + this.average02);\r\n break;\r\n case 4:\r\n this.$emit(\"updata\", \"second\", this.checkboxString);\r\n break;\r\n }\r\n },\r\n // 周期两个值变化时\r\n cycleChange() {\r\n if (this.radioValue === 2) {\r\n this.$emit(\"updata\", \"second\", this.cycleTotal);\r\n }\r\n },\r\n // 平均两个值变化时\r\n averageChange() {\r\n if (this.radioValue === 3) {\r\n this.$emit(\"updata\", \"second\", this.averageTotal);\r\n }\r\n },\r\n // checkbox值变化时\r\n checkboxChange() {\r\n if (this.radioValue === 4) {\r\n this.$emit(\"updata\", \"second\", this.checkboxString);\r\n }\r\n }\r\n },\r\n watch: {\r\n radioValue: \"radioChange\",\r\n cycleTotal: \"cycleChange\",\r\n averageTotal: \"averageChange\",\r\n checkboxString: \"checkboxChange\"\r\n },\r\n computed: {\r\n // 计算两个周期值\r\n cycleTotal: function() {\r\n this.cycle01 = this.checkNum(this.cycle01, 0, 59);\r\n this.cycle02 = this.checkNum(this.cycle02, 0, 59);\r\n return this.cycle01 + \"-\" + this.cycle02;\r\n },\r\n // 计算平均用到的值\r\n averageTotal: function() {\r\n this.average01 = this.checkNum(this.average01, 0, 59);\r\n this.average02 = this.checkNum(this.average02, 1, 59);\r\n return this.average01 + \"/\" + this.average02;\r\n },\r\n // 计算勾选的checkbox值合集\r\n checkboxString: function() {\r\n let str = this.checkboxList.join();\r\n return str === \"\" ? \"*\" : str;\r\n }\r\n }\r\n};\r\n","<template>\r\n\t<el-form>\r\n\t\t<el-radio-group v-model='radioValue'>\r\n\t\t\t<el-row class=\"margin-10\">\r\n\t\t\t\t<el-radio :label=\"1\"> 秒,允许的通配符[, - * /]</el-radio>\r\n\t\t\t</el-row>\r\n\t\t\t<el-row class=\"margin-10\">\r\n\t\t\t\t<el-radio :label=\"2\">\r\n\t\t\t\t\t周期从\r\n\t\t\t\t\t<el-input-number class=\"el-input-height\" :min=\"1\" v-model='cycle01' /> -\r\n\t\t\t\t\t<el-input-number class=\"el-input-height\" :min=\"1\" v-model='cycle02' /> 秒\r\n\t\t\t\t</el-radio>\r\n\t\t\t</el-row>\r\n\t\t\t<el-row class=\"margin-10\">\r\n\t\t\t\t<el-radio :label=\"3\">\r\n\t\t\t\t\t从\r\n\t\t\t\t\t<el-input-number class=\"el-input-height\" :min=\"1\" v-model='average01' /> 秒开始,每\r\n\t\t\t\t\t<el-input-number class=\"el-input-height\" :min=\"1\" v-model='average02' /> 秒执行一次\r\n\t\t\t\t</el-radio>\r\n\t\t\t</el-row>\r\n\t\t\t<el-row class=\"margin-10\">\r\n\t\t\t\t<el-radio :label=\"4\">\r\n\t\t\t\t\t任意指定\r\n\t\t\t\t\t<el-button size=\"mini\" @click=\"checkboxList=[]\">清空指定</el-button>\r\n\t\t\t\t\t<el-row class=\"margin-top-10\">\r\n\t\t\t\t\t\t<el-checkbox-group v-model=\"checkboxList\">\r\n\t\t\t\t\t\t\t<el-col :span=\"2\" v-for='(item,index) in 60' :key=\"item\">\r\n\t\t\t\t\t\t\t\t<el-checkbox :label=\"item-1\">\r\n\t\t\t\t\t\t\t\t\t{{index+1>10?item-1:'0'+(item-1)}}\r\n\t\t\t\t\t\t\t\t</el-checkbox>\r\n\t\t\t\t\t\t\t</el-col>\r\n\t\t\t\t\t\t</el-checkbox-group>\r\n\t\t\t\t\t</el-row>\r\n\t\t\t\t</el-radio>\r\n\t\t\t</el-row>\r\n\t\t</el-radio-group>\r\n\t</el-form>\r\n</template>\r\n\r\n<script>\r\nimport crontabSecond from \"./crontab-second\";\r\nexport default crontabSecond;\r\n</script>","import mod from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/_thread-loader@2.1.2@thread-loader/dist/cjs.js!../../../../node_modules/_babel-loader@8.0.6@babel-loader/lib/index.js!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./Crontab-Second.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/_thread-loader@2.1.2@thread-loader/dist/cjs.js!../../../../node_modules/_babel-loader@8.0.6@babel-loader/lib/index.js!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./Crontab-Second.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Crontab-Second.vue?vue&type=template&id=58d83ab9&\"\nimport script from \"./Crontab-Second.vue?vue&type=script&lang=js&\"\nexport * from \"./Crontab-Second.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-form',[_c('el-radio-group',{model:{value:(_vm.radioValue),callback:function ($$v) {_vm.radioValue=$$v},expression:\"radioValue\"}},[_c('el-row',{staticClass:\"margin-10\"},[_c('el-radio',{attrs:{\"label\":1}},[_vm._v(\" 分,允许的通配符[, - * /]\")])],1),_c('el-row',{staticClass:\"margin-10\"},[_c('el-radio',{attrs:{\"label\":2}},[_vm._v(\"\\n\\t\\t\\t\\t周期从\\n\\t\\t\\t\\t\"),_c('el-input-number',{staticClass:\"el-input-height\",attrs:{\"min\":1},model:{value:(_vm.cycle01),callback:function ($$v) {_vm.cycle01=$$v},expression:\"cycle01\"}}),_vm._v(\" -\\n\\t\\t\\t\\t\"),_c('el-input-number',{staticClass:\"el-input-height\",attrs:{\"min\":1},model:{value:(_vm.cycle02),callback:function ($$v) {_vm.cycle02=$$v},expression:\"cycle02\"}}),_vm._v(\" 分\\n\\t\\t\\t\")],1)],1),_c('el-row',{staticClass:\"margin-10\"},[_c('el-radio',{attrs:{\"label\":3}},[_vm._v(\"\\n\\t\\t\\t\\t从\\n\\t\\t\\t\\t\"),_c('el-input-number',{staticClass:\"el-input-height\",attrs:{\"min\":1},model:{value:(_vm.average01),callback:function ($$v) {_vm.average01=$$v},expression:\"average01\"}}),_vm._v(\" 分开始,每\\n\\t\\t\\t\\t\"),_c('el-input-number',{staticClass:\"el-input-height\",attrs:{\"min\":1},model:{value:(_vm.average02),callback:function ($$v) {_vm.average02=$$v},expression:\"average02\"}}),_vm._v(\" 分执行一次\\n\\t\\t\\t\")],1)],1),_c('el-row',{staticClass:\"margin-10\"},[_c('el-radio',{attrs:{\"label\":4}},[_vm._v(\"\\n\\t\\t\\t\\t任意指定\\n\\t\\t\\t\\t\"),_c('el-button',{attrs:{\"size\":\"mini\"},on:{\"click\":function($event){_vm.checkboxList=[]}}},[_vm._v(\"清空指定\")]),_c('el-row',{staticClass:\"margin-top-10\"},[_c('el-checkbox-group',{model:{value:(_vm.checkboxList),callback:function ($$v) {_vm.checkboxList=$$v},expression:\"checkboxList\"}},_vm._l((60),function(item,index){return _c('el-col',{key:item,attrs:{\"span\":2}},[_c('el-checkbox',{attrs:{\"label\":item-1}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\"+_vm._s(index+1>10?item-1:'0'+(item-1))+\"\\n\\t\\t\\t\\t\\t\\t\\t\")])],1)}),1)],1)],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export default {\r\n data() {\r\n return {\r\n radioValue: 1,\r\n cycle01: 1,\r\n cycle02: 2,\r\n average01: 0,\r\n average02: 1,\r\n checkboxList: [],\r\n checkNum: this.$options.propsData.check\r\n };\r\n },\r\n name: \"crontab-min\",\r\n props: [\"check\"],\r\n methods: {\r\n // 单选按钮值变化时\r\n radioChange() {\r\n switch (this.radioValue) {\r\n case 1:\r\n this.$emit(\"updata\", \"min\", \"*\");\r\n break;\r\n case 2:\r\n this.$emit(\"updata\", \"min\", this.cycle01 + \"-\" + this.cycle02);\r\n break;\r\n case 3:\r\n this.$emit(\"updata\", \"min\", this.average01 + \"/\" + this.average02);\r\n break;\r\n case 4:\r\n this.$emit(\"updata\", \"min\", this.checkboxString);\r\n break;\r\n }\r\n },\r\n // 周期两个值变化时\r\n cycleChange() {\r\n if (this.radioValue === 2) {\r\n this.$emit(\"updata\", \"min\", this.cycleTotal);\r\n }\r\n },\r\n // 平均两个值变化时\r\n averageChange() {\r\n if (this.radioValue === 3) {\r\n this.$emit(\"updata\", \"min\", this.averageTotal);\r\n }\r\n },\r\n // checkbox值变化时\r\n checkboxChange() {\r\n if (this.radioValue === 4) {\r\n this.$emit(\"updata\", \"min\", this.checkboxString);\r\n }\r\n }\r\n },\r\n watch: {\r\n radioValue: \"radioChange\",\r\n cycleTotal: \"cycleChange\",\r\n averageTotal: \"averageChange\",\r\n checkboxString: \"checkboxChange\"\r\n },\r\n computed: {\r\n // 计算两个周期值\r\n cycleTotal: function() {\r\n this.cycle01 = this.checkNum(this.cycle01, 0, 59);\r\n this.cycle02 = this.checkNum(this.cycle02, 0, 59);\r\n return this.cycle01 + \"-\" + this.cycle02;\r\n },\r\n // 计算平均用到的值\r\n averageTotal: function() {\r\n this.average01 = this.checkNum(this.average01, 0, 59);\r\n this.average02 = this.checkNum(this.average02, 1, 59);\r\n return this.average01 + \"/\" + this.average02;\r\n },\r\n // 计算勾选的checkbox值合集\r\n checkboxString: function() {\r\n let str = this.checkboxList.join();\r\n return str === \"\" ? \"*\" : str;\r\n }\r\n }\r\n};\r\n","<template>\r\n\t<el-form>\r\n\t\t<el-radio-group v-model='radioValue'>\r\n\t\t\t<el-row class=\"margin-10\">\r\n\t\t\t\t<el-radio :label=\"1\"> 分,允许的通配符[, - * /]</el-radio>\r\n\t\t\t</el-row>\r\n\t\t\t<el-row class=\"margin-10\">\r\n\t\t\t\t<el-radio :label=\"2\">\r\n\t\t\t\t\t周期从\r\n\t\t\t\t\t<el-input-number class=\"el-input-height\" :min=\"1\" v-model='cycle01' /> -\r\n\t\t\t\t\t<el-input-number class=\"el-input-height\" :min=\"1\" v-model='cycle02' /> 分\r\n\t\t\t\t</el-radio>\r\n\t\t\t</el-row>\r\n\t\t\t<el-row class=\"margin-10\">\r\n\t\t\t\t<el-radio :label=\"3\">\r\n\t\t\t\t\t从\r\n\t\t\t\t\t<el-input-number class=\"el-input-height\" :min=\"1\" v-model='average01' /> 分开始,每\r\n\t\t\t\t\t<el-input-number class=\"el-input-height\" :min=\"1\" v-model='average02' /> 分执行一次\r\n\t\t\t\t</el-radio>\r\n\t\t\t</el-row>\r\n\t\t\t<el-row class=\"margin-10\">\r\n\t\t\t\t<el-radio :label=\"4\">\r\n\t\t\t\t\t任意指定\r\n\t\t\t\t\t<el-button size=\"mini\" @click=\"checkboxList=[]\">清空指定</el-button>\r\n\t\t\t\t\t<el-row class=\"margin-top-10\">\r\n\t\t\t\t\t\t<el-checkbox-group v-model=\"checkboxList\">\r\n\t\t\t\t\t\t\t<el-col :span=\"2\" v-for='(item,index) in 60' :key=\"item\">\r\n\t\t\t\t\t\t\t\t<el-checkbox :label=\"item-1\">\r\n\t\t\t\t\t\t\t\t\t{{index+1>10?item-1:'0'+(item-1)}}\r\n\t\t\t\t\t\t\t\t</el-checkbox>\r\n\t\t\t\t\t\t\t</el-col>\r\n\t\t\t\t\t\t</el-checkbox-group>\r\n\t\t\t\t\t</el-row>\r\n\t\t\t\t</el-radio>\r\n\t\t\t</el-row>\r\n\t\t</el-radio-group>\r\n\t</el-form>\r\n</template>\r\n\r\n<script>\r\nimport crontabMin from \"./crontab-min\";\r\nexport default crontabMin;\r\n</script>","import mod from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/_thread-loader@2.1.2@thread-loader/dist/cjs.js!../../../../node_modules/_babel-loader@8.0.6@babel-loader/lib/index.js!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./Crontab-Min.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/_thread-loader@2.1.2@thread-loader/dist/cjs.js!../../../../node_modules/_babel-loader@8.0.6@babel-loader/lib/index.js!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./Crontab-Min.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Crontab-Min.vue?vue&type=template&id=69275eda&\"\nimport script from \"./Crontab-Min.vue?vue&type=script&lang=js&\"\nexport * from \"./Crontab-Min.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-form',[_c('el-radio-group',{model:{value:(_vm.radioValue),callback:function ($$v) {_vm.radioValue=$$v},expression:\"radioValue\"}},[_c('el-row',{staticClass:\"margin-10\"},[_c('el-radio',{attrs:{\"label\":1}},[_vm._v(\" 时,允许的通配符[, - * /]\")])],1),_c('el-row',{staticClass:\"margin-10\"},[_c('el-radio',{attrs:{\"label\":2}},[_vm._v(\"\\n\\t\\t\\t\\t周期从\\n\\t\\t\\t\\t\"),_c('el-input-number',{staticClass:\"el-input-height\",attrs:{\"min\":1},model:{value:(_vm.cycle01),callback:function ($$v) {_vm.cycle01=$$v},expression:\"cycle01\"}}),_vm._v(\" -\\n\\t\\t\\t\\t\"),_c('el-input-number',{staticClass:\"el-input-height\",attrs:{\"min\":1},model:{value:(_vm.cycle02),callback:function ($$v) {_vm.cycle02=$$v},expression:\"cycle02\"}}),_vm._v(\" 时\\n\\t\\t\\t\")],1)],1),_c('el-row',{staticClass:\"margin-10\"},[_c('el-radio',{attrs:{\"label\":3}},[_vm._v(\"\\n\\t\\t\\t\\t从\\n\\t\\t\\t\\t\"),_c('el-input-number',{staticClass:\"el-input-height\",attrs:{\"min\":1},model:{value:(_vm.average01),callback:function ($$v) {_vm.average01=$$v},expression:\"average01\"}}),_vm._v(\" 时开始,每\\n\\t\\t\\t\\t\"),_c('el-input-number',{staticClass:\"el-input-height\",attrs:{\"min\":1},model:{value:(_vm.average02),callback:function ($$v) {_vm.average02=$$v},expression:\"average02\"}}),_vm._v(\" 时执行一次\\n\\t\\t\\t\")],1)],1),_c('el-row',{staticClass:\"margin-10\"},[_c('el-radio',{attrs:{\"label\":4}},[_vm._v(\"\\n\\t\\t\\t\\t任意指定\\n\\t\\t\\t\\t\"),_c('el-button',{attrs:{\"size\":\"mini\"},on:{\"click\":function($event){_vm.checkboxList=[]}}},[_vm._v(\"清空指定\")]),_c('el-row',{staticClass:\"margin-top-10\"},[_c('el-checkbox-group',{model:{value:(_vm.checkboxList),callback:function ($$v) {_vm.checkboxList=$$v},expression:\"checkboxList\"}},_vm._l((24),function(item,index){return _c('el-col',{key:item,attrs:{\"span\":2}},[_c('el-checkbox',{attrs:{\"label\":item-1}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\"+_vm._s(index+1>10?item-1:'0'+(item-1))+\"\\n\\t\\t\\t\\t\\t\\t\\t\")])],1)}),1)],1)],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export default {\r\n data() {\r\n return {\r\n radioValue: 1,\r\n cycle01: 0,\r\n cycle02: 1,\r\n average01: 0,\r\n average02: 1,\r\n checkboxList: [],\r\n checkNum: this.$options.propsData.check\r\n };\r\n },\r\n name: \"crontab-hour\",\r\n props: [\"check\"],\r\n methods: {\r\n // 单选按钮值变化时\r\n radioChange() {\r\n switch (this.radioValue) {\r\n case 1:\r\n this.$emit(\"updata\", \"hour\", \"*\");\r\n break;\r\n case 2:\r\n this.$emit(\"updata\", \"hour\", this.cycle01 + \"-\" + this.cycle02);\r\n break;\r\n case 3:\r\n this.$emit(\"updata\", \"hour\", this.average01 + \"/\" + this.average02);\r\n break;\r\n case 4:\r\n this.$emit(\"updata\", \"hour\", this.checkboxString);\r\n break;\r\n }\r\n },\r\n // 周期两个值变化时\r\n cycleChange() {\r\n if (this.radioValue === 2) {\r\n this.$emit(\"updata\", \"hour\", this.cycleTotal);\r\n }\r\n },\r\n // 平均两个值变化时\r\n averageChange() {\r\n if (this.radioValue === 3) {\r\n this.$emit(\"updata\", \"hour\", this.averageTotal);\r\n }\r\n },\r\n // checkbox值变化时\r\n checkboxChange() {\r\n if (this.radioValue === 4) {\r\n this.$emit(\"updata\", \"hour\", this.checkboxString);\r\n }\r\n }\r\n },\r\n watch: {\r\n radioValue: \"radioChange\",\r\n cycleTotal: \"cycleChange\",\r\n averageTotal: \"averageChange\",\r\n checkboxString: \"checkboxChange\"\r\n },\r\n computed: {\r\n // 计算两个周期值\r\n cycleTotal: function() {\r\n this.cycle01 = this.checkNum(this.cycle01, 0, 23);\r\n this.cycle02 = this.checkNum(this.cycle02, 0, 23);\r\n return this.cycle01 + \"-\" + this.cycle02;\r\n },\r\n // 计算平均用到的值\r\n averageTotal: function() {\r\n this.average01 = this.checkNum(this.average01, 0, 23);\r\n this.average02 = this.checkNum(this.average02, 1, 23);\r\n return this.average01 + \"/\" + this.average02;\r\n },\r\n // 计算勾选的checkbox值合集\r\n checkboxString: function() {\r\n let str = this.checkboxList.join();\r\n return str === \"\" ? \"*\" : str;\r\n }\r\n }\r\n};\r\n","<template>\r\n\t<el-form>\r\n\t\t<el-radio-group v-model='radioValue'>\r\n\t\t\t<el-row class=\"margin-10\">\r\n\t\t\t\t<el-radio :label=\"1\"> 时,允许的通配符[, - * /]</el-radio>\r\n\t\t\t</el-row>\r\n\t\t\t<el-row class=\"margin-10\">\r\n\t\t\t\t<el-radio :label=\"2\">\r\n\t\t\t\t\t周期从\r\n\t\t\t\t\t<el-input-number class=\"el-input-height\" :min=\"1\" v-model='cycle01' /> -\r\n\t\t\t\t\t<el-input-number class=\"el-input-height\" :min=\"1\" v-model='cycle02' /> 时\r\n\t\t\t\t</el-radio>\r\n\t\t\t</el-row>\r\n\t\t\t<el-row class=\"margin-10\">\r\n\t\t\t\t<el-radio :label=\"3\">\r\n\t\t\t\t\t从\r\n\t\t\t\t\t<el-input-number class=\"el-input-height\" :min=\"1\" v-model='average01' /> 时开始,每\r\n\t\t\t\t\t<el-input-number class=\"el-input-height\" :min=\"1\" v-model='average02' /> 时执行一次\r\n\t\t\t\t</el-radio>\r\n\t\t\t</el-row>\r\n\t\t\t<el-row class=\"margin-10\">\r\n\t\t\t\t<el-radio :label=\"4\">\r\n\t\t\t\t\t任意指定\r\n\t\t\t\t\t<el-button size=\"mini\" @click=\"checkboxList=[]\">清空指定</el-button>\r\n\t\t\t\t\t<el-row class=\"margin-top-10\">\r\n\t\t\t\t\t\t<el-checkbox-group v-model=\"checkboxList\">\r\n\t\t\t\t\t\t\t<el-col :span=\"2\" v-for='(item,index) in 24' :key=\"item\">\r\n\t\t\t\t\t\t\t\t<el-checkbox :label=\"item-1\">\r\n\t\t\t\t\t\t\t\t\t{{index+1>10?item-1:'0'+(item-1)}}\r\n\t\t\t\t\t\t\t\t</el-checkbox>\r\n\t\t\t\t\t\t\t</el-col>\r\n\t\t\t\t\t\t</el-checkbox-group>\r\n\t\t\t\t\t</el-row>\r\n\t\t\t\t</el-radio>\r\n\t\t\t</el-row>\r\n\t\t</el-radio-group>\r\n\t</el-form>\r\n</template>\r\n\r\n<script>\r\nimport crontabHour from \"./crontab-hour\";\r\nexport default crontabHour;\r\n</script>","import mod from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/_thread-loader@2.1.2@thread-loader/dist/cjs.js!../../../../node_modules/_babel-loader@8.0.6@babel-loader/lib/index.js!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./Crontab-Hour.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/_thread-loader@2.1.2@thread-loader/dist/cjs.js!../../../../node_modules/_babel-loader@8.0.6@babel-loader/lib/index.js!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./Crontab-Hour.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Crontab-Hour.vue?vue&type=template&id=4792ccf1&\"\nimport script from \"./Crontab-Hour.vue?vue&type=script&lang=js&\"\nexport * from \"./Crontab-Hour.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-form',[_c('el-radio-group',{model:{value:(_vm.radioValue),callback:function ($$v) {_vm.radioValue=$$v},expression:\"radioValue\"}},[_c('el-row',{staticClass:\"margin-10\"},[_c('el-radio',{attrs:{\"label\":1}},[_vm._v(\" 日,允许的通配符[, - * /]\")])],1),_c('el-row',{staticClass:\"margin-10\"},[_c('el-radio',{attrs:{\"label\":2}},[_vm._v(\" 不指定\")])],1),_c('el-row',{staticClass:\"margin-10\"},[_c('el-radio',{attrs:{\"label\":3}},[_vm._v(\"\\n\\t\\t\\t\\t周期从\\n\\t\\t\\t\\t\"),_c('el-input-number',{staticClass:\"el-input-height\",attrs:{\"min\":1},model:{value:(_vm.cycle01),callback:function ($$v) {_vm.cycle01=$$v},expression:\"cycle01\"}}),_vm._v(\" -\\n\\t\\t\\t\\t\"),_c('el-input-number',{staticClass:\"el-input-height\",attrs:{\"min\":1},model:{value:(_vm.cycle02),callback:function ($$v) {_vm.cycle02=$$v},expression:\"cycle02\"}}),_vm._v(\" 日\\n\\t\\t\\t\")],1)],1),_c('el-row',{staticClass:\"margin-10\"},[_c('el-radio',{attrs:{\"label\":4}},[_vm._v(\"\\n\\t\\t\\t\\t从\\n\\t\\t\\t\\t\"),_c('el-input-number',{staticClass:\"el-input-height\",attrs:{\"min\":1},model:{value:(_vm.average01),callback:function ($$v) {_vm.average01=$$v},expression:\"average01\"}}),_vm._v(\" 号开始,每\\n\\t\\t\\t\\t\"),_c('el-input-number',{staticClass:\"el-input-height\",attrs:{\"min\":1},model:{value:(_vm.average02),callback:function ($$v) {_vm.average02=$$v},expression:\"average02\"}}),_vm._v(\" 日执行一次\\n\\t\\t\\t\")],1)],1),_c('el-row',{staticClass:\"margin-10\"},[_c('el-radio',{attrs:{\"label\":5}},[_vm._v(\"\\n\\t\\t\\t\\t每月\\n\\t\\t\\t\\t\"),_c('el-input-number',{staticClass:\"el-input-height\",attrs:{\"min\":1},model:{value:(_vm.workday),callback:function ($$v) {_vm.workday=$$v},expression:\"workday\"}}),_vm._v(\" 号最近的那个工作日\\n\\t\\t\\t\")],1)],1),_c('el-row',{staticClass:\"margin-10\"},[_c('el-radio',{attrs:{\"label\":6}},[_vm._v(\" 本月最后一天\")])],1),_c('el-row',{staticClass:\"margin-10\"},[_c('el-radio',{attrs:{\"label\":7}},[_vm._v(\"\\n\\t\\t\\t\\t任意指定\\n\\t\\t\\t\\t\"),_c('el-button',{attrs:{\"size\":\"mini\"},on:{\"click\":function($event){_vm.checkboxList=[]}}},[_vm._v(\"清空指定\")]),_c('el-row',{staticClass:\"margin-top-10\"},[_c('el-checkbox-group',{model:{value:(_vm.checkboxList),callback:function ($$v) {_vm.checkboxList=$$v},expression:\"checkboxList\"}},_vm._l((31),function(item,index){return _c('el-col',{key:item,attrs:{\"span\":2}},[_c('el-checkbox',{attrs:{\"label\":item}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\"+_vm._s(index+2>10?item:'0'+(item))+\"\\n\\t\\t\\t\\t\\t\\t\\t\")])],1)}),1)],1)],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export default {\r\n data() {\r\n return {\r\n radioValue: 1,\r\n workday: 1,\r\n cycle01: 1,\r\n cycle02: 2,\r\n average01: 1,\r\n average02: 1,\r\n checkboxList: [],\r\n checkNum: this.$options.propsData.check\r\n };\r\n },\r\n name: \"crontab-day\",\r\n props: [\"check\", \"week\"],\r\n methods: {\r\n // 单选按钮值变化时\r\n radioChange() {\r\n switch (this.radioValue) {\r\n case 1:\r\n this.$emit(\"updata\", \"day\", \"*\");\r\n break;\r\n case 2:\r\n this.$emit(\"updata\", \"day\", \"?\");\r\n break;\r\n case 3:\r\n this.$emit(\"updata\", \"day\", this.cycle01 + \"-\" + this.cycle02);\r\n break;\r\n case 4:\r\n this.$emit(\"updata\", \"day\", this.average01 + \"/\" + this.average02);\r\n break;\r\n case 5:\r\n this.$emit(\"updata\", \"day\", this.workday + \"W\");\r\n break;\r\n case 6:\r\n this.$emit(\"updata\", \"day\", \"L\");\r\n break;\r\n case 7:\r\n this.$emit(\"updata\", \"day\", this.checkboxString);\r\n break;\r\n }\r\n },\r\n // 周期两个值变化时\r\n cycleChange() {\r\n if (this.radioValue === 3) {\r\n this.$emit(\"updata\", \"day\", this.cycleTotal);\r\n }\r\n },\r\n // 平均两个值变化时\r\n averageChange() {\r\n if (this.radioValue === 4) {\r\n this.$emit(\"updata\", \"day\", this.averageTotal);\r\n }\r\n },\r\n // 最近工作日值变化时\r\n workdayChange() {\r\n if (this.radioValue === 5) {\r\n this.$emit(\"updata\", \"day\", this.workday + \"W\");\r\n }\r\n },\r\n // checkbox值变化时\r\n checkboxChange() {\r\n if (this.radioValue === 7) {\r\n this.$emit(\"updata\", \"day\", this.checkboxString);\r\n }\r\n },\r\n // 父组件传递的week发生变化触发\r\n weekChange() {\r\n //判断week值与day不能同时为“?”\r\n if (this.$options.propsData.week === \"?\" && this.radioValue == 2) {\r\n this.radioValue = \"1\";\r\n } else if (this.$options.propsData.week !== \"?\" && this.radioValue != 2) {\r\n this.radioValue = 2;\r\n }\r\n }\r\n },\r\n watch: {\r\n radioValue: \"radioChange\",\r\n cycleTotal: \"cycleChange\",\r\n averageTotal: \"averageChange\",\r\n workdayCheck: \"workdayChange\",\r\n checkboxString: \"checkboxChange\",\r\n week: \"weekChange\"\r\n },\r\n computed: {\r\n // 计算两个周期值\r\n cycleTotal: function() {\r\n this.cycle01 = this.checkNum(this.cycle01, 1, 31);\r\n this.cycle02 = this.checkNum(this.cycle02, 1, 31);\r\n return this.cycle01 + \"-\" + this.cycle02;\r\n },\r\n // 计算平均用到的值\r\n averageTotal: function() {\r\n this.average01 = this.checkNum(this.average01, 1, 31);\r\n this.average02 = this.checkNum(this.average02, 1, 31);\r\n return this.average01 + \"/\" + this.average02;\r\n },\r\n // 计算工作日格式\r\n workdayCheck: function() {\r\n this.workday = this.checkNum(this.workday, 1, 31);\r\n return this.workday;\r\n },\r\n // 计算勾选的checkbox值合集\r\n checkboxString: function() {\r\n let str = this.checkboxList.join();\r\n return str === \"\" ? \"*\" : str;\r\n }\r\n }\r\n};\r\n","<template>\r\n\t<el-form>\r\n\t\t<el-radio-group v-model='radioValue'>\r\n\t\t\t<el-row class=\"margin-10\">\r\n\t\t\t\t<el-radio :label=\"1\"> 日,允许的通配符[, - * /]</el-radio>\r\n\t\t\t</el-row>\r\n\t\t\t<el-row class=\"margin-10\">\r\n\t\t\t\t<el-radio :label=\"2\"> 不指定</el-radio>\r\n\t\t\t</el-row>\r\n\t\t\t<el-row class=\"margin-10\">\r\n\t\t\t\t<el-radio :label=\"3\">\r\n\t\t\t\t\t周期从\r\n\t\t\t\t\t<el-input-number class=\"el-input-height\" :min=\"1\" v-model='cycle01' /> -\r\n\t\t\t\t\t<el-input-number class=\"el-input-height\" :min=\"1\" v-model='cycle02' /> 日\r\n\t\t\t\t</el-radio>\r\n\t\t\t</el-row>\r\n\t\t\t<el-row class=\"margin-10\">\r\n\t\t\t\t<el-radio :label=\"4\">\r\n\t\t\t\t\t从\r\n\t\t\t\t\t<el-input-number class=\"el-input-height\" :min=\"1\" v-model='average01' /> 号开始,每\r\n\t\t\t\t\t<el-input-number class=\"el-input-height\" :min=\"1\" v-model='average02' /> 日执行一次\r\n\t\t\t\t</el-radio>\r\n\t\t\t</el-row>\r\n\t\t\t<el-row class=\"margin-10\">\r\n\t\t\t\t<el-radio :label=\"5\">\r\n\t\t\t\t\t每月\r\n\t\t\t\t\t<el-input-number class=\"el-input-height\" :min=\"1\" v-model='workday' /> 号最近的那个工作日\r\n\t\t\t\t</el-radio>\r\n\t\t\t</el-row>\r\n\t\t\t<el-row class=\"margin-10\">\r\n\t\t\t\t<el-radio :label=\"6\"> 本月最后一天</el-radio>\r\n\t\t\t</el-row>\r\n\t\t\t<el-row class=\"margin-10\">\r\n\t\t\t\t<el-radio :label=\"7\">\r\n\t\t\t\t\t任意指定\r\n\t\t\t\t\t<el-button size=\"mini\" @click=\"checkboxList=[]\">清空指定</el-button>\r\n\t\t\t\t\t<el-row class=\"margin-top-10\">\r\n\t\t\t\t\t\t<el-checkbox-group v-model=\"checkboxList\">\r\n\t\t\t\t\t\t\t<el-col :span=\"2\" v-for='(item,index) in 31' :key=\"item\">\r\n\t\t\t\t\t\t\t\t<el-checkbox :label=\"item\">\r\n\t\t\t\t\t\t\t\t\t{{index+2>10?item:'0'+(item)}}\r\n\t\t\t\t\t\t\t\t</el-checkbox>\r\n\t\t\t\t\t\t\t</el-col>\r\n\t\t\t\t\t\t</el-checkbox-group>\r\n\t\t\t\t\t</el-row>\r\n\t\t\t\t</el-radio>\r\n\t\t\t</el-row>\r\n\t\t</el-radio-group>\r\n\t</el-form>\r\n</template>\r\n\r\n<script>\r\nimport crontabDay from \"./crontab-day\";\r\nexport default crontabDay;\r\n</script>","import mod from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/_thread-loader@2.1.2@thread-loader/dist/cjs.js!../../../../node_modules/_babel-loader@8.0.6@babel-loader/lib/index.js!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./Crontab-Day.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/_thread-loader@2.1.2@thread-loader/dist/cjs.js!../../../../node_modules/_babel-loader@8.0.6@babel-loader/lib/index.js!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./Crontab-Day.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Crontab-Day.vue?vue&type=template&id=730f0636&\"\nimport script from \"./Crontab-Day.vue?vue&type=script&lang=js&\"\nexport * from \"./Crontab-Day.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-form',[_c('el-radio-group',{model:{value:(_vm.radioValue),callback:function ($$v) {_vm.radioValue=$$v},expression:\"radioValue\"}},[_c('el-row',{staticClass:\"margin-10\"},[_c('el-radio',{attrs:{\"label\":1}},[_vm._v(\" 月,允许的通配符[, - * /]\")])],1),_c('el-row',{staticClass:\"margin-10\"},[_c('el-radio',{attrs:{\"label\":2}},[_vm._v(\"\\n\\t\\t\\t\\t周期从\\n\\t\\t\\t\\t\"),_c('el-input-number',{staticClass:\"el-input-height\",attrs:{\"min\":1},model:{value:(_vm.cycle01),callback:function ($$v) {_vm.cycle01=$$v},expression:\"cycle01\"}}),_vm._v(\" -\\n\\t\\t\\t\\t\"),_c('el-input-number',{staticClass:\"el-input-height\",attrs:{\"min\":1},model:{value:(_vm.cycle02),callback:function ($$v) {_vm.cycle02=$$v},expression:\"cycle02\"}}),_vm._v(\" 月\\n\\t\\t\\t\")],1)],1),_c('el-row',{staticClass:\"margin-10\"},[_c('el-radio',{attrs:{\"label\":3}},[_vm._v(\"\\n\\t\\t\\t\\t从\\n\\t\\t\\t\\t\"),_c('el-input-number',{staticClass:\"el-input-height\",attrs:{\"min\":1},model:{value:(_vm.average01),callback:function ($$v) {_vm.average01=$$v},expression:\"average01\"}}),_vm._v(\" 月开始,每\\n\\t\\t\\t\\t\"),_c('el-input-number',{staticClass:\"el-input-height\",attrs:{\"min\":1},model:{value:(_vm.average02),callback:function ($$v) {_vm.average02=$$v},expression:\"average02\"}}),_vm._v(\" 月执行一次\\n\\t\\t\\t\")],1)],1),_c('el-row',{staticClass:\"margin-10\"},[_c('el-radio',{attrs:{\"label\":4}},[_vm._v(\"\\n\\t\\t\\t\\t任意指定\\n\\t\\t\\t\\t\"),_c('el-button',{attrs:{\"size\":\"mini\"},on:{\"click\":function($event){_vm.checkboxList=[]}}},[_vm._v(\"清空指定\")]),_c('el-row',{staticClass:\"margin-top-10\"},[_c('el-checkbox-group',{model:{value:(_vm.checkboxList),callback:function ($$v) {_vm.checkboxList=$$v},expression:\"checkboxList\"}},_vm._l((12),function(item,index){return _c('el-col',{key:item,attrs:{\"span\":2}},[_c('el-checkbox',{attrs:{\"label\":item-1}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\"+_vm._s(index>10?item:'0'+(item))+\"\\n\\t\\t\\t\\t\\t\\t\\t\")])],1)}),1)],1)],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export default {\r\n data() {\r\n return {\r\n radioValue: 1,\r\n cycle01: 1,\r\n cycle02: 2,\r\n average01: 1,\r\n average02: 1,\r\n checkboxList: [],\r\n checkNum: this.$options.propsData.check\r\n };\r\n },\r\n name: \"crontab-mouth\",\r\n props: [\"check\"],\r\n methods: {\r\n // 单选按钮值变化时\r\n radioChange() {\r\n switch (this.radioValue) {\r\n case 1:\r\n this.$emit(\"updata\", \"mouth\", \"*\");\r\n break;\r\n case 2:\r\n this.$emit(\"updata\", \"mouth\", this.cycle01 + \"-\" + this.cycle02);\r\n break;\r\n case 3:\r\n this.$emit(\"updata\", \"mouth\", this.average01 + \"/\" + this.average02);\r\n break;\r\n case 4:\r\n this.$emit(\"updata\", \"mouth\", this.checkboxString);\r\n break;\r\n }\r\n },\r\n // 周期两个值变化时\r\n cycleChange() {\r\n if (this.radioValue === 2) {\r\n this.$emit(\"updata\", \"mouth\", this.cycleTotal);\r\n }\r\n },\r\n // 平均两个值变化时\r\n averageChange() {\r\n if (this.radioValue === 3) {\r\n this.$emit(\"updata\", \"mouth\", this.averageTotal);\r\n }\r\n },\r\n // checkbox值变化时\r\n checkboxChange() {\r\n if (this.radioValue === 4) {\r\n this.$emit(\"updata\", \"mouth\", this.checkboxString);\r\n }\r\n }\r\n },\r\n watch: {\r\n radioValue: \"radioChange\",\r\n cycleTotal: \"cycleChange\",\r\n averageTotal: \"averageChange\",\r\n checkboxString: \"checkboxChange\"\r\n },\r\n computed: {\r\n // 计算两个周期值\r\n cycleTotal: function() {\r\n this.cycle01 = this.checkNum(this.cycle01, 1, 12);\r\n this.cycle02 = this.checkNum(this.cycle02, 1, 12);\r\n return this.cycle01 + \"-\" + this.cycle02;\r\n },\r\n // 计算平均用到的值\r\n averageTotal: function() {\r\n this.average01 = this.checkNum(this.average01, 1, 12);\r\n this.average02 = this.checkNum(this.average02, 1, 12);\r\n return this.average01 + \"/\" + this.average02;\r\n },\r\n // 计算勾选的checkbox值合集\r\n checkboxString: function() {\r\n let str = this.checkboxList.join();\r\n return str === \"\" ? \"*\" : str;\r\n }\r\n }\r\n};\r\n","<template>\r\n\t<el-form>\r\n\t\t<el-radio-group v-model='radioValue'>\r\n\t\t\t<el-row class=\"margin-10\">\r\n\t\t\t\t<el-radio :label=\"1\"> 月,允许的通配符[, - * /]</el-radio>\r\n\t\t\t</el-row>\r\n\t\t\t<el-row class=\"margin-10\">\r\n\t\t\t\t<el-radio :label=\"2\">\r\n\t\t\t\t\t周期从\r\n\t\t\t\t\t<el-input-number class=\"el-input-height\" :min=\"1\" v-model='cycle01' /> -\r\n\t\t\t\t\t<el-input-number class=\"el-input-height\" :min=\"1\" v-model='cycle02' /> 月\r\n\t\t\t\t</el-radio>\r\n\t\t\t</el-row>\r\n\t\t\t<el-row class=\"margin-10\">\r\n\t\t\t\t<el-radio :label=\"3\">\r\n\t\t\t\t\t从\r\n\t\t\t\t\t<el-input-number class=\"el-input-height\" :min=\"1\" v-model='average01' /> 月开始,每\r\n\t\t\t\t\t<el-input-number class=\"el-input-height\" :min=\"1\" v-model='average02' /> 月执行一次\r\n\t\t\t\t</el-radio>\r\n\t\t\t</el-row>\r\n\t\t\t<el-row class=\"margin-10\">\r\n\t\t\t\t<el-radio :label=\"4\">\r\n\t\t\t\t\t任意指定\r\n\t\t\t\t\t<el-button size=\"mini\" @click=\"checkboxList=[]\">清空指定</el-button>\r\n\t\t\t\t\t<el-row class=\"margin-top-10\">\r\n\t\t\t\t\t\t<el-checkbox-group v-model=\"checkboxList\">\r\n\t\t\t\t\t\t\t<el-col :span=\"2\" v-for='(item,index) in 12' :key=\"item\">\r\n\t\t\t\t\t\t\t\t<el-checkbox :label=\"item-1\">\r\n\t\t\t\t\t\t\t\t\t{{index>10?item:'0'+(item)}}\r\n\t\t\t\t\t\t\t\t</el-checkbox>\r\n\t\t\t\t\t\t\t</el-col>\r\n\t\t\t\t\t\t</el-checkbox-group>\r\n\t\t\t\t\t</el-row>\r\n\t\t\t\t</el-radio>\r\n\t\t\t</el-row>\r\n\t\t</el-radio-group>\r\n\t</el-form>\r\n</template>\r\n\r\n<script>\r\nimport crontabMouth from \"./crontab-mouth\";\r\nexport default crontabMouth;\r\n</script>","import mod from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/_thread-loader@2.1.2@thread-loader/dist/cjs.js!../../../../node_modules/_babel-loader@8.0.6@babel-loader/lib/index.js!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./Crontab-Mouth.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/_thread-loader@2.1.2@thread-loader/dist/cjs.js!../../../../node_modules/_babel-loader@8.0.6@babel-loader/lib/index.js!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./Crontab-Mouth.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Crontab-Mouth.vue?vue&type=template&id=28095ea8&\"\nimport script from \"./Crontab-Mouth.vue?vue&type=script&lang=js&\"\nexport * from \"./Crontab-Mouth.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-form',[_c('el-radio-group',{model:{value:(_vm.radioValue),callback:function ($$v) {_vm.radioValue=$$v},expression:\"radioValue\"}},[_c('el-row',{staticClass:\"margin-10\"},[_c('el-radio',{attrs:{\"label\":1}},[_vm._v(\" 周,允许的通配符[, - * /]\")])],1),_c('el-row',{staticClass:\"margin-10\"},[_c('el-radio',{attrs:{\"label\":2}},[_vm._v(\" 不指定\")])],1),_c('el-row',{staticClass:\"margin-10\"},[_c('el-radio',{attrs:{\"label\":3}},[_vm._v(\"\\n\\t\\t\\t\\t周期从星期\\n\\t\\t\\t\\t\"),_c('el-input-number',{staticClass:\"el-input-height\",attrs:{\"min\":1},model:{value:(_vm.cycle01),callback:function ($$v) {_vm.cycle01=$$v},expression:\"cycle01\"}}),_vm._v(\" -\\n\\t\\t\\t\\t\"),_c('el-input-number',{staticClass:\"el-input-height\",attrs:{\"min\":1},model:{value:(_vm.cycle02),callback:function ($$v) {_vm.cycle02=$$v},expression:\"cycle02\"}})],1)],1),_c('el-row',{staticClass:\"margin-10\"},[_c('el-radio',{attrs:{\"label\":4}},[_vm._v(\"\\n\\t\\t\\t\\t第\\n\\t\\t\\t\\t\"),_c('el-input-number',{staticClass:\"el-input-height\",attrs:{\"min\":1},model:{value:(_vm.average01),callback:function ($$v) {_vm.average01=$$v},expression:\"average01\"}}),_vm._v(\" 周的星期\\n\\t\\t\\t\\t\"),_c('el-input-number',{staticClass:\"el-input-height\",attrs:{\"min\":1},model:{value:(_vm.average02),callback:function ($$v) {_vm.average02=$$v},expression:\"average02\"}})],1)],1),_c('el-row',{staticClass:\"margin-10\"},[_c('el-radio',{attrs:{\"label\":5}},[_vm._v(\"\\n\\t\\t\\t\\t本月最后一个星期\\n\\t\\t\\t\\t\"),_c('el-input-number',{staticClass:\"el-input-height\",attrs:{\"min\":1},model:{value:(_vm.weekday),callback:function ($$v) {_vm.weekday=$$v},expression:\"weekday\"}})],1)],1),_c('el-row',{staticClass:\"margin-10\"},[_c('el-radio',{attrs:{\"label\":6}},[_vm._v(\"\\n\\t\\t\\t\\t任意指定\\n\\t\\t\\t\\t\"),_c('el-button',{attrs:{\"size\":\"mini\"},on:{\"click\":function($event){_vm.checkboxList=[]}}},[_vm._v(\"清空指定\")]),_c('el-row',{staticClass:\"margin-top-10\"},[_c('el-checkbox-group',{model:{value:(_vm.checkboxList),callback:function ($$v) {_vm.checkboxList=$$v},expression:\"checkboxList\"}},_vm._l((_vm.weekList),function(item,index){return _c('el-col',{key:item,attrs:{\"span\":2}},[_c('el-checkbox',{attrs:{\"label\":index+1}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\"+_vm._s(item)+\"\\n\\t\\t\\t\\t\\t\\t\\t\")])],1)}),1)],1)],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export default {\r\n data() {\r\n return {\r\n radioValue: 2,\r\n weekday: 1,\r\n cycle01: 1,\r\n cycle02: 2,\r\n average01: 1,\r\n average02: 1,\r\n checkboxList: [],\r\n weekList: [\"周一\", \"周二\", \"周三\", \"周四\", \"周五\", \"周六\", \"周日\"],\r\n checkNum: this.$options.propsData.check\r\n };\r\n },\r\n name: \"crontab-week\",\r\n props: [\"check\", \"day\"],\r\n methods: {\r\n // 单选按钮值变化时\r\n radioChange() {\r\n switch (this.radioValue) {\r\n case 1:\r\n this.$emit(\"updata\", \"week\", \"*\");\r\n break;\r\n case 2:\r\n this.$emit(\"updata\", \"week\", \"?\");\r\n break;\r\n case 3:\r\n this.$emit(\"updata\", \"week\", this.cycle01 + \"-\" + this.cycle02);\r\n break;\r\n case 4:\r\n this.$emit(\"updata\", \"week\", this.average01 + \"#\" + this.average02);\r\n break;\r\n case 5:\r\n this.$emit(\"updata\", \"week\", this.weekday + \"L\");\r\n break;\r\n case 6:\r\n this.$emit(\"updata\", \"week\", this.checkboxString);\r\n break;\r\n }\r\n },\r\n // 根据互斥事件,更改radio的值\r\n\r\n // 周期两个值变化时\r\n cycleChange() {\r\n if (this.radioValue === 3) {\r\n this.$emit(\"updata\", \"week\", this.cycleTotal);\r\n }\r\n },\r\n // 平均两个值变化时\r\n averageChange() {\r\n if (this.radioValue === 4) {\r\n this.$emit(\"updata\", \"week\", this.averageTotal);\r\n }\r\n },\r\n // 最近工作日值变化时\r\n weekdayChange() {\r\n if (this.radioValue === 5) {\r\n this.$emit(\"updata\", \"week\", this.weekday + \"L\");\r\n }\r\n },\r\n // checkbox值变化时\r\n checkboxChange() {\r\n if (this.radioValue === 6) {\r\n this.$emit(\"updata\", \"week\", this.checkboxString);\r\n }\r\n },\r\n // 父组件传递的day发生变化触发\r\n dayChange() {\r\n //判断week值与day不能同时为“?”\r\n if (this.$options.propsData.day === \"?\" && this.radioValue == 2) {\r\n this.radioValue = 1;\r\n } else if (this.$options.propsData.day !== \"?\" && this.radioValue != 2) {\r\n this.radioValue = 2;\r\n }\r\n }\r\n },\r\n watch: {\r\n radioValue: \"radioChange\",\r\n cycleTotal: \"cycleChange\",\r\n averageTotal: \"averageChange\",\r\n weekdayCheck: \"weekdayChange\",\r\n checkboxString: \"checkboxChange\",\r\n day: \"dayChange\"\r\n },\r\n computed: {\r\n // 计算两个周期值\r\n cycleTotal: function() {\r\n this.cycle01 = this.checkNum(this.cycle01, 1, 7);\r\n this.cycle02 = this.checkNum(this.cycle02, 1, 7);\r\n return this.cycle01 + \"-\" + this.cycle02;\r\n },\r\n // 计算平均用到的值\r\n averageTotal: function() {\r\n this.average01 = this.checkNum(this.average01, 1, 4);\r\n this.average02 = this.checkNum(this.average02, 1, 7);\r\n return this.average01 + \"#\" + this.average02;\r\n },\r\n // 最近的工作日(格式)\r\n weekdayCheck: function() {\r\n this.weekday = this.checkNum(this.weekday, 1, 7);\r\n return this.weekday;\r\n },\r\n // 计算勾选的checkbox值合集\r\n checkboxString: function() {\r\n let str = this.checkboxList.join();\r\n return str === \"\" ? \"*\" : str;\r\n }\r\n }\r\n};\r\n","<template>\r\n\t<el-form>\r\n\t\t<el-radio-group v-model='radioValue'>\r\n\t\t\t<el-row class=\"margin-10\">\r\n\t\t\t\t<el-radio :label=\"1\"> 周,允许的通配符[, - * /]</el-radio>\r\n\t\t\t</el-row>\r\n\t\t\t<el-row class=\"margin-10\">\r\n\t\t\t\t<el-radio :label=\"2\"> 不指定</el-radio>\r\n\t\t\t</el-row>\r\n\t\t\t<el-row class=\"margin-10\">\r\n\t\t\t\t<el-radio :label=\"3\">\r\n\t\t\t\t\t周期从星期\r\n\t\t\t\t\t<el-input-number class=\"el-input-height\" :min=\"1\" v-model='cycle01' /> -\r\n\t\t\t\t\t<el-input-number class=\"el-input-height\" :min=\"1\" v-model='cycle02' />\r\n\t\t\t\t</el-radio>\r\n\t\t\t</el-row>\r\n\t\t\t<el-row class=\"margin-10\">\r\n\t\t\t\t<el-radio :label=\"4\">\r\n\t\t\t\t\t第\r\n\t\t\t\t\t<el-input-number class=\"el-input-height\" :min=\"1\" v-model='average01' /> 周的星期\r\n\t\t\t\t\t<el-input-number class=\"el-input-height\" :min=\"1\" v-model='average02' />\r\n\t\t\t\t</el-radio>\r\n\t\t\t</el-row>\r\n\t\t\t<el-row class=\"margin-10\">\r\n\t\t\t\t<el-radio :label=\"5\">\r\n\t\t\t\t\t本月最后一个星期\r\n\t\t\t\t\t<el-input-number class=\"el-input-height\" :min=\"1\" v-model='weekday' />\r\n\t\t\t\t</el-radio>\r\n\t\t\t</el-row>\r\n\t\t\t<el-row class=\"margin-10\">\r\n\t\t\t\t<el-radio :label=\"6\">\r\n\t\t\t\t\t任意指定\r\n\t\t\t\t\t<el-button size=\"mini\" @click=\"checkboxList=[]\">清空指定</el-button>\r\n\t\t\t\t\t<el-row class=\"margin-top-10\">\r\n\t\t\t\t\t\t<el-checkbox-group v-model=\"checkboxList\">\r\n\t\t\t\t\t\t\t<el-col :span=\"2\" v-for='(item,index) in weekList' :key=\"item\">\r\n\t\t\t\t\t\t\t\t<el-checkbox :label=\"index+1\">\r\n\t\t\t\t\t\t\t\t\t{{item}}\r\n\t\t\t\t\t\t\t\t</el-checkbox>\r\n\t\t\t\t\t\t\t</el-col>\r\n\t\t\t\t\t\t</el-checkbox-group>\r\n\t\t\t\t\t</el-row>\r\n\t\t\t\t</el-radio>\r\n\t\t\t</el-row>\r\n\t\t</el-radio-group>\r\n\t</el-form>\r\n</template>\r\n\r\n<script>\r\nimport crontabWeek from \"./crontab-week\";\r\nexport default crontabWeek;\r\n</script>","import mod from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/_thread-loader@2.1.2@thread-loader/dist/cjs.js!../../../../node_modules/_babel-loader@8.0.6@babel-loader/lib/index.js!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./Crontab-Week.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/_thread-loader@2.1.2@thread-loader/dist/cjs.js!../../../../node_modules/_babel-loader@8.0.6@babel-loader/lib/index.js!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./Crontab-Week.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Crontab-Week.vue?vue&type=template&id=d65e541c&\"\nimport script from \"./Crontab-Week.vue?vue&type=script&lang=js&\"\nexport * from \"./Crontab-Week.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-form',[_c('el-radio-group',{model:{value:(_vm.radioValue),callback:function ($$v) {_vm.radioValue=$$v},expression:\"radioValue\"}},[_c('el-row',{staticClass:\"margin-10\"},[_c('el-radio',{attrs:{\"label\":1}},[_vm._v(\" 不填,允许的通配符[, - * /]\")])],1),_c('el-row',{staticClass:\"margin-10\"},[_c('el-radio',{attrs:{\"label\":2}},[_vm._v(\" 每年\")])],1),_c('el-row',{staticClass:\"margin-10\"},[_c('el-radio',{attrs:{\"label\":3}},[_vm._v(\"\\n\\t\\t\\t\\t周期从\\n\\t\\t\\t\\t\"),_c('el-input-number',{staticClass:\"el-input-height\",attrs:{\"min\":1},model:{value:(_vm.cycle01),callback:function ($$v) {_vm.cycle01=$$v},expression:\"cycle01\"}}),_vm._v(\" -\\n\\t\\t\\t\\t\"),_c('el-input-number',{staticClass:\"el-input-height\",attrs:{\"min\":1},model:{value:(_vm.cycle02),callback:function ($$v) {_vm.cycle02=$$v},expression:\"cycle02\"}}),_vm._v(\" 年\\n\\t\\t\\t\")],1)],1),_c('el-row',{staticClass:\"margin-10\"},[_c('el-radio',{attrs:{\"label\":4}},[_vm._v(\"\\n\\t\\t\\t\\t从\\n\\t\\t\\t\\t\"),_c('el-input-number',{staticClass:\"el-input-height\",attrs:{\"min\":1},model:{value:(_vm.average01),callback:function ($$v) {_vm.average01=$$v},expression:\"average01\"}}),_vm._v(\" 年开始,每\\n\\t\\t\\t\\t\"),_c('el-input-number',{staticClass:\"el-input-height\",attrs:{\"min\":1},model:{value:(_vm.average02),callback:function ($$v) {_vm.average02=$$v},expression:\"average02\"}}),_vm._v(\" 年执行一次\\n\\t\\t\\t\")],1)],1),_c('el-row',{staticClass:\"margin-10\"},[_c('el-radio',{attrs:{\"label\":5}},[_vm._v(\"\\n\\t\\t\\t\\t任意指定\\n\\t\\t\\t\\t\"),_c('el-button',{attrs:{\"size\":\"mini\"},on:{\"click\":function($event){_vm.checkboxList=[]}}},[_vm._v(\"清空指定\")]),_c('el-row',{staticClass:\"margin-top-10\"},[_c('el-checkbox-group',{model:{value:(_vm.checkboxList),callback:function ($$v) {_vm.checkboxList=$$v},expression:\"checkboxList\"}},_vm._l((9),function(item){return _c('el-col',{key:item,attrs:{\"span\":2}},[_c('el-checkbox',{attrs:{\"label\":item - 1 + _vm.fullYear}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\"+_vm._s(item -1 + _vm.fullYear)+\"\\n\\t\\t\\t\\t\\t\\t\\t\")])],1)}),1)],1)],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export default {\r\n data() {\r\n return {\r\n fullYear: \"\",\r\n radioValue: 1,\r\n cycle01: 0,\r\n cycle02: 0,\r\n average01: 0,\r\n average02: 1,\r\n checkboxList: [],\r\n checkNum: this.$options.propsData.check\r\n };\r\n },\r\n name: \"crontab-year\",\r\n props: [\"check\"],\r\n methods: {\r\n // 单选按钮值变化时\r\n radioChange() {\r\n switch (this.radioValue) {\r\n case 1:\r\n this.$emit(\"updata\", \"year\", \"\");\r\n break;\r\n case 2:\r\n this.$emit(\"updata\", \"year\", \"*\");\r\n break;\r\n case 3:\r\n this.$emit(\"updata\", \"year\", this.cycle01 + \"-\" + this.cycle02);\r\n break;\r\n case 4:\r\n this.$emit(\"updata\", \"year\", this.average01 + \"/\" + this.average02);\r\n break;\r\n case 5:\r\n this.$emit(\"updata\", \"year\", this.checkboxString);\r\n break;\r\n }\r\n },\r\n // 周期两个值变化时\r\n cycleChange() {\r\n if (this.radioValue === 3) {\r\n this.$emit(\"updata\", \"year\", this.cycleTotal);\r\n }\r\n },\r\n // 平均两个值变化时\r\n averageChange() {\r\n if (this.radioValue === 4) {\r\n this.$emit(\"updata\", \"year\", this.averageTotal);\r\n }\r\n },\r\n // checkbox值变化时\r\n checkboxChange() {\r\n if (this.radioValue === 5) {\r\n this.$emit(\"updata\", \"year\", this.checkboxString);\r\n }\r\n }\r\n },\r\n watch: {\r\n radioValue: \"radioChange\",\r\n cycleTotal: \"cycleChange\",\r\n averageTotal: \"averageChange\",\r\n checkboxString: \"checkboxChange\"\r\n },\r\n computed: {\r\n // 计算两个周期值\r\n cycleTotal: function() {\r\n this.cycle01 = this.checkNum(\r\n this.cycle01,\r\n this.fullYear,\r\n this.fullYear + 100\r\n );\r\n this.cycle02 = this.checkNum(\r\n this.cycle02,\r\n this.fullYear + 1,\r\n this.fullYear + 101\r\n );\r\n return this.cycle01 + \"-\" + this.cycle02;\r\n },\r\n // 计算平均用到的值\r\n averageTotal: function() {\r\n this.average01 = this.checkNum(\r\n this.average01,\r\n this.fullYear,\r\n this.fullYear + 100\r\n );\r\n this.average02 = this.checkNum(this.average02, 1, 10);\r\n return this.average01 + \"/\" + this.average02;\r\n },\r\n // 计算勾选的checkbox值合集\r\n checkboxString: function() {\r\n let str = this.checkboxList.join();\r\n return str;\r\n }\r\n },\r\n mounted: function() {\r\n // 仅获取当前年份\r\n this.fullYear = new Date().getFullYear();\r\n }\r\n};\r\n","<template>\r\n\t<el-form>\r\n\t\t<el-radio-group v-model='radioValue'>\r\n\t\t\t<el-row class=\"margin-10\">\r\n\t\t\t\t<el-radio :label=\"1\"> 不填,允许的通配符[, - * /]</el-radio>\r\n\t\t\t</el-row>\r\n\t\t\t<el-row class=\"margin-10\">\r\n\t\t\t\t<el-radio :label=\"2\"> 每年</el-radio>\r\n\t\t\t</el-row>\r\n\t\t\t<el-row class=\"margin-10\">\r\n\t\t\t\t<el-radio :label=\"3\">\r\n\t\t\t\t\t周期从\r\n\t\t\t\t\t<el-input-number class=\"el-input-height\" :min=\"1\" v-model='cycle01' /> -\r\n\t\t\t\t\t<el-input-number class=\"el-input-height\" :min=\"1\" v-model='cycle02' /> 年\r\n\t\t\t\t</el-radio>\r\n\t\t\t</el-row>\r\n\t\t\t<el-row class=\"margin-10\">\r\n\t\t\t\t<el-radio :label=\"4\">\r\n\t\t\t\t\t从\r\n\t\t\t\t\t<el-input-number class=\"el-input-height\" :min=\"1\" v-model='average01' /> 年开始,每\r\n\t\t\t\t\t<el-input-number class=\"el-input-height\" :min=\"1\" v-model='average02' /> 年执行一次\r\n\t\t\t\t</el-radio>\r\n\t\t\t</el-row>\r\n\t\t\t<el-row class=\"margin-10\">\r\n\t\t\t\t<el-radio :label=\"5\">\r\n\t\t\t\t\t任意指定\r\n\t\t\t\t\t<el-button size=\"mini\" @click=\"checkboxList=[]\">清空指定</el-button>\r\n\t\t\t\t\t<el-row class=\"margin-top-10\">\r\n\t\t\t\t\t\t<el-checkbox-group v-model=\"checkboxList\">\r\n\t\t\t\t\t\t\t<el-col :span=\"2\" v-for='(item) in 9' :key=\"item\">\r\n\t\t\t\t\t\t\t\t<el-checkbox :label=\"item - 1 + fullYear\">\r\n\t\t\t\t\t\t\t\t\t{{item -1 + fullYear}}\r\n\t\t\t\t\t\t\t\t</el-checkbox>\r\n\t\t\t\t\t\t\t</el-col>\r\n\t\t\t\t\t\t</el-checkbox-group>\r\n\t\t\t\t\t</el-row>\r\n\t\t\t\t</el-radio>\r\n\t\t\t</el-row>\r\n\t\t</el-radio-group>\r\n\t</el-form>\r\n</template>\r\n\r\n<script>\r\nimport crontabYear from \"./crontab-year\";\r\nexport default crontabYear;\r\n</script>","import mod from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/_thread-loader@2.1.2@thread-loader/dist/cjs.js!../../../../node_modules/_babel-loader@8.0.6@babel-loader/lib/index.js!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./Crontab-Year.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/_thread-loader@2.1.2@thread-loader/dist/cjs.js!../../../../node_modules/_babel-loader@8.0.6@babel-loader/lib/index.js!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./Crontab-Year.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Crontab-Year.vue?vue&type=template&id=54c51304&\"\nimport script from \"./Crontab-Year.vue?vue&type=script&lang=js&\"\nexport * from \"./Crontab-Year.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-card',{staticClass:\"box-card\"},[_c('template',{staticClass:\"clearfix\",slot:\"header\"},[_c('span',[_vm._v(\"未来 5 次运行时间\")])]),(_vm.isShow)?_c('el-row',_vm._l((_vm.resultList),function(item){return _c('el-col',{key:item,staticClass:\"margin-bottom-10\",attrs:{\"span\":24}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(item)+\"\\n\\t\\t\")])}),1):_c('el-row',[_c('el-col',{attrs:{\"span\":24}},[_vm._v(\"计算结果中...\")])],1)],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/* eslint-disable */\nexport default {\n data() {\n return {\n dayRule: \"\",\n dayRuleSup: \"\",\n dateArr: [],\n resultList: [],\n isShow: false\n };\n },\n name: \"crontab-result\",\n methods: {\n // 表达式值变化时,开始去计算结果\n expressionChange() {\n // 计算开始-隐藏结果\n this.isShow = false;\n // 获取规则数组[0秒、1分、2时、3日、4月、5星期、6年]\n let ruleArr = this.$options.propsData.ex.split(\" \");\n // 用于记录进入循环的次数\n let nums = 0;\n // 用于暂时存符号时间规则结果的数组\n let resultArr = [];\n // 获取当前时间精确至[年、月、日、时、分、秒]\n let nTime = new Date();\n let nYear = nTime.getFullYear();\n let nMouth = nTime.getMonth() + 1;\n let nDay = nTime.getDate();\n let nHour = nTime.getHours();\n let nMin = nTime.getMinutes();\n let nSecond = nTime.getSeconds();\n // 根据规则获取到近100年可能年数组、月数组等等\n this.getSecondArr(ruleArr[0]);\n this.getMinArr(ruleArr[1]);\n this.getHourArr(ruleArr[2]);\n this.getDayArr(ruleArr[3]);\n this.getMouthArr(ruleArr[4]);\n this.getWeekArr(ruleArr[5]);\n this.getYearArr(ruleArr[6], nYear);\n // 将获取到的数组赋值-方便使用\n let sDate = this.dateArr[0];\n let mDate = this.dateArr[1];\n let hDate = this.dateArr[2];\n let DDate = this.dateArr[3];\n let MDate = this.dateArr[4];\n let YDate = this.dateArr[5];\n // 获取当前时间在数组中的索引\n let sIdx = this.getIndex(sDate, nSecond);\n let mIdx = this.getIndex(mDate, nMin);\n let hIdx = this.getIndex(hDate, nHour);\n let DIdx = this.getIndex(DDate, nDay);\n let MIdx = this.getIndex(MDate, nMouth);\n let YIdx = this.getIndex(YDate, nYear);\n // 重置月日时分秒的函数(后面用的比较多)\n const resetSecond = function() {\n sIdx = 0;\n nSecond = sDate[sIdx];\n };\n const resetMin = function() {\n mIdx = 0;\n nMin = mDate[mIdx];\n resetSecond();\n };\n const resetHour = function() {\n hIdx = 0;\n nHour = hDate[hIdx];\n resetMin();\n };\n const resetDay = function() {\n DIdx = 0;\n nDay = DDate[DIdx];\n resetHour();\n };\n const resetMouth = function() {\n MIdx = 0;\n nMouth = MDate[MIdx];\n resetDay();\n };\n // 如果当前年份不为数组中当前值\n if (nYear !== YDate[YIdx]) {\n resetMouth();\n }\n // 如果当前月份不为数组中当前值\n if (nMouth !== MDate[MIdx]) {\n resetDay();\n }\n // 如果当前“日”不为数组中当前值\n if (nDay !== DDate[DIdx]) {\n resetHour();\n }\n // 如果当前“时”不为数组中当前值\n if (nHour !== hDate[hIdx]) {\n resetMin();\n }\n // 如果当前“分”不为数组中当前值\n if (nMin !== mDate[mIdx]) {\n resetSecond();\n }\n\n // 循环年份数组\n goYear: for (let Yi = YIdx; Yi < YDate.length; Yi++) {\n let YY = YDate[Yi];\n // 如果到达最大值时\n if (nMouth > MDate[MDate.length - 1]) {\n resetMouth();\n continue;\n }\n // 循环月份数组\n goMouth: for (let Mi = MIdx; Mi < MDate.length; Mi++) {\n // 赋值、方便后面运算\n let MM = MDate[Mi];\n MM = MM < 10 ? \"0\" + MM : MM;\n // 如果到达最大值时\n if (nDay > DDate[DDate.length - 1]) {\n resetDay();\n if (Mi === MDate.length - 1) {\n resetMouth();\n continue goYear;\n }\n continue;\n }\n // 循环日期数组\n goDay: for (let Di = DIdx; Di < DDate.length; Di++) {\n // 赋值、方便后面运算\n let DD = DDate[Di];\n let thisDD = DD < 10 ? \"0\" + DD : DD;\n // 如果到达最大值时\n if (nHour > hDate[hDate.length - 1]) {\n resetHour();\n if (Di === DDate.length - 1) {\n resetDay();\n if (Mi === MDate.length - 1) {\n resetMouth();\n continue goYear;\n }\n continue goMouth;\n }\n continue;\n }\n // 判断日期的合法性,不合法的话也是跳出当前循环\n if (\n this.checkDate(YY + \"-\" + MM + \"-\" + thisDD + \" 00:00:00\") !==\n true &&\n this.dayRule !== \"workDay\" &&\n this.dayRule !== \"lastWeek\" &&\n this.dayRule !== \"lastDay\"\n ) {\n resetDay();\n continue goMouth;\n }\n // 如果日期规则中有值时\n if (this.dayRule === \"lastDay\") {\n //如果不是合法日期则需要将前将日期调到合法日期即月末最后一天\n if (\n this.checkDate(YY + \"-\" + MM + \"-\" + thisDD + \" 00:00:00\") !==\n true\n ) {\n while (\n this.checkDate(YY + \"-\" + MM + \"-\" + thisDD + \" 00:00:00\") !==\n true\n ) {\n DD--;\n thisDD = DD < 10 ? \"0\" + DD : DD;\n }\n }\n } else if (this.dayRule === \"workDay\") {\n //校验并调整如果是2月30号这种日期传进来时需调整至正常月底\n if (\n this.checkDate(YY + \"-\" + MM + \"-\" + thisDD + \" 00:00:00\") !==\n true\n ) {\n while (\n this.checkDate(YY + \"-\" + MM + \"-\" + thisDD + \" 00:00:00\") !==\n true\n ) {\n DD--;\n thisDD = DD < 10 ? \"0\" + DD : DD;\n }\n }\n // 获取达到条件的日期是星期X\n let thisWeek = this.formatDate(\n new Date(YY + \"-\" + MM + \"-\" + thisDD + \" 00:00:00\"),\n \"week\"\n );\n // 当星期日时\n if (thisWeek === 0) {\n //先找下一个日,并判断是否为月底\n DD++;\n thisDD = DD < 10 ? \"0\" + DD : DD;\n //判断下一日已经不是合法日期\n if (\n this.checkDate(YY + \"-\" + MM + \"-\" + thisDD + \" 00:00:00\") !==\n true\n ) {\n DD -= 3;\n }\n } else if (thisWeek === 6) {\n //当星期6时只需判断不是1号就可进行操作\n if (this.dayRuleSup !== 1) {\n DD--;\n } else {\n DD += 2;\n }\n }\n } else if (this.dayRule === \"weekDay\") {\n //如果指定了是星期几\n //获取当前日期是属于星期几\n let thisWeek = this.formatDate(\n new Date(YY + \"-\" + MM + \"-\" + DD + \" 00:00:00\"),\n \"week\"\n );\n //校验当前星期是否在星期池(dayRuleSup)中\n if (Array.indexOf(this.dayRuleSup, thisWeek) < 0) {\n // 如果到达最大值时\n if (Di === DDate.length - 1) {\n resetDay();\n if (Mi === MDate.length - 1) {\n resetMouth();\n continue goYear;\n }\n continue goMouth;\n }\n continue;\n }\n } else if (this.dayRule === \"assWeek\") {\n //如果指定了是第几周的星期几\n //获取每月1号是属于星期几\n let thisWeek = this.formatDate(\n new Date(YY + \"-\" + MM + \"-\" + DD + \" 00:00:00\"),\n \"week\"\n );\n if (this.dayRuleSup[1] >= thisWeek) {\n DD =\n (this.dayRuleSup[0] - 1) * 7 +\n this.dayRuleSup[1] -\n thisWeek +\n 1;\n } else {\n DD = this.dayRuleSup[0] * 7 + this.dayRuleSup[1] - thisWeek + 1;\n }\n } else if (this.dayRule === \"lastWeek\") {\n //如果指定了每月最后一个星期几\n //校验并调整如果是2月30号这种日期传进来时需调整至正常月底\n if (\n this.checkDate(YY + \"-\" + MM + \"-\" + thisDD + \" 00:00:00\") !==\n true\n ) {\n while (\n this.checkDate(YY + \"-\" + MM + \"-\" + thisDD + \" 00:00:00\") !==\n true\n ) {\n DD--;\n thisDD = DD < 10 ? \"0\" + DD : DD;\n }\n }\n //获取月末最后一天是星期几\n let thisWeek = this.formatDate(\n new Date(YY + \"-\" + MM + \"-\" + thisDD + \" 00:00:00\"),\n \"week\"\n );\n //找到要求中最近的那个星期几\n if (this.dayRuleSup < thisWeek) {\n DD -= thisWeek - this.dayRuleSup;\n } else if (this.dayRuleSup > thisWeek) {\n DD -= 7 - (this.dayRuleSup - thisWeek);\n }\n }\n // 判断时间值是否小于10置换成“05”这种格式\n DD = DD < 10 ? \"0\" + DD : DD;\n // 循环“时”数组\n goHour: for (let hi = hIdx; hi < hDate.length; hi++) {\n let hh = hDate[hi] < 10 ? \"0\" + hDate[hi] : hDate[hi];\n // 如果到达最大值时\n if (nMin > mDate[mDate.length - 1]) {\n resetMin();\n if (hi === hDate.length - 1) {\n resetHour();\n if (Di === DDate.length - 1) {\n resetDay();\n if (Mi === MDate.length - 1) {\n resetMouth();\n continue goYear;\n }\n continue goMouth;\n }\n continue goDay;\n }\n continue;\n }\n // 循环\"分\"数组\n goMin: for (let mi = mIdx; mi < mDate.length; mi++) {\n let mm = mDate[mi] < 10 ? \"0\" + mDate[mi] : mDate[mi];\n // 如果到达最大值时\n if (nSecond > sDate[sDate.length - 1]) {\n resetSecond();\n if (mi === mDate.length - 1) {\n resetMin();\n if (hi === hDate.length - 1) {\n resetHour();\n if (Di === DDate.length - 1) {\n resetDay();\n if (Mi === MDate.length - 1) {\n resetMouth();\n continue goYear;\n }\n continue goMouth;\n }\n continue goDay;\n }\n continue goHour;\n }\n continue;\n }\n // 循环\"秒\"数组\n goSecond: for (let si = sIdx; si <= sDate.length - 1; si++) {\n let ss = sDate[si] < 10 ? \"0\" + sDate[si] : sDate[si];\n // 添加当前时间(时间合法性在日期循环时已经判断)\n resultArr.push(\n YY + \"-\" + MM + \"-\" + DD + \" \" + hh + \":\" + mm + \":\" + ss\n );\n nums++;\n //如果条数满了就退出循环\n if (nums === 5) break goYear;\n //如果到达最大值时\n if (si === sDate.length - 1) {\n resetSecond();\n if (mi === mDate.length - 1) {\n resetMin();\n if (hi === hDate.length - 1) {\n resetHour();\n if (Di === DDate.length - 1) {\n resetDay();\n if (Mi === MDate.length - 1) {\n resetMouth();\n continue goYear;\n }\n continue goMouth;\n }\n continue goDay;\n }\n continue goHour;\n }\n continue goMin;\n }\n } //goSecond\n } //goMin\n } //goHour\n } //goDay\n } //goMouth\n }\n // 判断100年内的结果条数\n if (resultArr.length === 0) {\n this.resultList = [\"没有达到条件的结果!\"];\n } else {\n this.resultList = resultArr;\n if (resultArr.length !== 5) {\n this.resultList.push(\n \"最近100年内只有上面\" + resultArr.length + \"条结果!\"\n );\n }\n }\n // 计算完成-显示结果\n this.isShow = true;\n },\n //用于计算某位数字在数组中的索引\n getIndex(arr, value) {\n if (value <= arr[0] || value > arr[arr.length - 1]) {\n return 0;\n } else {\n for (let i = 0; i < arr.length - 1; i++) {\n if (value > arr[i] && value <= arr[i + 1]) {\n return i + 1;\n }\n }\n }\n },\n // 获取\"年\"数组\n getYearArr(rule, year) {\n this.dateArr[5] = this.getOrderArr(year, year + 100);\n if (rule !== undefined) {\n if (rule.indexOf(\"-\") >= 0) {\n this.dateArr[5] = this.getCycleArr(rule, year + 100, false);\n } else if (rule.indexOf(\"/\") >= 0) {\n this.dateArr[5] = this.getAverageArr(rule, year + 100);\n } else if (rule !== \"*\") {\n this.dateArr[5] = this.getAssignArr(rule);\n }\n }\n },\n // 获取\"月\"数组\n getMouthArr(rule) {\n this.dateArr[4] = this.getOrderArr(1, 12);\n if (rule.indexOf(\"-\") >= 0) {\n this.dateArr[4] = this.getCycleArr(rule, 12, false);\n } else if (rule.indexOf(\"/\") >= 0) {\n this.dateArr[4] = this.getAverageArr(rule, 12);\n } else if (rule !== \"*\") {\n this.dateArr[4] = this.getAssignArr(rule);\n }\n },\n // 获取\"日\"数组-主要为日期规则\n getWeekArr(rule) {\n //只有当日期规则的两个值均为“”时则表达日期是有选项的\n if (this.dayRule === \"\" && this.dayRuleSup === \"\") {\n if (rule.indexOf(\"-\") >= 0) {\n this.dayRule = \"weekDay\";\n this.dayRuleSup = this.getCycleArr(rule, 7, false);\n } else if (rule.indexOf(\"#\") >= 0) {\n this.dayRule = \"assWeek\";\n let matchRule = rule.match(/[0-9]{1}/g);\n this.dayRuleSup = [Number(matchRule[0]), Number(matchRule[1])];\n this.dateArr[3] = [1];\n if (this.dayRuleSup[1] === 7) {\n this.dayRuleSup[1] = 0;\n }\n } else if (rule.indexOf(\"L\") >= 0) {\n this.dayRule = \"lastWeek\";\n this.dayRuleSup = Number(rule.match(/[0-9]{1,2}/g)[0]);\n this.dateArr[3] = [31];\n if (this.dayRuleSup === 7) {\n this.dayRuleSup = 0;\n }\n } else if (rule !== \"*\" && rule !== \"?\") {\n this.dayRule = \"weekDay\";\n this.dayRuleSup = this.getAssignArr(rule);\n }\n //如果weekDay时将7调整为0【week值0即是星期日】\n if (this.dayRule === \"weekDay\") {\n for (let i = 0; i < this.dayRuleSup.length; i++) {\n if (this.dayRuleSup[i] === 7) {\n this.dayRuleSup[i] = 0;\n }\n }\n }\n }\n },\n // 获取\"日\"数组-少量为日期规则\n getDayArr(rule) {\n this.dateArr[3] = this.getOrderArr(1, 31);\n this.dayRule = \"\";\n this.dayRuleSup = \"\";\n if (rule.indexOf(\"-\") >= 0) {\n this.dateArr[3] = this.getCycleArr(rule, 31, false);\n this.dayRuleSup = \"null\";\n } else if (rule.indexOf(\"/\") >= 0) {\n this.dateArr[3] = this.getAverageArr(rule, 31);\n this.dayRuleSup = \"null\";\n } else if (rule.indexOf(\"W\") >= 0) {\n this.dayRule = \"workDay\";\n this.dayRuleSup = Number(rule.match(/[0-9]{1,2}/g)[0]);\n this.dateArr[3] = [this.dayRuleSup];\n } else if (rule.indexOf(\"L\") >= 0) {\n this.dayRule = \"lastDay\";\n this.dayRuleSup = \"null\";\n this.dateArr[3] = [31];\n } else if (rule !== \"*\" && rule !== \"?\") {\n this.dateArr[3] = this.getAssignArr(rule);\n this.dayRuleSup = \"null\";\n } else if (rule === \"*\") {\n this.dayRuleSup = \"null\";\n }\n },\n // 获取\"时\"数组\n getHourArr(rule) {\n this.dateArr[2] = this.getOrderArr(0, 23);\n if (rule.indexOf(\"-\") >= 0) {\n this.dateArr[2] = this.getCycleArr(rule, 24, true);\n } else if (rule.indexOf(\"/\") >= 0) {\n this.dateArr[2] = this.getAverageArr(rule, 23);\n } else if (rule !== \"*\") {\n this.dateArr[2] = this.getAssignArr(rule);\n }\n },\n // 获取\"分\"数组\n getMinArr(rule) {\n this.dateArr[1] = this.getOrderArr(0, 59);\n if (rule.indexOf(\"-\") >= 0) {\n this.dateArr[1] = this.getCycleArr(rule, 60, true);\n } else if (rule.indexOf(\"/\") >= 0) {\n this.dateArr[1] = this.getAverageArr(rule, 59);\n } else if (rule !== \"*\") {\n this.dateArr[1] = this.getAssignArr(rule);\n }\n },\n // 获取\"秒\"数组\n getSecondArr(rule) {\n this.dateArr[0] = this.getOrderArr(0, 59);\n if (rule.indexOf(\"-\") >= 0) {\n this.dateArr[0] = this.getCycleArr(rule, 60, true);\n } else if (rule.indexOf(\"/\") >= 0) {\n this.dateArr[0] = this.getAverageArr(rule, 59);\n } else if (rule !== \"*\") {\n this.dateArr[0] = this.getAssignArr(rule);\n }\n },\n // 根据传进来的min-max返回一个顺序的数组\n getOrderArr(min, max) {\n let arr = [];\n for (let i = min; i <= max; i++) {\n arr.push(i);\n }\n return arr;\n },\n // 根据规则中指定的零散值返回一个数组\n getAssignArr(rule) {\n let arr = [];\n let assiginArr = rule.split(\",\");\n for (let i = 0; i < assiginArr.length; i++) {\n arr[i] = Number(assiginArr[i]);\n }\n arr.sort(this.compare);\n return arr;\n },\n // 根据一定算术规则计算返回一个数组\n getAverageArr(rule, limit) {\n let arr = [];\n let agArr = rule.split(\"/\");\n let min = Number(agArr[0]);\n let step = Number(agArr[1]);\n while (min <= limit) {\n arr.push(min);\n min += step;\n }\n return arr;\n },\n // 根据规则返回一个具有周期性的数组\n getCycleArr(rule, limit, status) {\n //status--表示是否从0开始(则从1开始)\n let arr = [];\n let cycleArr = rule.split(\"-\");\n let min = Number(cycleArr[0]);\n let max = Number(cycleArr[1]);\n if (min > max) {\n max += limit;\n }\n for (let i = min; i <= max; i++) {\n let add = 0;\n if (status === false && i % limit === 0) {\n add = limit;\n }\n arr.push(Math.round((i % limit) + add));\n }\n arr.sort(this.compare);\n return arr;\n },\n //比较数字大小(用于Array.sort)\n compare(value1, value2) {\n if (value2 - value1 > 0) {\n return -1;\n } else {\n return 1;\n }\n },\n // 格式化日期格式如:2017-9-19 18:04:33\n formatDate(value, type) {\n // 计算日期相关值\n let time = typeof value === \"number\" ? new Date(value) : value;\n let Y = time.getFullYear();\n let M = time.getMonth() + 1;\n let D = time.getDate();\n let h = time.getHours();\n let m = time.getMinutes();\n let s = time.getSeconds();\n let week = time.getDay();\n // 如果传递了type的话\n if (type === undefined) {\n return (\n Y +\n \"-\" +\n (M < 10 ? \"0\" + M : M) +\n \"-\" +\n (D < 10 ? \"0\" + D : D) +\n \" \" +\n (h < 10 ? \"0\" + h : h) +\n \":\" +\n (m < 10 ? \"0\" + m : m) +\n \":\" +\n (s < 10 ? \"0\" + s : s)\n );\n } else if (type === \"week\") {\n return week;\n }\n },\n // 检查日期是否存在\n checkDate(value) {\n let time = new Date(value);\n let format = this.formatDate(time);\n return value === format ? true : false;\n }\n },\n watch: {\n ex: \"expressionChange\"\n },\n props: [\"ex\"],\n mounted: function() {\n // 初始化 获取一次结果\n this.expressionChange();\n }\n};\n","<template>\r\n\t<el-card class=\"box-card\">\r\n\t\t<template slot=\"header\" class=\"clearfix\">\r\n\t\t\t<span>未来 5 次运行时间</span>\r\n\t\t</template>\r\n\t\t<el-row v-if='isShow'>\r\n\t\t\t<el-col class=\"margin-bottom-10\" :span=\"24\" v-for='item in resultList' :key=\"item\">\r\n\t\t\t\t{{item}}\r\n\t\t\t</el-col>\r\n\t\t</el-row>\r\n\t\t<el-row v-else>\r\n\t\t\t<el-col :span=\"24\">计算结果中...</el-col>\r\n\t\t</el-row>\r\n\t</el-card>\r\n</template>\r\n\r\n<script>\r\nimport crontabResult from \"./crontab-result\";\r\nexport default crontabResult;\r\n</script>","import mod from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/_thread-loader@2.1.2@thread-loader/dist/cjs.js!../../../../node_modules/_babel-loader@8.0.6@babel-loader/lib/index.js!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./Crontab-Result.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/_thread-loader@2.1.2@thread-loader/dist/cjs.js!../../../../node_modules/_babel-loader@8.0.6@babel-loader/lib/index.js!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./Crontab-Result.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Crontab-Result.vue?vue&type=template&id=5d958640&\"\nimport script from \"./Crontab-Result.vue?vue&type=script&lang=js&\"\nexport * from \"./Crontab-Result.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","<template>\r\n <div class=\"crontab-warp\">\r\n <el-tabs v-model=\"tabActive\" type=\"border-card\">\r\n <el-tab-pane :label=\"tabTitles[0]\" name=\"second\">\r\n <CrontabSecond @updata='updataContabValue' :check='checkNumber'></CrontabSecond>\r\n </el-tab-pane>\r\n <el-tab-pane :label=\"tabTitles[1]\" name=\"minute\">\r\n <CrontabMin @updata='updataContabValue' :check='checkNumber'></CrontabMin>\r\n </el-tab-pane>\r\n <el-tab-pane :label=\"tabTitles[2]\" name=\"hour\">\r\n <CrontabHour @updata='updataContabValue' :check='checkNumber'></CrontabHour>\r\n </el-tab-pane>\r\n <el-tab-pane :label=\"tabTitles[3]\" name=\"day\">\r\n <CrontabDay @updata='updataContabValue' :check='checkNumber' :week='contabValueObj.week'></CrontabDay>\r\n </el-tab-pane>\r\n <el-tab-pane :label=\"tabTitles[4]\" name=\"month\">\r\n <CrontabMouth @updata='updataContabValue' :check='checkNumber'></CrontabMouth>\r\n </el-tab-pane>\r\n <el-tab-pane :label=\"tabTitles[5]\" name=\"week\">\r\n <CrontabWeek @updata='updataContabValue' :check='checkNumber' :day='contabValueObj.day'></CrontabWeek>\r\n </el-tab-pane>\r\n <el-tab-pane :label=\"tabTitles[6]\" name=\"year\">\r\n <CrontabYear @updata='updataContabValue' :check='checkNumber'></CrontabYear>\r\n </el-tab-pane>\r\n </el-tabs>\r\n <el-card>\r\n <template slot=\"header\" class=\"clearfix\">\r\n <span>时间表达式预览 :</span>\r\n <el-tag type=\"\">{{contabValueString}}</el-tag>\r\n </template>\r\n <el-form label-position=\"top\" class=\"crontab-form\">\r\n <el-row :gutter='10'>\r\n <el-col :span=\"3\">\r\n <el-form-item :label=\"tabTitles[0]\">\r\n <el-input :title=\"contabValueObj.second\" readonly v-model=\"contabValueObj.second\"></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span=\"3\">\r\n <el-form-item :label=\"tabTitles[1]\">\r\n <el-input :title='contabValueObj.min' readonly v-model=\"contabValueObj.min\"></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span=\"3\">\r\n <el-form-item :label=\"tabTitles[2]\">\r\n <el-input :title='contabValueObj.hour' readonly v-model=\"contabValueObj.hour\"></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span=\"3\">\r\n <el-form-item :label=\"tabTitles[3]\">\r\n <el-input :title='contabValueObj.day' readonly v-model=\"contabValueObj.day\"></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span=\"3\">\r\n <el-form-item :label=\"tabTitles[4]\">\r\n <el-input :title='contabValueObj.mouth' readonly v-model=\"contabValueObj.mouth\"></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span=\"3\">\r\n <el-form-item :label=\"tabTitles[5]\">\r\n <el-input :title='contabValueObj.week' readonly v-model=\"contabValueObj.week\"></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span=\"6\">\r\n <el-form-item :label=\"tabTitles[6]\">\r\n <el-input :title='contabValueObj.year' readonly v-model=\"contabValueObj.year\"></el-input>\r\n </el-form-item>\r\n </el-col>\r\n </el-row>\r\n </el-form>\r\n </el-card>\r\n <CrontabResult :ex='contabValueString'></CrontabResult>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport CrontabSecond from \"./Crontab-Second.vue\";\r\nimport CrontabMin from \"./Crontab-Min.vue\";\r\nimport CrontabHour from \"./Crontab-Hour.vue\";\r\nimport CrontabDay from \"./Crontab-Day.vue\";\r\nimport CrontabMouth from \"./Crontab-Mouth.vue\";\r\nimport CrontabWeek from \"./Crontab-Week.vue\";\r\nimport CrontabYear from \"./Crontab-Year.vue\";\r\nimport CrontabResult from \"./Crontab-Result.vue\";\r\n\r\nexport default {\r\n props: {\r\n value: { type: String | null, default: null }\r\n },\r\n data() {\r\n return {\r\n tabTitles: [\"秒\", \"分\", \"时\", \"日\", \"月\", \"周\", \"年\"],\r\n tabActive: \"second\",\r\n myindex: 0,\r\n contabValueObj: {\r\n second: \"*\",\r\n min: \"*\",\r\n hour: \"*\",\r\n day: \"*\",\r\n mouth: \"*\",\r\n week: \"?\",\r\n year: \"\"\r\n }\r\n };\r\n },\r\n watch: {\r\n value(val) {\r\n if (!val) this.clear();\r\n }\r\n },\r\n methods: {\r\n // tab切换值\r\n tabCheck(index) {\r\n this.tabActive = index;\r\n },\r\n // 由子组件触发,更改表达式组成的字段值\r\n updataContabValue(name, value) {\r\n this.contabValueObj[name] = value;\r\n },\r\n // 表单选项的子组件校验数字格式(通过-props传递)\r\n checkNumber(value, minLimit, maxLimit) {\r\n //检查必须为整数\r\n value = Math.floor(value);\r\n if (value < minLimit) {\r\n value = minLimit;\r\n } else if (value > maxLimit) {\r\n value = maxLimit;\r\n }\r\n return value;\r\n },\r\n // 填充表达式\r\n submitFill() {\r\n this.$emit(\"input\", this.contabValueString);\r\n },\r\n //重置\r\n clear() {}\r\n },\r\n computed: {\r\n contabValueString: function() {\r\n let obj = this.contabValueObj;\r\n let str =\r\n obj.second +\r\n \" \" +\r\n obj.min +\r\n \" \" +\r\n obj.hour +\r\n \" \" +\r\n obj.day +\r\n \" \" +\r\n obj.mouth +\r\n \" \" +\r\n obj.week +\r\n (obj.year === \"\" ? \"\" : \" \" + obj.year);\r\n return str;\r\n }\r\n },\r\n components: {\r\n CrontabSecond,\r\n CrontabMin,\r\n CrontabHour,\r\n CrontabDay,\r\n CrontabMouth,\r\n CrontabWeek,\r\n CrontabYear,\r\n CrontabResult\r\n }\r\n};\r\n</script>\r\n<style lang='scss'>\r\n.crontab-warp {\r\n & .el-tabs {\r\n height: 323px;\r\n box-shadow: unset;\r\n & .el-tabs__content {\r\n border: none;\r\n }\r\n & .el-row {\r\n margin: 10px;\r\n }\r\n }\r\n & .el-card {\r\n box-shadow: unset !important;\r\n border: 1px solid #dcdfe6;\r\n margin-top: 10px;\r\n & .el-card__header {\r\n background-color: #f5f7fa;\r\n height: 40px;\r\n padding: 0px 0px 0px 10px;\r\n line-height: 40px;\r\n color: #909399;\r\n & .el-tag {\r\n height: 24px;\r\n line-height: 24px;\r\n letter-spacing: 4px;\r\n &::before {\r\n display: none;\r\n }\r\n }\r\n }\r\n & .crontab-form {\r\n & .el-form-item {\r\n text-align: center;\r\n margin: 0px;\r\n & .el-form-item__content {\r\n & input {\r\n text-align: center;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n & .el-input-height {\r\n line-height: 20px;\r\n width: 123px;\r\n & .el-input__inner {\r\n height: 22px;\r\n line-height: 22px;\r\n }\r\n }\r\n & .el-radio,\r\n & .el-radio-group {\r\n width: 100%;\r\n }\r\n}\r\n</style>\r\n","import mod from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/_thread-loader@2.1.2@thread-loader/dist/cjs.js!../../../../node_modules/_babel-loader@8.0.6@babel-loader/lib/index.js!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./Crontab-Main.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/_thread-loader@2.1.2@thread-loader/dist/cjs.js!../../../../node_modules/_babel-loader@8.0.6@babel-loader/lib/index.js!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./Crontab-Main.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Crontab-Main.vue?vue&type=template&id=39413b1a&\"\nimport script from \"./Crontab-Main.vue?vue&type=script&lang=js&\"\nexport * from \"./Crontab-Main.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Crontab-Main.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","<template>\r\n <div>\r\n <el-input class='input-append' v-model=\"cronStr\" @blur='cronblur' :readonly='readonly'>\r\n <el-button type='text' @click=\"showCronDia\" slot=\"append\" icon=\"alibaba al-gaojixuangu\" :title=\"title\" :disabled=\"readonly\"></el-button>\r\n </el-input>\r\n <el-dialog append-to-body :visible.sync='showCron' width='80%'>\r\n <template slot='title'>\r\n <i class=\"alibaba al-gaojixuangu\"></i>\r\n <span> {{ title}}</span>\r\n </template>\r\n <div class=\"dialog-button\">\r\n <el-button icon=\"el-icon-fa-save\" type=\"primary\" plain @click=\"$refs.cronTab.submitFill();showCron=!showCron\"></el-button>\r\n </div>\r\n <cron-main ref='cronTab' v-model=\"cronStr\"></cron-main>\r\n </el-dialog>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport CronMain from \"./module/Crontab-Main\";\r\nimport CronExpressionValidator from \"../../libs/CronValidator.js\";\r\n\r\nexport default {\r\n components: { CronMain },\r\n props: {\r\n title: { type: String, default: \"高级设置\" },\r\n readonly: { type: Boolean, default: false },\r\n value: { type: String | null, default: null }\r\n },\r\n data() {\r\n return {\r\n cronStr: null,\r\n showCron: false\r\n };\r\n },\r\n watch: {\r\n cronStr(val) {\r\n this.$emit(\"input\", val);\r\n },\r\n value(val) {\r\n this.cronStr = val;\r\n }\r\n },\r\n methods: {\r\n showCronDia() {\r\n this.showCron = true;\r\n },\r\n cronblur() {\r\n let val = this.cronStr;\r\n if (val && val !== \"\") {\r\n let result = CronExpressionValidator.validateCronExpression(val);\r\n if (!result) this.$emit(\"input\", null);\r\n }\r\n }\r\n }\r\n};\r\n</script>\r\n<style lang=\"scss\">\r\n.input-append {\r\n & .el-input-group__append {\r\n position: absolute;\r\n right: 0px;\r\n top: 0px;\r\n height: 20px;\r\n width: 15px;\r\n border-left: 1px solid #c4c4c4;\r\n & .el-button {\r\n position: absolute;\r\n top: 9px;\r\n right: 21px;\r\n color: #000;\r\n }\r\n }\r\n}\r\n</style>\r\n","import mod from \"-!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/_thread-loader@2.1.2@thread-loader/dist/cjs.js!../../../node_modules/_babel-loader@8.0.6@babel-loader/lib/index.js!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/_thread-loader@2.1.2@thread-loader/dist/cjs.js!../../../node_modules/_babel-loader@8.0.6@babel-loader/lib/index.js!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=5bcf022d&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import ajax from \"@/libs/Ajax\";\r\n\r\nexport default {\r\n addJob(data) {\r\n return ajax.post(\"/sys/quartz/addJob\", data);\r\n },\r\n updataJob(data) {\r\n return ajax.post(\"/sys/quartz/updataJob\", data);\r\n },\r\n queryJob(params) {\r\n return ajax.get(\"/sys/quartz/getJobList\", { params: params });\r\n },\r\n delJob(data) {\r\n return ajax.post(\"/sys/quartz/delJob\", data);\r\n },\r\n runJob(data) {\r\n return ajax.post(\"/sys/quartz/runJob\", data);\r\n },\r\n stopJob(data) {\r\n return ajax.post(\"/sys/quartz/stopJob\", data);\r\n },\r\n getJobClasss() {\r\n return ajax.get(\"/sys/quartz/getJobClasss\");\r\n },\r\n loadJobInfo(params) {\r\n return ajax.get(\"/sys/quartz/getLoadJobInfo\", { params: params });\r\n },\r\n loadJobRunHis(params) {\r\n return ajax.get(\"/sys/quartz/getLoadJobHis\", { params: params });\r\n }\r\n};\r\n","<template>\r\n <div v-loading=\"loading\" elemeur-loading-text=\"正在读取数据...\">\r\n <el-tabs type=\"border-card\" v-model=\"activeName\" >\r\n <el-tab-pane label=\"基本信息\" name=\"first\">\r\n <el-form :model=\"taskData\" ref=\"form\" :rules=\"rules\" label-position='top'>\r\n <el-row>\r\n <el-col :span='12'>\r\n <el-form-item label=\"任务名称\" prop=\"jobName\">\r\n <el-input :readonly=\"jobData.onlyRead\" v-model=\"taskData.jobName\"></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span='12'>\r\n <el-form-item label=\"优先级\" prop=\"jobPrio\">\r\n <el-input-number :disabled=\"jobData.onlyRead\" v-model=\"taskData.jobPrio\"></el-input-number>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span='24'>\r\n <el-form-item label=\"任务描述\" prop=\"description\">\r\n <el-input :readonly=\"jobData.onlyRead\" v-model=\"taskData.description\"></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span='24'>\r\n <el-form-item label=\"执行类\" prop=\"jobClassName\">\r\n <el-select :disabled=\"jobData.onlyRead\" v-model=\"taskData.jobClassName\">\r\n <el-option v-for=\"item in jobClasss\" :key=\"item.value\" :label=\"item.label\" :value=\"item.value\">\r\n </el-option>\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span='24'>\r\n <el-form-item label=\"执行配置\" prop=\"jobConfig\">\r\n <el-input :readonly=\"jobData.onlyRead\" v-model=\"taskData.jobConfig\"></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <!-- <el-col :span='24'>\r\n <el-form-item label=\"执行策略\" prop=\"triggerMisfire\">\r\n <el-select :disabled=\"jobData.onlyRead\" v-sys-code=\"'triggerMisfire'\" v-model=\"taskData.triggerMisfire\">\r\n <el-option v-for=\"item in sysCode.triggerMisfire\" :key=\"item.key\" :label=\"item.label\" :value=\"item.value\" />\r\n </el-select>\r\n </el-form-item>\r\n </el-col> -->\r\n <el-col :span='24'>\r\n <el-form-item label=\"Cron表达式\" prop=\"cronExpression\">\r\n <cron-tab :readonly=\"jobData.onlyRead\" v-model=\"taskData.cronExpression\"></cron-tab>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span='24' v-if='jobData.onlyRead&&taskData.exceInfo'>\r\n <el-form-item label=\"异常信息\" prop=\"exceInfo\">\r\n <el-input type=\"textarea\" :autosize='{ minRows: 2, maxRows: 6 }' readonly v-model=\"taskData.exceInfo\"></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span='24' v-if='!jobData.onlyRead'>\r\n <el-form-item label=\"是否立即执行\" prop=\"isRun\">\r\n <el-radio-group v-model=\"taskData.isRun\">\r\n <el-radio label=\"1\">是</el-radio>\r\n <el-radio label=\"0\">否</el-radio>\r\n </el-radio-group>\r\n </el-form-item>\r\n </el-col>\r\n </el-row>\r\n <el-row v-if='jobData.onlyRead'>\r\n <el-col :span='12'>\r\n <el-form-item label=\"下一次执行时间\" prop=\"nextFireTime\">\r\n {{taskData.nextFireTime|date('%Y-%m-%d %T')}}\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span='12'>\r\n <el-form-item label=\"上一次执行时间\" prop=\"prevFireTime\">\r\n {{taskData.prevFireTime|date('%Y-%m-%d %T')}}\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span='12'>\r\n <el-form-item label=\"触发器状态\" prop=\"triggerState\">\r\n {{triggerState(taskData.triggerState)}}\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span='12'>\r\n <el-form-item label=\"触发器生效时间\" prop=\"startTime\">\r\n {{taskData.startTime|date('%Y-%m-%d %T')}}\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span='12'>\r\n <el-form-item label=\"触发器失效时间\" prop=\"endTime\">\r\n {{taskData.endTime|date('%Y-%m-%d %T')}}\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span='12'>\r\n <el-form-item label=\"触发器时区\" prop=\"timeZoneId\">\r\n {{taskData.timeZoneId}}\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span='12'>\r\n <el-form-item label=\"目前执行次数\">\r\n {{jobRunNum}}\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span='12'>\r\n <el-form-item label=\" \">\r\n {{\"_\"}}\r\n </el-form-item>\r\n </el-col>\r\n </el-row>\r\n </el-form>\r\n <HandleHistory class=\"margin-top-1 margin-bottom-1\" :uuid=\"taskData.uuid\" :cr-user-uuid=\"taskData.crUserUuid\" :op-user-uuid=\"taskData.opUserUuid\" :cr-time=\"taskData.crTime\"\r\n :op-time=\"taskData.opTime\" mode=\"plan\" />\r\n </el-tab-pane>\r\n <!-- <el-tab-pane v-if=\"jobData.job\" label=\"执行历史\" name=\"second\">\r\n <el-radio-group size=\"small\" class=\"margin-bottom-1\" v-model=\"queryform.logLevel\" @change=\"logLevelChang\">\r\n <el-radio-button label=\"1\">系统级日志</el-radio-button>\r\n <el-radio-button label=\"2\">自定义日志</el-radio-button>\r\n </el-radio-group>\r\n <PageTable :auto-load=\"false\" hideTitle ref=\"dataTableHis\" @load-data=\"dataTableLoad\" :data=\"table.data\" highlight-current-row stripe border>\r\n <el-table-column prop=\"pcip\" label=\"执行者IP\" width=\"100\" show-overflow-tooltip></el-table-column>\r\n <el-table-column prop=\"pcname\" label=\"执行者名称\" width=\"130\" show-overflow-tooltip></el-table-column>\r\n <el-table-column prop=\"jobname\" label=\"Job名称\" width=\"80\" show-overflow-tooltip></el-table-column>\r\n <el-table-column prop=\"recotime\" label=\"执行时间\" width=\"135\" show-overflow-tooltip>\r\n <template slot-scope='scope'>{{scope.row.recotime|date('%Y-%m-%d %T')}}</template>\r\n </el-table-column>\r\n <el-table-column prop=\"exceinfo\" label=\"执行信息\" show-overflow-tooltip></el-table-column>\r\n </PageTable>\r\n </el-tab-pane> -->\r\n </el-tabs>\r\n </div>\r\n</template>\r\n<script>\r\nimport CronTab from \"@/common/CronTab\";\r\nimport TaskMgrApi from \"@/api/base/sysm/TaskMgrApi\";\r\nimport HandleHistory from \"@/common/HandleHistory\";\r\n\r\nlet defaultData = {\r\n jobName: null,\r\n jobPrio: 5,\r\n description: null,\r\n triggerMisfire: \"1\",\r\n jobClassName: null,\r\n cronExpression: null,\r\n oldJobName: null,\r\n exceInfo: null,\r\n isRun: \"0\",\r\n jobConfig: \"\"\r\n};\r\n\r\nexport default {\r\n components: { CronTab, HandleHistory },\r\n props: {\r\n jobData: {\r\n job: {\r\n type: Object | null,\r\n default: null\r\n },\r\n onlyRead: {\r\n type: Boolean | null,\r\n default: null\r\n }\r\n }\r\n },\r\n data() {\r\n return {\r\n queryform: {\r\n logLevel: \"1\"\r\n },\r\n table: {\r\n data: []\r\n },\r\n activeName: \"first\",\r\n jobClasss: [],\r\n //job运行次数\r\n jobRunNum: 0,\r\n taskData: Object.assign({}, defaultData),\r\n loading: false,\r\n rules: {\r\n jobName: [\r\n { required: true, message: \"请输入任务名称\", trigger: \"change\" }\r\n ],\r\n description: [\r\n { required: true, message: \"请输入任务描述\", trigger: \"change\" }\r\n ],\r\n jobClassName: [\r\n { required: true, message: \"请输入执行类\", trigger: \"change\" }\r\n ],\r\n cronExpression: [\r\n { required: true, message: \"请选择Cron表达式\", trigger: \"change\" }\r\n ]\r\n }\r\n };\r\n },\r\n mounted() {\r\n if (this.jobData.job) {\r\n this.loadForm(this.jobData);\r\n } else {\r\n this.taskData = Object.assign({}, defaultData);\r\n }\r\n this.loadJobSelect();\r\n },\r\n watch: {\r\n jobData(val) {\r\n if (val.job) {\r\n this.loadForm(val);\r\n } else {\r\n this.taskData = Object.assign({}, defaultData);\r\n this.resetForm();\r\n }\r\n this.loadJobSelect();\r\n }\r\n },\r\n methods: {\r\n logLevelChang(val) {\r\n this.$nextTick(() => {\r\n this.$refs.dataTableHis.load({\r\n logLevel: val,\r\n jobName: this.jobData.job.jobname\r\n });\r\n });\r\n },\r\n loadJobSelect() {\r\n TaskMgrApi.getJobClasss().then(resp => {\r\n this.jobClasss = resp.JobClasss;\r\n });\r\n },\r\n //初始页面加载数据\r\n loadForm(val) {\r\n this.loading = true;\r\n\r\n try {\r\n //手动拉取该JOB的详情信息\r\n TaskMgrApi.loadJobInfo({ jobName: val.job.jobname }).then(resp => {\r\n //对象的key不同所以进行手动复制,噩梦啊\r\n this.taskData.uuid = this.jobData.job.uuid;\r\n this.taskData.crUserUuid = this.jobData.job.cruseruuid;\r\n this.taskData.opUserUuid = this.jobData.job.opuseruuid;\r\n this.taskData.crTime = this.jobData.job.crtime;\r\n this.taskData.opTime = this.jobData.job.optime;\r\n this.taskData.exceInfo = this.jobData.job.exceinfo;\r\n this.taskData.jobPrio = this.jobData.job.jobprio;\r\n this.taskData.triggerMisfire = this.jobData.job.triggermisfire;\r\n this.taskData.jobConfig = this.jobData.job.jobconfig;\r\n console.log(resp);\r\n this.taskData.jobName = resp.datarows[0].jobname;\r\n this.taskData.description = resp.datarows[0].description;\r\n let jn = resp.datarows[0].jobclassname.split(\".\");\r\n let className = jn[jn.length - 1];\r\n let after = className.substr(0, 1).toLowerCase();\r\n let befor = className.substr(1, className.length - 1);\r\n this.taskData.jobClassName = after + befor;\r\n this.taskData.triggerName = resp.datarows[0].triggername;\r\n this.taskData.triggerGroup = resp.datarows[0].triggergroup;\r\n this.taskData.nextFireTime = resp.datarows[0].nextfiretime;\r\n this.taskData.prevFireTime = resp.datarows[0].prevfiretime;\r\n this.taskData.triggerState = resp.datarows[0].triggerstate;\r\n this.taskData.startTime = resp.datarows[0].starttime;\r\n this.taskData.endTime = resp.datarows[0].endtime;\r\n this.taskData.cronExpression = resp.datarows[0].cronexpression;\r\n this.taskData.timeZoneId = resp.datarows[0].timezoneid;\r\n this.taskData.oldJobName = resp.datarows[0].jobname;\r\n //-----------------------------------\r\n });\r\n } finally {\r\n this.loading = false;\r\n }\r\n //手动拉取该JOB的运行历史\r\n this.dataTableLoad(\r\n Object.assign(this.queryform, { jobName: val.job.jobname })\r\n );\r\n },\r\n // 提交表单数据\r\n async submitForm() {\r\n await this.$refs.form.validate();\r\n try {\r\n this.loading = true;\r\n if (this.jobData.job) {\r\n TaskMgrApi.updataJob(this.taskData);\r\n this.$emit(\"closeDia\");\r\n } else {\r\n await TaskMgrApi.addJob(this.taskData);\r\n this.$emit(\"closeDia\");\r\n }\r\n } finally {\r\n this.loading = false;\r\n }\r\n },\r\n //重置表单\r\n resetForm() {\r\n this.$refs.form.resetFields();\r\n this.activeName = \"first\";\r\n this.queryform.logLevel = \"1\";\r\n },\r\n //表格加载\r\n dataTableLoad(params) {\r\n TaskMgrApi.loadJobRunHis(params).then(\r\n respData => (this.jobRunNum = respData.datarows.length)\r\n ); // 本地也记录一下数据 (提供给表示显示的数据)\r\n },\r\n triggerState(cellValue) {\r\n let label = \"unknow\";\r\n switch (cellValue) {\r\n case \"WAITING\":\r\n label = \"等待\";\r\n break;\r\n case \"PAUSED\":\r\n label = \"暂停\";\r\n break;\r\n case \"ACQUIRED\":\r\n label = \"正常执行\";\r\n break;\r\n case \"BLOCKED\":\r\n label = \"阻塞\";\r\n break;\r\n case \"ERROR\":\r\n label = \"错误\";\r\n break;\r\n }\r\n return label;\r\n }\r\n }\r\n};\r\n</script>\r\n<style lang=\"scss\">\r\n.taskmgredit {\r\n & th {\r\n background: #ecf0f4 !important;\r\n }\r\n}\r\n.taskmgreditR {\r\n & .el-form-item {\r\n margin: 4px 0px;\r\n }\r\n}\r\n</style>\r\n\r\n","import mod from \"-!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/_thread-loader@2.1.2@thread-loader/dist/cjs.js!../../../node_modules/_babel-loader@8.0.6@babel-loader/lib/index.js!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./TaskMgrEdit.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/_thread-loader@2.1.2@thread-loader/dist/cjs.js!../../../node_modules/_babel-loader@8.0.6@babel-loader/lib/index.js!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./TaskMgrEdit.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TaskMgrEdit.vue?vue&type=template&id=3124bc72&\"\nimport script from \"./TaskMgrEdit.vue?vue&type=script&lang=js&\"\nexport * from \"./TaskMgrEdit.vue?vue&type=script&lang=js&\"\nimport style0 from \"./TaskMgrEdit.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","<template>\r\n <div>\r\n <el-card>\r\n <template slot=\"header\">\r\n <span>任务管理</span>\r\n <div class=\"pull-right\">\r\n <el-button type=\"primary\" @click=\"doAdd()\" icon=\"el-icon-fa-plus\" title=\"新增任务\"></el-button>\r\n </div>\r\n </template>\r\n <el-form :model=\"queryform\" ref=\"queryform\">\r\n <el-row>\r\n <el-col :lg='4' :sm='12'>\r\n <el-form-item label=\"任务名称\" prop=\"jobName\">\r\n <el-input v-model=\"queryform.jobName\" />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :lg='4' :sm='12'>\r\n <el-form-item label=\"执行状态\" prop=\"triggerState\">\r\n <el-select v-model=\"queryform.triggerState\" placeholder=\"请选择\">\r\n <el-option v-for=\"item in triStOptions\" :key=\"item.value\" :label=\"item.label\" :value=\"item.value\">\r\n </el-option>\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n </el-row>\r\n </el-form>\r\n </el-card>\r\n <el-card class=\"margin-top-2\">\r\n <template slot=\"header\">\r\n <span>任务数据列表</span>\r\n <div class=\"pull-right\">\r\n <el-button type=\"primary\" @click=\"queryJobData\" icon=\"el-icon-fa-search\" title=\"查询\"></el-button>\r\n <el-button type=\"primary\" @click=\"resetquery\" icon=\"el-icon-fa-reply-all\" title=\"重置\"></el-button>\r\n <el-button type=\"primary\" :disabled=\"!multipleSelection.length>0\" icon=\"el-icon-fa-play\" @click=\"lockJobs(true)\" title=\"批量启用\"></el-button>\r\n <el-button type=\"primary\" :disabled=\"!multipleSelection.length>0\" icon=\"el-icon-fa-pause\" @click=\"lockJobs(false)\" title=\"批量暂停\"></el-button>\r\n <el-button type=\"primary\" :disabled=\"!multipleSelection.length>0\" icon=\"el-icon-fa-trash\" @click=\"delJobs()\" title=\"批量删除\"></el-button>\r\n </div>\r\n </template>\r\n <PageTable :auto-load=\"true\" hideTitle ref=\"dataTable\" @load-data=\"dataTableLoad\" @selection-change=\"handleSelectionChange\" :data=\"table.data\" highlight-current-row stripe border>\r\n <el-table-column type=\"selection\" align='center' width=\"50\" fixed='left'></el-table-column>\r\n <el-table-column prop=\"jobname\" label=\"任务名称\" show-overflow-tooltip></el-table-column>\r\n <el-table-column prop=\"description\" label=\"任务描述\" show-overflow-tooltip></el-table-column>\r\n <el-table-column prop=\"jobclasspath\" label=\"执行类\" show-overflow-tooltip></el-table-column>\r\n <el-table-column prop=\"triggerstate\" label=\"状态\" width=\"50\" show-overflow-tooltip>\r\n <template slot-scope=\"scope\">\r\n <el-button v-if=\"scope.row.triggerstate == 'ACQUIRED'\" type=\"success\">执行</el-button>\r\n <el-button v-if=\"scope.row.triggerstate == 'PAUSED'\" type=\"info\">暂停</el-button>\r\n <el-button v-if=\"scope.row.triggerstate == 'ERROR'\" type=\"error\">错误</el-button>\r\n </template>\r\n </el-table-column>\r\n <el-table-column prop=\"cronexpression\" label=\"Cron表达式\" width=\"120\" show-overflow-tooltip></el-table-column>\r\n <!-- <el-table-column prop=\"triggername\" label=\"触发器名称\" width=\"100\" show-overflow-tooltip></el-table-column>\r\n <el-table-column prop=\"triggergroup\" label=\"触发器组\" width=\"100\" show-overflow-tooltip></el-table-column>\r\n <el-table-column prop=\"nextfiretime\" label=\"下一次执行时间\" width=\"140\" show-overflow-tooltip>\r\n <template slot-scope='scope'>{{scope.row.nextfiretime|date('%Y-%m-%d %T')}}</template>\r\n </el-table-column>\r\n <el-table-column prop=\"prevfiretime\" label=\"上一次执行时间\" width=\"140\" show-overflow-tooltip>\r\n <template slot-scope='scope'>{{scope.row.prevfiretime|date('%Y-%m-%d %T')}}</template>\r\n </el-table-column>\r\n <el-table-column prop=\"starttime\" label=\"触发器生效时间\" width=\"140\" show-overflow-tooltip>\r\n <template slot-scope='scope'>{{scope.row.starttime|date('%Y-%m-%d %T')}}</template>\r\n </el-table-column>\r\n <el-table-column prop=\"endtime\" label=\"触发器失效时间\" width=\"140\" show-overflow-tooltip>\r\n <template slot-scope='scope'>{{scope.row.endtime|date('%Y-%m-%d %T')}}</template>\r\n </el-table-column>\r\n <el-table-column prop=\"cronexpression\" label=\"Cron表达式\" width=\"120\" show-overflow-tooltip></el-table-column>\r\n <el-table-column prop=\"timezoneid\" label=\"触发器时区\" width=\"120\" show-overflow-tooltip></el-table-column> -->\r\n <el-table-column label=\"操作\" fixed='right' width=\"150\" align=\"center\">\r\n <template slot-scope=\"scope\">\r\n <el-button :disabled=\"scope.row.triggerstate==='ACQUIRED'\" type=\"primary\" icon=\"el-icon-fa-edit\" title=\"修改\" @click=\"doEdit(scope.row)\"></el-button>\r\n <el-button type=\"primary\" icon=\"el-icon-fa-eye\" title=\"查看\" @click=\"doEye(scope.row)\"></el-button>\r\n <el-button v-if='scope.row.triggerstate===\"PAUSED\"' type=\"primary\" icon=\"el-icon-fa-play\" title=\"启用\" @click=\"dolock(scope.row,true)\"></el-button>\r\n <el-button v-if='scope.row.triggerstate===\"ACQUIRED\"' type=\"primary\" icon=\"el-icon-fa-pause\" title=\"暂停\" @click=\"dolock(scope.row,false)\"></el-button>\r\n <el-button :disabled=\"scope.row.triggerstate==='ACQUIRED'\" type=\"primary\" icon=\"el-icon-fa-trash\" title=\"删除\" @click=\"delJob(scope.row)\"></el-button>\r\n </template>\r\n </el-table-column>\r\n </PageTable>\r\n </el-card>\r\n\r\n <el-dialog append-to-body v-draggable :visible.sync=\"showDia\" title=\"任务管理\" :close-on-click-modal=\"false\">\r\n <div class=\"dialog-button\" v-if='!currJobData.onlyRead'>\r\n <el-button @click=\"$refs.taskmgredit.submitForm()\" type=\"primary\" plain icon=\"el-icon-fa-save\" title=\"保存\"></el-button>\r\n <el-button @click=\"$refs.taskmgredit.resetForm()\" type=\"primary\" icon=\"el-icon-fa-reply-all\" plain title=\"重置\"></el-button>\r\n </div>\r\n <task-mgr-edit v-if='showDia' ref='taskmgredit' :jobData='currJobData' @closeDia='closeDia'></task-mgr-edit>\r\n </el-dialog>\r\n\r\n </div>\r\n</template>\r\n<script>\r\nimport TaskMgrEdit from \"./TaskMgrEdit\";\r\nimport TaskMgrApi from \"@/api/base/sysm/TaskMgrApi\";\r\n\r\nexport default {\r\n name: \"TaskMgr\",\r\n components: { TaskMgrEdit },\r\n data() {\r\n return {\r\n triStOptions: [\r\n // {\r\n // value: \"WAITING\",\r\n // label: \"等待\"\r\n // },\r\n {\r\n value: \"PAUSED\",\r\n label: \"暂停\",\r\n info: \"info\"\r\n },\r\n {\r\n value: \"ACQUIRED\",\r\n label: \"正常执行\",\r\n type: \"success\"\r\n },\r\n // {\r\n // value: \"BLOCKED\",\r\n // label: \"阻塞\"\r\n // },\r\n {\r\n value: \"ERROR\",\r\n label: \"错误\",\r\n typeL: \"danger\"\r\n }\r\n ],\r\n currJobData: {\r\n job: null,\r\n onlyRead: null\r\n },\r\n queryform: {\r\n jobName: null,\r\n triggerState: null\r\n },\r\n showDia: false,\r\n table: {\r\n data: []\r\n },\r\n multipleSelection: []\r\n };\r\n },\r\n methods: {\r\n closeDia() {\r\n this.showDia = false;\r\n this.queryJobData();\r\n },\r\n doEdit(rowData) {\r\n this.currJobData = {\r\n job: Object.assign({}, rowData),\r\n onlyRead: false\r\n };\r\n this.showDia = true;\r\n },\r\n doAdd() {\r\n this.currJobData = {\r\n job: null,\r\n onlyRead: false\r\n };\r\n this.showDia = true;\r\n },\r\n doEye(rowData) {\r\n this.currJobData = {\r\n job: Object.assign({}, rowData),\r\n onlyRead: true\r\n };\r\n this.showDia = true;\r\n },\r\n queryJobData() {\r\n this.$refs.dataTable.load(this.queryform);\r\n },\r\n resetquery() {\r\n this.$refs.queryform.resetFields();\r\n },\r\n dataTableLoad(params, resolve) {\r\n TaskMgrApi.queryJob(params)\r\n .then(resolve) // 让表格解析你提供的数据 (主要解析页码等)\r\n .then(respData => (this.table.data = respData.datarows)); // 本地也记录一下数据 (提供给表示显示的数据)\r\n },\r\n handleSelectionChange(val) {\r\n this.multipleSelection = val;\r\n },\r\n // triggerState(row, column, cellValue) {\r\n // let label = \"unknow\";\r\n // let currIndex = this.triStOptions.findIndex(\r\n // item => item.value === cellValue\r\n // );\r\n // if (currIndex > -1) return this.triStOptions[currIndex].label;\r\n // return label;\r\n // },\r\n lockJobs(t) {\r\n let jobKeys = [];\r\n this.multipleSelection.forEach((value, index) => {\r\n jobKeys.push({\r\n jobName: value.jobname\r\n });\r\n });\r\n if (t) {\r\n TaskMgrApi.runJob(jobKeys).then(resp => {\r\n if (resp.respCode === \"000000\") {\r\n this.$message.success(resp.respDesc);\r\n } else {\r\n this.$message.error(resp.respDesc);\r\n }\r\n this.queryJobData();\r\n });\r\n } else {\r\n TaskMgrApi.stopJob(jobKeys).then(resp => {\r\n if (resp.respCode === \"000000\") {\r\n this.$message.success(resp.respDesc);\r\n } else {\r\n this.$message.error(resp.respDesc);\r\n }\r\n this.queryJobData();\r\n });\r\n }\r\n },\r\n dolock(rowData, t) {\r\n if (t) {\r\n TaskMgrApi.runJob([\r\n {\r\n jobName: rowData.jobname\r\n }\r\n ]).then(resp => {\r\n if (resp.respCode === \"000000\") {\r\n this.$message.success(resp.respDesc);\r\n } else {\r\n this.$message.error(resp.respDesc);\r\n }\r\n this.queryJobData();\r\n });\r\n } else {\r\n TaskMgrApi.stopJob([\r\n {\r\n jobName: rowData.jobname\r\n }\r\n ]).then(resp => {\r\n if (resp.respCode === \"000000\") {\r\n this.$message.success(resp.respDesc);\r\n } else {\r\n this.$message.error(resp.respDesc);\r\n }\r\n this.queryJobData();\r\n });\r\n }\r\n },\r\n delJobs() {\r\n this.confirm().then(() => {\r\n let jobKeys = [];\r\n this.multipleSelection.forEach((value, index) => {\r\n jobKeys.push({\r\n jobName: value.jobname\r\n });\r\n });\r\n TaskMgrApi.delJob(jobKeys).then(resp => {\r\n if (resp.respCode === \"000000\") {\r\n this.$message.success(resp.respDesc);\r\n } else {\r\n this.$message.error(resp.respDesc);\r\n }\r\n this.queryJobData();\r\n });\r\n });\r\n },\r\n delJob(rowData) {\r\n this.confirm().then(() => {\r\n TaskMgrApi.delJob([\r\n {\r\n jobName: rowData.jobname\r\n }\r\n ]).then(resp => {\r\n if (resp.respCode === \"000000\") {\r\n this.$message.success(resp.respDesc);\r\n } else {\r\n this.$message.error(resp.respDesc);\r\n }\r\n this.queryJobData();\r\n });\r\n });\r\n }\r\n }\r\n};\r\n</script>\r\n","import mod from \"-!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/_thread-loader@2.1.2@thread-loader/dist/cjs.js!../../../node_modules/_babel-loader@8.0.6@babel-loader/lib/index.js!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./TaskMgr.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/_thread-loader@2.1.2@thread-loader/dist/cjs.js!../../../node_modules/_babel-loader@8.0.6@babel-loader/lib/index.js!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./TaskMgr.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TaskMgr.vue?vue&type=template&id=1e38f68a&\"\nimport script from \"./TaskMgr.vue?vue&type=script&lang=js&\"\nexport * from \"./TaskMgr.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","module.exports = require(\"regenerator-runtime/runtime\");","import mod from \"-!../../../node_modules/_mini-css-extract-plugin@0.6.0@mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/_css-loader@1.0.1@css-loader/index.js??ref--8-oneOf-1-1!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/_sass-loader@7.1.0@sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./QueryDesigner.vue?vue&type=style&index=0&lang=scss&\"; export default mod; export * from \"-!../../../node_modules/_mini-css-extract-plugin@0.6.0@mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/_css-loader@1.0.1@css-loader/index.js??ref--8-oneOf-1-1!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/_sass-loader@7.1.0@sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./QueryDesigner.vue?vue&type=style&index=0&lang=scss&\"","module.exports = require(\"element-ui/lib/locale\");","module.exports = require(\"core-js/modules/es6.map\");","module.exports = require(\"core-js/modules/web.dom.iterable\");","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('el-card',{staticClass:\"flex-1\"},[_c('template',{slot:\"header\"},[_c('span',[_vm._v(\"交互日志管理\")])]),_c('el-form',{ref:\"queryform\",attrs:{\"model\":_vm.queryform}},[_c('el-row',[_c('el-col',{attrs:{\"lg\":4,\"sm\":12}},[_c('el-form-item',{attrs:{\"label\":\"开始时间\",\"prop\":\"authappldate\"}},[_c('el-date-picker',{attrs:{\"type\":\"datetime\",\"placeholder\":\"选择开始时间\"},model:{value:(_vm.queryform.actSta),callback:function ($$v) {_vm.$set(_vm.queryform, \"actSta\", $$v)},expression:\"queryform.actSta\"}})],1)],1),_c('el-col',{attrs:{\"lg\":4,\"sm\":12}},[_c('el-form-item',{attrs:{\"label\":\"结束时间\",\"prop\":\"authappldate\"}},[_c('el-date-picker',{attrs:{\"type\":\"datetime\",\"placeholder\":\"选择结束时间\"},model:{value:(_vm.queryform.actEnd),callback:function ($$v) {_vm.$set(_vm.queryform, \"actEnd\", $$v)},expression:\"queryform.actEnd\"}})],1)],1),_c('el-col',{attrs:{\"lg\":4,\"sm\":12}},[_c('el-form-item',{attrs:{\"label\":\"登陆账号\",\"prop\":\"userId\"}},[_c('el-input',{model:{value:(_vm.queryform.userId),callback:function ($$v) {_vm.$set(_vm.queryform, \"userId\", $$v)},expression:\"queryform.userId\"}})],1)],1),_c('el-col',{attrs:{\"lg\":4,\"sm\":12}},[_c('el-form-item',{attrs:{\"label\":\"服务器地址\",\"prop\":\"svrIp\"}},[_c('el-input',{model:{value:(_vm.queryform.svrIp),callback:function ($$v) {_vm.$set(_vm.queryform, \"svrIp\", $$v)},expression:\"queryform.svrIp\"}})],1)],1),_c('el-col',{attrs:{\"lg\":4,\"sm\":12}},[_c('el-form-item',{attrs:{\"label\":\"访问者地址\",\"prop\":\"reqIp\"}},[_c('el-input',{model:{value:(_vm.queryform.reqIp),callback:function ($$v) {_vm.$set(_vm.queryform, \"reqIp\", $$v)},expression:\"queryform.reqIp\"}})],1)],1),_c('el-col',{attrs:{\"lg\":4,\"sm\":12}},[_c('el-form-item',{attrs:{\"label\":\"操作描述\",\"prop\":\"actDesc\"}},[_c('el-input',{model:{value:(_vm.queryform.actDesc),callback:function ($$v) {_vm.$set(_vm.queryform, \"actDesc\", $$v)},expression:\"queryform.actDesc\"}})],1)],1),_c('el-col',{attrs:{\"lg\":4,\"sm\":12}},[_c('el-form-item',{attrs:{\"label\":\"会话标识\",\"prop\":\"sesId\"}},[_c('el-input',{model:{value:(_vm.queryform.sesId),callback:function ($$v) {_vm.$set(_vm.queryform, \"sesId\", $$v)},expression:\"queryform.sesId\"}})],1)],1),_c('el-col',{attrs:{\"lg\":4,\"sm\":12}},[_c('el-form-item',{attrs:{\"label\":\"处理结果\",\"prop\":\"respcode\"}},[_c('el-select',{directives:[{name:\"sys-code\",rawName:\"v-sys-code\",value:('questionType'),expression:\"'questionType'\"}],attrs:{\"placeholder\":\"请选择\",\"clearable\":\"\"},model:{value:(_vm.queryform.respcode),callback:function ($$v) {_vm.$set(_vm.queryform, \"respcode\", $$v)},expression:\"queryform.respcode\"}},_vm._l((_vm.RESPCODE),function(item){return _c('el-option',{key:item.key,attrs:{\"label\":item.label,\"value\":item.key}})}),1)],1)],1)],1)],1)],2),_c('el-card',{staticClass:\"flex-1 margin-top-2\"},[_c('template',{slot:\"header\"},[_c('span',[_vm._v(\"交互日志列表\")]),_c('div',{staticClass:\"pull-right\"},[_c('el-button',{attrs:{\"type\":\"primary\",\"icon\":\"el-icon-fa-search\",\"title\":\"查询\"},on:{\"click\":_vm.queryData}}),_c('el-button',{attrs:{\"type\":\"primary\",\"icon\":\"el-icon-fa-reply-all\",\"title\":\"重置\"},on:{\"click\":_vm.resetquery}})],1)]),_c('PageTable',{ref:\"dataTable\",attrs:{\"hideTitle\":\"\",\"page-size\":10,\"data\":_vm.table.data,\"highlight-current-row\":\"\",\"stripe\":\"\",\"border\":\"\"},on:{\"load-data\":_vm.dataTableLoad}},[_c('el-table-column',{attrs:{\"prop\":\"userid\",\"label\":\"登录账号\",\"show-overflow-tooltip\":\"\"}}),_c('el-table-column',{attrs:{\"prop\":\"username\",\"label\":\"用户名称\",\"show-overflow-tooltip\":\"\"}}),_c('el-table-column',{attrs:{\"prop\":\"uuid\",\"label\":\"交互标识\",\"width\":\"250px\",\"show-overflow-tooltip\":\"\"}}),_c('el-table-column',{attrs:{\"prop\":\"svrip\",\"label\":\"服务器地址\",\"width\":\"100px\",\"show-overflow-tooltip\":\"\"}}),_c('el-table-column',{attrs:{\"prop\":\"reqip\",\"label\":\"访问者地址\",\"width\":\"100px\",\"show-overflow-tooltip\":\"\"}}),_c('el-table-column',{attrs:{\"prop\":\"actdesc\",\"label\":\"操作描述\",\"show-overflow-tooltip\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_vm._v(\"\\n \"+_vm._s(scope.row.actdesc||\"系统操作\")+\"\\n \")]}}])}),_c('el-table-column',{attrs:{\"prop\":\"sesid\",\"label\":\"会话标识\",\"width\":\"250px\",\"show-overflow-tooltip\":\"\"}}),_c('el-table-column',{attrs:{\"prop\":\"actsta\",\"label\":\"操作时间\",\"formatter\":_vm.formatterDateTime,\"width\":\"140px\",\"show-overflow-tooltip\":\"\"}}),_c('el-table-column',{attrs:{\"prop\":\"optime\",\"label\":\"操作耗时\",\"placement\":\"top\",\"show-overflow-tooltip\":\"\"}}),_c('el-table-column',{attrs:{\"prop\":\"respcode\",\"label\":\"处理结果\",\"formatter\":_vm.respcodeFormatter,\"show-overflow-tooltip\":\"\"}}),_c('el-table-column',{attrs:{\"label\":\"操作\",\"fixed\":\"right\",\"width\":\"80\",\"align\":\"center\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('el-button',{attrs:{\"type\":\"primary\",\"icon\":\"el-icon-fa-eye\",\"title\":\"查看详情\"},on:{\"click\":function($event){return _vm.showInfo(scope.row)}}}),(scope.row.dataflag)?_c('el-button',{attrs:{\"type\":\"primary\",\"icon\":\"el-icon-fa-search\",\"title\":\"查看数据\"},on:{\"click\":function($event){return _vm.showData(scope.row.uuid)}}}):_vm._e(),(scope.row.stakinfo)?_c('el-button',{attrs:{\"type\":\"primary\",\"icon\":\"el-icon-fa-book\",\"title\":\"查看堆栈信息\"},on:{\"click\":function($event){return _vm.showStak(scope.row.stakinfo)}}}):_vm._e()]}}])})],1)],2),_c('el-dialog',{directives:[{name:\"draggable\",rawName:\"v-draggable\"}],attrs:{\"append-to-body\":\"\",\"title\":\"查看详情\",\"visible\":_vm.currentInfo.visible,\"width\":\"800px\"},on:{\"update:visible\":function($event){return _vm.$set(_vm.currentInfo, \"visible\", $event)}}},[(_vm.currentInfo.visible)?_c('LogsOperInfo',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.currentInfo.loading),expression:\"currentInfo.loading\"}],attrs:{\"uuid\":_vm.currentInfo.uuid,\"error\":_vm.currentInfo.error}}):_vm._e()],1),_c('el-dialog',{directives:[{name:\"draggable\",rawName:\"v-draggable\"}],attrs:{\"append-to-body\":\"\",\"title\":\"查看数据\",\"visible\":_vm.editor.datashow,\"width\":\"800px\"},on:{\"update:visible\":function($event){return _vm.$set(_vm.editor, \"datashow\", $event)}}},[(_vm.editor.datashow)?_c('LogsOperData',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.editor.loading),expression:\"editor.loading\"}],attrs:{\"uuid\":_vm.editor.uuid,\"flag\":1}}):_vm._e()],1),_c('el-dialog',{directives:[{name:\"draggable\",rawName:\"v-draggable\"}],attrs:{\"append-to-body\":\"\",\"title\":\"查看堆栈信息\",\"visible\":_vm.editor.stakshow,\"width\":\"800px\"},on:{\"update:visible\":function($event){return _vm.$set(_vm.editor, \"stakshow\", $event)}}},[[(_vm.stakinfo)?_c('el-input',{attrs:{\"type\":\"textarea\",\"rows\":25,\"readonly\":\"\"},model:{value:(_vm.stakinfo),callback:function ($$v) {_vm.stakinfo=$$v},expression:\"stakinfo\"}}):_vm._e()]],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('el-form',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}],ref:\"form \",attrs:{\"label-position\":\"top\",\"model\":_vm.data}},[_c('el-row',[_c('el-col',{attrs:{\"span\":12}},[_c('el-form-item',{attrs:{\"label\":\"服务器地址 \",\"prop\":\"svrIp \"}},[_c('el-input',{attrs:{\"readonly\":\"\"},model:{value:(_vm.data.svrIp ),callback:function ($$v) {_vm.$set(_vm.data, \"svrIp\", $$v)},expression:\"data.svrIp \"}})],1)],1),_c('el-col',{attrs:{\"span\":12}},[_c('el-form-item',{attrs:{\"label\":\"服务器名称 \",\"prop\":\"svrName \"}},[_c('el-input',{attrs:{\"readonly\":\"\"},model:{value:(_vm.data.svrName ),callback:function ($$v) {_vm.$set(_vm.data, \"svrName\", $$v)},expression:\"data.svrName \"}})],1)],1)],1),_c('el-row',[_c('el-col',{attrs:{\"span\":12}},[_c('el-form-item',{attrs:{\"label\":\"处理代码 \",\"prop\":\"respCode \"}},[_c('el-input',{attrs:{\"readonly\":\"\"},model:{value:(_vm.data.respCode ),callback:function ($$v) {_vm.$set(_vm.data, \"respCode\", $$v)},expression:\"data.respCode \"}})],1)],1),_c('el-col',{attrs:{\"span\":12}},[_c('el-form-item',{attrs:{\"label\":\"处理描述 \",\"prop\":\"respDesc \"}},[_c('el-input',{attrs:{\"readonly\":\"\"},model:{value:(_vm.data.respDesc ),callback:function ($$v) {_vm.$set(_vm.data, \"respDesc\", $$v)},expression:\"data.respDesc \"}})],1)],1)],1),_c('el-row',[_c('el-col',{attrs:{\"span\":12}},[_c('el-form-item',{attrs:{\"label\":\"协议类型 \",\"prop\":\"acttype \"}},[_c('el-input',{attrs:{\"readonly\":\"\"},model:{value:(_vm.acttype ),callback:function ($$v) {_vm.acttype =$$v},expression:\"acttype \"}})],1)],1),_c('el-col',{attrs:{\"span\":12}},[_c('el-form-item',{attrs:{\"label\":\"请求者地址 \",\"prop\":\"reqIp \"}},[_c('el-input',{attrs:{\"readonly\":\"\"},model:{value:(_vm.data.reqIp ),callback:function ($$v) {_vm.$set(_vm.data, \"reqIp\", $$v)},expression:\"data.reqIp \"}})],1)],1)],1),_c('el-row',[_c('el-col',{attrs:{\"span\":12}},[_c('el-form-item',{attrs:{\"label\":\"操作开始时间 \",\"prop\":\"actSta \"}},[_c('el-input',{attrs:{\"readonly\":\"\"},model:{value:(_vm.actSta ),callback:function ($$v) {_vm.actSta =$$v},expression:\"actSta \"}})],1)],1),_c('el-col',{attrs:{\"span\":12}},[_c('el-form-item',{attrs:{\"label\":\"操作结束时间 \",\"prop\":\"actEnd \"}},[_c('el-input',{attrs:{\"readonly\":\"\"},model:{value:(_vm.actEnd ),callback:function ($$v) {_vm.actEnd =$$v},expression:\"actEnd \"}})],1)],1)],1),_c('el-form-item',{attrs:{\"label\":\"会话标识 \",\"prop\":\"sesId \"}},[_c('el-input',{attrs:{\"readonly\":\"\"},model:{value:(_vm.data.sesId ),callback:function ($$v) {_vm.$set(_vm.data, \"sesId\", $$v)},expression:\"data.sesId \"}})],1),_c('el-form-item',{attrs:{\"label\":\"请求终端类型 \",\"prop\":\"devType \"}},[_c('el-input',{attrs:{\"readonly\":\"\"},model:{value:(_vm.data.devType ),callback:function ($$v) {_vm.$set(_vm.data, \"devType\", $$v)},expression:\"data.devType \"}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <div>\r\n <el-form label-position=\"top\" :model=\"data\" v-loading=\"loading\" ref=\"form \">\r\n <el-row>\r\n <el-col :span=\"12 \">\r\n <el-form-item label=\"服务器地址 \" prop=\"svrIp \">\r\n <el-input v-model=\"data.svrIp \" readonly></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span=\"12 \">\r\n <el-form-item label=\"服务器名称 \" prop=\"svrName \">\r\n <el-input v-model=\"data.svrName \" readonly></el-input>\r\n </el-form-item>\r\n </el-col>\r\n </el-row>\r\n <el-row>\r\n <el-col :span=\"12 \">\r\n <el-form-item label=\"处理代码 \" prop=\"respCode \">\r\n <el-input v-model=\"data.respCode \" readonly></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span=\"12 \">\r\n <el-form-item label=\"处理描述 \" prop=\"respDesc \">\r\n <el-input v-model=\"data.respDesc \" readonly></el-input>\r\n </el-form-item>\r\n </el-col>\r\n </el-row>\r\n <el-row>\r\n <el-col :span=\"12 \">\r\n <el-form-item label=\"协议类型 \" prop=\"acttype \">\r\n <el-input v-model=\"acttype \" readonly></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span=\"12 \">\r\n <el-form-item label=\"请求者地址 \" prop=\"reqIp \">\r\n <el-input v-model=\"data.reqIp \" readonly></el-input>\r\n </el-form-item>\r\n </el-col>\r\n </el-row>\r\n <el-row>\r\n <el-col :span=\"12 \">\r\n <el-form-item label=\"操作开始时间 \" prop=\"actSta \">\r\n <el-input v-model=\"actSta \" readonly></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span=\"12 \">\r\n <el-form-item label=\"操作结束时间 \" prop=\"actEnd \">\r\n <el-input v-model=\"actEnd \" readonly></el-input>\r\n </el-form-item>\r\n </el-col>\r\n </el-row>\r\n <el-form-item label=\"会话标识 \" prop=\"sesId \">\r\n <el-input v-model=\"data.sesId \" readonly></el-input>\r\n </el-form-item>\r\n <el-form-item label=\"请求终端类型 \" prop=\"devType \">\r\n <el-input v-model=\"data.devType \" readonly></el-input>\r\n </el-form-item>\r\n </el-form>\r\n </div>\r\n</template>\r\n<script>\r\nimport OperAPI from \"@/api/base/logs/LogsOper\";\r\nexport default {\r\n components: { OperAPI },\r\n props: {\r\n // 一定要暴露一个UUID属性,用来做编辑操作.\r\n uuid: String,\r\n // 暴露出去一个属性用来显示服务器校验失败错误\r\n error: Object\r\n },\r\n data() {\r\n return {\r\n loading: false,\r\n data: Object.assign({}),\r\n acttype: \"\",\r\n actSta: \"\",\r\n actEnd: \"\"\r\n };\r\n },\r\n watch: {\r\n uuid(val) {\r\n this.loadData();\r\n }\r\n },\r\n mounted() {\r\n // 最开始显示的时候要加载数据\r\n this.loadData();\r\n },\r\n methods: {\r\n // 因为表单里面没有按钮,所以需要暴露方法\r\n // 提供一个校验方法 ,\r\n validate() {\r\n return this.$refs.form.validate().then(() => this.data);\r\n },\r\n // 加载数据方法,如果有UUID,就加载数据,如果没有,就重置表单\r\n loadData() {\r\n if (!this.uuid) {\r\n this.$refs.form.resetFields();\r\n } else {\r\n this.loading = true;\r\n OperAPI.getLogsOperByUuid(this.uuid)\r\n .then(respData => {\r\n this.data = respData.datarows;\r\n this.loading = false;\r\n this.acttype = this.acttypeFormatter(respData.datarows);\r\n this.actSta = this.formatterDateTime(\r\n null,\r\n null,\r\n respData.datarows.actSta\r\n );\r\n this.actEnd = this.formatterDateTime(\r\n null,\r\n null,\r\n respData.datarows.actEnd\r\n );\r\n })\r\n .catch(resp => {});\r\n }\r\n },\r\n acttypeFormatter(data) {\r\n return data.actType == \"1\"\r\n ? \"HTTP\"\r\n : data.actType == \"2\"\r\n ? \"MQ\"\r\n : \"无请求类型\";\r\n }\r\n }\r\n};\r\n</script>\r\n<style lang=\"scss\" scoped>\r\n</style>\r\n","import mod from \"-!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/_thread-loader@2.1.2@thread-loader/dist/cjs.js!../../../node_modules/_babel-loader@8.0.6@babel-loader/lib/index.js!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./LogsOperInfo.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/_thread-loader@2.1.2@thread-loader/dist/cjs.js!../../../node_modules/_babel-loader@8.0.6@babel-loader/lib/index.js!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./LogsOperInfo.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./LogsOperInfo.vue?vue&type=template&id=5e6f41e0&scoped=true&\"\nimport script from \"./LogsOperInfo.vue?vue&type=script&lang=js&\"\nexport * from \"./LogsOperInfo.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5e6f41e0\",\n null\n \n)\n\nexport default component.exports","<!-- 交互日志管理页面 -->\n<template>\n <div>\n <el-card class=\"flex-1\">\n <template slot=\"header\">\n <span>交互日志管理</span>\n </template>\n <el-form :model=\"queryform\" ref=\"queryform\">\n <el-row>\n <el-col :lg='4' :sm='12'>\n <el-form-item label=\"开始时间\" prop=\"authappldate\">\n <el-date-picker v-model=\"queryform.actSta\" type=\"datetime\" placeholder=\"选择开始时间\">\n </el-date-picker>\n </el-form-item>\n </el-col>\n <el-col :lg='4' :sm='12'>\n <el-form-item label=\"结束时间\" prop=\"authappldate\">\n <el-date-picker v-model=\"queryform.actEnd\" type=\"datetime\" placeholder=\"选择结束时间\">\n </el-date-picker>\n </el-form-item>\n </el-col>\n <el-col :lg='4' :sm='12'>\n <el-form-item label=\"登陆账号\" prop=\"userId\">\n <el-input v-model=\"queryform.userId\"></el-input>\n </el-form-item>\n </el-col>\n <el-col :lg='4' :sm='12'>\n <el-form-item label=\"服务器地址\" prop=\"svrIp\">\n <el-input v-model=\"queryform.svrIp\"></el-input>\n </el-form-item>\n </el-col>\n <el-col :lg='4' :sm='12'>\n <el-form-item label=\"访问者地址\" prop=\"reqIp\">\n <el-input v-model=\"queryform.reqIp\"></el-input>\n </el-form-item>\n </el-col>\n <el-col :lg='4' :sm='12'>\n <el-form-item label=\"操作描述\" prop=\"actDesc\">\n <el-input v-model=\"queryform.actDesc\"></el-input>\n </el-form-item>\n </el-col>\n <el-col :lg='4' :sm='12'>\n <el-form-item label=\"会话标识\" prop=\"sesId\">\n <el-input v-model=\"queryform.sesId\"></el-input>\n </el-form-item>\n </el-col>\n <el-col :lg='4' :sm='12'>\n <el-form-item label=\"处理结果\" prop=\"respcode\">\n <el-select placeholder=\"请选择\" v-sys-code=\"'questionType'\" v-model=\"queryform.respcode\" clearable>\n <el-option v-for=\"item in RESPCODE\" :key=\"item.key\" :label=\"item.label\" :value=\"item.key\" />\n </el-select>\n </el-form-item>\n </el-col>\n </el-row>\n </el-form>\n </el-card>\n <el-card class=\"flex-1 margin-top-2\">\n <template slot=\"header\">\n <span>交互日志列表</span>\n <div class=\"pull-right\">\n <el-button type=\"primary\" @click=\"queryData\" icon=\"el-icon-fa-search\" title=\"查询\"></el-button>\n <el-button type=\"primary\" @click=\"resetquery\" icon=\"el-icon-fa-reply-all\" title=\"重置\"></el-button>\n </div>\n </template>\n <PageTable hideTitle ref=\"dataTable\" :page-size=\"10\" @load-data=\"dataTableLoad\" :data=\"table.data\" highlight-current-row stripe border>\n <el-table-column prop=\"userid\" label=\"登录账号\" show-overflow-tooltip></el-table-column>\n <el-table-column prop=\"username\" label=\"用户名称\" show-overflow-tooltip></el-table-column>\n <el-table-column prop=\"uuid\" label=\"交互标识\" width=\"250px\" show-overflow-tooltip></el-table-column>\n <el-table-column prop=\"svrip\" label=\"服务器地址\" width=\"100px\" show-overflow-tooltip></el-table-column>\n <el-table-column prop=\"reqip\" label=\"访问者地址\" width=\"100px\" show-overflow-tooltip></el-table-column>\n <el-table-column prop=\"actdesc\" label=\"操作描述\" show-overflow-tooltip>\n <template slot-scope='scope'>\n {{scope.row.actdesc||\"系统操作\"}}\n </template>\n </el-table-column>\n <el-table-column prop=\"sesid\" label=\"会话标识\" width=\"250px\" show-overflow-tooltip></el-table-column>\n <el-table-column prop=\"actsta\" label=\"操作时间\" :formatter=\"formatterDateTime\" width='140px' show-overflow-tooltip></el-table-column>\n <el-table-column prop=\"optime\" label=\"操作耗时\" placement=\"top\" show-overflow-tooltip></el-table-column>\n <el-table-column prop=\"respcode\" label=\"处理结果\" :formatter=\"respcodeFormatter\" show-overflow-tooltip></el-table-column>\n <el-table-column label=\"操作\" fixed='right' width='80' align='center'>\n <template slot-scope=\"scope\">\n <el-button type=\"primary\" @click=\"showInfo(scope.row)\" icon=\"el-icon-fa-eye\" title=\"查看详情\"></el-button>\n <!-- <el-button type=\"primary\" @click=\"showServ(scope.row.uuid)\" icon=\"el-icon-fa-bookmark-o\" title=\"查看服务\"></el-button> -->\n <el-button type=\"primary\" v-if=\"scope.row.dataflag\" @click=\"showData(scope.row.uuid)\" icon=\"el-icon-fa-search\" title=\"查看数据\"></el-button>\n <el-button type=\"primary\" v-if='scope.row.stakinfo' @click=\"showStak(scope.row.stakinfo)\" icon=\"el-icon-fa-book\" title=\"查看堆栈信息\"></el-button>\n </template>\n </el-table-column>\n </PageTable>\n </el-card>\n <el-dialog append-to-body v-draggable title=\"查看详情\" :visible.sync=\"currentInfo.visible\" width=\"800px\">\n <LogsOperInfo v-loading=\"currentInfo.loading\" v-if=\"currentInfo.visible\" :uuid=\"currentInfo.uuid\" :error=\"currentInfo.error\" />\n </el-dialog>\n <el-dialog append-to-body v-draggable title=\"查看数据\" :visible.sync=\"editor.datashow\" width=\"800px\">\n <LogsOperData v-loading=\"editor.loading\" v-if=\"editor.datashow\" :uuid=\"editor.uuid\" :flag=\"1\"></LogsOperData>\n </el-dialog>\n <el-dialog append-to-body v-draggable title=\"查看堆栈信息\" :visible.sync=\"editor.stakshow\" width=\"800px\">\n <template>\n <el-input v-if=\"stakinfo\" type=\"textarea\" :rows=\"25\" v-model=\"stakinfo\" readonly></el-input>\n </template>\n </el-dialog>\n </div>\n</template>\n\n<script>\nimport LogsOperInfo from \"./LogsOperInfo\";\nimport LogsOperData from \"./LogsOperData\";\nimport OperAPI from \"@/api/base/logs/LogsOper\";\n\nexport default {\n components: { LogsOperData, LogsOperInfo },\n props: {\n sesId: {\n type: String\n }\n },\n data() {\n return {\n stakinfo: \"\",\n queryform: {\n userId: \"\",\n svrIp: \"\",\n reqIp: \"\",\n actDesc: \"\",\n sesId: \"\",\n actSta: \"\",\n actEnd: \"\",\n respcode: \"\"\n },\n RESPCODE: [\n {\n key: \"1\",\n label: \"成功\"\n },\n {\n key: \"2\",\n label: \"失败\"\n }\n ],\n //详细信息dialog\n currentInfo: {\n loading: false,\n visible: false,\n uuid: \"\",\n error: {}\n },\n table: {\n data: []\n },\n editor: {\n uuid: null,\n datashow: false,\n stakshow: false,\n visible: false, // 编辑器-显示\n loading: false\n },\n respcode: [\n {\n code: \"000000\",\n label: \"请求处理成功\"\n },\n {\n code: \"000100\",\n label: \"用户会话超时\"\n },\n {\n code: \"000200\",\n label: \"安全服务错误\"\n },\n {\n code: \"000300\",\n label: \"校验服务错误\"\n },\n {\n code: \"000400\",\n label: \"系统后台错误\"\n },\n {\n code: \"000500\",\n label: \"网络服务错误\"\n }\n ],\n acttype: [\n {\n code: \"1\",\n label: \"HTTP\"\n },\n {\n code: \"2\",\n label: \"MQ\"\n }\n ]\n };\n },\n mounted() {\n this.$nextTick(() => {\n //加载页面取得sesid,如果有的话\n this.createdGetSesId();\n this.queryData();\n });\n },\n methods: {\n // 打开画面\n showStak(stakinfo) {\n this.editor.stakshow = true;\n this.stakinfo = stakinfo;\n },\n showData(uuid) {\n this.editor.uuid = uuid;\n this.editor.datashow = true;\n },\n async showServ(uuid) {\n await this.confirm(null, \"是否跳转至服务日志页面?\");\n await this.removeView(\"服务日志\");\n await this.addView(\"服务日志\", \"/logs/LogsServ\", { uuid: uuid });\n },\n addView(name, path, propsData) {\n let idx = this.$tabView.viewList.findIndex(item => item.name === name);\n if (idx === -1) this.$tabView.viewList.push({ name, path, propsData });\n this.$tabView.active = name;\n },\n removeView(name) {\n let idx = this.$tabView.viewList.findIndex(item => item.name === name);\n if (idx > -1) {\n this.$tabView.active = this.$tabView.viewList[idx - 1].name;\n this.$tabView.viewList.splice(idx, 1);\n }\n },\n respcodeFormatter(row, column, cellValue) {\n return cellValue\n ? this.respcode.filter(v => v.code === cellValue)[0].label\n : \"未知错误\";\n },\n acttypeFormatter(data) {\n let cd = this.acttype.filter(v => v.code === data.acttype);\n return cd ? cd[0].label : \"无请求类型\";\n },\n //查看详情\n showInfo(row) {\n this.currentInfo.uuid = row.uuid;\n this.currentInfo.visible = true;\n },\n //加载form数据\n queryData() {\n if (this.queryform.actEnd < this.queryform.actSta) {\n this.$message.error(\"开始时间不能大于结束时间\");\n return;\n }\n this.$refs.dataTable.load(this.queryform);\n },\n //reset\n resetquery() {\n this.$refs.queryform.resetFields();\n this.queryform.actSta = \"\";\n this.queryform.actEnd = \"\";\n this.queryform.respcode = \"\";\n },\n dataTableLoad(params, resolve) {\n OperAPI.queryLogsOper(params)\n .then(resolve) // 让表格解析你提供的数据 (主要解析页码等)\n .then(respData => (this.table.data = respData.datarows)); // 本地也记录一下数据 (提供给表示显示的数据)\n },\n format: function(row, column) {\n var acttype = row[column.property];\n if (acttype === undefined) {\n return \"\";\n } else {\n if (acttype === \"1\") {\n return \"HTTP协议\";\n } else {\n return \"错误数据\";\n }\n }\n },\n createdGetSesId() {\n this.queryform.sesId = this.sesId;\n }\n }\n};\n</script>\n","import mod from \"-!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/_thread-loader@2.1.2@thread-loader/dist/cjs.js!../../../node_modules/_babel-loader@8.0.6@babel-loader/lib/index.js!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./LogsOper.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/_thread-loader@2.1.2@thread-loader/dist/cjs.js!../../../node_modules/_babel-loader@8.0.6@babel-loader/lib/index.js!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./LogsOper.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./LogsOper.vue?vue&type=template&id=6f0c14ec&\"\nimport script from \"./LogsOper.vue?vue&type=script&lang=js&\"\nexport * from \"./LogsOper.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import ajax from \"../../../libs/Ajax\";\r\n\r\nexport default {\r\n queryLogsOper(params) {\r\n return ajax.get(\"/logs/LogsOper/queryLogsOper\", { params: params });\r\n },\r\n queryLogsOperData(params) {\r\n return ajax.get(\"/logs/LogsOper/queryLogsOperData\", { params: params });\r\n },\r\n /**\r\n * 查询指定业务数据的数据操作历史.\r\n * @param {Object} params 要查询记录的业务数据主键,以及其他分页参数,不支持模糊搜索\r\n */\r\n queryQueryDataHis(params) {\r\n return ajax.get(\"/logs/LogsSqlData/dataHandleHis\", { params: params });\r\n },\r\n getLogsOperByUuid(uuid) {\r\n return ajax.get(\"/logs/LogsOper/getLogsOperByUuid\", { params: { uuid } });\r\n }\r\n};\r\n","module.exports = require(\"element-ui/lib/mixins/locale\");","// extracted by mini-css-extract-plugin","module.exports = require(\"vue-element-dialog-draggable\");","module.exports = require(\"vue-i18n\");","// extracted by mini-css-extract-plugin","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('el-card',[_c('template',{slot:\"header\"},[_c('span',[_vm._v(\"用户管理\")]),_c('div',{staticClass:\"pull-right\"},[_c('el-button',{attrs:{\"type\":\"primary\",\"icon\":\"el-icon-fa-plus\",\"title\":\"新增用户\"},on:{\"click\":function($event){return _vm.doAdd()}}})],1)]),_c('el-form',{ref:\"queryform\",attrs:{\"model\":_vm.queryform}},[_c('el-row',[_c('el-col',{attrs:{\"lg\":4,\"sm\":12}},[_c('el-form-item',{attrs:{\"label\":\"用户名称\",\"prop\":\"username\"}},[_c('el-input',{model:{value:(_vm.queryform.username),callback:function ($$v) {_vm.$set(_vm.queryform, \"username\", $$v)},expression:\"queryform.username\"}})],1)],1),_c('el-col',{attrs:{\"lg\":4,\"sm\":12}},[_c('el-form-item',{attrs:{\"label\":\"用户工号\",\"prop\":\"usercode\"}},[_c('el-input',{model:{value:(_vm.queryform.usercode),callback:function ($$v) {_vm.$set(_vm.queryform, \"usercode\", $$v)},expression:\"queryform.usercode\"}})],1)],1),_c('el-col',{attrs:{\"lg\":4,\"sm\":12}},[_c('el-form-item',{attrs:{\"label\":\"状态\",\"prop\":\"userstat\"}},[_c('el-select',{directives:[{name:\"sys-code\",rawName:\"v-sys-code\",value:('userstat'),expression:\"'userstat'\"}],attrs:{\"placeholder\":\"状态\",\"clearable\":\"\"},model:{value:(_vm.queryform.userstat),callback:function ($$v) {_vm.$set(_vm.queryform, \"userstat\", $$v)},expression:\"queryform.userstat\"}},_vm._l((_vm.sysCode.userstat),function(item){return _c('el-option',{key:item.key,attrs:{\"label\":item.label,\"value\":item.value}})}),1)],1)],1),_c('el-col',{attrs:{\"lg\":4,\"sm\":12}},[_c('el-form-item',{attrs:{\"label\":\"隶属机构\",\"prop\":\"orgId\"}},[_c('Selector',{attrs:{\"clearable\":true,\"label-key\":\"label\",\"value-key\":\"id\",\"placeholder\":\"隶属组织机构\"},model:{value:(_vm.queryform.orgId),callback:function ($$v) {_vm.$set(_vm.queryform, \"orgId\", $$v)},expression:\"queryform.orgId\"}},[_c('SelectorTree',{attrs:{\"tree-key\":\"orgTree\",\"searchField\":\"ORG_NAME\",\"rootLabel\":\"组织机构\"}})],1)],1)],1),_c('el-col',{attrs:{\"lg\":4,\"sm\":12}},[_c('el-form-item',{attrs:{\"label\":\"范围开始时间\",\"prop\":\"startTime\"}},[_c('el-date-picker',{attrs:{\"type\":\"datetime\",\"placeholder\":\"选择开始时间\"},model:{value:(_vm.queryform.startTime),callback:function ($$v) {_vm.$set(_vm.queryform, \"startTime\", $$v)},expression:\"queryform.startTime\"}})],1)],1),_c('el-col',{attrs:{\"lg\":4,\"sm\":12}},[_c('el-form-item',{attrs:{\"label\":\"范围结束时间\",\"prop\":\"endTime\"}},[_c('el-date-picker',{attrs:{\"type\":\"datetime\",\"placeholder\":\"选择结束时间\"},model:{value:(_vm.queryform.endTime),callback:function ($$v) {_vm.$set(_vm.queryform, \"endTime\", $$v)},expression:\"queryform.endTime\"}})],1)],1)],1)],1)],2),_c('el-card',{staticClass:\"margin-top-2\"},[_c('template',{slot:\"header\"},[_c('span',[_vm._v(\"用户列表\")]),_c('div',{staticClass:\"pull-right\"},[_c('el-button',{attrs:{\"type\":\"primary\",\"icon\":\"el-icon-fa-search\",\"title\":\"查询\"},on:{\"click\":_vm.queryUserData}}),_c('el-button',{attrs:{\"type\":\"primary\",\"icon\":\"el-icon-fa-reply-all\",\"title\":\"重置\"},on:{\"click\":_vm.resetquery}}),_c('el-button',{attrs:{\"type\":\"primary\",\"disabled\":!_vm.multipleSelection.length>0,\"icon\":\"el-icon-fa-lock\",\"title\":\"批量锁定\"},on:{\"click\":function($event){return _vm.lockAndOpenUsers(true)}}}),_c('el-button',{attrs:{\"type\":\"primary\",\"disabled\":!_vm.multipleSelection.length>0,\"icon\":\"el-icon-fa-unlock\",\"title\":\"批量解锁\"},on:{\"click\":function($event){return _vm.lockAndOpenUsers(false)}}}),_c('el-button',{attrs:{\"type\":\"primary\",\"disabled\":!_vm.multipleSelection.length>0,\"icon\":\"el-icon-fa-key\",\"title\":\"批量重置密码\"},on:{\"click\":_vm.resetUserPw}})],1)]),_c('PageTable',{ref:\"dataTable\",attrs:{\"hideTitle\":\"\",\"auto-load\":true,\"data\":_vm.table.data,\"highlight-current-row\":\"\",\"stripe\":\"\",\"border\":\"\"},on:{\"load-data\":_vm.dataTableLoad,\"selection-change\":_vm.handleSelectionChange}},[_c('el-table-column',{attrs:{\"type\":\"selection\",\"align\":\"center\",\"width\":\"55\",\"fixed\":\"left\"}}),_c('el-table-column',{attrs:{\"prop\":\"userid\",\"label\":\"登陆账号\",\"show-overflow-tooltip\":\"\"}}),_c('el-table-column',{attrs:{\"prop\":\"username\",\"label\":\"用户名称\",\"show-overflow-tooltip\":\"\"}}),_c('el-table-column',{attrs:{\"prop\":\"userstat\",\"dict\":\"userstat\",\"label\":\"状态\",\"show-overflow-tooltip\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('SysCode',{attrs:{\"type\":'userstat',\"value\":scope.row.userstat}})]}}])}),_c('el-table-column',{attrs:{\"prop\":\"orgname\",\"label\":\"隶属机构\",\"show-overflow-tooltip\":\"\"}}),_c('el-table-column',{attrs:{\"prop\":\"crtime\",\"formatter\":_vm.formatterDateTime,\"label\":\"创建时间\",\"show-overflow-tooltip\":\"\"}}),_c('el-table-column',{attrs:{\"prop\":\"optime\",\"formatter\":_vm.formatterDateTime,\"label\":\"最后修改时间\",\"show-overflow-tooltip\":\"\"}}),_c('el-table-column',{attrs:{\"label\":\"操作\",\"fixed\":\"right\",\"width\":\"80\",\"align\":\"center\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('el-button',{attrs:{\"type\":\"primary\",\"icon\":\"el-icon-fa-edit\",\"title\":\"修改\"},on:{\"click\":function($event){return _vm.doEdit(scope.$index, scope.row)}}}),_c('el-button',{attrs:{\"type\":\"primary\",\"title\":\"登陆时间轴\",\"icon\":\"el-icon-location\"},on:{\"click\":function($event){return _vm.showTimeLine(scope.row)}}})]}}])})],1)],2),_c('el-dialog',{directives:[{name:\"draggable\",rawName:\"v-draggable\"}],attrs:{\"append-to-body\":\"\",\"visible\":_vm.editor.show,\"title\":\"用户管理\",\"close-on-click-modal\":false},on:{\"update:visible\":function($event){return _vm.$set(_vm.editor, \"show\", $event)}}},[_c('div',{staticClass:\"dialog-button\"},[_c('el-button-group',[_c('el-button',{attrs:{\"type\":\"primary\",\"plain\":\"\",\"icon\":\"el-icon-fa-save\",\"title\":\"保存修改\",\"disabled\":_vm.editor.stat=='6' ||_vm.editor.stat=='9'},on:{\"click\":function($event){return _vm.doSubmit()}}}),_c('el-button',{attrs:{\"type\":\"primary\",\"plain\":\"\",\"icon\":\"el-icon-fa-key\",\"title\":\"重置密码\",\"disabled\":!_vm.editor.uuid||_vm.editor.stat!=='5'},on:{\"click\":function($event){return _vm.resetPwd()}}}),_c('el-button',{attrs:{\"type\":\"primary\",\"plain\":\"\",\"icon\":\"el-icon-fa-trash\",\"title\":\"注销\",\"disabled\":!_vm.editor.uuid||_vm.editor.stat=='9'},on:{\"click\":function($event){return _vm.doShut()}}})],1),_c('el-button-group',{staticClass:\"margin-left-3\"},[_c('el-button',{attrs:{\"type\":\"primary\",\"plain\":\"\",\"icon\":\"el-icon-fa-lock\",\"title\":\"锁定\",\"disabled\":!_vm.editor.uuid||_vm.editor.stat=='6' ||_vm.editor.stat=='9'},on:{\"click\":function($event){return _vm.doClose()}}}),_c('el-button',{attrs:{\"type\":\"primary\",\"plain\":\"\",\"icon\":\"el-icon-fa-unlock\",\"title\":\"解锁\",\"disabled\":!_vm.editor.uuid||_vm.editor.stat=='5' ||_vm.editor.stat=='9'},on:{\"click\":function($event){return _vm.doOpen()}}})],1)],1),(_vm.editor.show)?_c('UserEditor',{ref:\"userEditor\",staticStyle:{\"min-height\":\"250px\"},attrs:{\"uuid\":_vm.editor.uuid},on:{\"submit\":_vm.saveUser}}):_vm._e()],1),_c('el-dialog',{directives:[{name:\"draggable\",rawName:\"v-draggable\"}],attrs:{\"append-to-body\":\"\",\"visible\":_vm.timeline,\"title\":\"用户登录时间轴\",\"close-on-click-modal\":false},on:{\"update:visible\":function($event){_vm.timeline=$event}}},[_c('time-line',{attrs:{\"user-uuid\":_vm.timelineuuid},on:{\"closeDia\":function($event){_vm.timeline=!_vm.timeline}}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-tabs',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loadingEur),expression:\"loadingEur\"}],attrs:{\"elemeur-loading-text\":\"正在读取数据...\",\"type\":\"card\"}},[_c('el-tab-pane',{attrs:{\"label\":\"基本信息\"}},[_c('el-form',{ref:\"form\",attrs:{\"model\":_vm.data,\"rules\":_vm.rules,\"label-position\":\"top\"}},[_c('el-row',[_c('el-col',{attrs:{\"span\":8}},[_c('el-form-item',{attrs:{\"label\":\"登录账号\",\"prop\":\"userId\"}},[_c('el-input',{attrs:{\"maxlength\":\"60\"},model:{value:(_vm.data.userId),callback:function ($$v) {_vm.$set(_vm.data, \"userId\", $$v)},expression:\"data.userId\"}})],1)],1),_c('el-col',{attrs:{\"span\":8}},[_c('el-form-item',{attrs:{\"label\":\"用户名称\",\"prop\":\"userName\"}},[_c('el-input',{attrs:{\"maxlength\":\"60\"},model:{value:(_vm.data.userName),callback:function ($$v) {_vm.$set(_vm.data, \"userName\", $$v)},expression:\"data.userName\"}})],1)],1),_c('el-col',{attrs:{\"span\":8}},[_c('el-form-item',{attrs:{\"label\":\"用户工号\",\"prop\":\"userCode\"}},[_c('el-input',{attrs:{\"maxlength\":\"60\"},model:{value:(_vm.data.userCode),callback:function ($$v) {_vm.$set(_vm.data, \"userCode\", $$v)},expression:\"data.userCode\"}})],1)],1),_c('el-col',{attrs:{\"span\":8}},[_c('el-form-item',{attrs:{\"prop\":\"orgId\",\"label\":\"隶属机构\"}},[_c('Selector',{attrs:{\"init-label\":_vm.data.orgName,\"clearable\":true,\"label-key\":\"label\",\"value-key\":\"id\",\"placeholder\":\"隶属组织机构\"},model:{value:(_vm.data.orgId),callback:function ($$v) {_vm.$set(_vm.data, \"orgId\", $$v)},expression:\"data.orgId\"}},[_c('SelectorTree',{attrs:{\"tree-key\":\"orgTree\",\"searchField\":\"ORG_NAME\",\"rootLabel\":\"海关\"}})],1)],1)],1),_c('el-col',{attrs:{\"span\":8}},[_c('el-form-item',{attrs:{\"label\":\"分级管理员\",\"prop\":\"graUser\"}},[_c('el-radio-group',{model:{value:(_vm.data.graUser),callback:function ($$v) {_vm.$set(_vm.data, \"graUser\", $$v)},expression:\"data.graUser\"}},[_c('el-radio',{attrs:{\"label\":\"1\"}},[_vm._v(\"是\")]),_c('el-radio',{attrs:{\"label\":\"0\"}},[_vm._v(\"否\")])],1)],1)],1),_c('el-col',{attrs:{\"span\":8}},[_c('el-form-item',{attrs:{\"label\":\"性别\"}},[_c('el-radio-group',{staticClass:\"border-bottom\",model:{value:(_vm.data.userGend),callback:function ($$v) {_vm.$set(_vm.data, \"userGend\", $$v)},expression:\"data.userGend\"}},[_c('el-radio',{attrs:{\"label\":\"1\"}},[_vm._v(\"男\")]),_c('el-radio',{attrs:{\"label\":\"0\"}},[_vm._v(\"女\")])],1)],1)],1),_c('el-col',{attrs:{\"span\":8}},[_c('el-form-item',{attrs:{\"label\":\"邮箱\",\"prop\":\"userEMail\"}},[_c('el-input',{attrs:{\"maxlength\":\"60\"},model:{value:(_vm.data.userEMail),callback:function ($$v) {_vm.$set(_vm.data, \"userEMail\", $$v)},expression:\"data.userEMail\"}})],1)],1),_c('el-col',{attrs:{\"span\":8}},[_c('el-form-item',{attrs:{\"label\":\"固定电话\"}},[_c('el-input',{attrs:{\"maxlength\":\"30\"},model:{value:(_vm.data.userPhon),callback:function ($$v) {_vm.$set(_vm.data, \"userPhon\", $$v)},expression:\"data.userPhon\"}})],1)],1),_c('el-col',{attrs:{\"span\":8}},[_c('el-form-item',{attrs:{\"label\":\"移动电话\",\"prop\":\"userMobl\"}},[_c('el-input',{attrs:{\"maxlength\":\"30\"},model:{value:(_vm.data.userMobl),callback:function ($$v) {_vm.$set(_vm.data, \"userMobl\", $$v)},expression:\"data.userMobl\"}})],1)],1),_c('el-col',{attrs:{\"span\":24}},[_c('el-form-item',{attrs:{\"label\":\"备注\",\"prop\":\"desc\"}},[_c('el-input',{attrs:{\"type\":\"textarea\",\"maxlength\":\"1000\"},model:{value:(_vm.data.desc),callback:function ($$v) {_vm.$set(_vm.data, \"desc\", $$v)},expression:\"data.desc\"}})],1)],1)],1)],1),_c('HandleHistory',{attrs:{\"uuid\":_vm.data.uuid,\"cr-user-uuid\":_vm.data.crUserUuid,\"op-user-uuid\":_vm.data.opUserUuid,\"cr-time\":_vm.data.crTime,\"op-time\":_vm.data.opTime,\"mode\":\"plan\"}})],1),(_vm.data.orgId)?_c('el-tab-pane',{attrs:{\"label\":\"角色选择\"}},[_c('el-tree',{ref:\"roleTree\",attrs:{\"node-key\":\"uuid\",\"default-checked-keys\":_vm.data.arrRoles,\"default-expand-all\":\"\",\"lazy\":\"\",\"load\":_vm.loadRole,\"current-node-key\":\"currNode.roleuuid\",\"highlight-current\":\"\",\"show-checkbox\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar node = ref.node;\nvar data = ref.data;\nreturn _c('span',{staticClass:\"custom-tree-node\"},[(data.roleName&&data.parRoleUuid==='none')?_c('span',[_c('i',{staticClass:\"el-icon-fa el-icon-fa-user-circle margin-right-2 font-blue\"}),_c('span',{on:{\"click\":function($event){return _vm.permTreeShow(data.uuid)}}},[_vm._v(_vm._s(data.roleName))])]):_vm._e(),(data.roleName&&data.parRoleUuid!=='none')?_c('span',[_c('i',{staticClass:\"el-icon-fa el-icon-fa-user-o margin-right-2 font-yellow-casablanca\"}),_c('span',[_vm._v(_vm._s(data.roleName))])]):_vm._e()])}}],null,false,2602381910)})],1):_vm._e(),_c('el-dialog',{directives:[{name:\"draggable\",rawName:\"v-draggable\"}],attrs:{\"title\":\"角色权限\",\"visible\":_vm.permTreeDia,\"width\":\"40%\",\"append-to-body\":\"\"},on:{\"update:visible\":function($event){_vm.permTreeDia=$event}}},[_c('div',{staticStyle:{\"height\":\"400px\",\"overflow\":\"auto\"}},[_c('el-tree',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.PtsLoading),expression:\"PtsLoading\"}],ref:\"permTree\",attrs:{\"show-checkbox\":\"\",\"node-key\":\"uuid\",\"data\":_vm.permTreeData,\"props\":_vm.permTreeProp,\"default-expand-all\":true,\"highlight-current\":\"\"}})],1)])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <el-tabs v-loading=\"loadingEur\" elemeur-loading-text=\"正在读取数据...\" type=\"card\">\n <el-tab-pane label=\"基本信息\">\n <el-form :model=\"data\" ref=\"form\" :rules=\"rules\" label-position='top'>\n <el-row>\n <el-col :span='8'>\n <el-form-item label=\"登录账号\" prop=\"userId\">\n <el-input v-model=\"data.userId\" maxlength='60'></el-input>\n </el-form-item>\n </el-col>\n <el-col :span='8'>\n <el-form-item label=\"用户名称\" prop=\"userName\">\n <el-input v-model=\"data.userName\" maxlength='60'></el-input>\n </el-form-item>\n </el-col>\n <el-col :span='8'>\n <el-form-item label=\"用户工号\" prop=\"userCode\">\n <el-input v-model=\"data.userCode\" maxlength='60'></el-input>\n </el-form-item>\n </el-col>\n <el-col :span='8'>\n <el-form-item prop='orgId' label=\"隶属机构\">\n <Selector v-model=\"data.orgId\" :init-label=\"data.orgName\" :clearable=\"true\" label-key=\"label\" value-key=\"id\" placeholder=\"隶属组织机构\">\n <SelectorTree tree-key=\"orgTree\" searchField=\"ORG_NAME\" rootLabel=\"海关\"></SelectorTree>\n </Selector>\n </el-form-item>\n </el-col>\n <el-col :span='8'>\n <el-form-item label=\"分级管理员\" prop=\"graUser\">\n <el-radio-group v-model=\"data.graUser\">\n <el-radio label=\"1\">是</el-radio>\n <el-radio label=\"0\">否</el-radio>\n </el-radio-group>\n </el-form-item>\n </el-col>\n <el-col :span='8'>\n <el-form-item label=\"性别\">\n <el-radio-group v-model=\"data.userGend\" class=\"border-bottom\">\n <el-radio label=\"1\">男</el-radio>\n <el-radio label=\"0\">女</el-radio>\n </el-radio-group>\n </el-form-item>\n </el-col>\n <!-- <el-col :span='8'>\n <el-form-item label=\"地址\">\n <el-input v-model=\"data.userAddr\"></el-input>\n </el-form-item>\n </el-col> -->\n <el-col :span='8'>\n <el-form-item label=\"邮箱\" prop=\"userEMail\">\n <el-input v-model=\"data.userEMail\" maxlength='60'></el-input>\n </el-form-item>\n </el-col>\n <el-col :span='8'>\n <el-form-item label=\"固定电话\">\n <el-input v-model=\"data.userPhon\" maxlength='30'></el-input>\n </el-form-item>\n </el-col>\n <el-col :span='8'>\n <el-form-item label=\"移动电话\" prop=\"userMobl\">\n <el-input v-model=\"data.userMobl\" maxlength='30'></el-input>\n </el-form-item>\n </el-col>\n <el-col :span='24'>\n <el-form-item label=\"备注\" prop=\"desc\">\n <el-input type=\"textarea\" v-model=\"data.desc\" maxlength='1000'></el-input>\n </el-form-item>\n </el-col>\n </el-row>\n </el-form>\n <HandleHistory :uuid=\"data.uuid\" :cr-user-uuid=\"data.crUserUuid\" :op-user-uuid=\"data.opUserUuid\" :cr-time=\"data.crTime\" :op-time=\"data.opTime\" mode=\"plan\"></HandleHistory>\n </el-tab-pane>\n <el-tab-pane label=\"角色选择\" v-if=\"data.orgId\">\n <el-tree ref=\"roleTree\" node-key=\"uuid\" :default-checked-keys=\"data.arrRoles\" default-expand-all lazy :load=\"loadRole\" current-node-key=\"currNode.roleuuid\" highlight-current show-checkbox>\n <span class=\"custom-tree-node\" slot-scope=\"{ node, data }\">\n <span v-if=\"data.roleName&&data.parRoleUuid==='none'\">\n <i class=\"el-icon-fa el-icon-fa-user-circle margin-right-2 font-blue\" ></i>\n <span @click=\"permTreeShow(data.uuid)\">{{data.roleName}}</span>\n </span>\n <span v-if=\"data.roleName&&data.parRoleUuid!=='none'\">\n <i class=\"el-icon-fa el-icon-fa-user-o margin-right-2 font-yellow-casablanca\" ></i>\n <span>{{data.roleName}}</span>\n </span>\n </span>\n </el-tree>\n </el-tab-pane>\n\n <el-dialog title=\"角色权限\" :visible.sync=\"permTreeDia\" width=\"40%\" append-to-body v-draggable>\n <div style=\"height: 400px;overflow: auto;\">\n <el-tree show-checkbox v-loading='PtsLoading' ref=\"permTree\" node-key=\"uuid\" :data=\"permTreeData\" :props=\"permTreeProp\" :default-expand-all=\"true\" highlight-current></el-tree>\n </div>\n </el-dialog>\n\n </el-tabs>\n</template>\n<script>\nimport UserAPI from \"@/api/base/usrm/UserAPI\";\nimport RoleAPI from \"@/api/base/usrm/RoleAPI\";\nimport PermApi from \"@/api/base/usrm/PermAPI\";\nimport SelectorTree from \"@/common/SelectorTree\";\nimport HandleHistory from \"@/common/HandleHistory\";\n\nlet dafaultData = {\n uuid: \"\",\n userName: \"\",\n userCode: \"\",\n userId: \"\",\n userStat: \"\",\n // userAddr: \"\",\n userEMail: \"\",\n userGend: \"1\",\n graUser: \"0\",\n userPhon: \"\",\n userMobl: \"\",\n orgId: \"\",\n arrRoles: [],\n cardId: \"\",\n desc: \"\"\n};\nexport default {\n components: { SelectorTree, HandleHistory },\n props: {\n uuid: \"\",\n error: {\n type: Object,\n default() {\n return {};\n }\n }\n },\n data() {\n return {\n permTreeProp: { label: \"permName\", children: \"children\" },\n permTreeData: [],\n PtsLoading: false,\n permTreeDia: false,\n options: [\n { value: 5, label: \"生效\" },\n { value: 6, label: \"锁定\" },\n { value: 9, label: \"注销\" }\n ],\n currParentNode: {},\n currNode: {},\n loadingEur: false,\n data: Object.assign({}, dafaultData),\n rules: {\n userId: [{ required: true, message: \"请输入用户登录账号\" }],\n userName: [{ required: true, message: \"请输入用户名称\" }],\n orgId: [{ required: true, message: \"请选择隶属机构\" }],\n graUser: [{ required: true, message: \"请选择是否为分级管理员\" }]\n }\n };\n },\n mounted() {\n this.loadInfo(this.uuid);\n // 读取系统菜单\n PermApi.loadPermTree().then(data => {\n this.permTreeData = data;\n });\n },\n watch: {\n \"data.orgId\"(val) {\n this.getTreeListen(val);\n }\n },\n methods: {\n async permTreeShow(uuid) {\n try {\n this.permTreeDia = true;\n this.PtsLoading = true;\n let resp = await RoleAPI.loadRoleEditInfo(uuid);\n // 在功能页上回显数据\n this.$refs.permTree.setCheckedKeys([]);\n resp.permIds.forEach(uuid => {\n this.$refs.permTree.setChecked(uuid, true, false);\n });\n } finally {\n this.PtsLoading = false;\n }\n },\n // 提交表单数据\n submitForm(data) {\n this.$refs.form.validate(valid => {\n if (valid) {\n this.data.arrRoles = this.$refs.roleTree.getCheckedKeys(); // 将树选择的节点数组放到表单中\n // 通知父类组件一个提交事件\n this.$emit(\"submit\", this.data);\n } else {\n return false;\n }\n });\n },\n expandAll() {\n let expandFn = (element, expand) => {\n element.childNodes.forEach(element => {\n element.expand(() => {\n expandFn(element);\n });\n }, this);\n };\n expandFn(this.$refs.roleTree.root);\n },\n // 监听角色树判断\n getTreeListen(orgId) {\n if (this.$refs.roleTree) {\n this.$refs.roleTree.root.loaded = false;\n this.$refs.roleTree.root.expand();\n }\n },\n loadRole(node, resolve) {\n if (node.level === 0) {\n RoleAPI.getCopyRoleTree(this.data.orgId).then(resp => {\n resp.data && resolve(resp.data);\n });\n } else {\n RoleAPI.getRoleChildren(node.data.uuid).then(resp => {\n resp.data && resolve(resp.data);\n });\n }\n },\n loadInfo(uuid) {\n if (uuid) {\n UserAPI.getUser(uuid).then(resp => {\n this.data = Object.assign({}, resp.data.data);\n this.loadingEur = false;\n });\n } else {\n if (this.data.orgId) {\n this.getTreeListen(this.data.orgId);\n }\n }\n }\n }\n};\n</script>\n","import mod from \"-!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/_thread-loader@2.1.2@thread-loader/dist/cjs.js!../../../node_modules/_babel-loader@8.0.6@babel-loader/lib/index.js!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./UserEditor.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/_thread-loader@2.1.2@thread-loader/dist/cjs.js!../../../node_modules/_babel-loader@8.0.6@babel-loader/lib/index.js!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./UserEditor.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./UserEditor.vue?vue&type=template&id=f78b9472&\"\nimport script from \"./UserEditor.vue?vue&type=script&lang=js&\"\nexport * from \"./UserEditor.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","<template>\n <div>\n <el-card>\n <template slot=\"header\">\n <span>用户管理</span>\n <div class=\"pull-right\">\n <el-button type=\"primary\" @click=\"doAdd()\" icon=\"el-icon-fa-plus\" title=\"新增用户\"></el-button>\n </div>\n </template>\n <el-form :model=\"queryform\" ref=\"queryform\">\n <el-row>\n <el-col :lg='4' :sm='12'>\n <el-form-item label=\"用户名称\" prop=\"username\">\n <el-input v-model=\"queryform.username\" />\n </el-form-item>\n </el-col>\n <el-col :lg='4' :sm='12'>\n <el-form-item label=\"用户工号\" prop=\"usercode\">\n <el-input v-model=\"queryform.usercode\" />\n </el-form-item>\n </el-col>\n <el-col :lg='4' :sm='12'>\n <el-form-item label=\"状态\" prop=\"userstat\">\n <el-select placeholder=\"状态\" v-sys-code=\"'userstat'\" v-model=\"queryform.userstat\" clearable>\n <el-option v-for=\"item in sysCode.userstat\" :key=\"item.key\" :label=\"item.label\" :value=\"item.value\" />\n </el-select>\n </el-form-item>\n </el-col>\n <el-col :lg='4' :sm='12'>\n <el-form-item label=\"隶属机构\" prop=\"orgId\">\n <Selector v-model=\"queryform.orgId\" :clearable=\"true\" label-key=\"label\" value-key=\"id\" placeholder=\"隶属组织机构\">\n <SelectorTree tree-key=\"orgTree\" searchField=\"ORG_NAME\" rootLabel=\"组织机构\" />\n </Selector>\n </el-form-item>\n </el-col>\n\n <el-col :lg='4' :sm='12'>\n <el-form-item label=\"范围开始时间\" prop=\"startTime\">\n <el-date-picker v-model=\"queryform.startTime\" type=\"datetime\" placeholder=\"选择开始时间\">\n </el-date-picker>\n </el-form-item>\n </el-col>\n <el-col :lg='4' :sm='12'>\n <el-form-item label=\"范围结束时间\" prop=\"endTime\">\n <el-date-picker v-model=\"queryform.endTime\" type=\"datetime\" placeholder=\"选择结束时间\">\n </el-date-picker>\n </el-form-item>\n </el-col>\n </el-row>\n </el-form>\n </el-card>\n <el-card class=\"margin-top-2\">\n <template slot=\"header\">\n <span>用户列表</span>\n <div class=\"pull-right\">\n <el-button type=\"primary\" @click=\"queryUserData\" icon=\"el-icon-fa-search\" title=\"查询\"></el-button>\n <el-button type=\"primary\" @click=\"resetquery\" icon=\"el-icon-fa-reply-all\" title=\"重置\"></el-button>\n <el-button type=\"primary\" :disabled=\"!multipleSelection.length>0\" icon=\"el-icon-fa-lock\" @click=\"lockAndOpenUsers(true)\" title=\"批量锁定\"></el-button>\n <el-button type=\"primary\" :disabled=\"!multipleSelection.length>0\" icon=\"el-icon-fa-unlock\" @click=\"lockAndOpenUsers(false)\" title=\"批量解锁\"></el-button>\n <el-button type=\"primary\" :disabled=\"!multipleSelection.length>0\" icon=\"el-icon-fa-key\" @click=\"resetUserPw\" title=\"批量重置密码\"></el-button>\n </div>\n </template>\n <PageTable hideTitle ref=\"dataTable\" :auto-load=\"true\" @load-data=\"dataTableLoad\" @selection-change=\"handleSelectionChange\" :data=\"table.data\" highlight-current-row stripe border>\n <el-table-column type=\"selection\" align='center' width=\"55\" fixed='left'></el-table-column>\n <el-table-column prop=\"userid\" label=\"登陆账号\" show-overflow-tooltip></el-table-column>\n <el-table-column prop=\"username\" label=\"用户名称\" show-overflow-tooltip></el-table-column>\n <!-- <el-table-column prop=\"usercode\" label=\"用户工号\" show-overflow-tooltip></el-table-column> -->\n <el-table-column prop=\"userstat\" dict='userstat' label=\"状态\" show-overflow-tooltip>\n <template slot-scope=\"scope\">\n <SysCode :type=\"'userstat'\" :value=\"scope.row.userstat\"></SysCode>\n </template>\n </el-table-column>\n <el-table-column prop=\"orgname\" label=\"隶属机构\" show-overflow-tooltip></el-table-column>\n <el-table-column prop=\"crtime\" :formatter=\"formatterDateTime\" label=\"创建时间\" show-overflow-tooltip></el-table-column>\n <el-table-column prop=\"optime\" :formatter=\"formatterDateTime\" label=\"最后修改时间\" show-overflow-tooltip></el-table-column>\n <el-table-column label=\"操作\" fixed='right' width=\"80\" align=\"center\">\n <template slot-scope=\"scope\">\n <el-button type=\"primary\" icon=\"el-icon-fa-edit\" title=\"修改\" @click=\"doEdit(scope.$index, scope.row)\"></el-button>\n <el-button type=\"primary\" title=\"登陆时间轴\" icon=\"el-icon-location\" @click=\"showTimeLine(scope.row)\"></el-button>\n </template>\n </el-table-column>\n </PageTable>\n </el-card>\n\n <el-dialog append-to-body v-draggable :visible.sync=\"editor.show\" title=\"用户管理\" :close-on-click-modal=\"false\">\n <div class=\"dialog-button\">\n <el-button-group>\n <el-button type=\"primary\" plain icon=\"el-icon-fa-save\" @click=\"doSubmit()\" title=\"保存修改\" :disabled=\"editor.stat=='6' ||editor.stat=='9'\"></el-button>\n <el-button type=\"primary\" plain icon=\"el-icon-fa-key\" @click=\"resetPwd()\" title=\"重置密码\" :disabled=\"!editor.uuid||editor.stat!=='5'\"></el-button>\n <el-button type=\"primary\" plain icon=\"el-icon-fa-trash\" @click=\"doShut()\" title=\"注销\" :disabled=\"!editor.uuid||editor.stat=='9'\"></el-button>\n </el-button-group>\n <el-button-group class='margin-left-3'>\n <el-button type=\"primary\" plain icon=\"el-icon-fa-lock\" @click=\"doClose()\" title=\"锁定\" :disabled=\"!editor.uuid||editor.stat=='6' ||editor.stat=='9'\"></el-button>\n <el-button type=\"primary\" plain icon=\"el-icon-fa-unlock\" @click=\"doOpen()\" title=\"解锁\" :disabled=\"!editor.uuid||editor.stat=='5' ||editor.stat=='9'\"></el-button>\n </el-button-group>\n </div>\n <UserEditor style=\"min-height:250px\" v-if=\"editor.show\" ref=\"userEditor\" :uuid=\"editor.uuid\" @submit=\"saveUser\"></UserEditor>\n </el-dialog>\n\n <el-dialog append-to-body v-draggable :visible.sync=\"timeline\" title=\"用户登录时间轴\" :close-on-click-modal=\"false\">\n <time-line @closeDia='timeline=!timeline' :user-uuid='timelineuuid'></time-line>\n </el-dialog>\n\n </div>\n</template>\n<script>\nimport UserEditor from \"./UserEditor\";\nimport SelectorTree from \"@/common/SelectorTree\";\nimport UserAPI from \"@/api/base/usrm/UserAPI\";\nimport TimeLine from \"@/common/TimeLine\";\nimport Uploader from \"@/common/Uploader\";\n\nexport default {\n name: \"UserMgr\",\n components: { UserEditor, SelectorTree, TimeLine, Uploader },\n data() {\n return {\n timeline: false,\n timelineuuid: \"\",\n queryform: {\n usercode: null,\n username: null,\n userstat: null,\n orgId: null,\n startTime: null,\n endTime: null\n },\n table: {\n data: []\n },\n editor: {\n show: false,\n uuid: null,\n visible: false, // 编辑器-显示\n loading: false,\n stat: \"\"\n },\n multipleSelection: []\n };\n },\n methods: {\n //批量重置用户密码\n resetUserPw() {\n let uuids = [];\n this.multipleSelection.forEach((value, index) => {\n uuids.push(value.uuid);\n });\n if (uuids.length > 0)\n UserAPI.resetUserPw({ uuids: uuids }).then(() => this.queryUserData());\n },\n //显示登陆时间轴\n showTimeLine(row) {\n this.timelineuuid = row.uuid;\n this.timeline = true;\n },\n // 重置密码\n resetPwd(data) {\n this.$confirm(\"是否重置该用户密码\", {\n confirmButtonText: \"确定\",\n cancelButtonText: \"取消\",\n type: \"warning\"\n }).then(() => {\n this.editor.loading = true;\n this.editor.error = {}; // 还原错误信息(必须先还原)\n UserAPI.resetPwd(this.$refs.userEditor.data) // 保存数据\n .then(this.queryUserData) // 查询数据\n .then(this.cancelEditorLoading); // 最终要取消loading\n });\n },\n // 注销\n doShut(data) {\n this.$confirm(\"是否注销该用户\", {\n confirmButtonText: \"确定\",\n cancelButtonText: \"取消\",\n type: \"warning\"\n }).then(() => {\n this.editor.loading = true;\n this.editor.error = {}; // 还原错误信息(必须先还原)\n UserAPI.shutUser(this.$refs.userEditor.data)\n .then(this.queryUserData) // 查询数据\n .then(this.cancelEditorLoading); // 最终要取消loading\n });\n },\n // 解锁\n doOpen(data) {\n this.$confirm(\"是否解锁该用户\", {\n confirmButtonText: \"确定\",\n cancelButtonText: \"取消\",\n type: \"warning\"\n }).then(() => {\n this.editor.loading = true;\n this.editor.error = {}; // 还原错误信息(必须先还原)\n UserAPI.openUser(this.$refs.userEditor.data)\n .then(this.queryUserData) // 查询数据\n .then(this.cancelEditorLoading); // 最终要取消loading\n });\n },\n // 锁定\n doClose(data) {\n this.$confirm(\"是否锁定该用户\", {\n confirmButtonText: \"确定\",\n cancelButtonText: \"取消\",\n type: \"warning\"\n }).then(() => {\n this.editor.loading = true;\n this.editor.error = {}; // 还原错误信息(必须先还原)\n UserAPI.lockUser(this.$refs.userEditor.data)\n .then(this.queryUserData) // 查询数据\n .then(this.cancelEditorLoading); // 最终要取消loading\n });\n },\n // 打开编辑页面\n doEdit(index, rowData) {\n this.editor.show = true;\n this.editor.uuid = rowData.uuid;\n this.editor.stat = rowData.userstat;\n },\n // 打开新建画面\n doAdd() {\n this.editor.show = true;\n this.editor.uuid = null;\n this.editor.stat = \"\";\n },\n doSubmit(data) {\n this.$refs.userEditor.submitForm();\n },\n saveUser(data) {\n this.editor.loading = true;\n this.editor.error = {}; // 还原错误信息(必须先还原)\n UserAPI.saveUser(this.$refs.userEditor.data)\n .then(resp => {\n if (resp.newuser === \"true\")\n this.$alert(\"该用户的默认密码是: \" + resp.password, {\n showConfirmButton: false,\n type: \"info\"\n });\n }) // 保存数据\n .then(this.queryUserData) // 查询数据\n .then(this.cancelEditorLoading); // 最终要取消loading\n },\n // 重置方法\n reset() {\n this.$refs.form.resetFields();\n },\n cancelEditorLoading() {\n this.editor.show = false;\n this.editor.loading = false;\n },\n queryUserData() {\n if (this.queryform.endTime < this.queryform.startTime) {\n this.$message.error(\"开始时间不能大于结束时间\");\n return;\n }\n this.$refs.dataTable.load(this.queryform);\n },\n resetquery() {\n this.$refs.queryform.resetFields();\n },\n dataTableLoad(params, resolve) {\n UserAPI.queryUser(params)\n .then(resolve) // 让表格解析你提供的数据 (主要解析页码等)\n .then(respData => (this.table.data = respData.datarows)); // 本地也记录一下数据 (提供给表示显示的数据)\n },\n handleSelectionChange(val) {\n this.multipleSelection = val;\n },\n //批量解锁或锁定用户\n lockAndOpenUsers(b) {\n let uuids = [];\n this.multipleSelection.forEach((value, index) => {\n uuids.push(value.uuid);\n });\n if (uuids.length > 0)\n if (b) {\n UserAPI.lockAndOpenUsers({ uuids: uuids, opType: \"1\" }).then(() =>\n this.queryUserData()\n );\n } else {\n UserAPI.lockAndOpenUsers({ uuids: uuids, opType: \"0\" }).then(() =>\n this.queryUserData()\n );\n }\n }\n }\n};\n</script>\n","import mod from \"-!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/_thread-loader@2.1.2@thread-loader/dist/cjs.js!../../../node_modules/_babel-loader@8.0.6@babel-loader/lib/index.js!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./UserMgr.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/_thread-loader@2.1.2@thread-loader/dist/cjs.js!../../../node_modules/_babel-loader@8.0.6@babel-loader/lib/index.js!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./UserMgr.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./UserMgr.vue?vue&type=template&id=36a5a7d6&\"\nimport script from \"./UserMgr.vue?vue&type=script&lang=js&\"\nexport * from \"./UserMgr.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../node_modules/_mini-css-extract-plugin@0.6.0@mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/_css-loader@1.0.1@css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/_vue-loader@15.7.1@vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/_sass-loader@7.1.0@sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./Uploader.vue?vue&type=style&index=0&lang=scss&\"; export default mod; export * from \"-!../../node_modules/_mini-css-extract-plugin@0.6.0@mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/_css-loader@1.0.1@css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/_vue-loader@15.7.1@vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/_sass-loader@7.1.0@sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./Uploader.vue?vue&type=style&index=0&lang=scss&\"","// This file is imported into lib/wc client bundles.\n\nif (typeof window !== 'undefined') {\n if (process.env.NEED_CURRENTSCRIPT_POLYFILL) {\n require('current-script-polyfill')\n }\n\n var i\n if ((i = window.document.currentScript) && (i = i.src.match(/(.+\\/)[^/]+\\.js(\\?.*)?$/))) {\n __webpack_public_path__ = i[1] // eslint-disable-line\n }\n}\n\n// Indicate to webpack that this file can be concatenated\nexport default null\n","import './setPublicPath'\nimport mod from '~entry'\nexport default mod\nexport * from '~entry'\n","module.exports = require(\"vue\");","module.exports = require(\"util\");","import ajax from \"@/libs/Ajax\";\n\nexport default {\n /**\n * 获取系统菜单,直接返回菜单数据\n * @param {*} id\n */\n getRoleChildren(puuid) {\n return ajax\n .get(`/usrm/usr/role/getRoleByPID`, { params: { puuid } })\n .then(data => data || []);\n },\n // 查询权限\n queryPerm(uuid) {\n return ajax\n .get(\"/usrm/usr/role/queryPerm\", { params: { uuid: uuid } })\n .then(data => {\n return { data };\n });\n },\n /**\n * 保存菜单数据\n * @param {*} puuid\n */\n editRoleNode(role) {\n return ajax.post(`/usrm/usr/role/saveRole`, role);\n },\n /**\n * 复制角色数据\n * @param {*} puuid\n */\n copyRoleNode(role) {\n return ajax.post(`/usrm/usr/role/copyRole`, role);\n },\n /**\n * 保存角色权限表数据\n * @param {*} puuid\n */\n editRolePermNode(role) {\n return ajax.post(`/usrm/usr/role/saveRolePerm`, role);\n },\n /**\n * 删除菜单\n * @param {*} uuid\n */\n delRoleNode(uuid) {\n return ajax.delete(`/usrm/usr/role/deleteRole`, { params: { uuid } });\n },\n /**\n * 加载角色编辑器需要的信息\n * @param {String} uuid\n */\n loadRoleEditInfo(uuid) {\n return ajax.get(`/usrm/usr/role/queryRoleEditInfo`, { params: { uuid } });\n },\n // 获取关区\n getRoleTree(parRoleUuid) {\n return ajax\n .get(\"/usrm/usr/role/getRoleTree\", { params: { parRoleUuid } })\n .then(data => data || []);\n },\n\n getOrgRoleTree(parRoleUuid) {\n return ajax\n .get(\"/usrm/usr/role/getOrgRoleTree\", { params: { parRoleUuid } })\n .then(data => data || []);\n },\n getCopyRoleTree(orgUuid) {\n return ajax\n .get(\"/usrm/usr/role/getCopyRoleTree\", { params: { orgUuid } })\n .then(data => data || []);\n }\n};\n","function _typeof2(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof2 = function _typeof2(obj) { return typeof obj; }; } else { _typeof2 = function _typeof2(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof2(obj); }\n\nexport default function _typeof(obj) {\n if (typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\") {\n _typeof = function _typeof(obj) {\n return _typeof2(obj);\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : _typeof2(obj);\n };\n }\n\n return _typeof(obj);\n}","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}],staticClass:\"uploader\",attrs:{\"elemeur-loading-text\":\"服务器受理中...\"}},[_c('el-card',{staticClass:\"flex-1\"},[_c('template',{slot:\"header\"},[_c('span',[_vm._v(\"资源管理\")])]),_c('el-form',{ref:\"queryform\",attrs:{\"model\":_vm.queryform}},[_c('el-row',[_c('el-col',{attrs:{\"lg\":4,\"sm\":12}},[_c('el-form-item',{attrs:{\"label\":\"文件名称\",\"prop\":\"fileName\"}},[_c('el-input',{model:{value:(_vm.queryform.fileName),callback:function ($$v) {_vm.$set(_vm.queryform, \"fileName\", $$v)},expression:\"queryform.fileName\"}})],1)],1),_c('el-col',{attrs:{\"lg\":4,\"sm\":12}},[_c('el-form-item',{attrs:{\"label\":\"文件类别\",\"prop\":\"fileType\"}},[_c('el-select',{directives:[{name:\"sys-code\",rawName:\"v-sys-code\",value:('fileType'),expression:\"'fileType'\"}],attrs:{\"placeholder\":\"请选择\",\"clearable\":\"\"},model:{value:(_vm.queryform.fileType),callback:function ($$v) {_vm.$set(_vm.queryform, \"fileType\", $$v)},expression:\"queryform.fileType\"}},_vm._l((_vm.sysCode.fileType),function(item){return _c('el-option',{key:item.key,attrs:{\"label\":item.label,\"value\":item.value}})}),1)],1)],1),_c('el-col',{attrs:{\"lg\":4,\"sm\":12}},[_c('el-form-item',{attrs:{\"label\":\"上传时间区间\",\"prop\":\"picker\"}},[_c('el-date-picker',{attrs:{\"type\":\"datetimerange\",\"placeholder\":\"选择时间范围\"},model:{value:(_vm.picker),callback:function ($$v) {_vm.picker=$$v},expression:\"picker\"}})],1)],1)],1)],1)],2),_c('el-card',{staticClass:\"flex-1\"},[_c('template',{slot:\"header\"},[_c('span',[_vm._v(\"资源列表\")]),_c('div',{staticClass:\"pull-right\"},[_c('el-button',{attrs:{\"type\":\"primary\",\"icon\":\"el-icon-fa-search\",\"title\":\"查询\"},on:{\"click\":_vm.queryUserData}}),_c('el-button',{attrs:{\"type\":\"primary\",\"icon\":\"el-icon-fa-reply-all\",\"title\":\"重置\"},on:{\"click\":_vm.resetquery}}),(_vm.uuid&&_vm.allowSave)?_c('el-button',{attrs:{\"type\":\"primary\",\"icon\":\"el-icon-fa-save\",\"title\":\"批量保存\"},on:{\"click\":_vm.saveUpload}}):_vm._e(),_c('el-button',{attrs:{\"type\":\"primary\",\"icon\":\"el-icon-fa-refresh\",\"title\":\"刷新\"},on:{\"click\":_vm.queryUserData}})],1)]),_c('el-alert',{staticStyle:{\"margin-bottom\":\"10px\"},attrs:{\"title\":\"文件名带有红色的(*),说明此时文件处于临时状态并没有关联主键,请点击“批量保存”按钮!\",\"type\":\"warning\"}}),_c('PageTable',{ref:\"dataTable\",attrs:{\"hideTitle\":\"\",\"data\":_vm.successFiles,\"border\":\"\",\"stripe\":\"\",\"highlight-current-row\":\"\",\"title\":\"已上传列表\"},on:{\"load-data\":_vm.dataTableLoad}},[_c('el-table-column',{attrs:{\"type\":\"index\",\"fixed\":\"left\"}}),_c('el-table-column',{attrs:{\"prop\":\"filename\",\"label\":\"文件名\",\"width\":\"180\",\"show-overflow-tooltip\":\"\",\"sortable\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [(scope.row.state==='0')?_c('span',{staticClass:\"font-red\"},[_vm._v(\"*\")]):_vm._e(),_c('span',[_vm._v(_vm._s(scope.row.filename))])]}}])}),_c('el-table-column',{attrs:{\"prop\":\"filesize\",\"label\":\"文件大小\",\"width\":\"100\",\"sortable\":\"\",\"align\":\"right\",\"formatter\":_vm.fileSizeFormat}}),_c('el-table-column',{attrs:{\"prop\":\"crtime\",\"label\":\"上传时间\",\"sortable\":\"\",\"formatter\":_vm.formatterDate,\"width\":\"100\"}}),_c('el-table-column',{attrs:{\"prop\":\"filetype\",\"label\":\"格式\",\"width\":\"80\",\"sortable\":\"\"}}),_c('el-table-column',{attrs:{\"prop\":\"filemd5\",\"label\":\"MD5\",\"show-overflow-tooltip\":\"\",\"sortable\":\"\"}}),_c('el-table-column',{attrs:{\"prop\":\"filepath\",\"label\":\"服务器路径\",\"show-overflow-tooltip\":\"\",\"sortable\":\"\"}}),_c('el-table-column',{attrs:{\"prop\":\"fileurl\",\"label\":\"下载路径\",\"show-overflow-tooltip\":\"\",\"sortable\":\"\"}}),(!_vm.readonly)?_c('el-table-column',{attrs:{\"label\":\"操作\",\"fixed\":\"right\",\"width\":\"96\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('a',{staticClass:\"margin-right-1\",attrs:{\"href\":_vm.proxyUrl(scope.row.fileurl),\"target\":\"_blank\"}},[_c('el-button',{attrs:{\"type\":\"primary\",\"icon\":\"el-icon-fa-cloud-download\",\"title\":\"下载\"}})],1),(_vm.allowTrash)?_c('el-button',{attrs:{\"icon\":\"el-icon-fa-trash\",\"title\":\"作废\",\"type\":\"primary\"},on:{\"click\":function($event){return _vm.deleteUpdata(scope.$index,scope.row)}}}):_vm._e(),(_vm.allowSave && scope.row.state==='0')?_c('el-button',{attrs:{\"icon\":\"el-icon-fa-check\",\"title\":\"保存\",\"type\":\"primary\"},on:{\"click\":function($event){return _vm.sureFile(scope.$index,scope.row)}}}):_vm._e()]}}],null,false,2506182842)}):_vm._e()],1)],2),_c('el-card',{staticClass:\"flex-1\"},[_c('template',{slot:\"header\"},[_c('span',[_vm._v(\"待上传列表\")]),_c('div',{staticStyle:{\"float\":\"right\"}},[_c('el-upload',{ref:\"upload\",staticStyle:{\"display\":\"inline-block\",\"margin-right\":\"3px\"},attrs:{\"on-error\":_vm.fileUploadError,\"on-change\":_vm.fileUploadChange,\"show-file-list\":false,\"accept\":_vm.accept,\"multiple\":\"\",\"data\":_vm.data,\"action\":_vm.uploadPath,\"auto-upload\":false,\"on-success\":_vm.uploadSuccess}},[_c('el-button',{attrs:{\"type\":\"primary\",\"icon\":\"el-icon-tickets\",\"title\":\"选择文件\"}})],1),_c('el-button',{attrs:{\"type\":\"primary\",\"icon\":\"el-icon-fa-cloud-upload\",\"title\":\"批量上传\"},on:{\"click\":_vm.submitUpload}})],1)]),(!_vm.readonly)?_c('el-table',{staticStyle:{\"min-height\":\"100px\"},attrs:{\"hideTitle\":\"\",\"data\":_vm.fileList,\"border\":\"\",\"row-key\":\"uid\",\"stripe\":\"\",\"highlight-current-row\":\"\"}},[_c('el-table-column',{attrs:{\"prop\":\"name\",\"label\":\"文件名\",\"width\":\"180\",\"show-overflow-tooltip\":\"\"}}),_c('el-table-column',{attrs:{\"prop\":\"size\",\"label\":\"文件大小\",\"width\":\"80\",\"align\":\"right\",\"formatter\":_vm.fileSizeFormat}}),_c('el-table-column',{attrs:{\"label\":\"进度\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('el-progress',{staticStyle:{\"line-height\":\"unset\"},attrs:{\"text-inside\":true,\"stroke-width\":14,\"percentage\":parseInt(scope.row.percentage),\"status\":scope.row.status==='fail'?'exception':''}})]}}],null,false,1597569420)}),_c('el-table-column',{attrs:{\"label\":\"操作\",\"fixed\":\"right\",\"width\":\"80\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('el-button',{attrs:{\"type\":\"primary\",\"icon\":\"el-icon-fa-cloud-upload\",\"title\":\"上传\",\"disabled\":scope.row.status==='fail'},on:{\"click\":function($event){return _vm.hanleUpload(scope.$index,scope.row)}}}),_c('el-button',{attrs:{\"type\":\"primary\",\"icon\":\"el-icon-fa-trash\",\"title\":\"取消\"},on:{\"click\":function($event){return _vm.hanleRemove(scope.$index,scope.row)}}})]}}],null,false,329838539)})],1):_vm._e()],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import ajax from \"@/libs/Ajax\";\n\nexport default {\n /**\n * 加载文件数据\n * @param {String} uuid\n */\n list(params) {\n return ajax.get(\"/sys/file/list\", { params: params });\n },\n /**\n * 加载文件数据分页数据\n * @param {String} uuid\n */\n selectResource(params) {\n return ajax.get(\"/resource/ResourceManager\", { params: params });\n },\n /**\n * 删除\n * @param {String} uuid\n */\n delete(uuid) {\n return ajax.delete(\"/sys/file/delete\", { params: { uuid: uuid } });\n },\n /**\n * 使用文件\n * @param {String} uuid\n */\n use(uuid) {\n return ajax.delete(\"/sys/file/use\", { params: { uuid: uuid } });\n },\n /**\n * 生效一批数据\n * @param {String} uuid\n */\n useAll(uuid) {\n return ajax.delete(\"/sys/file/useAll\", { params: { uuid: uuid } });\n }\n};\n","<template>\n <div class=\"uploader\" v-loading=\"loading\" elemeur-loading-text=\"服务器受理中...\">\n <el-card class=\"flex-1\">\n <template slot=\"header\">\n <span>资源管理</span>\n </template>\n <el-form :model=\"queryform\" ref=\"queryform\">\n <el-row>\n <el-col :lg='4' :sm='12'>\n <el-form-item label=\"文件名称\" prop=\"fileName\">\n <el-input v-model=\"queryform.fileName\" />\n </el-form-item>\n </el-col>\n <el-col :lg='4' :sm='12'>\n <el-form-item label=\"文件类别\" prop=\"fileType\">\n <el-select placeholder=\"请选择\" v-sys-code=\"'fileType'\" v-model=\"queryform.fileType\" clearable>\n <el-option v-for=\"item in sysCode.fileType\" :key=\"item.key\" :label=\"item.label\" :value=\"item.value\" />\n </el-select>\n </el-form-item>\n </el-col>\n <el-col :lg='4' :sm='12'>\n <el-form-item label=\"上传时间区间\" prop=\"picker\">\n <el-date-picker v-model=\"picker\" type=\"datetimerange\" placeholder=\"选择时间范围\">\n </el-date-picker>\n </el-form-item>\n </el-col>\n </el-row>\n </el-form>\n </el-card>\n <el-card class=\"flex-1\">\n <template slot=\"header\">\n <span>资源列表</span>\n <div class=\"pull-right\">\n <el-button type=\"primary\" @click=\"queryUserData\" icon=\"el-icon-fa-search\" title=\"查询\"></el-button>\n <el-button type=\"primary\" @click=\"resetquery\" icon=\"el-icon-fa-reply-all\" title=\"重置\"></el-button>\n <el-button type=\"primary\" @click=\"saveUpload\" icon=\"el-icon-fa-save\" v-if=\"uuid&&allowSave\" title=\"批量保存\"></el-button>\n <el-button type=\"primary\" @click=\"queryUserData\" icon=\"el-icon-fa-refresh\" title=\"刷新\"></el-button>\n </div>\n </template>\n <el-alert style='margin-bottom:10px;' title=\"文件名带有红色的(*),说明此时文件处于临时状态并没有关联主键,请点击“批量保存”按钮!\" type=\"warning\">\n </el-alert>\n <PageTable hideTitle ref=\"dataTable\" :data=\"successFiles\" border @load-data=\"dataTableLoad\" stripe highlight-current-row title=\"已上传列表\">\n <el-table-column type=\"index\" fixed='left'></el-table-column>\n <el-table-column prop=\"filename\" label=\"文件名\" width=\"180\" show-overflow-tooltip sortable>\n <template slot-scope=\"scope\">\n <span class=\"font-red\" v-if=\"scope.row.state==='0'\">*</span>\n <span>{{scope.row.filename}}</span>\n </template>\n </el-table-column>\n <el-table-column prop=\"filesize\" label=\"文件大小\" width=\"100\" sortable align=\"right\" :formatter=\"fileSizeFormat\"></el-table-column>\n <el-table-column prop=\"crtime\" label=\"上传时间\" sortable :formatter=\"formatterDate\" width='100'></el-table-column>\n <el-table-column prop=\"filetype\" label=\"格式\" width='80' sortable></el-table-column>\n <el-table-column prop=\"filemd5\" label=\"MD5\" show-overflow-tooltip sortable></el-table-column>\n <el-table-column prop=\"filepath\" label=\"服务器路径\" show-overflow-tooltip sortable></el-table-column>\n <el-table-column prop=\"fileurl\" label=\"下载路径\" show-overflow-tooltip sortable></el-table-column>\n <el-table-column label=\"操作\" fixed='right' width=\"96\" v-if=\"!readonly\">\n <template slot-scope=\"scope\">\n <a :href=\"proxyUrl(scope.row.fileurl)\" target=\"_blank\" class='margin-right-1'>\n <el-button type=\"primary\" icon=\"el-icon-fa-cloud-download\" title=\"下载\"></el-button>\n </a>\n <el-button v-if=\"allowTrash\" icon=\"el-icon-fa-trash\" title=\"作废\" type=\"primary\" @click=\"deleteUpdata(scope.$index,scope.row)\"></el-button>\n <el-button v-if=\"allowSave && scope.row.state==='0'\" icon=\"el-icon-fa-check\" title=\"保存\" type=\"primary\" @click=\"sureFile(scope.$index,scope.row)\"></el-button>\n </template>\n </el-table-column>\n </PageTable>\n </el-card>\n <el-card class=\"flex-1\">\n <template slot=\"header\">\n <span>待上传列表</span>\n <div style=\"float: right;\">\n <el-upload style='display: inline-block;margin-right: 3px;' :on-error=\"fileUploadError\" :on-change=\"fileUploadChange\" :show-file-list=\"false\" :accept=\"accept\" multiple :data=\"data\" ref=\"upload\"\n :action=\"uploadPath\" :auto-upload=\"false\" :on-success='uploadSuccess'>\n <el-button type=\"primary\" icon=\"el-icon-tickets\" title=\"选择文件\"></el-button>\n </el-upload>\n <el-button type=\"primary\" icon=\"el-icon-fa-cloud-upload\" @click=\"submitUpload\" title=\"批量上传\"></el-button>\n </div>\n </template>\n <el-table hideTitle style=\"min-height:100px;\" :data=\"fileList\" border row-key=\"uid\" stripe highlight-current-row v-if=\"!readonly\">\n <el-table-column prop=\"name\" label=\"文件名\" width=\"180\" show-overflow-tooltip></el-table-column>\n <el-table-column prop=\"size\" label=\"文件大小\" width=\"80\" align=\"right\" :formatter=\"fileSizeFormat\"></el-table-column>\n <el-table-column label=\"进度\">\n <template slot-scope=\"scope\">\n <el-progress style=\"line-height:unset;\" :text-inside=\"true\" :stroke-width=\"14\" :percentage=\"parseInt(scope.row.percentage)\" :status=\"scope.row.status==='fail'?'exception':''\"></el-progress>\n </template>\n </el-table-column>\n <el-table-column label=\"操作\" fixed='right' width=\"80\">\n <template slot-scope=\"scope\">\n <el-button type=\"primary\" icon=\"el-icon-fa-cloud-upload\" title=\"上传\" :disabled=\"scope.row.status==='fail'\" @click=\"hanleUpload(scope.$index,scope.row)\"></el-button>\n <el-button type=\"primary\" icon=\"el-icon-fa-trash\" title=\"取消\" @click=\"hanleRemove(scope.$index,scope.row)\"></el-button>\n </template>\n </el-table-column>\n </el-table>\n </el-card>\n </div>\n</template>\n<script>\nimport FilesAPI from \"@/api/base/sysm/FilesAPI\";\nimport config from \"@/config\";\n\nexport default {\n props: {\n uuid: String,\n module: String,\n accept: String,\n allowTrash: {\n type: Boolean,\n default: false\n },\n allowSave: {\n type: Boolean,\n default: false\n },\n readonly: {\n type: Boolean,\n default: false\n }\n },\n data() {\n return {\n loading: false,\n uploadPath: config.ajaxUrl + \"/sys/file/upload\",\n successFiles: [],\n fileList: [],\n picker: [],\n queryform: {\n starTime: null,\n endTime: null,\n fileType: null,\n fileName: null\n }\n };\n },\n computed: {\n data() {\n return {\n module: this.module,\n uuid: this.uuid\n };\n }\n },\n mounted() {\n this.queryUserData();\n },\n watch: {\n uuid() {\n if (!this.readonly) {\n this.$refs.upload.clearFiles();\n }\n this.queryUserData();\n },\n picker(val) {\n if (val && val.length > 0) {\n this.queryform.starTime = val[0];\n this.queryform.endTime = val[1];\n } else {\n this.queryform.starTime = null;\n this.queryform.endTime = null;\n }\n }\n },\n methods: {\n queryUserData() {\n this.$refs.dataTable.load(this.queryform);\n },\n dataTableLoad(params, resolve) {\n params.uuid = this.uuid;\n FilesAPI.selectResource(params)\n .then(resolve) // 让表格解析你提供的数据 (主要解析页码等)\n .then(respData => (this.successFiles = respData.datarows)); // 本地也记录一下数据 (提供给表示显示的数据)\n },\n proxyUrl(url) {\n return config.ajaxUrl + \"/\" + url;\n },\n fileSizeFormat(row, column, cellValue) {\n if (cellValue === 0) return \"0 B\";\n let k = 1000;\n let sizes = [\"B\", \"KB\", \"MB\", \"GB\", \"TB\", \"PB\", \"EB\", \"ZB\", \"YB\"];\n let i = Math.floor(Math.log(cellValue) / Math.log(k));\n return (cellValue / Math.pow(k, i)).toPrecision(3) + \" \" + sizes[i];\n },\n // 手动触发文件上传\n submitUpload() {\n this.$refs.upload.submit();\n },\n // 文件上传成功回调函数\n uploadSuccess(response, file, fileList) {\n if (response.respCode === \"000000\" && response.fileInfo) {\n let keys = Object.keys(response.fileInfo);\n let tem = {};\n keys.forEach((value, index) => {\n let t = value.toLowerCase();\n tem[t] = response.fileInfo[value];\n });\n this.successFiles.splice(0, 0, tem);\n this.$refs.upload.handleRemove(file);\n } else {\n this.$message.error(\"上传失败!\");\n }\n },\n hanleUpload(index, file) {\n this.$refs.upload.$refs[\"upload-inner\"].upload(file.raw);\n },\n hanleRemove(index, file) {\n this.$refs.upload.handleRemove(file);\n },\n fileUploadError(e, file, fileList) {\n fileList.push(file);\n this.$message.error(\"有文件上传失败!\");\n },\n // 添加文件\n fileUploadChange(file, fileList) {\n this.fileList = fileList;\n },\n // 删除上传的企业附件\n deleteUpdata(index, data) {\n this.loading = true;\n FilesAPI.delete(data.uuid)\n .then(() => {\n this.successFiles.splice(index, 1);\n this.loading = false;\n })\n .catch(() => {\n this.loading = false;\n });\n },\n saveUpload() {\n FilesAPI.useAll(this.uuid)\n .then(() => {\n this.$emit(\"save\", this.successFiles);\n this.queryUserData();\n })\n .catch(() => {\n this.loading = false;\n });\n },\n sureFile(index, data) {\n this.loading = true;\n FilesAPI.use(data.uuid)\n .then(() => {\n this.loading = false;\n data.state = \"1\";\n })\n .catch(() => {\n this.loading = false;\n });\n },\n resetquery() {\n this.$refs.queryform.resetFields();\n this.queryform.starTime = null;\n this.queryform.endTime = null;\n this.picker = [];\n }\n }\n};\n</script>\n<style lang=\"scss\">\n.filetitlt {\n height: 30px;\n line-height: 30px;\n border: 1px solid #ddd;\n border-top-left-radius: 4px;\n border-top-right-radius: 4px;\n background-color: #f6f7fb;\n position: relative;\n padding: 0px 10px;\n & h3 {\n margin: 0px;\n padding: 0px;\n height: 100%;\n line-height: 30px;\n font-weight: 400;\n color: #000;\n font-size: 12px;\n display: inline-block;\n }\n}\n</style>\n","import mod from \"-!../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../node_modules/_thread-loader@2.1.2@thread-loader/dist/cjs.js!../../node_modules/_babel-loader@8.0.6@babel-loader/lib/index.js!../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./Uploader.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../node_modules/_thread-loader@2.1.2@thread-loader/dist/cjs.js!../../node_modules/_babel-loader@8.0.6@babel-loader/lib/index.js!../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./Uploader.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Uploader.vue?vue&type=template&id=0293655a&\"\nimport script from \"./Uploader.vue?vue&type=script&lang=js&\"\nexport * from \"./Uploader.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Uploader.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/_vue-loader@15.7.1@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","// extracted by mini-css-extract-plugin","import mod from \"-!../../node_modules/_mini-css-extract-plugin@0.6.0@mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/_css-loader@1.0.1@css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/_vue-loader@15.7.1@vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/_sass-loader@7.1.0@sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./Selector.vue?vue&type=style&index=0&lang=scss&\"; export default mod; export * from \"-!../../node_modules/_mini-css-extract-plugin@0.6.0@mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/_css-loader@1.0.1@css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/_vue-loader@15.7.1@vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/_sass-loader@7.1.0@sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./Selector.vue?vue&type=style&index=0&lang=scss&\"","module.exports = require(\"sha.js\");","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}]},[_c('el-alert',{attrs:{\"title\":\"请选择时间范围为一周以内!\",\"type\":\"info\",\"closable\":true}}),_c('el-row',{staticStyle:{\"margin-bottom\":\"10px\"},attrs:{\"gutter\":3}},[_c('el-col',{attrs:{\"span\":20}},[_c('el-date-picker',{staticClass:\"daterange\",attrs:{\"type\":\"daterange\",\"unlink-panels\":\"\",\"range-separator\":\"至\",\"start-placeholder\":\"开始日期\",\"end-placeholder\":\"结束日期\",\"picker-options\":_vm.pickerOptions},model:{value:(_vm.timeRange),callback:function ($$v) {_vm.timeRange=$$v},expression:\"timeRange\"}})],1),_c('el-col',{attrs:{\"span\":4}},[_c('el-button',{staticStyle:{\"width\":\"100%\"},attrs:{\"type\":\"primary\",\"icon\":\"el-icon-search\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.queryLazyData($event)}}})],1)],1),(_vm.timeLine.length===0)?_c('el-alert',{attrs:{\"title\":\"该用户目前没有进行任何操作 !\",\"type\":\"info\",\"closable\":false}}):_vm._e(),(!_vm.userUuid)?_c('el-alert',{attrs:{\"title\":\"组件不可用,必须传入初始的userUuid值 !\",\"type\":\"error\",\"closable\":false}}):_vm._e(),(!(_vm.timeLine.length===0))?_c('div',{staticClass:\"timeline\",style:('max-height:'+_vm.height)},[_c('el-steps',{attrs:{\"space\":\"50px\",\"direction\":\"vertical\",\"active\":999}},_vm._l((_vm.timeLine),function(item,index){return _c('el-step',{key:index,attrs:{\"icon\":\"el-icon-location\",\"description\":item.actDesc}},[_c('template',{slot:\"title\"},[_c('span',[_vm._v(_vm._s(_vm._f(\"date\")(item.opTime,'%Y-%m-%d %T')))]),_c('span',{staticClass:\"margin-left-4\"},[_c('el-tag',{attrs:{\"type\":(item.logType==='1'||item.logType==='2')?'success':item.logType==='3'?'warning':'danger'}},[_vm._v(\" \"+_vm._s(_vm.formatLogType(item.logType)))])],1)]),_c('template',{slot:\"description\"},[(!(_vm.calTime(index)===0))?_c('span',[_c('el-tag',{attrs:{\"type\":\"info\"}},[_vm._v(\"耗时:\"+_vm._s(_vm.calTime(index))+\" m\")]),_c('el-tag',{staticClass:\"margin-left-2\",staticStyle:{\"cursor\":\"pointer\"},attrs:{\"type\":\"info\",\"title\":\"查看详情\"}},[_c('i',{staticClass:\"el-icon-more\",on:{\"click\":function($event){return _vm.showLoginHis(item)}}})])],1):_vm._e()])],2)}),1)],1):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <div v-loading='loading'>\r\n <el-alert title=\"请选择时间范围为一周以内!\" type=\"info\" :closable=\"true\">\r\n </el-alert>\r\n <el-row :gutter=\"3\" style='margin-bottom:10px'>\r\n <el-col :span=\"20\">\r\n <el-date-picker class=\"daterange\" v-model=\"timeRange\" type=\"daterange\" unlink-panels range-separator=\"至\" start-placeholder=\"开始日期\" end-placeholder=\"结束日期\" :picker-options=\"pickerOptions\">\r\n </el-date-picker>\r\n </el-col>\r\n <el-col :span=\"4\">\r\n <el-button @click.stop='queryLazyData' type=\"primary\" icon=\"el-icon-search\" style=\"width: 100%;\"></el-button>\r\n </el-col>\r\n </el-row>\r\n <el-alert v-if=\"timeLine.length===0\" title=\"该用户目前没有进行任何操作 !\" type=\"info\" :closable=\"false\">\r\n </el-alert>\r\n <el-alert v-if=\"!userUuid\" title=\"组件不可用,必须传入初始的userUuid值 !\" type=\"error\" :closable=\"false\">\r\n </el-alert>\r\n <div class=\"timeline\" :style=\"'max-height:'+height\" v-if=\"!(timeLine.length===0)\">\r\n <el-steps space='50px' direction=\"vertical\" :active=\"999\">\r\n <el-step v-for=\"(item, index) in timeLine\" :key='index' icon=\"el-icon-location\" :description=\"item.actDesc\">\r\n <template slot='title'>\r\n <span>{{item.opTime|date('%Y-%m-%d %T')}}</span>\r\n <span class='margin-left-4'>\r\n <el-tag :type=\"(item.logType==='1'||item.logType==='2')?'success':item.logType==='3'?'warning':'danger'\"> {{formatLogType(item.logType)}}</el-tag>\r\n </span>\r\n </template>\r\n <template slot='description'>\r\n <span v-if='!(calTime(index)===0)'>\r\n <el-tag type=\"info\">耗时:{{calTime(index)}} m</el-tag>\r\n <el-tag class='margin-left-2' type=\"info\" title=\"查看详情\" style='cursor: pointer;'>\r\n <i @click=\"showLoginHis(item)\" class=\"el-icon-more\"></i>\r\n </el-tag>\r\n </span>\r\n </template>\r\n </el-step>\r\n </el-steps>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport UserAPI from \"../api/base/usrm/UserAPI\";\r\n\r\nexport default {\r\n props: {\r\n userUuid: {\r\n type: String,\r\n default: \"\"\r\n },\r\n height: {\r\n type: String,\r\n default: \"400px\"\r\n }\r\n },\r\n mounted: function() {\r\n this.initload(this.userUuid);\r\n },\r\n watch: {\r\n userUuid(val) {\r\n this.initload(val);\r\n }\r\n },\r\n data() {\r\n return {\r\n loading: false,\r\n timeLine: [],\r\n pickerOptions: {\r\n shortcuts: [\r\n {\r\n text: \"最近一周\",\r\n onClick(picker) {\r\n const end = new Date();\r\n const start = new Date();\r\n start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);\r\n picker.$emit(\"pick\", [start, end]);\r\n }\r\n }\r\n ]\r\n },\r\n timeRange: []\r\n };\r\n },\r\n methods: {\r\n calTime(index) {\r\n let t = 0;\r\n\r\n if (this.timeLine[index].logType !== \"1\") {\r\n if (this.timeLine.length - 1 === index) {\r\n return t;\r\n } else {\r\n if (this.timeLine[index + 1].logType === \"1\") {\r\n let mss =\r\n this.timeLine[index].opTime - this.timeLine[index + 1].opTime;\r\n return (mss / 1000 / 60).toFixed(3);\r\n } else {\r\n return 0;\r\n }\r\n }\r\n } else {\r\n return t;\r\n }\r\n },\r\n formatLogType(logType) {\r\n if (logType === \"1\") {\r\n return \"登入\";\r\n } else if (logType === \"2\") {\r\n return \"登出\";\r\n } else if (logType === \"3\") {\r\n return \"超时退出\";\r\n } else if (logType === \"4\") {\r\n return \"踢出\";\r\n } else {\r\n return \"未知\";\r\n }\r\n },\r\n showLoginHis(item) {\r\n this.$confirm(\"即将跳转到 '交互日志' 页面, 是否继续?\", \"提示\", {\r\n confirmButtonText: \"确定\",\r\n cancelButtonText: \"取消\",\r\n type: \"warning\"\r\n })\r\n .then(() => {\r\n this.$emit(\"closeDia\");\r\n this.$router.push({\r\n path: \"/logs/LogsServ\",\r\n query: { sesId: item.sesId }\r\n });\r\n })\r\n .catch(() => {});\r\n },\r\n initload(val) {\r\n if (val) {\r\n this.loading = true;\r\n let t = new Date().getTime();\r\n let ranTime = {\r\n startTime: t - 3600 * 1000 * 24 * 7,\r\n endTime: t\r\n };\r\n UserAPI.getTimeLine({\r\n uuid: this.userUuid\r\n }).then(resp => {\r\n this.timeLine = resp;\r\n this.loading = false;\r\n });\r\n }\r\n },\r\n queryLazyData() {\r\n this.loading = true;\r\n if (this.timeRange && this.timeRange.length > 0) {\r\n let ranTime = {\r\n startTime: this.timeRange[0].getTime(),\r\n endTime: this.timeRange[1].getTime()\r\n };\r\n if (ranTime.endTime - ranTime.startTime > 3600 * 1000 * 24 * 7) {\r\n this.$message.error(\"请选择合适的时间范围! (最大长度为一周)\");\r\n this.loading = false;\r\n } else {\r\n UserAPI.getTimeLine(\r\n Object.assign(\r\n {\r\n uuid: this.userUuid\r\n },\r\n ranTime\r\n )\r\n ).then(resp => {\r\n this.timeLine = resp;\r\n this.loading = false;\r\n });\r\n }\r\n } else {\r\n this.$message.error(\"请选择时间范围!\");\r\n this.loading = false;\r\n }\r\n }\r\n }\r\n};\r\n</script>\r\n<style lang=\"scss\" scoped>\r\n.timeline {\r\n overflow: auto;\r\n padding: 20px 20px 0px 20px;\r\n}\r\n.daterange {\r\n width: 100%;\r\n}\r\n</style>","import mod from \"-!../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../node_modules/_thread-loader@2.1.2@thread-loader/dist/cjs.js!../../node_modules/_babel-loader@8.0.6@babel-loader/lib/index.js!../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./TimeLine.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../node_modules/_thread-loader@2.1.2@thread-loader/dist/cjs.js!../../node_modules/_babel-loader@8.0.6@babel-loader/lib/index.js!../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./TimeLine.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TimeLine.vue?vue&type=template&id=2ef591a6&scoped=true&\"\nimport script from \"./TimeLine.vue?vue&type=script&lang=js&\"\nexport * from \"./TimeLine.vue?vue&type=script&lang=js&\"\nimport style0 from \"./TimeLine.vue?vue&type=style&index=0&id=2ef591a6&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/_vue-loader@15.7.1@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2ef591a6\",\n null\n \n)\n\nexport default component.exports","// extracted by mini-css-extract-plugin","import localforage from \"localforage\";\nimport config from \"../../config\";\n\nexport default {\n codeListStore: localforage.createInstance({ name: config.prefixs.sysCodeList }),\n codeTreeStore: localforage.createInstance({ name: config.prefixs.sysCodeTree }),\n ajaxStore: localforage.createInstance({ name: config.prefixs.sysCode })\n};\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('el-card',[_c('template',{slot:\"header\"},[_c('span',[_vm._v(\"查询定义\")]),_c('div',{staticClass:\"pull-right\"},[_c('el-button',{attrs:{\"type\":\"primary\",\"icon\":\"el-icon-fa-plus\"},on:{\"click\":_vm.handleAdd}})],1)]),_c('el-form',{attrs:{\"model\":_vm.queryform}},[_c('el-row',[_c('el-col',{attrs:{\"lg\":4,\"sm\":12}},[_c('el-form-item',{attrs:{\"label\":\"查询名称\"}},[_c('el-input',{model:{value:(_vm.queryform.queryname),callback:function ($$v) {_vm.$set(_vm.queryform, \"queryname\", $$v)},expression:\"queryform.queryname\"}})],1)],1)],1)],1)],2),_c('el-card',{staticClass:\"margin-top-2\"},[_c('template',{slot:\"header\"},[_c('span',[_vm._v(\"查询定义列表\")]),_c('div',{staticClass:\"pull-right\"},[_c('el-button',{attrs:{\"type\":\"primary\",\"icon\":\"el-icon-fa-search\"},on:{\"click\":_vm.handleQuery}})],1)]),_c('PageTable',{ref:\"dataTable\",attrs:{\"hideTitle\":\"\",\"auto-load\":\"\",\"data\":_vm.table.data,\"highlight-current-row\":\"\",\"stripe\":\"\",\"border\":\"\",\"hideExport\":\"\"},on:{\"load-data\":_vm.dataTableLoad}},[_c('el-table-column',{attrs:{\"type\":\"expand\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('div',[_c('pre',[_vm._v(_vm._s(scope.row.querysql))])])]}}])}),_c('el-table-column',{attrs:{\"prop\":\"queryname\",\"label\":\"查询名称\",\"sortable\":\"\"}}),_c('el-table-column',{attrs:{\"prop\":\"querytitle\",\"label\":\"查询标题\"}}),_c('el-table-column',{attrs:{\"prop\":\"tablename\",\"label\":\"使用表\"}}),_c('el-table-column',{attrs:{\"label\":\"操作\",\"fixed\":\"right\",\"width\":\"160\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('el-button',{attrs:{\"type\":\"primary\",\"icon\":\"el-icon-fa-edit\",\"title\":\"编辑\"},on:{\"click\":function($event){return _vm.handleEdit(scope.$index, scope.row)}}}),_c('el-button',{attrs:{\"type\":\"primary\",\"icon\":\"el-icon-fa-trash\",\"title\":\"删除\"},on:{\"click\":function($event){return _vm.handleDelete(scope.$index, scope.row)}}})]}}])})],1)],2),_c('el-dialog',{directives:[{name:\"draggable\",rawName:\"v-draggable\"}],attrs:{\"fullscreen\":\"\",\"append-to-body\":\"\",\"visible\":_vm.designer.show,\"title\":\"查询设计\",\"maxable\":\"false\"},on:{\"update:visible\":function($event){return _vm.$set(_vm.designer, \"show\", $event)}}},[(_vm.designer.show)?_c('QueryDesigner',{attrs:{\"uuid\":_vm.designer.uuid}}):_vm._e()],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.view.loading.all),expression:\"view.loading.all\"}],staticClass:\"flex-h qdes\"},[_c('el-card',{staticClass:\"table-list m-shadow\"},[_c('div',{attrs:{\"slot\":\"header\"},slot:\"header\"},[_c('span',[_vm._v(\"选择数据表\")]),_c('div',{staticClass:\"pull-right\"},[_c('el-button',{staticClass:\"blue\",attrs:{\"icon\":\"el-icon-fa-refresh \"},on:{\"click\":_vm.handleRefreshTable}}),_c('el-button',{staticClass:\"red\",attrs:{\"icon\":\"el-icon-fa-close \"},on:{\"click\":_vm.handleDisselect}})],1)]),_c('el-checkbox-group',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.view.loading.tables),expression:\"view.loading.tables\"}],attrs:{\"min\":1,\"max\":7},model:{value:(_vm.meta.selectedTables),callback:function ($$v) {_vm.$set(_vm.meta, \"selectedTables\", $$v)},expression:\"meta.selectedTables\"}},_vm._l((_vm.meta.tables),function(tableInfo){return _c('el-checkbox',{key:tableInfo.tableName,attrs:{\"label\":tableInfo}},[_vm._v(_vm._s(tableInfo.tableName))])}),1)],1),_c('el-card',{staticClass:\"workspace margin-left-1 flex-1\"},[_c('div',{attrs:{\"slot\":\"header\"},slot:\"header\"},[_c('span',[_vm._v(\"查询路径 -\\n \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.queryName),expression:\"queryName\"}],attrs:{\"placeholder\":\"查询路径\",\"disabled\":!!_vm.meta.uuid},domProps:{\"value\":(_vm.queryName)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.queryName=$event.target.value}}})]),_vm._v(\"\\n 查询标题:\\n \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.queryTitle),expression:\"queryTitle\"}],domProps:{\"value\":(_vm.queryTitle)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.queryTitle=$event.target.value}}}),_c('div',{staticClass:\"pull-right\"},[_c('el-button',{staticClass:\"blue\",attrs:{\"icon\":\"el-icon-fa-save\"},on:{\"click\":_vm.handleSave}})],1)]),_c('div',{staticClass:\"table-selected-list bg-green\",staticStyle:{\"overflow-y\":\"auto\"}},[_c('div',{staticClass:\"waterfall_\"},_vm._l((_vm.meta.selectedTables),function(tableInfo,index){return _c('div',{key:tableInfo.tableName,staticClass:\"item padding-1 pull-left\"},[_c('el-card',{staticClass:\"table-info-card\"},[_c('div',{attrs:{\"slot\":\"header\"},slot:\"header\"},[_c('el-checkbox',{on:{\"change\":function($event){return _vm.checkAll(tableInfo)}},model:{value:(tableInfo.selectedAll),callback:function ($$v) {_vm.$set(tableInfo, \"selectedAll\", $$v)},expression:\"tableInfo.selectedAll\"}},[(tableInfo.isMaster)?_c('span',[_c('b',{staticClass:\"font-red\"},[_vm._v(_vm._s(tableInfo.tableName))])]):_vm._e(),(!tableInfo.isMaster)?_c('span',[_vm._v(_vm._s(tableInfo.tableName))]):_vm._e()])],1),_c('el-button',{on:{\"click\":function($event){return _vm.setMaster(tableInfo,index)}}},[_vm._v(\"主表\")]),_c('el-button',{on:{\"click\":function($event){return _vm.remove(tableInfo,index)}}},[_vm._v(\"移除\")]),_c('el-checkbox-group',{model:{value:(tableInfo.selectedTableColumns),callback:function ($$v) {_vm.$set(tableInfo, \"selectedTableColumns\", $$v)},expression:\"tableInfo.selectedTableColumns\"}},_vm._l((tableInfo.tableColumns),function(col){return _c('el-checkbox',{key:col.tableName,attrs:{\"label\":col}},[_vm._v(_vm._s(col.columnName))])}),1)],1)],1)}),0)]),_c('el-popover',{ref:\"popover1\",attrs:{\"placement\":\"top-start\",\"title\":\"标题\",\"width\":\"200\",\"trigger\":\"click\"}}),_c('div',{staticClass:\"flex-1\",staticStyle:{\"min-height\":\"400px\"}},[_c('div',[_c('el-card',{staticClass:\" margin-top-1\",attrs:{\"header\":\"表格预览\"}},[_c('el-table',{attrs:{\"border\":\"\",\"data\":_vm.tableData}},_vm._l((_vm.selectedColumns),function(column){return _c('el-table-column',{key:column.columnName,attrs:{\"prop\":column.columnName,\"label\":_vm.tableLabel(column),\"width\":\"150\"}})}),1)],1)],1),_c('div',{staticClass:\"flex-h flex-1 margin-top-1\"},[_c('el-card',{staticClass:\"flex-1 show-sql\"},[_c('div',{staticStyle:{\"overflow\":\"auto\"}},[_c('div',{attrs:{\"slot\":\"header\"},slot:\"header\"},[_c('span',{attrs:{\"title\":\"仅供参考\"}},[_vm._v(\"SQL预览\")]),_c('div',{staticClass:\"pull-right\"},[_c('el-button',{ref:\"copySqlButton\",attrs:{\"icon\":\"el-icon-fa-copy\"}}),_c('el-button',{staticClass:\"green-meadow\",attrs:{\"icon\":\"el-icon-fa-bug\"},on:{\"click\":_vm.handleDebug}})],1)]),_c('div',{staticStyle:{\"position\":\"absolute\",\"left\":\"-50000px\"}},[_c('pre',{ref:\"sqlPreview\"},[_vm._v(_vm._s(_vm.sql))])]),_c('div',[_c('div',[_c('span',{staticClass:\"font-red\"},[_vm._v(\"SELECT\")])]),_vm._l((_vm.selectedColumns),function(column,index){return _c('div',{key:index,staticClass:\"slect-column\"},[_c('span',{staticStyle:{\"width\":\"90px\"}},[_vm._v(_vm._s(_vm._f(\"alias\")(column.tableName)))]),_c('span',{staticClass:\"text-center\",staticStyle:{\"width\":\"20px\",\"font-weight\":\"bold\"}},[_vm._v(\".\")]),_c('span',{staticClass:\"font-blue\",staticStyle:{\"width\":\"120px\"}},[_vm._v(_vm._s(column.columnName))]),_c('span',{staticClass:\"font-red\",staticStyle:{\"width\":\"40px\"},attrs:{\"lass\":\"text-center\"}},[_vm._v(\"AS\")]),_c('span',{staticStyle:{\"width\":\"100px\"}},[_vm._v(_vm._s(_vm._f(\"lowercase\")(column.columnName+'_'+index))+\" \")]),(index!=_vm.selectedColumns.length-1)?_c('span',[_vm._v(\",\")]):_vm._e()])}),_c('div',[_c('span',{staticClass:\"font-red\"},[_vm._v(\"FROM\")])]),_vm._l((_vm.selectedTables),function(table,index){return _c('div',{key:table.tableName,staticClass:\"select-from\"},[(index!==0)?_c('span',[_vm._v(\"LEFT JOIN \")]):_vm._e(),_c('span',[_vm._v(\" \"+_vm._s(table.tableName)+\" \")]),_c('span',[_vm._v(\" \"+_vm._s(table.alias)+\" \")]),(index!==0)?_c('div',[_c('span',[_vm._v(\"ON\")]),_c('el-input',{staticStyle:{\"width\":\"400px\"},model:{value:(table.on),callback:function ($$v) {_vm.$set(table, \"on\", $$v)},expression:\"table.on\"}})],1):_vm._e()])}),_c('div',[_c('span',{staticClass:\"font-red\"},[_vm._v(\"WHERE\")]),_c('el-button',{attrs:{\"type\":\"text\",\"icon\":\"el-icon-fa-plus\"},on:{\"click\":_vm.addWhere}})],1),_c('div',{staticClass:\"select-where\"},[_c('span',[_vm._v(\"1=1\")])]),_vm._l((_vm.wheres),function(where,index){return _c('div',{key:where.left.tableName,staticClass:\"select-where\"},[_c('div',[_c('el-select',{staticStyle:{\"width\":\"100px\"},model:{value:(where.concat),callback:function ($$v) {_vm.$set(where, \"concat\", $$v)},expression:\"where.concat\"}},[_c('el-option',{attrs:{\"label\":\"AND\",\"value\":\"AND\"}}),_c('el-option',{attrs:{\"label\":\"OR\",\"value\":\"OR\"}}),_c('el-option',{attrs:{\"label\":\"AND NOT\",\"value\":\"AND_NOT \"}}),_c('el-option',{attrs:{\"label\":\"OR NOT\",\"value\":\"OR_NOT\"}})],1)],1),_c('span',{staticClass:\"text-right where-select \",on:{\"click\":function($event){return _vm.handleSlectColumn(where,where.left)}}},[(!where.left.columnName && !where.left.text)?_c('span',{staticClass:\"font-grey-salsa\"},[_vm._v(\" <- - - -> \")]):_vm._e(),(!where.left.text)?_c('span',[_vm._v(\" \"+_vm._s(_vm._f(\"alias\")(where.left.tableName))+\".\"+_vm._s(where.left.columnName)+\" \")]):_vm._e(),(where.left.text)?_c('span',[_vm._v(\" \"+_vm._s(where.left.text)+\" \")]):_vm._e()]),_c('el-select',{staticStyle:{\"width\":\"70px\"},model:{value:(where.compare),callback:function ($$v) {_vm.$set(where, \"compare\", $$v)},expression:\"where.compare\"}},[_c('el-option',{attrs:{\"label\":\"=\",\"value\":\"eq\"}}),_c('el-option',{attrs:{\"label\":\"<>\",\"value\":\"not\"}}),_c('el-option',{attrs:{\"label\":\">\",\"value\":\"gt\",\"disabled\":\"\"}}),_c('el-option',{attrs:{\"label\":\">=\",\"value\":\"gte\",\"disabled\":\"\"}}),_c('el-option',{attrs:{\"label\":\"<\",\"value\":\"lt\",\"disabled\":\"\"}}),_c('el-option',{attrs:{\"label\":\"<=\",\"value\":\"lte\",\"disabled\":\"\"}}),_c('el-option',{attrs:{\"label\":\"like\",\"value\":\"like\"}}),_c('el-option',{attrs:{\"label\":\"notlike\",\"value\":\"notlike\"}}),_c('el-option',{attrs:{\"label\":\"in\",\"value\":\"in\",\"disabled\":\"\"}})],1),_c('span',{staticClass:\"text-left where-select\",on:{\"click\":function($event){return _vm.handleSlectColumn(where,where.right)}}},[(!where.right.columnName && !where.right.text)?_c('span',{staticClass:\" font-grey-salsa\"},[_vm._v(\" <- - - -> \")]):_vm._e(),( !where.right.text)?_c('span',[_vm._v(\" \"+_vm._s(_vm._f(\"alias\")(where.right.tableName))+\".\"+_vm._s(where.right.columnName)+\" \")]):_vm._e(),(where.right.text)?_c('span',[_vm._v(\" \"+_vm._s(where.right.text)+\" \")]):_vm._e()]),_c('el-button',{attrs:{\"type\":\"text\",\"icon\":\"el-icon-fa-trash\"},on:{\"click\":function($event){return _vm.removeWhere(where,index)}}})],1)}),_c('el-input',{attrs:{\"type\":\"textarea\",\"placeholder\":\"追加条件\"},model:{value:(_vm.cnd),callback:function ($$v) {_vm.cnd=$$v},expression:\"cnd\"}})],2)])]),_c('el-dialog',{directives:[{name:\"draggable\",rawName:\"v-draggable\"}],attrs:{\"append-to-body\":\"\",\"width\":\"400px\",\"top\":\"200px\",\"visible\":_vm.columnSelector.show,\"title\":\"条件编辑\"},on:{\"update:visible\":function($event){return _vm.$set(_vm.columnSelector, \"show\", $event)}}},[_c('el-tabs',{staticClass:\"column-selector\",attrs:{\"type\":\"card\"}},[_c('el-tab-pane',{attrs:{\"label\":\"列表\"}},[_c('ul',{staticClass:\"column-list\"},_vm._l((_vm.selectedColumns),function(column,index){return _c('li',{key:index,on:{\"click\":function($event){return _vm.selectColumntoWehre(column)}}},[_c('span',{staticStyle:{\"width\":\"90px\"}},[_vm._v(_vm._s(_vm._f(\"alias\")(column.tableName)))]),_c('span',{staticClass:\"text-center\",staticStyle:{\"width\":\"20px\",\"font-weight\":\"bold\"}},[_vm._v(\".\")]),_c('span',{staticClass:\"font-blue\",staticStyle:{\"width\":\"120px\"}},[_vm._v(_vm._s(column.columnName))])])}),0)]),_c('el-tab-pane',{attrs:{\"label\":\"编辑\"}},[_c('el-input',{attrs:{\"type\":\"textarea\"},model:{value:(_vm.columnSelector.lr.text),callback:function ($$v) {_vm.$set(_vm.columnSelector.lr, \"text\", $$v)},expression:\"columnSelector.lr.text\"}})],1),_c('div',{staticClass:\"margin-1 text-right\"},[_c('el-button',{attrs:{\"icon\":\"el-icon-fa-check\"},on:{\"click\":function($event){return _vm.selectTexttoWehre()}}}),_c('el-button',{attrs:{\"icon\":\"el-icon-fa-close\"},on:{\"click\":function($event){_vm.columnSelector.show=false}}})],1)],1)],1),_c('el-card',{staticClass:\" margin-left-1 \",attrs:{\"header\":\"字段设计\"}},[_c('div',{staticStyle:{\"overflow\":\"auto\"}},_vm._l((_vm.meta.selectedTables),function(table,index){return (table.selectedTableColumns.length > 0)?_c('fieldset',{key:table.tableName},[_c('legend',[_vm._v(_vm._s(table.tableName))]),_vm._l((table.selectedTableColumns),function(column){return _c('div',{key:column.columnName},[_c('span',{staticStyle:{\"width\":\"200px\",\"display\":\"inline-block\"}},[_vm._v(_vm._s(column.columnFullName))]),_c('el-input',{staticStyle:{\"width\":\"200px\",\"display\":\"inline-block\"},attrs:{\"placeholder\":\"列名\",\"index\":index},model:{value:(_vm.labelData[column.columnFullName]),callback:function ($$v) {_vm.$set(_vm.labelData, column.columnFullName, $$v)},expression:\"labelData[column.columnFullName]\"}}),_c('el-select',{staticStyle:{\"width\":\"100px\",\"display\":\"inline-block\"},attrs:{\"placeholder\":\"不可查询\",\"clearable\":true},model:{value:(column.cndType),callback:function ($$v) {_vm.$set(column, \"cndType\", $$v)},expression:\"column.cndType\"}},[_c('el-option',{attrs:{\"label\":\"text\",\"value\":\"text\"}}),_c('el-option',{attrs:{\"label\":\"dict\",\"value\":\"dict\"}}),_c('el-option',{attrs:{\"label\":\"date\",\"value\":\"date\",\"disabled\":\"\"}}),_c('el-option',{attrs:{\"label\":\"dateRange\",\"value\":\"dateRange\",\"disabled\":\"\"}}),_c('el-option',{attrs:{\"label\":\"numberRange\",\"value\":\"numberRange\",\"disabled\":\"\"}})],1),(column.cndType==='dict')?_c('el-input',{staticClass:\"margin-left-1\",staticStyle:{\"width\":\"100px\",\"display\":\"inline-block\"},attrs:{\"placeholder\":\"字典名\"},model:{value:(column.dictName),callback:function ($$v) {_vm.$set(column, \"dictName\", $$v)},expression:\"column.dictName\"}}):_vm._e(),(column.cndType==='text')?_c('el-select',{staticClass:\"margin-left-1\",staticStyle:{\"width\":\"100px\",\"display\":\"inline-block\"},attrs:{\"placeholder\":\"不可查询\",\"clearable\":true},model:{value:(column.compare),callback:function ($$v) {_vm.$set(column, \"compare\", $$v)},expression:\"column.compare\"}},[_c('el-option',{attrs:{\"label\":\"=\",\"value\":\"eq\"}}),_c('el-option',{attrs:{\"label\":\"<>\",\"value\":\"not\"}}),_c('el-option',{attrs:{\"label\":\">\",\"value\":\"gt\",\"disabled\":\"\"}}),_c('el-option',{attrs:{\"label\":\">=\",\"value\":\"gte\",\"disabled\":\"\"}}),_c('el-option',{attrs:{\"label\":\"<\",\"value\":\"lt\",\"disabled\":\"\"}}),_c('el-option',{attrs:{\"label\":\"<=\",\"value\":\"lte\",\"disabled\":\"\"}}),_c('el-option',{attrs:{\"label\":\"like\",\"value\":\"like\"}}),_c('el-option',{attrs:{\"label\":\"notlike\",\"value\":\"notlike\"}}),_c('el-option',{attrs:{\"label\":\"in\",\"value\":\"in\",\"disabled\":\"\"}})],1):_vm._e()],1)})],2):_vm._e()}),0)])],1)])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <div class=\"flex-h qdes\" v-loading=\"view.loading.all\">\n <el-card class=\"table-list m-shadow\">\n <div slot=\"header\">\n <span>选择数据表</span>\n <div class=\"pull-right\">\n <el-button icon=\"el-icon-fa-refresh \" class=\"blue\" @click=\"handleRefreshTable\"></el-button>\n <el-button icon=\"el-icon-fa-close \" class=\"red\" @click=\"handleDisselect\"></el-button>\n </div>\n </div>\n <el-checkbox-group v-model=\"meta.selectedTables\" v-loading=\"view.loading.tables\" :min=\"1\" :max=\"7\">\n <el-checkbox v-for=\"tableInfo in meta.tables \" :key=\"tableInfo.tableName\" :label=\"tableInfo\">{{tableInfo.tableName}}</el-checkbox>\n </el-checkbox-group>\n </el-card>\n <el-card class=\"workspace margin-left-1 flex-1\">\n <div slot=\"header\">\n <span>查询路径 -\n <input v-model=\"queryName\" placeholder=\"查询路径\" :disabled=\"!!meta.uuid\" />\n </span>\n 查询标题:\n <input v-model=\"queryTitle\" />\n <div class=\"pull-right\">\n <el-button icon=\"el-icon-fa-save\" class=\"blue\" @click=\"handleSave\"></el-button>\n </div>\n </div>\n <div class=\"table-selected-list bg-green\" style=\"overflow-y: auto;\">\n <div class=\"waterfall_\">\n <div class=\"item padding-1 pull-left\" v-for=\"(tableInfo,index) in meta.selectedTables\" :key=\"tableInfo.tableName\">\n <el-card class=\"table-info-card\">\n <div slot=\"header\">\n <el-checkbox v-model=\"tableInfo.selectedAll\" @change=\"checkAll(tableInfo)\">\n <span v-if=\"tableInfo.isMaster\">\n <b class=\"font-red\">{{tableInfo.tableName}}</b>\n </span>\n <span v-if=\"!tableInfo.isMaster\">{{tableInfo.tableName}}</span>\n </el-checkbox>\n </div>\n <el-button @click=\"setMaster(tableInfo,index)\">主表</el-button>\n <el-button @click=\"remove(tableInfo,index)\">移除</el-button>\n <el-checkbox-group v-model=\"tableInfo.selectedTableColumns\">\n <el-checkbox v-for=\"col in tableInfo.tableColumns\" :key=\"col.tableName\" :label=\"col\">{{col.columnName}}</el-checkbox>\n </el-checkbox-group>\n </el-card>\n </div>\n </div>\n </div>\n <el-popover ref=\"popover1\" placement=\"top-start\" title=\"标题\" width=\"200\" trigger=\"click\">\n </el-popover>\n <div class=\"flex-1\" style=\"min-height: 400px;\">\n <div>\n <el-card class=\" margin-top-1\" header=\"表格预览\">\n <el-table border :data=\"tableData\">\n <el-table-column v-for=\"column in selectedColumns\" :key=\"column.columnName\" :prop=\"column.columnName\" :label=\"tableLabel(column)\" width=\"150\"></el-table-column>\n </el-table>\n </el-card>\n </div>\n <div class=\"flex-h flex-1 margin-top-1\">\n <el-card class=\"flex-1 show-sql\">\n <div style=\"overflow:auto;\">\n <div slot=\"header\">\n <span title=\"仅供参考\">SQL预览</span>\n <div class=\"pull-right\">\n <el-button icon=\"el-icon-fa-copy\" ref=\"copySqlButton\"></el-button>\n <el-button icon=\"el-icon-fa-bug\" class=\"green-meadow\" @click=\"handleDebug\"></el-button>\n </div>\n </div>\n <div style=\"position:absolute;left:-50000px;\">\n <pre ref=\"sqlPreview\">{{sql}}</pre>\n </div>\n <div>\n <div>\n <span class=\"font-red\">SELECT</span>\n </div>\n <div class=\"slect-column\" v-for=\"(column,index) in selectedColumns\" :key=\"index\">\n <span style=\"width:90px\">{{column.tableName | alias}}</span>\n <span style=\"width:20px;font-weight: bold;\" class=\"text-center\">.</span>\n <span style=\"width:120px\" class=\"font-blue\">{{column.columnName}}</span>\n <span style=\"width:40px\" class=\"font-red\" lass=\"text-center\">AS</span>\n <span style=\"width:100px\">{{column.columnName+'_'+index |lowercase}} </span>\n <span v-if=\"index!=selectedColumns.length-1\">,</span>\n </div>\n <div>\n <span class=\"font-red\">FROM</span>\n </div>\n <div class=\"select-from\" v-for=\"(table,index) in selectedTables\" :key=\"table.tableName\">\n <span v-if=\"index!==0\">LEFT JOIN </span>\n <span> {{table.tableName}} </span>\n <span> {{table.alias}} </span>\n <div v-if=\"index!==0\">\n <span>ON</span>\n <el-input style=\"width:400px;\" v-model=\"table.on\"></el-input>\n </div>\n </div>\n <div>\n <span class=\"font-red\">WHERE</span>\n <el-button type=\"text\" icon=\"el-icon-fa-plus\" @click=\"addWhere\"></el-button>\n </div>\n <div class=\"select-where\">\n <span>1=1</span>\n </div>\n <div class=\"select-where\" v-for=\"(where,index) in wheres\" :key=\"where.left.tableName\">\n <div>\n <el-select v-model=\"where.concat\" style=\"width:100px;\">\n <el-option label=\"AND\" value=\"AND\"></el-option>\n <el-option label=\"OR\" value=\"OR\"></el-option>\n <el-option label=\"AND NOT\" value=\"AND_NOT \"></el-option>\n <el-option label=\"OR NOT\" value=\"OR_NOT\"></el-option>\n </el-select>\n </div>\n <span class=\"text-right where-select \" @click=\"handleSlectColumn(where,where.left)\">\n <span class=\"font-grey-salsa\" v-if=\"!where.left.columnName && !where.left.text\"> &lt;-&nbsp;-&nbsp;-&nbsp;-&gt; </span>\n <span v-if=\"!where.left.text\"> {{where.left.tableName | alias}}.{{where.left.columnName}} </span>\n <span v-if=\"where.left.text\"> {{where.left.text}} </span>\n </span>\n <el-select v-model=\"where.compare\" style=\"width:70px;\">\n <el-option label=\"=\" value=\"eq\"></el-option>\n <el-option label=\"<>\" value=\"not\"></el-option>\n <el-option label=\">\" value=\"gt\" disabled></el-option>\n <el-option label=\">=\" value=\"gte\" disabled></el-option>\n <el-option label=\"<\" value=\"lt\" disabled></el-option>\n <el-option label=\"<=\" value=\"lte\" disabled></el-option>\n <el-option label=\"like\" value=\"like\"></el-option>\n <el-option label=\"notlike\" value=\"notlike\"></el-option>\n <el-option label=\"in\" value=\"in\" disabled></el-option>\n </el-select>\n <span class=\"text-left where-select\" @click=\"handleSlectColumn(where,where.right)\">\n <span class=\" font-grey-salsa\" v-if=\"!where.right.columnName && !where.right.text\"> &lt;-&nbsp;-&nbsp;-&nbsp;-&gt; </span>\n <span v-if=\" !where.right.text\"> {{where.right.tableName | alias}}.{{where.right.columnName}} </span>\n <span v-if=\"where.right.text\"> {{where.right.text}} </span>\n </span>\n <el-button type=\"text\" icon=\"el-icon-fa-trash\" @click=\"removeWhere(where,index)\"></el-button>\n </div>\n <el-input type=\"textarea\" v-model=\"cnd\" placeholder=\"追加条件\"></el-input>\n </div>\n </div>\n </el-card>\n <el-dialog append-to-body v-draggable width=\"400px\" top=\"200px\" :visible.sync=\"columnSelector.show\" title=\"条件编辑\">\n <el-tabs type=\"card\" class=\"column-selector\">\n <el-tab-pane label=\"列表\">\n <ul class=\"column-list\">\n <li v-for=\"(column,index) in selectedColumns\" :key=\"index\" @click=\"selectColumntoWehre(column)\">\n <span style=\"width:90px\">{{column.tableName | alias}}</span>\n <span style=\"width:20px;font-weight: bold;\" class=\"text-center\">.</span>\n <span style=\"width:120px\" class=\"font-blue\">{{column.columnName}}</span>\n </li>\n </ul>\n </el-tab-pane>\n <el-tab-pane label=\"编辑\">\n <el-input type=\"textarea\" v-model=\"columnSelector.lr.text\"></el-input>\n </el-tab-pane>\n <div class=\"margin-1 text-right\">\n <el-button icon=\"el-icon-fa-check\" @click=\"selectTexttoWehre()\"></el-button>\n <el-button icon=\"el-icon-fa-close\" @click=\"columnSelector.show=false\"></el-button>\n </div>\n </el-tabs>\n </el-dialog>\n <el-card class=\" margin-left-1 \" header=\"字段设计\">\n <div style=\"overflow: auto;\">\n <fieldset v-for=\"(table,index) in meta.selectedTables\" :key=\"table.tableName\" v-if=\"table.selectedTableColumns.length > 0\">\n <legend>{{table.tableName}}</legend>\n <div v-for=\"column in table.selectedTableColumns\" :key=\"column.columnName\">\n <span style=\"width:200px;display:inline-block;\">{{column.columnFullName}}</span>\n <el-input style=\"width:200px;display:inline-block;\" placeholder=\"列名\" v-model=\"labelData[column.columnFullName]\" :index=\"index\"></el-input>\n <el-select style=\"width:100px;display:inline-block;\" v-model=\"column.cndType\" placeholder=\"不可查询\" :clearable=\"true\">\n <el-option label=\"text\" value=\"text\"></el-option>\n <el-option label=\"dict\" value=\"dict\"></el-option>\n <el-option label=\"date\" value=\"date\" disabled></el-option>\n <el-option label=\"dateRange\" value=\"dateRange\" disabled></el-option>\n <el-option label=\"numberRange\" value=\"numberRange\" disabled></el-option>\n </el-select>\n <el-input style=\"width:100px;display:inline-block;\" class=\"margin-left-1\" placeholder=\"字典名\" v-if=\"column.cndType==='dict'\" v-model=\"column.dictName\"></el-input>\n <el-select style=\"width:100px;display:inline-block;\" class=\"margin-left-1\" v-model=\"column.compare\" placeholder=\"不可查询\" :clearable=\"true\" v-if=\"column.cndType==='text'\">\n <el-option label=\"=\" value=\"eq\"></el-option>\n <el-option label=\"<>\" value=\"not\"></el-option>\n <el-option label=\">\" value=\"gt\" disabled></el-option>\n <el-option label=\">=\" value=\"gte\" disabled></el-option>\n <el-option label=\"<\" value=\"lt\" disabled></el-option>\n <el-option label=\"<=\" value=\"lte\" disabled></el-option>\n <el-option label=\"like\" value=\"like\"></el-option>\n <el-option label=\"notlike\" value=\"notlike\"></el-option>\n <el-option label=\"in\" value=\"in\" disabled></el-option>\n </el-select>\n </div>\n </fieldset>\n </div>\n </el-card>\n </div>\n </div>\n </el-card>\n </div>\n</template>\n<script>\nimport Clipboard from \"clipboard\";\nimport QueryDesignerAPI from \"@/api/base/sysm/QueryDesignerAPI\";\n\nfunction tf(str) {\n var arr = str.split(\"_\");\n for (var i = 1; i < arr.length; i++) {\n arr[i] = arr[i].charAt(0).toUpperCase() + arr[i].substring(1);\n }\n return arr.join(\"\");\n}\n\nexport default {\n filters: {\n alias(val) {\n return tf(val.toLowerCase());\n }\n },\n props: {\n uuid: String\n },\n data() {\n return {\n queryName: \"\",\n queryTitle: \"\",\n sql: \"\",\n meta: {\n uuid: \"\",\n tables: [],\n selectedTables: []\n },\n view: {\n lastTable: \"\",\n loading: {\n all: false,\n tables: false\n }\n },\n labelData: {},\n cnd: \"\",\n columnSelector: {\n lr: {\n text: \"\",\n tableName: \"\",\n tableColumn: \"\"\n },\n show: false\n },\n wheres: []\n };\n },\n watch: {\n uuid() {\n this.initLoad();\n }\n },\n computed: {\n // 选中的列\n selectedColumns() {\n let columns = [];\n /* eslint-disable */\n this.meta.selectedTables.forEach(table => {\n table.selectedTableColumns.forEach(col => {\n columns.push({\n tableName: table.tableName,\n columnName: col.columnName,\n columnFullName: col.columnFullName\n });\n this.$set(\n this.labelData,\n col.columnFullName,\n this.labelData[col.columnFullName] ||\n (col.columnComment || col.columnFullName)\n );\n });\n });\n return columns;\n },\n // 选中的表\n selectedTables() {\n let tables = [];\n this.meta.selectedTables.forEach(table => {\n if (table.selectedTableColumns.length > 0) {\n tables.push(table);\n }\n });\n return tables;\n },\n tableData() {\n let columnHeader = {};\n this.selectedColumns.forEach(col => {\n columnHeader[col.columnName] = col.columnFullName;\n });\n return [columnHeader];\n }\n },\n mounted() {\n this.initLoad();\n this.initCopySQl();\n },\n methods: {\n initLoad() {\n this.meta.uuid = this.uuid;\n this.loadTable().then(this.loadDesign);\n },\n initCopySQl() {\n let sqlPreviewDom = this.$refs.sqlPreview;\n let clip = new Clipboard(this.$refs.copySqlButton.$el, {\n target(trigger) {\n return sqlPreviewDom;\n }\n });\n clip.on(\"success\", e => {\n this.$message.success(\"复制成功\");\n });\n },\n loadTable() {\n this.view.loading.all = true;\n this.meta.selectedTables = [];\n return QueryDesignerAPI.loadAllTable()\n .then(data => {\n data.forEach(table => {\n table.selectedTableColumns = [];\n table.on = \"\";\n table.alias = tf(table.tableName.toLowerCase());\n table.tableColumns.forEach(col => {\n col.columnFullName = table.tableName + \".\" + col.columnName;\n col.cndType = \"\";\n col.dictName = \"\";\n col.compare = \"\";\n });\n }, this);\n this.meta.tables = data;\n this.view.loading.all = false;\n })\n .catch(() => {\n this.view.loading.all = false;\n });\n },\n handleRefreshTable() {\n this.initLoad();\n },\n handleDisselect() {\n this.meta.selectedTables = [];\n this.meta.wheres = [];\n this.loadTable();\n },\n handleCheckColumn(table, columns, index) {},\n handlePreviewData() {},\n tableLabel(col) {\n return this.labelData[col.columnFullName];\n },\n checkAll(tableInfo) {\n if (tableInfo.selectedAll) {\n tableInfo.selectedTableColumns = [];\n tableInfo.tableColumns.forEach(col => {\n tableInfo.selectedTableColumns.push(col);\n });\n } else {\n tableInfo.selectedTableColumns = [];\n }\n },\n setMaster(tableInfo, index) {\n let tmp = this.meta.selectedTables[0];\n this.$set(this.meta.selectedTables, 0, this.meta.selectedTables[index]);\n this.$set(this.meta.selectedTables, index, tmp);\n this.meta.selectedTables.forEach(function(table, iid) {\n table.isMaster = false;\n }, this);\n this.$set(tableInfo, \"isMaster\", true);\n },\n remove(tableInfo, index) {\n this.meta.selectedTables.splice(index, 1);\n },\n handleSave() {\n if (this.selectedColumns.length === 0) {\n return this.$message.error(\"请先设计!\");\n }\n if (this.queryName) {\n return this.doSave();\n }\n this.$prompt(\"请为您的查询命名!\", \"提示\", {\n confirmButtonText: \"确定\",\n cancelButtonText: \"取消\",\n inputValue: this.queryName\n }).then(({ value }) => {\n this.queryName = value;\n if (this.queryName) {\n this.doSave();\n }\n });\n },\n handleSlectColumn(where, lr) {\n this.columnSelector.show = true;\n this.columnSelector.lr = lr;\n },\n selectColumntoWehre(column) {\n this.columnSelector.lr.tableName = column.tableName;\n this.columnSelector.lr.columnName = column.columnName;\n this.columnSelector.lr.text = \"\";\n this.columnSelector.show = false;\n },\n selectTexttoWehre(column) {\n this.columnSelector.lr.tableName = \"\";\n this.columnSelector.lr.columnName = \"\";\n this.columnSelector.show = false;\n },\n addWhere() {\n this.wheres.push({\n compare: \"eq\",\n concat: \"AND\",\n left: {\n text: \"\",\n tableName: \"\",\n columnName: \"\"\n },\n right: {\n text: \"\",\n tableName: \"\",\n columnName: \"\"\n }\n });\n },\n removeWhere(where, index) {\n this.wheres.splice(index, 1);\n },\n loadDesign() {\n this.meta.selectedTables = [];\n this.queryName = \"\";\n this.wheres = [];\n if (this.uuid) {\n this.view.loading.all = true;\n QueryDesignerAPI.loadDesign(this.uuid).then(data => {\n this.wheres = data.wheres;\n this.labelData = data.labelData;\n this.queryName = data.queryName;\n this.queryTitle = data.queryTitle;\n this.cnd = data.cnd;\n this.meta.tables.forEach(function(table) {\n let tableName = table.tableName;\n if (data.selectedTables[tableName]) {\n table.on = data.selectedTables[tableName].on;\n table.tableColumns.forEach(function(col) {\n let columnName = col.columnName;\n if (data.selectedTables[tableName][columnName]) {\n Object.assign(\n col,\n data.selectedTables[tableName][columnName]\n );\n table.selectedTableColumns.push(col);\n }\n }, this);\n this.meta.selectedTables.push(table);\n }\n }, this);\n this.view.loading.all = false;\n });\n }\n },\n handleSaveData() {\n this.view.loading.all = true;\n let tableInfos = [];\n // 这里多传一个定义,是把页面所有数据保存下来,下次打开编辑的时候快速还原.\n let define = {\n selectedTables: {},\n queryName: this.queryName,\n queryTitle: this.queryTitle,\n labelData: this.labelData,\n wheres: this.wheres,\n cnd: this.cnd\n };\n this.meta.selectedTables[0].isMaster = true;\n this.meta.selectedTables.forEach(table => {\n let _data = {};\n _data.alias = table.alias;\n _data.tableName = table.tableName;\n _data.isMaster = table.isMaster;\n _data.on = table.on;\n define.selectedTables[table.tableName] = { on: table.on };\n _data.tableColumns = table.selectedTableColumns.map(col => {\n // 保存定义的列内容\n define.selectedTables[table.tableName][col.columnName] = {\n columnName: col.columnName,\n cndType: col.cndType ? col.cndType : null,\n dictName: col.dictName,\n compare: col.compare ? col.compare : null\n };\n return define.selectedTables[table.tableName][col.columnName];\n });\n tableInfos.push(_data);\n });\n define = JSON.stringify(define);\n return {\n uuid: this.meta.uuid,\n wheres: this.wheres,\n cnd: this.cnd,\n queryName: this.queryName,\n queryTitle: this.queryTitle,\n tableInfos,\n define,\n labelData: this.labelData\n };\n },\n doSave() {\n let data = this.handleSaveData();\n return QueryDesignerAPI.saveDesign(data)\n .then(resp => {\n this.view.loading.all = false;\n this.meta.uuid = resp.uuid;\n })\n .catch(() => {\n this.view.loading.all = false;\n });\n },\n // 处理测试\n handleDebug() {\n let data = this.handleSaveData();\n return QueryDesignerAPI.debugDesign(data)\n .then(resp => {\n this.sql = resp.sql;\n this.view.loading.all = false;\n this.meta.uuid = resp.uuid;\n })\n .catch(() => {\n this.view.loading.all = false;\n });\n }\n }\n};\n</script>\n<style lang=\"scss\">\n.qdes {\n .table-list {\n border: 1px solid #ccc;\n width: 200px;\n box-sizing: border-box;\n overflow-y: auto;\n overflow-x: hidden;\n .el-card {\n display: flex;\n flex-direction: column;\n }\n .el-card__body {\n flex: 1;\n background-color: #d9f3e5 !important;\n }\n .el-checkbox {\n display: block;\n margin-left: 0px;\n padding: 0 3px;\n text-transform: uppercase;\n transition: 0.2s background-color;\n &:hover {\n background-color: #ccc;\n font-weight: bold;\n }\n }\n }\n\n .workspace {\n overflow: auto;\n border: 1px solid #ccc;\n .waterfall {\n column-gap: 5px;\n column-count: 7;\n .item {\n page-break-inside: avoid;\n -webkit-column-break-inside: avoid;\n break-inside: avoid;\n }\n }\n }\n\n .show-sql {\n .slect-column {\n display: block;\n margin-left: 1em;\n cursor: default;\n line-height: 1.2em;\n height: 1.2em;\n white-space: nowrap;\n & > span {\n display: inline-block;\n }\n }\n .select-from {\n margin-left: 1em;\n line-height: 1.2em;\n white-space: nowrap;\n & > span {\n line-height: 1.2em;\n height: 1.2em;\n display: inline-block;\n margin-right: 10px;\n }\n }\n .select-where {\n margin-left: 1em;\n white-space: nowrap;\n & > span {\n display: inline-block;\n margin-right: 10px;\n }\n }\n .where-select {\n cursor: pointer;\n &:hover {\n color: gray;\n }\n }\n }\n\n .el-card.table-info-card {\n .el-card__header {\n text-transform: uppercase;\n font-weight: bold;\n height: 24px;\n line-height: 24px;\n }\n .el-card__body {\n padding: 0;\n }\n .el-checkbox-group {\n padding: 0px;\n }\n .el-checkbox {\n display: block;\n margin-left: 0px;\n text-transform: uppercase;\n transition: 0.2s background-color;\n &:hover {\n background-color: #ccc;\n font-weight: bold;\n }\n }\n }\n\n .el-input {\n .el-input__inner {\n background-color: white !important;\n border-width: 0;\n border-bottom: 1px solid #ccc;\n }\n }\n}\n\n.column-selector {\n .el-tabs__header {\n margin-bottom: 0;\n }\n .column-list {\n padding: 0;\n margin: 0;\n }\n .column-list li {\n display: block;\n cursor: pointer;\n height: 20px;\n line-height: 20px;\n &:hover {\n background-color: #ccc;\n }\n }\n}\n</style>\n","import mod from \"-!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/_thread-loader@2.1.2@thread-loader/dist/cjs.js!../../../node_modules/_babel-loader@8.0.6@babel-loader/lib/index.js!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./QueryDesigner.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/_thread-loader@2.1.2@thread-loader/dist/cjs.js!../../../node_modules/_babel-loader@8.0.6@babel-loader/lib/index.js!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./QueryDesigner.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./QueryDesigner.vue?vue&type=template&id=6d8a850e&\"\nimport script from \"./QueryDesigner.vue?vue&type=script&lang=js&\"\nexport * from \"./QueryDesigner.vue?vue&type=script&lang=js&\"\nimport style0 from \"./QueryDesigner.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","<template>\n <div>\n <el-card>\n <template slot=\"header\">\n <span>查询定义</span>\n <div class=\"pull-right\">\n <el-button type=\"primary\" icon=\"el-icon-fa-plus\" @click=\"handleAdd\"></el-button>\n </div>\n </template>\n <el-form :model=\"queryform\">\n <el-row>\n <el-col :lg='4' :sm='12'>\n <el-form-item label=\"查询名称\">\n <el-input v-model=\"queryform.queryname\"></el-input>\n </el-form-item>\n </el-col>\n </el-row>\n </el-form>\n </el-card>\n <el-card class=\"margin-top-2\">\n <template slot=\"header\">\n <span>查询定义列表</span>\n <div class=\"pull-right\">\n <el-button type=\"primary\" icon=\"el-icon-fa-search\" @click=\"handleQuery\"></el-button>\n </div>\n </template>\n <PageTable hideTitle ref=\"dataTable\" auto-load @load-data=\"dataTableLoad\" :data=\"table.data\" highlight-current-row stripe border hideExport>\n \n <el-table-column type=\"expand\">\n <template slot-scope=\"scope\">\n <div>\n <pre>{{scope.row.querysql}}</pre>\n </div>\n </template>\n </el-table-column>\n <el-table-column prop=\"queryname\" label=\"查询名称\" sortable></el-table-column>\n <el-table-column prop=\"querytitle\" label=\"查询标题\"></el-table-column>\n <el-table-column prop=\"tablename\" label=\"使用表\"></el-table-column>\n <el-table-column label=\"操作\" fixed='right' width=\"160\">\n <template slot-scope=\"scope\">\n <el-button type=\"primary\" @click=\"handleEdit(scope.$index, scope.row)\" icon=\"el-icon-fa-edit\" title=\"编辑\"></el-button>\n <el-button type=\"primary\" @click=\"handleDelete(scope.$index, scope.row)\" icon=\"el-icon-fa-trash\" title=\"删除\"></el-button>\n </template>\n </el-table-column>\n </PageTable>\n </el-card>\n <el-dialog fullscreen append-to-body v-draggable :visible.sync=\"designer.show\" title=\"查询设计\" maxable=\"false\">\n <QueryDesigner v-if=\"designer.show\" :uuid=\"designer.uuid\"></QueryDesigner>\n </el-dialog>\n </div>\n</template>\n<script>\nimport QueryDesignerAPI from \"@/api/base/sysm/QueryDesignerAPI\";\nimport QueryDesigner from \"./QueryDesigner\";\n\nexport default {\n name: \"QueryMgr\",\n components: { QueryDesigner },\n data() {\n return {\n queryform: { queryname: \"\" },\n table: {\n data: []\n },\n designer: {\n uuid: \"\",\n show: false\n }\n };\n },\n methods: {\n handleAdd() {\n this.designer.uuid = \"\";\n this.designer.show = true;\n },\n handleEdit(index, row) {\n this.designer.show = true;\n this.designer.uuid = row.uuid;\n },\n handleQuery() {\n this.$refs.dataTable.load(this.queryform);\n },\n dataTableLoad(params, resolve) {\n QueryDesignerAPI.loadDesignList(params)\n .then(resolve)\n .then(respData => (this.table.data = respData.datarows));\n },\n handleDelete(index, row) {\n this.confirm(row).then(row => {\n QueryDesignerAPI.deleteDesign(row.uuid)\n .then(this.handleQuery)\n .catch();\n });\n }\n }\n};\n</script>\n","import mod from \"-!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/_thread-loader@2.1.2@thread-loader/dist/cjs.js!../../../node_modules/_babel-loader@8.0.6@babel-loader/lib/index.js!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./QueryMgr.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/_thread-loader@2.1.2@thread-loader/dist/cjs.js!../../../node_modules/_babel-loader@8.0.6@babel-loader/lib/index.js!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./QueryMgr.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./QueryMgr.vue?vue&type=template&id=e0e73398&\"\nimport script from \"./QueryMgr.vue?vue&type=script&lang=js&\"\nexport * from \"./QueryMgr.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","module.exports = require(\"sortablejs\");","import mod from \"-!../../../node_modules/_mini-css-extract-plugin@0.6.0@mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/_css-loader@1.0.1@css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./LogsOperData.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../../node_modules/_mini-css-extract-plugin@0.6.0@mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/_css-loader@1.0.1@css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./LogsOperData.vue?vue&type=style&index=0&lang=css&\"","import mod from \"-!../../../node_modules/_mini-css-extract-plugin@0.6.0@mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/_css-loader@1.0.1@css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./Container.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../../node_modules/_mini-css-extract-plugin@0.6.0@mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/_css-loader@1.0.1@css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./Container.vue?vue&type=style&index=0&lang=css&\"","module.exports = require(\"vue-the-mask\");","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('PageTable',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}],ref:\"dataTable\",attrs:{\"auto-load\":false,\"page-size\":10,\"data\":_vm.table.data,\"highlight-current-row\":\"\",\"stripe\":\"\",\"border\":\"\"},on:{\"load-data\":_vm.dataTableLoad}},[_c('el-table-column',{attrs:{\"type\":\"expand\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('pre',{staticStyle:{\"white-space\":\"-o-pre-wrap\",\"word-wrap\":\"break-word\"}},[_vm._v(_vm._s(scope.row.opdata))])]}}])}),_c('el-table-column',{attrs:{\"prop\":\"opname\",\"label\":\"操作表名\",\"show-overflow-tooltip\":\"\"}}),_c('el-table-column',{attrs:{\"prop\":\"optype\",\"label\":\"操作类型\",\"formatter\":_vm.optypeFormat,\"show-overflow-tooltip\":\"\"}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!-- 交互日志管理页面 -->\n<template>\n <div>\n <PageTable ref=\"dataTable\" v-loading=\"loading\" :auto-load=\"false\" :page-size=\"10\" @load-data=\"dataTableLoad\" :data=\"table.data\" highlight-current-row stripe border>\n \n <el-table-column type=\"expand\">\n <template slot-scope=\"scope\">\n <pre style=\"white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap;white-space: -o-pre-wrap; word-wrap: break-word;\">{{scope.row.opdata}}</pre>\n </template>\n </el-table-column>\n <el-table-column prop=\"opname\" label=\"操作表名\" show-overflow-tooltip></el-table-column>\n <el-table-column prop=\"optype\" label=\"操作类型\" :formatter=\"optypeFormat\" show-overflow-tooltip></el-table-column>\n </PageTable>\n </div>\n</template>\n<script>\nimport OperDataAPI from \"@/api/base/logs/LogsOper\";\n\nexport default {\n props: {\n uuid: null,\n flag: null\n },\n data() {\n return {\n loading: false,\n table: {\n data: []\n },\n detailedData: false,\n data: {},\n opdata: []\n };\n },\n mounted() {\n this.loadInfo(this.flag, this.uuid);\n },\n watch: {\n uuid(uuid) {\n this.loadInfo(this.flag, this.uuid);\n }\n },\n methods: {\n // 加载数据\n loadInfo(flag, uuid) {\n if (flag === 1) {\n this.$refs.dataTable.load({ opid: uuid });\n } else if (flag === 2) {\n this.$refs.dataTable.load({ seid: uuid });\n }\n },\n dataTableLoad(params, resolve) {\n this.loading = true;\n OperDataAPI.queryLogsOperData(params)\n .then(resolve) // 让表格解析你提供的数据 (主要解析页码等)\n .then(respData => {\n this.table.data = respData.datarows;\n this.loading = false;\n });\n },\n optypeFormat: function(row, column) {\n var par = row[column.property];\n var stat = \"\";\n //没有字典缓存 则刷新\n if (this.sysCode.operDataOpType === undefined) {\n this.refresh();\n }\n this.sysCode.operDataOpType.forEach(val => {\n if (par == val.value) {\n stat = val.label;\n return;\n }\n });\n return stat;\n },\n refresh() {\n this.$store.dispatch(\"base/refreshSysCode\", \"operDataOpType\");\n }\n }\n};\n</script>\n<style>\n.showDataDialog {\n word-wrap: break-word;\n word-break: break-all;\n overflow: hidden;\n}\n</style>\n\n","import mod from \"-!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/_thread-loader@2.1.2@thread-loader/dist/cjs.js!../../../node_modules/_babel-loader@8.0.6@babel-loader/lib/index.js!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./LogsOperData.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/_thread-loader@2.1.2@thread-loader/dist/cjs.js!../../../node_modules/_babel-loader@8.0.6@babel-loader/lib/index.js!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./LogsOperData.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./LogsOperData.vue?vue&type=template&id=ecab3aa6&\"\nimport script from \"./LogsOperData.vue?vue&type=script&lang=js&\"\nexport * from \"./LogsOperData.vue?vue&type=script&lang=js&\"\nimport style0 from \"./LogsOperData.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","module.exports = require(\"element-ui/lib/locale/lang/zh-CN\");","module.exports = require(\"clipboard\");","module.exports = require(\"core-js/modules/es6.string.starts-with\");","import mod from \"-!../../../node_modules/_mini-css-extract-plugin@0.6.0@mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/_css-loader@1.0.1@css-loader/index.js??ref--8-oneOf-1-1!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/_sass-loader@7.1.0@sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&lang=scss&\"; export default mod; export * from \"-!../../../node_modules/_mini-css-extract-plugin@0.6.0@mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/_css-loader@1.0.1@css-loader/index.js??ref--8-oneOf-1-1!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/_sass-loader@7.1.0@sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&lang=scss&\"","module.exports = require(\"core-js/modules/es6.promise\");","import \"babel-polyfill\";\r\nimport Vue from \"vue\";\r\nimport VueI18n from \"vue-i18n\";\r\nimport Vuex from \"vuex\";\r\nimport VueRouter from \"vue-router\";\r\nimport ElementUI from \"element-ui\";\r\n\r\nimport VueProgressBar from \"vue-progressbar\";\r\nimport DlgDraggable from \"vue-element-dialog-draggable\";\r\nimport Vue2Filters from \"vue2-filters\";\r\nimport moment from \"moment\";\r\nimport VueMoment from \"vue-moment\";\r\nimport { mask } from \"vue-the-mask\";\r\n\r\nimport \"animate.css\";\r\nimport \"element-ui/lib/theme-chalk/index.css\";\r\n\r\n//执行基本配置\r\nwindow.location.hash = \"\";\r\nVue.config.lang = \"zh-CN\";\r\n\r\nElementUI.Dialog.props.closeOnClickModal.default = false;\r\nElementUI.Dialog.props.closeOnPressEscape.default = false;\r\nElementUI.FormItem.props.showMessage.default = false;\r\nElementUI.Pagination.props.layout.default = \"total, prev, pager, next,sizes\";\r\n\r\nVue.use(VueRouter);\r\nVue.use(VueI18n);\r\nVue.use(ElementUI, { size: \"compact\", zIndex: 3000 });\r\nVue.use(Vuex);\r\nVue.use(Vue2Filters);\r\n\r\nVue.use(VueMoment, { moment });\r\nVue.use(VueProgressBar, { thickness: \"3px\" });\r\nVue.use(DlgDraggable);\r\nVue.directive(\"mask\", mask);\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',{staticClass:\"page-container\"},[_vm._v(\"404 page not found1\")])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./NotFound.vue?vue&type=template&id=190b082d&scoped=true&\"\nvar script = {}\nimport style0 from \"./NotFound.vue?vue&type=style&index=0&id=190b082d&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"190b082d\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-container',{staticClass:\"app-container\",attrs:{\"direction\":\"vertical\"}},[_c('vue-progress-bar'),_c('Header'),_c('el-container',[_c('Aside'),_c('Container')],1),_c('el-dialog',{attrs:{\"append-to-body\":\"\",\"title\":\"系统提示\",\"visible\":_vm.$store.state.base.loginTimeout,\"width\":\"400px\"},on:{\"update:visible\":function($event){return _vm.$set(_vm.$store.state.base, \"loginTimeout\", $event)}}},[_c('LoginRe')],1),_c('el-dialog',{attrs:{\"append-to-body\":\"\",\"title\":\"修改密码\",\"visible\":_vm.$store.state.base.loginChangePwd,\"width\":\"360px\"},on:{\"update:visible\":function($event){return _vm.$set(_vm.$store.state.base, \"loginChangePwd\", $event)}}},[_c('ChangePw',{on:{\"cancel\":function($event){_vm.$store.state.base.loginChangePwd=false}}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.view.loading),expression:\"view.loading\"}],attrs:{\"element-loading-text\":\"服务器受理中...\"}},[_c('el-form',{ref:\"pwForm\",attrs:{\"model\":_vm.form,\"rules\":_vm.formRules,\"label-position\":\"top\",\"show-message\":false,\"status-icon\":\"\"}},[_c('el-form-item',{attrs:{\"label\":\"原密码\",\"prop\":\"oldpasswd\"}},[_c('el-input',{attrs:{\"type\":\"password\"},model:{value:(_vm.form.oldpasswd),callback:function ($$v) {_vm.$set(_vm.form, \"oldpasswd\", $$v)},expression:\"form.oldpasswd\"}})],1),_c('el-form-item',{attrs:{\"label\":\"新密码\",\"prop\":\"passwd\"}},[_c('el-input',{attrs:{\"type\":\"password\"},model:{value:(_vm.form.passwd),callback:function ($$v) {_vm.$set(_vm.form, \"passwd\", $$v)},expression:\"form.passwd\"}})],1),_c('el-form-item',{attrs:{\"label\":\"确认密码\",\"prop\":\"repasswd\"}},[_c('el-input',{attrs:{\"type\":\"password\"},model:{value:(_vm.form.repasswd),callback:function ($$v) {_vm.$set(_vm.form, \"repasswd\", $$v)},expression:\"form.repasswd\"}})],1)],1),_c('el-row',[_c('el-col',{staticStyle:{\"text-align\":\"center\",\"margin-bottom\":\"10px\"},attrs:{\"span\":24}},[_c('el-button',{attrs:{\"type\":\"primary\",\"size\":\"small\"},on:{\"click\":_vm.submit}},[_vm._v(\"确认修改\")]),_c('el-button',{attrs:{\"size\":\"small\"},on:{\"click\":_vm.cancel}},[_vm._v(\"取消修改\")])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","<template>\n <div v-loading=\"view.loading\" element-loading-text=\"服务器受理中...\">\n <el-form ref=\"pwForm\" :model=\"form\" :rules=\"formRules\" label-position=\"top\" :show-message=\"false\" status-icon>\n <el-form-item label=\"原密码\" prop=\"oldpasswd\">\n <el-input type=\"password\" v-model=\"form.oldpasswd\"></el-input>\n </el-form-item>\n <el-form-item label=\"新密码\" prop=\"passwd\">\n <el-input type=\"password\" v-model=\"form.passwd\"></el-input>\n </el-form-item>\n <el-form-item label=\"确认密码\" prop=\"repasswd\">\n <el-input type=\"password\" v-model=\"form.repasswd\"></el-input>\n </el-form-item>\n </el-form>\n <el-row>\n <el-col :span='24' style='text-align: center;margin-bottom: 10px;'>\n <el-button @click=\"submit\" type=\"primary\" size='small'>确认修改</el-button>\n <el-button @click=\"cancel\" size='small'>取消修改</el-button>\n </el-col>\n </el-row>\n </div>\n</template>\n<script>\nimport { mapGetters } from \"vuex\";\nimport AcesAPI from \"@/api/base/sysm/AcesAPI\";\n\nexport default {\n data() {\n let validateNewpass = (rule, value, callback) => {\n if (!value) {\n callback(new Error(\"请输入新密码\"));\n } else {\n if (value.length < 6) {\n callback(new Error(\"密码长度至少6位\"));\n }\n if (this.form.repasswd !== \"\") {\n this.$refs.pwForm.validateField(\"repasswd\");\n }\n callback();\n }\n };\n let validateReNewpass = (rule, value, callback) => {\n if (!value) {\n callback(new Error(\"请再次输入密码\"));\n } else if (value !== this.form.passwd) {\n callback(new Error(\"两次输入密码不一致!\"));\n } else {\n callback();\n }\n };\n return {\n form: {\n oldpasswd: \"\",\n passwd: \"\",\n repasswd: \"\"\n },\n view: {\n loading: false\n },\n formRules: {\n oldpasswd: [{ required: true, min: 6 }],\n passwd: [{ required: true, validator: validateNewpass }],\n repasswd: [{ required: true, validator: validateReNewpass }]\n }\n };\n },\n computed: {\n ...mapGetters([\"sysLogin\"])\n },\n methods: {\n submit() {\n this.$refs.pwForm.validate(validate => {\n if (validate) {\n this.view.loading = true;\n AcesAPI.changePwd(this.form.oldpasswd, this.form.passwd)\n .then(data => {\n this.view.loading = false;\n AcesAPI.logout().then(() => {\n this.$router.replace(\"/login\");\n });\n })\n .catch(() => {\n this.view.loading = false;\n });\n }\n });\n },\n cancel() {\n this.$emit(\"cancel\");\n }\n }\n};\n</script>\n","import mod from \"-!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/_thread-loader@2.1.2@thread-loader/dist/cjs.js!../../../node_modules/_babel-loader@8.0.6@babel-loader/lib/index.js!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./ChangePw.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/_thread-loader@2.1.2@thread-loader/dist/cjs.js!../../../node_modules/_babel-loader@8.0.6@babel-loader/lib/index.js!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./ChangePw.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ChangePw.vue?vue&type=template&id=18ce79e0&\"\nimport script from \"./ChangePw.vue?vue&type=script&lang=js&\"\nexport * from \"./ChangePw.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-container',{attrs:{\"id\":\"app-container\",\"direction\":\"vertical\"}},[_c('el-tabs',{staticClass:\"hidcon\",attrs:{\"type\":\"card\"},on:{\"tab-remove\":function($event){return _vm.$tabView.removeView($event)}},model:{value:(_vm.$tabView.active),callback:function ($$v) {_vm.$set(_vm.$tabView, \"active\", $$v)},expression:\"$tabView.active\"}},_vm._l((_vm.$tabView.viewList),function(item){return _c('el-tab-pane',{key:item.name,staticClass:\"app-main\",attrs:{\"label\":item.name,\"name\":item.name,\"closable\":item.path!==\"/\"}},[_c('tab-view',{attrs:{\"path\":item.path,\"props-data\":item.propsData}})],1)}),1),_c('el-dropdown',{attrs:{\"size\":\"mini\",\"trigger\":\"click\"}},[_c('el-button',[_c('i',{staticClass:\"el-icon-arrow-down\"})]),_c('el-dropdown-menu',{attrs:{\"slot\":\"dropdown\"},slot:\"dropdown\"},[_c('el-dropdown-item',{nativeOn:{\"click\":function($event){return _vm.$tabView.removeOther()}}},[_vm._v(\"关闭其它\")]),_c('el-dropdown-item',{nativeOn:{\"click\":function($event){return _vm.$tabView.removeBefore()}}},[_vm._v(\"关闭左侧\")]),_c('el-dropdown-item',{nativeOn:{\"click\":function($event){return _vm.$tabView.removeAfter()}}},[_vm._v(\"关闭右侧\")]),_c('el-dropdown-item',{nativeOn:{\"click\":function($event){return _vm.$tabView.removeAll()}}},[_vm._v(\"关闭全部\")])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <el-container id=\"app-container\" direction=\"vertical\">\r\n <el-tabs class='hidcon' v-model=\"$tabView.active\" type=\"card\" @tab-remove=\"$tabView.removeView($event)\">\r\n <el-tab-pane class=\"app-main\" v-for=\"(item) in $tabView.viewList\" :key=\"item.name\" :label=\"item.name\" :name=\"item.name\" :closable='item.path!==\"/\"'>\r\n <tab-view :path=\"item.path\" :props-data=\"item.propsData\" />\r\n </el-tab-pane>\r\n </el-tabs>\r\n\r\n <el-dropdown size=\"mini\" trigger=\"click\">\r\n <el-button>\r\n <i class=\"el-icon-arrow-down\"></i>\r\n </el-button>\r\n <el-dropdown-menu slot=\"dropdown\">\r\n <el-dropdown-item @click.native=\"$tabView.removeOther()\">关闭其它</el-dropdown-item>\r\n <el-dropdown-item @click.native=\"$tabView.removeBefore()\">关闭左侧</el-dropdown-item>\r\n <el-dropdown-item @click.native=\"$tabView.removeAfter()\">关闭右侧</el-dropdown-item>\r\n <el-dropdown-item @click.native=\"$tabView.removeAll()\">关闭全部</el-dropdown-item>\r\n </el-dropdown-menu>\r\n </el-dropdown>\r\n\r\n </el-container>\r\n</template>\r\n\r\n<script>\r\nimport { mapGetters } from \"vuex\";\r\n\r\nexport default {\r\n name: \"Container\",\r\n componentName: \"Container\",\r\n components: {},\r\n data() {\r\n return {};\r\n },\r\n methods: {\r\n formatQueryCode(code) {\r\n let title;\r\n this.$store.state.base.queryDesign.forEach((value, index) => {\r\n if (value.queryname === code) title = value.querytitle;\r\n });\r\n return title;\r\n }\r\n }\r\n};\r\n</script>\r\n\r\n<style>\r\n#app-container {\r\n padding: 6px;\r\n position: relative;\r\n width: 100%;\r\n}\r\n\r\n#app-container > .el-tabs {\r\n height: 100%;\r\n width: 100%;\r\n position: relative;\r\n}\r\n\r\n#app-container > .el-tabs > .el-tabs__header {\r\n margin: 0px;\r\n padding-right: 30px;\r\n height: 30px;\r\n}\r\n\r\n#app-container > .el-tabs > .el-tabs__content {\r\n height: 100%;\r\n position: absolute;\r\n box-sizing: border-box;\r\n padding-top: 30px;\r\n width: 100%;\r\n top: 0;\r\n}\r\n\r\n#app-container > .el-tabs > .el-tab-pane {\r\n height: 100%;\r\n}\r\n\r\n#app-container > .el-tabs > .el-tabs__content {\r\n border-right: 1px solid #e4e7ed;\r\n border-bottom: 1px solid #e4e7ed;\r\n border-left: 1px solid #e4e7ed;\r\n}\r\n\r\n#app-container > .el-tabs > .el-tabs__content > .el-tab-pane {\r\n padding: 6px;\r\n height: 100%;\r\n display: flex;\r\n overflow-y: auto;\r\n flex-direction: column;\r\n box-sizing: border-box;\r\n}\r\n\r\n#app-container .el-dropdown {\r\n position: absolute;\r\n right: 12px;\r\n top: 10px;\r\n}\r\n\r\n#app-container .contextmenu {\r\n margin: 0;\r\n background: #fff;\r\n z-index: 100;\r\n position: absolute;\r\n list-style-type: none;\r\n padding: 5px 0;\r\n border-radius: 4px;\r\n font-size: 12px;\r\n font-weight: 400;\r\n color: #333;\r\n box-shadow: 2px 2px 3px 0 rgba(0, 0, 0, 0.3);\r\n}\r\n\r\n#app-container .contextmenu li {\r\n margin: 0;\r\n padding: 7px 16px;\r\n cursor: pointer;\r\n}\r\n\r\n#app-container .contextmenu li:hover {\r\n background: #eee;\r\n}\r\n</style>\r\n","import mod from \"-!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/_thread-loader@2.1.2@thread-loader/dist/cjs.js!../../../node_modules/_babel-loader@8.0.6@babel-loader/lib/index.js!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./Container.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/_thread-loader@2.1.2@thread-loader/dist/cjs.js!../../../node_modules/_babel-loader@8.0.6@babel-loader/lib/index.js!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./Container.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Container.vue?vue&type=template&id=3bfaa29d&\"\nimport script from \"./Container.vue?vue&type=script&lang=js&\"\nexport * from \"./Container.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Container.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticStyle:{\"position\":\"relative\"}},[_c('el-scrollbar',[_c('el-aside',{staticClass:\"app-aside\",attrs:{\"width\":_vm.asideCollapsed?'auto':'240px'}},[_c('el-menu',{attrs:{\"collapse-transition\":false,\"collapse\":_vm.asideCollapsed,\"default-active\":_vm.$route.path,\"unique-opened\":\"\"}},[_vm._l((_vm.$store.state.base.sysMenus),function(item,index1){return _c('el-submenu',{key:item.uuid,attrs:{\"index\":index1+''}},[_c('template',{slot:\"title\"},[_c('i',{class:'el-icon-fa-'+item.iconUrl}),_c('span',[_vm._v(_vm._s(item.name))])]),_vm._l((item.children),function(child,index2){return _c('el-menu-item',{key:child.permCode,attrs:{\"index\":index1+'-'+index2},nativeOn:{\"click\":function($event){return _vm.selectMenu(child)}}},[_c('i',{class:'el-icon-fa-'+child.iconUrl}),_c('span',[_vm._v(_vm._s(child.name))])])})],2)})],2)],1)],1),_c('p',{staticClass:\"version_btn\"},[_c('el-button',{attrs:{\"slot\":\"reference\",\"size\":\"small\",\"icon\":\"el-icon-more\"},on:{\"click\":function($event){_vm.asideCollapsed=!_vm.asideCollapsed}},slot:\"reference\"})],1),(!_vm.asideCollapsed)?_c('div',{staticClass:\"copyright\"},[_vm._v(_vm._s(_vm.companyInfo))]):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <div style=\"position:relative;\">\r\n <el-scrollbar>\r\n <el-aside class=\"app-aside\" :width=\"asideCollapsed?'auto':'240px'\">\r\n <el-menu :collapse-transition=\"false\" :collapse=\"asideCollapsed\" :default-active=\"$route.path\" unique-opened>\r\n <template>\r\n <el-submenu v-for=\"(item,index1) in $store.state.base.sysMenus\" :key=\"item.uuid \" :index=\"index1+''\">\r\n <template slot=\"title\">\r\n <i :class=\"'el-icon-fa-'+item.iconUrl\"></i>\r\n <span>{{item.name}}</span>\r\n </template>\r\n <el-menu-item v-for=\"(child,index2) in item.children\" :index=\"index1+'-'+index2\" :key=\"child.permCode\" @click.native=\"selectMenu(child)\">\r\n <i :class=\"'el-icon-fa-'+child.iconUrl\"></i>\r\n <span>{{child.name}}</span>\r\n </el-menu-item>\r\n </el-submenu>\r\n </template>\r\n </el-menu>\r\n </el-aside>\r\n </el-scrollbar>\r\n <p class='version_btn'>\r\n <el-button slot=\"reference\" size=\"small\" icon='el-icon-more' @click=\"asideCollapsed=!asideCollapsed\"></el-button>\r\n </p>\r\n <div class=\"copyright\" v-if=\"!asideCollapsed\">{{companyInfo}}</div>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport config from \"@/config.js\";\r\n\r\nexport default {\r\n data() {\r\n return {\r\n companyInfo: config.companyInfo,\r\n asideCollapsed: false\r\n };\r\n },\r\n mounted() {},\r\n methods: {\r\n selectMenu({ name, funcUrl }) {\r\n this.$tabView.addView(name, funcUrl);\r\n }\r\n }\r\n};\r\n</script>\r\n\r\n<style>\r\n</style>\r\n","import mod from \"-!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/_thread-loader@2.1.2@thread-loader/dist/cjs.js!../../../node_modules/_babel-loader@8.0.6@babel-loader/lib/index.js!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./Aside.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/_thread-loader@2.1.2@thread-loader/dist/cjs.js!../../../node_modules/_babel-loader@8.0.6@babel-loader/lib/index.js!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./Aside.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Aside.vue?vue&type=template&id=11208b93&\"\nimport script from \"./Aside.vue?vue&type=script&lang=js&\"\nexport * from \"./Aside.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-header',{staticClass:\"app-top\"},[_c('div',{staticClass:\"logo\"},[(_vm.logo)?_c('img',{attrs:{\"src\":_vm.logo}}):_c('h1',[_vm._v(_vm._s(_vm.title))])]),_c('div',{staticStyle:{\"float\":\"right\"}},[_c('el-select',{staticClass:\"select-lang\",staticStyle:{\"width\":\"100px\"},attrs:{\"placeholder\":\"请选择\"},on:{\"change\":_vm.changeLang},model:{value:(_vm.$store.state.base.lang),callback:function ($$v) {_vm.$set(_vm.$store.state.base, \"lang\", $$v)},expression:\"$store.state.base.lang\"}},_vm._l((_vm.langs),function(item){return _c('el-option',{key:item.value,attrs:{\"label\":item.label,\"value\":item.value}})}),1),_c('el-dropdown',{attrs:{\"trigger\":\"click\",\"size\":\"small\"}},[_c('span',{staticClass:\"el-dropdown-link userinfo-inner\"},[_c('el-button',{attrs:{\"type\":\"text\",\"icon\":\"el-icon-fa-user\"}},[_vm._v(_vm._s(_vm.$store.state.base.sysUser.userId))])],1),_c('el-dropdown-menu',{attrs:{\"slot\":\"dropdown\"},slot:\"dropdown\"},[_c('el-dropdown-item',{nativeOn:{\"click\":function($event){_vm.$store.state.base.loginChangePwd=true}}},[_vm._v(\"修改密码\")]),_c('el-dropdown-item',{attrs:{\"divided\":\"\"},nativeOn:{\"click\":function($event){return _vm.logout($event)}}},[_vm._v(\"退出登录\")])],1)],1),_c('el-button',{staticClass:\"margin-right-4 margin-left-2\",attrs:{\"type\":\"text\",\"icon\":_vm.fullScreenModel?'alibaba al-iconzuixiaohua':'alibaba al-zuidahua1',\"title\":_vm.fullScreenModel?'退出全屏模式':'进入全屏模式'},on:{\"click\":_vm.cfullScreenModel}})],1),_c(_vm.embedHeader,{tag:\"component\"})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export default {\n \"zh-CN\": {\n title: \"中文\",\n serverError: {\n \"000100\": \"用户会话超时!\",\n \"000200\": \"安全服务错误!\",\n \"000300\": \"校验服务错误!\",\n \"000400\": \"系统后台错误!\",\n \"000500\": \"网络服务错误!\"\n },\n httpError: {\n title: \"请求服务器失败\",\n \"404\": \"服务器无法找到资源!\",\n \"406\": \"请求格式无效!\",\n \"400\": \"服务器拒绝了您的请求!\",\n \"500\": \"服务器有一个错误!\",\n \"504\": \"服务器请求超时!\"\n },\n ui: {\n sysCode: {\n noCode: \"\"\n }\n },\n common: {\n serverReceiving: \"服务器受理中...\",\n tableLoading: \"数据加载中...\"\n },\n router: {\n Home: \"主页\",\n Setting: \"设置\",\n Query: \"查询\",\n UserMgr: \"用户管理\",\n RoleMgr: \"角色管理\",\n OrgMgr: \"组织管理\",\n PermMgr: \"功能权限\",\n CodeMgr: \"字典管理\",\n ParaMgr: \"参数管理\",\n QueryMgr: \"查询设计\",\n Business: \"业务管理\",\n Maintenance: \"维护\",\n LogsOper: \"交互日志\",\n LogsServ: \"服务日志\",\n LogsSign: \"登录日志\"\n }\n },\n en: {\n title: \"English\",\n httpError: {\n title: \"request server failed\",\n \"404\": \"server cannot find resource \",\n \"406\": \"the request format is invalid.\",\n \"400\": \"the server has rejected your request ! \",\n \"500\": \"the server has an error !\",\n \"504\": \"the server request time out !\"\n },\n common: {\n serverReceiving: \"server processing...\",\n tableLoading: \"data loading...\"\n },\n router: {\n Home: \"Home\",\n Setting: \"Setting\",\n Query: \"Query\",\n UserMgr: \"User Mgr\",\n RoleMgr: \"Role Mgr\",\n OrgMgr: \"Org Mgr\",\n PermMgr: \"Perm Mgr\",\n CodeMgr: \"Code Mgr\",\n ParaMgr: \"Para Mgr\",\n QueryMgr: \"Query Mgr\",\n LogsOper: \"Logs Oper\",\n LogsServ: \"Logs Serv\",\n LogsSign: \"Logs Sign\"\n }\n }\n};\n","<template>\r\n <el-header class=\"app-top\">\r\n <div class=\"logo\">\r\n <img v-if=\"logo\" :src=\"logo\" />\r\n <h1 v-else>{{title}}</h1>\r\n </div>\r\n <div style=\"float:right;\">\r\n <el-select v-model=\"$store.state.base.lang\" placeholder=\"请选择\" @change=\"changeLang\" style=\"width:100px;\" class=\"select-lang\">\r\n <el-option v-for=\"item in langs\" :key=\"item.value\" :label=\"item.label\" :value=\"item.value\"></el-option>\r\n </el-select>\r\n <el-dropdown trigger=\"click\" size=\"small\">\r\n <span class=\"el-dropdown-link userinfo-inner\">\r\n <el-button type=\"text\" icon=\"el-icon-fa-user\">{{$store.state.base.sysUser.userId}}</el-button>\r\n </span>\r\n <el-dropdown-menu slot=\"dropdown\">\r\n <el-dropdown-item @click.native=\"$store.state.base.loginChangePwd=true\">修改密码</el-dropdown-item>\r\n <el-dropdown-item divided @click.native=\"logout\">退出登录</el-dropdown-item>\r\n </el-dropdown-menu>\r\n </el-dropdown>\r\n <el-button class='margin-right-4 margin-left-2' type=\"text\" :icon=\"fullScreenModel?'alibaba al-iconzuixiaohua':'alibaba al-zuidahua1'\" :title=\"fullScreenModel?'退出全屏模式':'进入全屏模式'\" @click=\"cfullScreenModel\"></el-button>\r\n </div>\r\n\r\n <!-- 项目自定义header组件 -->\r\n <component :is=\"embedHeader\"></component>\r\n\r\n </el-header>\r\n</template>\r\n\r\n<script>\r\nimport Vue from \"vue\";\r\nimport moment from \"moment\";\r\nimport config from \"@/config\";\r\nimport Locales from \"@/locale/locale\";\r\nimport AcesAPI from \"@/api/base/sysm/AcesAPI\";\r\n\r\nexport default {\r\n components: {},\r\n data() {\r\n return {\r\n fullScreenModel: false,\r\n openCompanyInfo: false,\r\n\r\n title: config.title,\r\n logo: config.logo,\r\n embedHeader: config.embedHeader\r\n };\r\n },\r\n computed: {\r\n langs() {\r\n return Object.keys(Locales).map((localeName, locale) => {\r\n return { label: Locales[localeName][\"title\"], value: localeName };\r\n });\r\n }\r\n },\r\n watch: {\r\n \"$store.state.base.lang\"(lang) {\r\n Vue.config.lang = lang;\r\n moment.locale(lang);\r\n }\r\n },\r\n mounted() {\r\n let lang = window.localStorage.getItem(\"lang\") || Vue.config.lang;\r\n this.$store.commit(\"base/updateState\", { lang });\r\n //监听是否全屏来同步更改头部图标\r\n this.syncWindowFull();\r\n },\r\n methods: {\r\n openSettingView() {\r\n this.$store.dispatch(\"base/addTabPagesName\", {\r\n name: \"设置\",\r\n path: \"/usrm/setting\"\r\n });\r\n },\r\n handleOpenTab(tabName, tabLabel, tabUrl) {\r\n this.$store.dispatch(\"base/openTab\", { tabName, tabLabel, tabUrl });\r\n },\r\n changeLang(lang) {\r\n window.localStorage.setItem(\"lang\", lang);\r\n this.$store.commit(\"base/updateState\", { lang });\r\n },\r\n logout() {\r\n this.$confirm(\"确认退出吗?\", \"提示\", { type: \"warning\" }).then(() => {\r\n AcesAPI.logout().then(() => {\r\n this.$router.push({\r\n path: \"/login\"\r\n });\r\n });\r\n });\r\n },\r\n //全屏模式控制\r\n cfullScreenModel() {\r\n if (this.fullScreenModel) {\r\n if (document.exitFullscreen) {\r\n document.exitFullscreen();\r\n } else if (document.mozCancelFullScreen) {\r\n //FireFox\r\n document.mozCancelFullScreen();\r\n } else if (document.webkitCancelFullScreen) {\r\n //Chrome等\r\n document.webkitCancelFullScreen();\r\n } else if (document.msExitFullscreen) {\r\n //IE11\r\n document.msExitFullscreen();\r\n }\r\n } else {\r\n let docElm = document.documentElement;\r\n //W3C\r\n if (docElm.requestFullscreen) {\r\n docElm.requestFullscreen();\r\n } else if (docElm.mozRequestFullScreen) {\r\n //FireFox\r\n docElm.mozRequestFullScreen();\r\n } else if (docElm.webkitRequestFullScreen) {\r\n //Chrome等\r\n docElm.webkitRequestFullScreen();\r\n } else if (docElm.msRequestFullscreen) {\r\n //IE11\r\n docElm.msRequestFullscreen();\r\n }\r\n }\r\n this.fullScreenModel = !this.fullScreenModel;\r\n },\r\n //监听是否全屏来同步更改头部图标\r\n syncWindowFull() {\r\n document.addEventListener(\"fullscreenchange\", () => {\r\n this.fullScreenModel = !!(\r\n document.fullscreenEnabled ||\r\n window.fullScreen ||\r\n document.webkitIsFullScreen ||\r\n document.msFullscreenEnabled\r\n );\r\n });\r\n\r\n document.addEventListener(\"webkitfullscreenchange\", () => {\r\n this.fullScreenModel = !!(\r\n document.fullscreenEnabled ||\r\n window.fullScreen ||\r\n document.webkitIsFullScreen ||\r\n document.msFullscreenEnabled\r\n );\r\n });\r\n\r\n document.addEventListener(\"mozfullscreenchange\", () => {\r\n this.fullScreenModel = !!(\r\n document.fullscreenEnabled ||\r\n window.fullScreen ||\r\n document.webkitIsFullScreen ||\r\n document.msFullscreenEnabled\r\n );\r\n });\r\n\r\n document.addEventListener(\"MSFullscreenChange\", () => {\r\n this.fullScreenModel = !!(\r\n document.fullscreenEnabled ||\r\n window.fullScreen ||\r\n document.webkitIsFullScreen ||\r\n document.msFullscreenEnabled\r\n );\r\n });\r\n }\r\n }\r\n};\r\n</script>","import mod from \"-!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/_thread-loader@2.1.2@thread-loader/dist/cjs.js!../../../node_modules/_babel-loader@8.0.6@babel-loader/lib/index.js!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./Header.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/_thread-loader@2.1.2@thread-loader/dist/cjs.js!../../../node_modules/_babel-loader@8.0.6@babel-loader/lib/index.js!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./Header.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Header.vue?vue&type=template&id=9e58c908&\"\nimport script from \"./Header.vue?vue&type=script&lang=js&\"\nexport * from \"./Header.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import CacheStores from \"./CacheStores\";\nimport store from \"@/store\";\nimport { Notification } from \"element-ui\";\n\nfunction notify() {\n Notification.success({\n title: \"成功\",\n message: \"系统字典已经更新.\"\n });\n}\n\nexport default {\n // 监听字典改变\n async OBSERVER_TOPIC_CACHE_CODE(data) {\n await store.dispatch(\"base/refreshSysCode\", data.message.codetype);\n notify();\n },\n\n // 监听树改变\n async OBSERVER_TOPIC_CACHE_TREE(data) {\n await CacheStores.codeTreeStore.iterate((value, key, iterationNumber) => {\n if (key.startsWith(data.message.treetype)) {\n CacheStores.codeTreeStore.removeItem(key);\n }\n });\n CacheStores.codeTreeStore.setItem(\"VERSION\", data.message.version);\n notify();\n },\n\n /**\n * 修正缓存数据\n * @param {String } tocpic 要修正的主题\n * @param {String} version 检测版本号.\n */\n async repairWith(tocpic, version) {\n if (!version) {\n return;\n }\n if (!tocpic) {\n return;\n }\n // 树刷新\n if (tocpic === \"OBSERVER_TOPIC_CACHE_TREE\") {\n let data = await CacheStores.codeTreeStore.getItem(\"VERSION\");\n if (data !== version) {\n CacheStores.codeTreeStore.iterate((value, key, iterationNumber) => {\n CacheStores.codeTreeStore.removeItem(key);\n });\n }\n CacheStores.codeTreeStore.setItem(\"VERSION\", version);\n }\n // 字典项刷新\n if (tocpic === \"OBSERVER_TOPIC_CACHE_CODE\") {\n let data = await CacheStores.codeListStore.getItem(\"VERSION\");\n if (data !== version) {\n CacheStores.codeListStore.iterate((value, key, iterationNumber) => {\n CacheStores.codeListStore.removeItem(key);\n });\n }\n CacheStores.codeListStore.setItem(\"VERSION\", version);\n }\n }\n};\n","<template>\r\n <el-container class=\"app-container\" direction=\"vertical\">\r\n <vue-progress-bar></vue-progress-bar>\r\n <Header/>\r\n <el-container>\r\n <Aside/>\r\n <Container/>\r\n </el-container>\r\n\r\n <el-dialog append-to-body title=\"系统提示\" :visible.sync=\"$store.state.base.loginTimeout\" width=\"400px\">\r\n <LoginRe/>\r\n </el-dialog>\r\n <el-dialog append-to-body title=\"修改密码\" :visible.sync=\"$store.state.base.loginChangePwd\" width=\"360px\">\r\n <ChangePw @cancel=\"$store.state.base.loginChangePwd=false\"></ChangePw>\r\n </el-dialog>\r\n\r\n </el-container>\r\n</template>\r\n<script>\r\n import {Loading} from \"element-ui\";\r\n import ChangePw from \"@/module/sysm/ChangePw\";\r\n import Container from \"@/views/layout/Container\";\r\n import Aside from \"@/views/layout/Aside\";\r\n import Header from \"@/views/layout/Header\";\r\n import CacheService from \"../service/module/CacheService\";\r\n import config from \"@/config.js\";\r\n\r\n export default {\r\n components: {Container, Aside, Header, ChangePw},\r\n data() {\r\n return {\r\n changepwd: false\r\n };\r\n },\r\n async mounted() {\r\n let loading = Loading.service({\r\n lock: true,\r\n text: \"系统初始化...\",\r\n spinner: \"el-icon-loading\",\r\n background: \"rgba(0, 0, 0, 0.7)\"\r\n });\r\n try {\r\n let data = await this.$store.dispatch(\"base/getLoginInfo\");\r\n if (config.needLogin && data.respCode === config.respCode.timeout) {\r\n this.$router.replace(\"/login\");\r\n }\r\n CacheService.repairWith(data.ttocpic, data.tversion);\r\n CacheService.repairWith(data.ctocpic, data.cversion);\r\n if (config.init) {\r\n config.init(this);\r\n delete config[\"init\"];\r\n }\r\n } finally {\r\n loading.close();\r\n }\r\n }\r\n };\r\n</script>\r\n\r\n\r\n","import mod from \"-!../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../node_modules/_thread-loader@2.1.2@thread-loader/dist/cjs.js!../../node_modules/_babel-loader@8.0.6@babel-loader/lib/index.js!../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./Home.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../node_modules/_thread-loader@2.1.2@thread-loader/dist/cjs.js!../../node_modules/_babel-loader@8.0.6@babel-loader/lib/index.js!../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./Home.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Home.vue?vue&type=template&id=7c64e364&\"\nimport script from \"./Home.vue?vue&type=script&lang=js&\"\nexport * from \"./Home.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/_vue-loader@15.7.1@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"login\"},[_c('div',{staticClass:\"login-bg animated fast login-in\",staticStyle:{\"background-image\":\"url('./img/login_bg.jpg')\"}}),_c('div',{staticClass:\"login-con animated fadeIn\"},[_c('el-form',{ref:\"loginForm\",staticClass:\"login-form\",attrs:{\"model\":_vm.loginForm,\"rules\":_vm.rules}},[_c('h1',[_c('i',{staticClass:\"el-icon-fa el-icon-fa-sign-in\"}),_vm._v(\" 欢迎登陆\")]),_c('div',{staticClass:\"input-con\"},[_c('el-form-item',{attrs:{\"prop\":\"userid\"}},[_c('el-input',{attrs:{\"type\":\"text\",\"placeholder\":\"账号\",\"size\":\"large\"},nativeOn:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.handleSubmit($event)}},model:{value:(_vm.loginForm.userid),callback:function ($$v) {_vm.$set(_vm.loginForm, \"userid\", $$v)},expression:\"loginForm.userid\"}},[_c('i',{staticClass:\"el-icon-fa el-icon-fa-user\",attrs:{\"slot\":\"prepend\"},slot:\"prepend\"})])],1),_c('el-form-item',{attrs:{\"prop\":\"passwd\"}},[_c('el-input',{attrs:{\"type\":\"password\",\"placeholder\":\"密码\",\"size\":\"large\"},nativeOn:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.handleSubmit($event)}},model:{value:(_vm.loginForm.passwd),callback:function ($$v) {_vm.$set(_vm.loginForm, \"passwd\", $$v)},expression:\"loginForm.passwd\"}},[_c('i',{staticClass:\"el-icon-fa el-icon-fa-lock\",attrs:{\"slot\":\"prepend\"},slot:\"prepend\"})])],1),(_vm.needCaptcha)?_c('el-form-item',{attrs:{\"prop\":\"captcha\"}},[_c('el-input',{attrs:{\"type\":\"text\",\"placeholder\":\"验证码\",\"size\":\"large\",\"maxlength\":\"5\"},model:{value:(_vm.loginForm.captcha),callback:function ($$v) {_vm.$set(_vm.loginForm, \"captcha\", $$v)},expression:\"loginForm.captcha\"}},[_c('img',{staticClass:\"captcha\",attrs:{\"slot\":\"prepend\",\"src\":_vm.captchaUrl},on:{\"click\":_vm.changeCaptcha},nativeOn:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.handleSubmit($event)}},slot:\"prepend\"})])],1):_vm._e(),_c('el-button',{staticClass:\"btnSubmit\",attrs:{\"type\":\"primary\",\"loading\":_vm.loading},nativeOn:{\"click\":function($event){$event.preventDefault();return _vm.handleSubmit($event)}}},[_vm._v(\"登录\")])],1)])],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <div class='login'>\n <!-- <transition name=\"fade\">\n <ErrorTips></ErrorTips>\n </transition> -->\n <div class=\"login-bg animated fast login-in\" style=\"background-image: url('./img/login_bg.jpg')\"></div>\n <div class=\"login-con animated fadeIn\">\n <el-form class=\"login-form\" :model=\"loginForm\" :rules=\"rules\" ref=\"loginForm\">\n <h1>\n <i class=\"el-icon-fa el-icon-fa-sign-in\"></i>&nbsp;欢迎登陆</h1>\n <div class=\"input-con\">\n <el-form-item prop=\"userid\">\n <el-input type=\"text\" v-model=\"loginForm.userid\" placeholder=\"账号\" size=\"large\" @keyup.native.enter='handleSubmit'>\n <i slot=\"prepend\" class=\"el-icon-fa el-icon-fa-user\"></i>\n </el-input>\n </el-form-item>\n <el-form-item prop=\"passwd\">\n <el-input type=\"password\" v-model=\"loginForm.passwd\" placeholder=\"密码\" size=\"large\" @keyup.native.enter='handleSubmit'>\n <i slot=\"prepend\" class=\"el-icon-fa el-icon-fa-lock\"></i>\n </el-input>\n </el-form-item>\n <el-form-item prop=\"captcha\" v-if=\"needCaptcha\">\n <el-input type=\"text\" v-model=\"loginForm.captcha\" placeholder=\"验证码\" size=\"large\" maxlength=\"5\">\n <img slot=\"prepend\" class=\"captcha\" @click=\"changeCaptcha\" :src=\"captchaUrl\" @keyup.native.enter='handleSubmit'>\n </el-input>\n </el-form-item>\n <el-button class=\"btnSubmit\" type=\"primary\" @click.native.prevent=\"handleSubmit\" :loading=\"loading\">登录</el-button>\n </div>\n </el-form>\n </div>\n </div>\n</template>\n<script>\nimport config from \"@/config\";\nimport AcesAPI from \"@/api/base/sysm/AcesAPI.js\";\n\nexport default {\n computed: {},\n data() {\n return {\n loading: false,\n needCaptcha: false,\n captchaUrl: `${config.ajaxUrl}/anon/captcha.jpg`,\n loginForm: {\n userid: \"\",\n passwd: \"\",\n captcha: \"\"\n },\n rules: {\n userid: [{ required: true, message: \"请输入账号\" }],\n passwd: [{ required: true, message: \"请输入密码\" }],\n captcha: [{ required: true, message: \"验证码不能为空\" }]\n }\n };\n },\n async mounted() {\n //取出是否需要验证码\n\n this.needCaptcha = window.localStorage.getItem(\"login-captcha\") === \"true\";\n },\n methods: {\n //切换验证码\n changeCaptcha() {\n this.captchaUrl = `${\n config.ajaxUrl\n }/anon/captcha.jpg?_dc=${new Date().getTime()}`;\n },\n // 处理登陆按钮\n async handleSubmit() {\n await this.$refs.loginForm.validate();\n this.loading = true;\n\n try {\n await AcesAPI.logck(this.loginForm.userid);\n await this.doLogin();\n } catch (e) {\n if (e.data.respCode === \"020110\") {\n if (window.confirm(e.data.respDesc)) {\n this.doLogin();\n }\n }\n } finally {\n this.loading = false;\n }\n },\n //执行最终登录\n async doLogin(confirm) {\n try {\n let data = await AcesAPI.login(this.loginForm).then();\n window.localStorage.setItem(config.loginToken, true);\n window.localStorage.removeItem(\"login-captcha\");\n this.$store.state.base.loginChangePwd = data.changepwd;\n this.$router.push(\"/\");\n } catch (e) {\n this.needCaptcha = e.data.captcha;\n window.localStorage.setItem(\"login-captcha\", this.needCaptcha);\n this.changeCaptcha();\n }\n }\n }\n};\n</script>\n<style lang=\"scss\" >\n.login {\n position: absolute;\n width: 100%;\n height: 100%;\n overflow: hidden;\n}\n\n.login-bg {\n background-size: cover;\n position: absolute;\n width: 100%;\n height: 100%;\n}\n\n@keyframes login-in {\n 100% {\n transform: scale(1, 1);\n opacity: 1;\n }\n 0% {\n transform: scale(1.4, 1.4);\n opacity: 0;\n }\n}\n\n.login-in {\n animation-name: login-in;\n}\n\n.login-con {\n position: absolute;\n right: 160px;\n top: 50%;\n -webkit-transform: translateY(-60%);\n transform: translateY(-60%);\n width: 300px;\n min-height: 200px;\n background-color: #fff;\n border-radius: 4px;\n .login-form {\n box-shadow: none;\n h1 {\n height: 30px;\n line-height: 30px;\n margin: 0;\n font-size: 12px;\n padding-left: 15px;\n padding-bottom: 5px;\n padding-top: 5px;\n border-bottom: 1px solid #ccc;\n }\n .input-con {\n padding: 15px 20px;\n }\n .el-form-item {\n border-radius: 4px;\n margin-bottom: 1em;\n }\n .el-icon-fa::before {\n font-size: 15px;\n }\n input {\n height: 30px;\n line-height: 30px;\n background-color: #fff !important;\n padding-left: 12px;\n }\n .el-input-group__prepend {\n width: 20px;\n text-align: center;\n }\n .btnSubmit {\n height: 30px;\n width: 100%;\n }\n }\n .captcha {\n cursor: pointer;\n height: 20px;\n }\n}\n</style>\n","import mod from \"-!../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../node_modules/_thread-loader@2.1.2@thread-loader/dist/cjs.js!../../node_modules/_babel-loader@8.0.6@babel-loader/lib/index.js!../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./Login.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../node_modules/_thread-loader@2.1.2@thread-loader/dist/cjs.js!../../node_modules/_babel-loader@8.0.6@babel-loader/lib/index.js!../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./Login.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Login.vue?vue&type=template&id=06185d74&\"\nimport script from \"./Login.vue?vue&type=script&lang=js&\"\nexport * from \"./Login.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Login.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/_vue-loader@15.7.1@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import NotFound from \"@/views/error/NotFound.vue\";\nimport Home from \"@/views/Home.vue\";\nimport Login from \"@/views/Login.vue\";\n\nexport default [\n { path: \"/\", component: Home },\n { path: \"/home\", component: Home },\n { path: \"/login\", component: Login },\n { path: \"/404\", component: NotFound },\n { path: \"/*\", component: NotFound }\n];\n","let base = {\r\n \"/\": require(\"@/views/Main.vue\")\r\n};\r\n\r\nlet log = {\r\n \"/logs/LogsOper\": require(\"@/module/logs/LogsOper.vue\"),\r\n \"/logs/LogsServ\": require(\"@/module/logs/LogsServ.vue\"),\r\n \"/logs/LogsSign\": require(\"@/module/logs/LogsSign.vue\"),\r\n \"/logs/LogsQuartz\": require(\"@/module/logs/LogsQuartz.vue\")\r\n};\r\n\r\nlet usrm = {\r\n \"/sysm/UserMgr\": require(\"@/module/usrm/UserMgr.vue\"),\r\n \"/sysm/RoleMgr\": require(\"@/module/usrm/RoleMgr.vue\"),\r\n \"/sysm/OrgMgr\": require(\"@/module/usrm/OrgMgr.vue\"),\r\n \"/sysm/PermMgr\": require(\"@/module/usrm/PermMgr.vue\")\r\n};\r\n\r\nlet sysm = {\r\n \"/sysm/CodeMgr\": require(\"@/module/sysm/CodeMgr.vue\"),\r\n \"/sysm/ParaMgr\": require(\"@/module/sysm/ParaMgr.vue\"),\r\n \"/sysm/QueryMgr\": require(\"@/module/sysm/QueryMgr.vue\"),\r\n \"/sysm/TaskMgr\": require(\"@/module/sysm/TaskMgr.vue\"),\r\n \"/sysm/Notice\": require(\"@/module/sysm/Notice.vue\")\r\n};\r\n\r\nexport default Object.assign(base, log, usrm, sysm);","import { Table } from \"element-ui\";\n\n/**\n * 默认参数\n */\nconst defaultParams = {\n total: 0,\n pageNum: 1,\n pageSize: 10,\n orderField: null,\n orderDirection: null\n};\n\nexport default {\n name: \"PageTable\",\n props: {\n ...Table.props,\n data: {\n type: Array,\n default: function () {\n return [];\n }\n },\n title: {\n type: String,\n default: \"数据查询列表\"\n },\n hideTitle: {\n type: Boolean,\n default: false\n },\n\n load: {\n type: Function,\n default() {\n this.doLoadData(...arguments)\n }\n },\n hideExport: {\n type: Boolean,\n default: false\n },\n autoLoad: {\n type: Boolean,\n default: false\n },\n autoHeight: {\n type: Boolean,\n default: false\n },\n pageSize: {\n type: Number,\n default: 10\n },\n height: {\n type: [Number, String]\n },\n rowKey: {\n type: String,\n default: \"uuid\"\n },\n pageLayout: {\n type: String,\n default: \"total, sizes, prev, pager, next\"\n },\n //是否显示自动刷新\n showAutoUpdate: {\n type: Boolean,\n default: false\n },\n //自动刷新间隔s\n interval: {\n type: Number,\n default: 5000\n },\n //定时器开关\n runTimer: {\n type: Boolean,\n default: false\n }\n },\n\n data() {\n return {\n isLoading: false,\n params: Object.assign({}, defaultParams, { pageSize: this.pageSize }),\n //定时器\n timer: null\n };\n },\n mounted() {\n if (this.autoLoad) {\n this.load();\n }\n this.checkTimer(this.runTimer);\n },\n activated: function () {\n this.checkTimer(this.runTimer);\n },\n deactivated: function () {\n this.clearTimer();\n },\n destroyed: function () {\n this.clearTimer();\n },\n methods: {\n //检查定时器\n checkTimer(e) {\n e ? this.addTimer() : this.clearTimer();\n },\n //启动定时器\n addTimer() {\n if (!this.timer) {\n if (!this.autoLoad) this.load();\n this.timer = setInterval(() => {\n this.load();\n }, this.interval);\n }\n },\n //清除定时器\n clearTimer() {\n if (this.timer) {\n clearInterval(this.timer);\n this.timer = null;\n }\n },\n // 代理原有方法\n setCurrentRow(row) {\n this.$refs.theTable.setCurrentRow(row);\n },\n\n toggleRowSelection(row, selected) {\n this.$refs.theTable.toggleRowSelection(row, selected);\n },\n\n clearSelection() {\n this.$refs.theTable.clearSelection();\n },\n /**\n * 还原参数信息\n */\n restore() {\n Object.assign(this.params, defaultParams);\n },\n changeSort({ column, prop, order }) {\n if (order) {\n this.params.orderField = prop;\n this.params.orderDirection = order.replace(\"ending\", \"\");\n } else {\n this.params.orderField = null;\n this.params.orderDirection = null;\n }\n this.load();\n },\n changePage(page) {\n this.params.pageNum = page;\n this.load();\n },\n changeSize(size) {\n this.params.pageSize = size;\n this.params.pageNum = 0;\n this.load();\n },\n doLoadData(params) {\n this.isLoading = true;\n this.$emit(\"load-data\", Object.assign(this.params, params), data => {\n this.params.total = data.totalRows;\n this.params.pageSize = data.pageSize;\n this.params.pageNum = data.pageNum;\n //如果没有数据返回 则页面显示高度为默认\n if (Array.isArray(data.datarows) && data.datarows.length === 0) {\n this.params.pageSize = this.pageSize;\n this.params.pageNum = 0;\n }\n this.params = Object.assign(this.params, params);\n this.isLoading = false;\n return data;\n });\n },\n download(params) {\n params.agile = \"export\";\n let columns = [];\n this.$refs.theTable.$children.forEach(function (element) {\n if (element.prop && element.label) {\n let column_t = {\n field: element.prop.trim(),\n label: element.label.trim()\n };\n //判断该字段是否是字典项\n if (element.$attrs.dict !== undefined) {\n column_t[\"sysCode\"] =\n element.$attrs.dict.length > 0\n ? element.$attrs.dict.trim()\n : element.prop.trim();\n }\n columns.push(column_t);\n }\n }, this);\n columns = JSON.stringify(columns);\n this.$emit(\n \"load-data\",\n Object.assign({ columns }, this.params, params),\n data => {\n return data;\n }\n );\n },\n currentChange(currentRow, oldCurrentRow) {\n this.currentRow = currentRow;\n },\n getTableIndex(index) {\n if (this.params.pageNum && this.params.pageSize) {\n return (this.params.pageNum - 1) * this.params.pageSize + index + 1;\n }\n return index + 1;\n }\n },\n render(h) {\n return (\n <div class=\"eport-table-wrap\">\n {!this.hideTitle ? (\n <div class=\"table-header\">\n <div class=\"table-header__title\">{this.title}</div>\n <div class=\"table-header__buttons\">{this.$slots.buttons}</div>\n {this.showAutoUpdate ? (\n <div class=\"pull-right margin-right-2\">\n <el-checkbox\n checked={this.runTimer}\n on-change={e => this.checkTimer(e)}\n >\n 自动更新\n </el-checkbox>\n </div>\n ) : null}\n </div>\n ) : null}\n <el-table\n ref=\"theTable\"\n style={{ \"minHeight\": \"280px\" }}\n data={this.data}\n v-loading={this.isLoading}\n element-loading-text={this.$t(\"common.tableLoading\")}\n onSort-change={this.changeSort}\n // 代理所有其他事件\n onRow-click={(...args) => {\n this.$emit(\"row-click\", ...args);\n }}\n onSelect={(...args) => {\n this.$emit(\"select\", ...args);\n }}\n onSelect-all={(...args) => {\n this.$emit(\"select-all\", ...args);\n }}\n onSelection-change={(...args) => {\n this.$emit(\"selection-change\", ...args);\n }}\n onCell-mouse-enter={(...args) => {\n this.$emit(\"cell-mouse-enter\", ...args);\n }}\n onCell-mouse-leave={(...args) => {\n this.$emit(\"cell-mouse-leave\", ...args);\n }}\n onCell-click={(...args) => {\n this.$emit(\"cell-click\", ...args);\n }}\n onCell-dblclick={(...args) => {\n this.$emit(\"cell-dblclick\", ...args);\n }}\n onRow-contextmenu={(...args) => {\n this.$emit(\"row-contextmenu\", ...args);\n }}\n onRow-dblclick={(...args) => {\n this.$emit(\"row-dblclick\", ...args);\n }}\n onHeader-click={(...args) => {\n this.$emit(\"header-click\", ...args);\n }}\n onFilter-change={(...args) => {\n this.$emit(\"filter-change\", ...args);\n }}\n onCurrent-change={(...args) => {\n this.$emit(\"current-change\", ...args);\n }}\n onHeader-dragend={(...args) => {\n this.$emit(\"header-dragend\", ...args);\n }}\n onExpand={(...args) => {\n this.$emit(\"expand\", ...args);\n }}\n {...{ attrs: this.$props }}\n // height={!this.autoHeight ? this.params.pageSize * 20 + 225 : null}\n >\n <el-table-column\n type=\"index\"\n fixed=\"left\"\n index={this.getTableIndex}\n width=\"55\"\n align=\"center\"\n />\n {this.$slots.default}\n {this.$slots.append}\n </el-table>\n <div class=\"table-footer\">\n {!this.hideExport ? (\n <div class=\"table-actions\">\n <el-button\n type=\"success\"\n plain\n // class=\"font-green\"\n icon=\"el-icon-fa-file-excel-o\"\n onClick={() => {\n this.download({ down: \"xls\", mode: \"page\" });\n }}\n >\n 本页\n </el-button>\n <el-button\n type=\"success\"\n plain\n // class=\"font-green\"\n icon=\"el-icon-fa-file-excel-o\"\n onClick={() => {\n this.download({ down: \"xls\", mode: \"full\" });\n }}\n >\n 全部\n </el-button>\n <el-button\n // class=\"font-red\"\n type=\"danger\"\n plain\n icon=\"el-icon-fa-file-pdf-o\"\n onClick={() => {\n this.download({ down: \"pdf\", mode: \"page\" });\n }}\n >\n 本页\n </el-button>\n <el-button\n // class=\"font-red\"\n type=\"danger\"\n plain\n icon=\"el-icon-fa-file-pdf-o\"\n onClick={() => {\n this.download({ down: \"pdf\", mode: \"full\" });\n }}\n >\n 全部\n </el-button>\n </div>\n ) : null}\n <el-pagination\n background\n onCurrent-change={this.changePage}\n onSize-change={this.changeSize}\n currentPage={parseInt(this.params.pageNum)}\n pageSize={this.params.pageSize}\n total={this.params.total}\n layout={this.pageLayout}\n />\n </div>\n </div>\n );\n }\n};\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"clickoutside\",rawName:\"v-clickoutside\",value:(_vm.handleClose),expression:\"handleClose\"}],staticClass:\"et-selector\",on:{\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"])){ return null; }$event.stopPropagation();$event.preventDefault();return _vm.handleClose($event)}}},[_c('el-input',{ref:\"reference\",attrs:{\"size\":_vm.size,\"type\":\"text\",\"placeholder\":_vm.placeholder,\"name\":_vm.name,\"disabled\":_vm.disabled,\"readonly\":\"\",\"validate-event\":false},on:{\"focus\":_vm.handleFocus},nativeOn:{\"mousedown\":function($event){return _vm.handleMouseDown($event)},\"mouseenter\":function($event){_vm.inputHovering = true},\"mouseleave\":function($event){_vm.inputHovering = false}},model:{value:(_vm.selectedLabel),callback:function ($$v) {_vm.selectedLabel=$$v},expression:\"selectedLabel\"}},[_c('i',{class:_vm.iconClass,attrs:{\"slot\":\"suffix\"},on:{\"click\":_vm.handleIconClick},slot:\"suffix\"})]),_c('transition',{attrs:{\"name\":\"el-zoom-in-top\"},on:{\"after-leave\":_vm.doDestroy}},[_c('el-select-menu',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.visible),expression:\"visible\"}],ref:\"popper\",staticClass:\"et-selector__picker\"},[_vm._t(\"default\")],2)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <div class=\"et-selector\" v-clickoutside=\"handleClose\" @keydown.esc.stop.prevent=\"handleClose\">\n\n <el-input ref=\"reference\" v-model=\"selectedLabel\" @focus=\"handleFocus\" @mousedown.native=\"handleMouseDown\" @mouseenter.native=\"inputHovering = true\" @mouseleave.native=\"inputHovering = false\"\n :size=\"size\" type=\"text\" :placeholder=\"placeholder\" :name=\"name\" :disabled=\"disabled\" readonly :validate-event=\"false\">\n <i slot=\"suffix\" :class=\"iconClass\" @click=\"handleIconClick\"></i>\n </el-input>\n\n <transition name=\"el-zoom-in-top\" @after-leave=\"doDestroy\">\n <el-select-menu class=\"et-selector__picker\" ref=\"popper\" v-show=\"visible\">\n <slot></slot>\n </el-select-menu>\n </transition>\n </div>\n</template>\n\n<script>\nimport Emitter from \"element-ui/lib/mixins/emitter\";\nimport Locale from \"element-ui/lib/mixins/locale\";\nimport Clickoutside from \"element-ui/lib/utils/clickoutside\";\nimport { t } from \"element-ui/lib/locale\";\nimport { getValueByPath } from \"element-ui/lib/utils/util\";\nimport Select from \"element-ui/lib/select\";\nimport { PopupManager } from \"element-ui/lib/utils/popup\";\n\nlet ElSelectMenu = Select.components.ElSelectMenu;\n\n/**\n * 数据选择器输入框\n * 具体看demo吧.\n * 2017年7月25日19:28:20\n */\nexport default {\n name: \"EtSelector\",\n componentName: \"EtSelector\",\n mixins: [Emitter, Locale],\n directives: { Clickoutside },\n components: { ElSelectMenu },\n props: {\n size: String,\n name: String,\n disabled: Boolean,\n clearable: Boolean,\n loading: Boolean,\n valueKey: { type: String, default: \"\" },\n labelKey: { type: String, default: \"\" },\n initLabel: { type: String, default: \"\" },\n title: { type: String, default: \"\" },\n value: {\n required: true\n },\n placeholder: {\n type: String,\n default() {\n return t(\"el.select.placeholder\");\n }\n }\n },\n data() {\n return {\n cleared: false,\n selectedLabel: \"\",\n selectedValue: \"\",\n inputHovering: false,\n visible: false\n };\n },\n computed: {\n iconClass() {\n let criteria =\n this.clearable &&\n !this.disabled &&\n this.inputHovering &&\n ((this.value !== undefined && this.value !== \"\") ||\n (this.selected !== undefined && this.selected.length > 0));\n return criteria ? \"el-icon-circle-close is-show-close\" : \"el-icon-search\";\n }\n },\n mounted() {\n this.$on(\"selectTableRow\", this.selectTableRow);\n this.$on(\"selectTable\", this.selectTable);\n this.showDefault();\n if (this.$refs.popper) {\n this.$refs.popper.$el.style.zIndex = PopupManager.nextZIndex();\n }\n },\n watch: {\n visible(val) {\n if (!val) {\n this.broadcast(\"ElSelectDropdown\", \"destroyPopper\");\n this.$refs.reference.$el.querySelector(\"input\").blur();\n this.broadcast(\"ElSelectDropdown\", \"destroyPopper\");\n } else {\n this.broadcast(\"ElSelectDropdown\", \"updatePopper\");\n if (this.$refs.popper) {\n this.$refs.popper.$el.style.zIndex = PopupManager.nextZIndex();\n }\n }\n },\n initLabel(val) {\n this.showDefault();\n },\n value(val) {\n if (!val) {\n this.showDefault();\n }\n }\n },\n\n methods: {\n handleClose() {\n this.visible = false;\n this.dispatch(\"ElFormItem\", \"el.form.blur\", [this.selectedValue]);\n },\n handleShow() {\n this.visible = true;\n },\n toggleMenu() {\n this.visible = !this.visible;\n },\n handleFocus() {\n this.visible = true;\n },\n handleMouseDown() {\n if (event.target.tagName !== \"INPUT\") return;\n if (this.visible) {\n this.handleClose();\n event.preventDefault();\n }\n },\n showDefault() {\n if (this.initLabel && !this.cleared) {\n this.selectedLabel = this.initLabel;\n } else if (this.value) {\n this.selectedLabel = this.value;\n } else {\n this.selectedLabel = \"\";\n }\n },\n doDestroy() {\n this.$refs.popper && this.$refs.popper.doDestroy();\n },\n handleMenuEnter() {},\n handleIconClick(event) {\n if (this.iconClass.indexOf(\"el-icon-circle-close\") > -1) {\n this.deleteSelected(event);\n } else {\n this.toggleMenu();\n }\n },\n deleteSelected(event) {\n event.stopPropagation();\n this.selectedLabel = \"\";\n this.cleared = true;\n this.handleClose();\n this.$emit(\"clear\");\n this.$emit(\"input\", this.selectedLabel);\n this.dispatch(\"ElFormItem\", \"el.form.change\", [this.selectedValue]);\n this.dispatch(\"ElFormItem\", \"el.form.blur\", [this.selectedValue]);\n },\n getValueKey(item) {\n const type = typeof item;\n if (type === \"number\" || type === \"string\") {\n return item;\n } else {\n return getValueByPath(item, this.labelKey);\n }\n },\n selectTableRow(row) {\n this.selectedLabel = getValueByPath(row, this.labelKey);\n this.selectedValue = this.valueKey\n ? getValueByPath(row, this.valueKey)\n : row;\n this.handleClose();\n this.$emit(\"select\", row, this.selectedValue, this.selectedLabel);\n this.$emit(\"input\", this.selectedValue);\n this.dispatch(\"ElFormItem\", \"el.form.change\", [this.selectedValue]);\n this.dispatch(\"ElFormItem\", \"el.form.blur\", [this.selectedValue]);\n }\n }\n};\n</script>\n\n<style lang=\"scss\">\n@import \"../styles/vars\";\n\n.et-selector {\n .el-input__inner {\n cursor: pointer;\n }\n &__tags {\n min-width: 180px;\n display: block;\n .el-input {\n &__inner {\n display: block;\n margin: 0;\n height: initial;\n min-height: 26px;\n }\n }\n .el-tag {\n margin: 1px 2px;\n height: 18px;\n line-height: 18px;\n box-sizing: border-box;\n }\n }\n &__picker {\n margin-top: 10px;\n padding: 3px;\n }\n}\n</style>\n","import mod from \"-!../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../node_modules/_thread-loader@2.1.2@thread-loader/dist/cjs.js!../../node_modules/_babel-loader@8.0.6@babel-loader/lib/index.js!../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./Selector.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../node_modules/_thread-loader@2.1.2@thread-loader/dist/cjs.js!../../node_modules/_babel-loader@8.0.6@babel-loader/lib/index.js!../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./Selector.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Selector.vue?vue&type=template&id=688b80c1&\"\nimport script from \"./Selector.vue?vue&type=script&lang=js&\"\nexport * from \"./Selector.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Selector.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/_vue-loader@15.7.1@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"la-panel\",class:_vm.panelClass,attrs:{\"tabindex\":1}},[_c('div',{staticClass:\"la-panel__header\",on:{\"dblclick\":_vm.handleDblClick}},[_c('i',{staticClass:\"la-panel__icon\",class:_vm.panelIcon}),(!_vm.collapse)?_c('span',[_vm._v(\"\\n \"+_vm._s(_vm.title)+\"\\n \")]):_vm._e(),(_vm.collapse)?_c('span',{staticClass:\"la-panel__colbtn\",on:{\"click\":_vm.handleCollapse}},[_c('i',{staticClass:\"la-panel__colbtn__icon el-icon-d-arrow-right\"}),_c('span',[_vm._v(_vm._s(_vm.title))])]):_vm._e(),(_vm.$slots.help)?_c('el-popover',{attrs:{\"placement\":\"top\",\"popper-class\":\"la-panel-help-popper\"},model:{value:(_vm.showHelp),callback:function ($$v) {_vm.showHelp=$$v},expression:\"showHelp\"}},[_c('div',[_vm._t(\"help\")],2),_c('template',{slot:\"reference\"},[_c('i',{staticClass:\"el-icon-question\",staticStyle:{\"color\":\"#2d8cf0\",\"cursor\":\"pointer\",\"margin-left\":\"4px\"}})])],2):_vm._e(),_c('div',{staticClass:\"la-panel__buttons\"},[_vm._t(\"buttons\"),(_vm.maxable)?_c('el-button',{attrs:{\"icon\":_vm.state!=='maximize'?'el-icon-fa-window-maximize':'el-icon-fa-window-minimize',\"type\":\"text\",\"title\":\"点击最大化\"},on:{\"click\":_vm.handleDblClick}}):_vm._e()],2),_c('div',{staticStyle:{\"clear\":\"both\"}})],1),_c('div',{staticClass:\"la-panel__body \"},[_vm._t(\"default\"),_c('div',{staticStyle:{\"clear\":\"both\"}})],2),_c('div',{staticStyle:{\"clear\":\"both\"}})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <div class=\"la-panel\" :class=\"panelClass\" :tabindex=\"1\">\r\n <div class=\"la-panel__header\" @dblclick=\"handleDblClick\">\r\n <i class=\"la-panel__icon\" :class=\"panelIcon\"></i>\r\n\r\n <span v-if=\"!collapse\">\r\n {{title}}\r\n </span>\r\n\r\n <span v-if=\"collapse\" class=\"la-panel__colbtn\" @click=\"handleCollapse\">\r\n <i class=\"la-panel__colbtn__icon el-icon-d-arrow-right\"></i>\r\n <span>{{title}}</span>\r\n </span>\r\n\r\n <el-popover v-if=\"$slots.help\" placement=\"top\" v-model=\"showHelp\" popper-class=\"la-panel-help-popper\">\r\n <div>\r\n <slot name=\"help\" />\r\n </div>\r\n <template slot=\"reference\">\r\n <i style=\"color:#2d8cf0;cursor:pointer;margin-left:4px\" class=\"el-icon-question\"></i>\r\n </template>\r\n </el-popover>\r\n\r\n <div class=\"la-panel__buttons\">\r\n <slot name=\"buttons\" />\r\n <el-button v-if=\"maxable\" :icon=\"state!=='maximize'?'el-icon-fa-window-maximize':'el-icon-fa-window-minimize'\" type=\"text\" title=\"点击最大化\" @click=\"handleDblClick\" />\r\n </div>\r\n\r\n <div style=\"clear:both\"></div>\r\n </div>\r\n\r\n <div class=\"la-panel__body \">\r\n <slot />\r\n <div style=\"clear:both\"></div>\r\n </div>\r\n\r\n <div style=\"clear:both\"></div>\r\n\r\n </div>\r\n\r\n</template>\r\n\r\n<script>\r\nconst panelManager = {\r\n idx: 0,\r\n next() {\r\n ++this.idx;\r\n }\r\n};\r\n\r\nexport default {\r\n name: \"panel\",\r\n props: {\r\n maxable: { type: Boolean, default: false },\r\n collapse: { type: Boolean, default: false },\r\n light: { type: Boolean, default: false },\r\n icon: { type: String },\r\n full: { type: Boolean, default: false },\r\n title: { type: String, required: true }\r\n },\r\n computed: {\r\n panelIcon() {\r\n return this.light && !this.collapse ? \"el-icon-d-arrow-right\" : this.icon;\r\n },\r\n panelClass() {\r\n return [\r\n {\r\n \"la-panel--full\": this.full,\r\n \"la-panel--collapse\": this.collapse,\r\n \"la-panel--light\": this.light,\r\n \"la-panel--icon\": !!this.icon\r\n },\r\n \"la-panel--\" + this.state\r\n ];\r\n }\r\n },\r\n data() {\r\n return {\r\n showHelp: false,\r\n state: \"opened\"\r\n };\r\n },\r\n beforeMount() {\r\n if (this.collapse) {\r\n this.state = \"closed\";\r\n }\r\n },\r\n mounted() {\r\n this.$el.tabindex = panelManager.next();\r\n this.$el.addEventListener(\"keydown\", e => {\r\n if (e.keyCode == 112) {\r\n if (this.$slots.help) {\r\n this.showHelp = !this.showHelp;\r\n }\r\n e.preventDefault();\r\n }\r\n });\r\n\r\n this.$el.addEventListener(\"mousedown\", e => {\r\n // document\r\n // .querySelectorAll(\".la-panel\")\r\n // .forEach(i => i.classList.remove(\"la-panel--focus\"));\r\n // e.currentTarget.classList.add(\"la-panel-focus\");\r\n });\r\n },\r\n methods: {\r\n handleCollapse() {\r\n if (this.state === \"closed\") {\r\n this.state = \"opened\";\r\n } else {\r\n this.state = \"closed\";\r\n }\r\n },\r\n handleDblClick() {\r\n if (!this.maxable) {\r\n return;\r\n }\r\n this.state = this.state === \"maximize\" ? \"\" : \"maximize\";\r\n }\r\n }\r\n};\r\n</script>\r\n","import mod from \"-!../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../node_modules/_thread-loader@2.1.2@thread-loader/dist/cjs.js!../../node_modules/_babel-loader@8.0.6@babel-loader/lib/index.js!../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./Panel.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../node_modules/_thread-loader@2.1.2@thread-loader/dist/cjs.js!../../node_modules/_babel-loader@8.0.6@babel-loader/lib/index.js!../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./Panel.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Panel.vue?vue&type=template&id=49fb14ae&\"\nimport script from \"./Panel.vue?vue&type=script&lang=js&\"\nexport * from \"./Panel.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/_vue-loader@15.7.1@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","let component = {\n props: {\n value: {\n type: String,\n default: null\n },\n type: {\n type: String,\n default: null\n }\n },\n data() {\n return {\n text: \"\"\n };\n },\n computed: {},\n render(h) {\n // 不然可能无法正常更新.\n let value = this.value;\n this.$store.dispatch(\"base/loadSysCode\", this.type).then(code => {\n let c = code.data.find(c => c.key === value);\n if (c) {\n this.text = c.label;\n }\n });\n return <span>{this.text ? this.text : <span class=\"'font-red-error'\"> {this.$t(\"ui.sysCode.noCode\")} </span>}</span>;\n }\n};\n\nlet directive = {\n bind(el, binding, vnode, oldnode) {\n let codeType = binding.value;\n vnode.context.$store.dispatch(\"base/loadSysCode\", codeType);\n }\n};\n\nexport default { directive, component };\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticStyle:{\"margin-top\":\"1px\"}},[_c('el-button',{attrs:{\"type\":\"success\",\"plain\":\"\",\"icon\":\"el-icon-fa-file-excel-o\"},on:{\"click\":function($event){return _vm.handleExport('excel','page')}}},[_vm._v(\"本页\")]),_c('el-button',{attrs:{\"type\":\"success\",\"plain\":\"\",\"icon\":\"el-icon-fa-file-excel-o\"},on:{\"click\":function($event){return _vm.handleExport('excel','full')}}},[_vm._v(\"全部\")]),_c('el-button',{attrs:{\"type\":\"danger\",\"plain\":\"\",\"icon\":\"el-icon-fa-file-pdf-o\"},on:{\"click\":function($event){return _vm.handleExport('excel','page')}}},[_vm._v(\"本页\")]),_c('el-button',{attrs:{\"type\":\"danger\",\"plain\":\"\",\"icon\":\"el-icon-fa-file-pdf-o\"},on:{\"click\":function($event){return _vm.handleExport('excel','full')}}},[_vm._v(\"全部\")])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <div style=\"margin-top:1px;\">\r\n <el-button type=\"success\" plain icon=\"el-icon-fa-file-excel-o\" @click=\"handleExport('excel','page')\">本页</el-button>\r\n <el-button type=\"success\" plain icon=\"el-icon-fa-file-excel-o\" @click=\"handleExport('excel','full')\">全部</el-button>\r\n <el-button type=\"danger\" plain icon=\"el-icon-fa-file-pdf-o\" @click=\"handleExport('excel','page')\">本页</el-button>\r\n <el-button type=\"danger\" plain icon=\"el-icon-fa-file-pdf-o\" @click=\"handleExport('excel','full')\">全部</el-button>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nexport default {\r\n name: \"export-ctrl\",\r\n props: {},\r\n methods: {\r\n handleExport(type, mode) {\r\n this.$emit(\"export\", { type, mode });\r\n }\r\n }\r\n};\r\n</script>\r\n\r\n<style>\r\n</style>\r\n","import mod from \"-!../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../node_modules/_thread-loader@2.1.2@thread-loader/dist/cjs.js!../../node_modules/_babel-loader@8.0.6@babel-loader/lib/index.js!../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./ExportCtrl.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../node_modules/_thread-loader@2.1.2@thread-loader/dist/cjs.js!../../node_modules/_babel-loader@8.0.6@babel-loader/lib/index.js!../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./ExportCtrl.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ExportCtrl.vue?vue&type=template&id=76616c02&\"\nimport script from \"./ExportCtrl.vue?vue&type=script&lang=js&\"\nexport * from \"./ExportCtrl.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/_vue-loader@15.7.1@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}","/**\r\n * 负责渲染页面的组件\r\n */\r\nconst TabViewComponent = {\r\n name: \"tab-view\",\r\n functional: true,\r\n props: {\r\n path: {\r\n type: String\r\n },\r\n propsData: {}\r\n },\r\n render(_, { props, children, parent, data }) {\r\n const h = parent.$createElement;\r\n data.props = props.propsData;\r\n let comp = parent.$tabView.views[props.path];\r\n\r\n if (comp) {\r\n return h(comp.default, data, children);\r\n } else {\r\n return h(\"div\", {}, [\"没有找到注册的组件[\" + props.path + \"]\"]);\r\n }\r\n }\r\n};\r\n\r\nexport default class TabView {\r\n forceFirst = true;\r\n active = \"首页\";\r\n viewList = [{ name: \"首页\", path: \"/\" }];\r\n views = {};\r\n\r\n constructor(config) {\r\n Object.assign(this, config);\r\n }\r\n\r\n addView(name, path, propsData) {\r\n let idx = this.viewList.findIndex(item => item.name === name);\r\n if (idx === -1) this.viewList.push({ name, path, propsData });\r\n this.active = name;\r\n }\r\n\r\n removeView(name) {\r\n let idx = this.viewList.findIndex(item => item.name === name);\r\n if (idx > -1) {\r\n this.active = this.viewList[idx - 1].name;\r\n this.viewList.splice(idx, 1);\r\n }\r\n }\r\n changeName(oldName, newName) {\r\n let idx = this.viewList.findIndex(item => item.name === oldName);\r\n if (idx > -1) {\r\n this.viewList[idx].name = this.active = newName;\r\n }\r\n }\r\n removeOther() {\r\n this.removeBefore();\r\n this.removeAfter();\r\n }\r\n removeAfter() {\r\n let idx = this.viewList.findIndex(item => item.name === this.active);\r\n this.viewList.splice(idx + 1);\r\n }\r\n removeBefore() {\r\n let idx = this.viewList.findIndex(item => item.name === this.active);\r\n if (this.forceFirst) {\r\n this.viewList.splice(1, idx - 1);\r\n } else {\r\n this.viewList.splice(0, idx - 1);\r\n }\r\n }\r\n removeAll() {\r\n if (this.forceFirst) {\r\n this.viewList.splice(1);\r\n this.active = this.viewList[0].name;\r\n } else {\r\n this.viewList.splice(0);\r\n }\r\n }\r\n}\r\n\r\nTabView.install = function install(Vue, option) {\r\n const isDef = v => v !== undefined;\r\n\r\n Vue.mixin({\r\n beforeCreate() {\r\n if (isDef(this.$root.$options.tabView)) {\r\n this._tabView = this.$root.$options.tabView;\r\n Vue.util.defineReactive(this, \"_tabView\", this._tabView);\r\n }\r\n }\r\n });\r\n Object.defineProperty(Vue.prototype, \"$tabView\", {\r\n get() {\r\n return this._tabView;\r\n }\r\n });\r\n Vue.component(\"TabView\", TabViewComponent);\r\n};\r\n","import Sortable from \"sortablejs\";\r\n\r\nlet VelTableSort = {\r\n bind(el, binding, vnode, oldnode) {\r\n const tbody = el.querySelectorAll(\".el-table__body-wrapper > table > tbody\")[0];\r\n\r\n const orderKey = binding.arg;\r\n\r\n Sortable.create(tbody, {\r\n ghostClass: \"sortable-ghost\",\r\n chosenClass: \"sortable-chosen\",\r\n animation: 150,\r\n setData: function(dataTransfer) {\r\n dataTransfer.setData(\"Text\", \"\");\r\n },\r\n onEnd({ newIndex, oldIndex }) {\r\n const data = vnode.componentInstance.data;\r\n const targetRow = data.splice(oldIndex, 1)[0];\r\n data.splice(newIndex, 0, targetRow);\r\n data.forEach((item, idx) => (item[orderKey] = idx + 1));\r\n }\r\n });\r\n }\r\n};\r\n\r\nexport default VelTableSort;\r\n","/**\r\n * @Author: Sun Rising\r\n * @Date: 2019-02-19 10:48:26\r\n * @Last Modified by: Sun Rising\r\n * @Last Modified time: 2019-03-01 13:37:19\r\n * @Description: 权限管理-按钮权限指令\r\n * 使用说明:\r\n * 1.功能:如果当前登录的用户所拥有的角色未选择按钮级的权限,那么这个按钮将被隐藏。\r\n * 2.添加规则,在功能权限菜单中进行添加 “菜单类型”选择按钮,“功能地址”填写你所控制的按钮在当前菜单组中的哪个页面上,“功能编码”填写按钮的key\r\n * 3.使用规则,在你想要控制的按钮上添加“v-buttonAuth”指令,传入字符串key,例如v-buttonAuth=\"'user_add'\"\r\n */\r\n/**\r\n * 查找权限范围内是否匹配到到当前 的按钮\r\n * @param {*} data 权限范围\r\n * @param {*} group 分组\r\n * @param {*} key 按钮的key\r\n */\r\nfunction v_auth(data, group, key) {\r\n let is = false;\r\n if (Array.isArray(data)) {\r\n data.forEach((value, index) => {\r\n if (value.funcUrl === \"/\" + group) {\r\n value.children.forEach((value2, index2) => {\r\n value2.children.forEach((value3, index3) => {\r\n if (value3.permCode === key) {\r\n is = true;\r\n }\r\n });\r\n });\r\n }\r\n });\r\n }\r\n return is;\r\n}\r\n\r\nexport default {\r\n bind(el, binding, vnode, oldnode) {},\r\n inserted(formEl, binding, vnode, oldnode) {\r\n let sysMenus = vnode.context.$store.state.base.sysMenus;\r\n let tabPagesPath = vnode.context.$store.getters.tabPagesPath;\r\n let key = binding.value;\r\n //获取最后一级目录\r\n let paths = tabPagesPath.split(\"/\");\r\n let group = paths[1];\r\n\r\n if (!v_auth(sysMenus, group, key)) {\r\n formEl.remove();\r\n }\r\n },\r\n update(el, binding, vnode, oldnode) {}\r\n};\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}],attrs:{\"element-loading-spinner\":\"el-icon-loading\",\"element-loading-text\":_vm.loadingText}},[(_vm.titleSearchForm)?_c('Panel',{attrs:{\"title\":_vm.titleSearchForm}},[_c('template',{slot:\"buttons\"},[_c('el-button',{staticClass:\"blue\",attrs:{\"type\":\"primary\",\"icon\":\"el-icon-search\"},on:{\"click\":function($event){return _vm.pageTable.handleLoad()}}},[_vm._v(\"查询\")]),_c('el-button',{staticClass:\"yellow\",attrs:{\"type\":\"primary\",\"icon\":\"el-icon-refresh\"},on:{\"click\":function($event){return _vm.pageTable.handleReset()}}},[_vm._v(\"重置\")])],1),_c('el-form',{ref:\"queryform\",attrs:{\"inline\":\"\",\"model\":_vm.pageTable.param}},[_vm._t(\"search-form\",null,{\"formData\":_vm.pageTable.param})],2)],2):_vm._e(),_c('Panel',{attrs:{\"title\":_vm.titleDataTable}},[_c('template',{slot:\"buttons\"},[_vm._t(\"table-buttons\",null,{\"data\":_vm.pageTable}),(_vm.allowAdd)?_c('el-button',{staticClass:\"blue\",attrs:{\"type\":\"primary\",\"icon\":\"el-icon-plus\"},on:{\"click\":_vm.handleAdd}},[_vm._v(\"新增\")]):_vm._e()],2),_c('el-table',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.pageTable.isLoading),expression:\"pageTable.isLoading\"}],attrs:{\"border\":\"\",\"data\":_vm.pageTable.data,\"element-loading-spinner\":\"el-icon-loading\",\"element-loading-text\":\"数据加载中\",\"max-height\":_vm.tableMaxHeight}},[_vm._t(\"table-columns\"),_c('el-table-column',{attrs:{\"prop\":\"memo\",\"label\":\"操作\",\"width\":\"80\",\"align\":\"center\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [(_vm.allowEdit)?_c('el-button',{staticClass:\"blue\",attrs:{\"type\":\"primary\"},on:{\"click\":function($event){return _vm.handleEdit(scope.row)}}},[_vm._v(\"编辑\")]):_vm._e(),(_vm.allowDelete)?_c('el-button',{staticClass:\"red\",attrs:{\"type\":\"primary\"},on:{\"click\":function($event){return _vm.handleDelete(scope.row)}}},[_vm._v(\"删除\")]):_vm._e()]}}])})],2),(_vm.allowExport)?_c('export-ctrl',{staticClass:\"pull-left\",on:{\"export\":function($event){return _vm.pageTable.handleExport($event)}}}):_vm._e(),(_vm.allowPagination)?_c('el-pagination',{attrs:{\"background\":\"\",\"page-size\":_vm.pageTable.size,\"current-page\":_vm.pageTable.curr,\"total\":_vm.pageTable.total},on:{\"update:pageSize\":function($event){return _vm.$set(_vm.pageTable, \"size\", $event)},\"update:page-size\":function($event){return _vm.$set(_vm.pageTable, \"size\", $event)},\"update:currentPage\":function($event){return _vm.$set(_vm.pageTable, \"curr\", $event)},\"update:current-page\":function($event){return _vm.$set(_vm.pageTable, \"curr\", $event)}}}):_vm._e()],2),_c('el-dialog',{attrs:{\"visible\":_vm.editor.visible,\"width\":_vm.editorWidth,\"append-to-body\":\"\"},on:{\"update:visible\":function($event){return _vm.$set(_vm.editor, \"visible\", $event)}}},[_c('div',{staticClass:\"font-white\",attrs:{\"slot\":\"title\"},slot:\"title\"},[_c('i',{staticClass:\"el-icon-edit\"}),_vm._v(\"\\n \"+_vm._s(_vm.editor.title)+\"\\n \")]),(_vm.editor.visible)?_c('div',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.editor.loading),expression:\"editor.loading\"}],attrs:{\"element-loading-spinner\":\"el-icon-loading\"}},[(_vm.editor.ready)?_vm._t(\"editor\",null,{\"data\":_vm.editor.data}):_vm._e(),_c('div',{staticClass:\"text-center\"},[_vm._t(\"buttons\"),_c('el-button',{staticClass:\"blue\",attrs:{\"type\":\"primary\",\"size\":\"mini\"},on:{\"click\":_vm.handleSave}},[_vm._v(\"保存\")])],2)],2):_vm._e()])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * 用法\n * ```\n * new PageTable({\n autoLoad: false, //不允许自动加载\n doLoad(param){\n return axios.get('....',param).\n then(()=>{\n return {data:resp.data,total:resp.total}\n })\n }, //加载调用方法\n param: {},\n log:false // 是否开启调试\n })\n * ```\n */\n\nconst paramName = {\n size: \"pageSize\",\n page: \"pageNum\",\n total: \"totalRows\",\n data: \"datarows\",\n sort: \"sort\"\n};\n\n/**\n * 连接查询表单,表格,分页组件\n */\nclass PageTable {\n data = [];\n param = {};\n total = 0;\n autoLoad = false;\n isLoading = false;\n isLog = false;\n sort = \"\";\n\n lastParam = {}; //最后一次加载的参数\n\n loaded = false; //初始化还没有加载状态\n _param = {};\n\n _curr = 1;\n _size = 20;\n\n /**\n * 加载方法[占位]\n * @param param.page 页码\n * @param param.size 页长\n */\n doLoad(param) {}\n\n constructor(config) {\n this.doLoad = config[\"doLoad\"];\n this.autoLoad = config[\"autoLoad\"];\n this._param = config[\"param\"] || {};\n this.isLog = config[\"log\"] === true;\n this.columns = config[\"columns\"];\n\n this.handleReset();\n\n if (this.autoLoad) {\n this.handleLoad();\n }\n }\n\n /**\n * 处理加载\n */\n async handleLoad() {\n let param = {\n [paramName.page]: this.curr,\n [paramName.size]: this.size,\n [paramName.sort]: this.sort\n };\n Object.assign(param, this.param);\n this.isLoading = true;\n try {\n if (this.isLog) {\n console.log(\"表格即將加載:\", param);\n }\n let resp = await this.doLoad(param);\n let data = resp[paramName.data];\n let total = resp[paramName.total];\n this.strengData(data);\n this.data = data;\n this.total = total;\n this.lastParam = param;\n } finally {\n this.isLoading = false;\n }\n }\n\n /**\n * 强化数据,为数据增加编辑中,加载中等状态\n * @param {Array} data 要处理的数据,必须是一个数组\n */\n strengData(data) {\n //加工数据\n data.forEach(rc => {\n rc.$isLoading = false;\n rc.$isEditing = false;\n });\n }\n\n /**\n *响应排序处理\n * @param {{column:String,order:String}} sort elementUI的排序事件\n */\n handleSort(sort) {\n this.sort = \"\";\n if (sort.column) {\n let od = sort.order === \"descending\" ? \"desc\" : \"asc\";\n this.sort = sort.prop + \",\" + od;\n }\n let ignore=this.handleLoad();\n }\n\n /**\n * 响应导出\n * @param {{type:String,mode:['page'|'full']}} exp 导出组件的导出事件\n */\n handleExport(exp) {\n let param = Object.assign({}, this.lastParam, exp);\n param[paramName.sort] = this.sort;\n if (exp.mode === \"page\") {\n param[paramName.page] = this.curr;\n param[paramName.size] = this.size;\n }\n\n if (this.isLog) {\n console.log(\"表格即將导出:\", param);\n }\n this.doLoad(param);\n }\n\n /**\n * 重置查询表单\n */\n handleReset() {\n this.param = Object.assign({}, this._param);\n }\n\n get curr() {\n return this._curr;\n }\n\n set curr(curr) {\n let nld = this._curr !== curr;\n this._curr = curr;\n //只有改变页码的时候才加载数据\n if (nld) this.handleLoad();\n }\n\n get size() {\n return this._size;\n }\n\n set size(size) {\n this._size = size;\n this.handleLoad();\n }\n}\n\nexport default PageTable;\n","<template>\r\n <div v-loading=\"loading\" element-loading-spinner=\"el-icon-loading\" :element-loading-text=\"loadingText\">\r\n <Panel :title=\"titleSearchForm\" v-if=\"titleSearchForm\">\r\n <template slot=\"buttons\">\r\n <el-button type=\"primary\" @click=\"pageTable.handleLoad()\" class=\"blue\" icon=\"el-icon-search\">查询</el-button>\r\n <el-button type=\"primary\" @click=\"pageTable.handleReset()\" class=\"yellow\" icon=\"el-icon-refresh\">重置</el-button>\r\n </template>\r\n <el-form inline :model=\"pageTable.param\" ref=\"queryform\">\r\n <slot name=\"search-form\" v-bind:formData=\"pageTable.param\"></slot>\r\n </el-form>\r\n </Panel>\r\n <Panel :title=\"titleDataTable\">\r\n <template slot=\"buttons\">\r\n <slot name=\"table-buttons\" :data=\"pageTable\"/>\r\n <el-button v-if=\"allowAdd\" type=\"primary\" @click=\"handleAdd\" class=\"blue\" icon=\"el-icon-plus\">新增</el-button>\r\n </template>\r\n <el-table border :data=\"pageTable.data\" element-loading-spinner=\"el-icon-loading\" v-loading=\"pageTable.isLoading\" element-loading-text=\"数据加载中\" :max-height=\"tableMaxHeight\">\r\n <slot name=\"table-columns\"/>\r\n <el-table-column prop=\"memo\" label=\"操作\" width=\"80\" align=\"center\">\r\n <template slot-scope=\"scope\">\r\n <el-button v-if=\"allowEdit\" type=\"primary\" @click=\"handleEdit(scope.row)\" class=\"blue\">编辑</el-button>\r\n <el-button v-if=\"allowDelete\" type=\"primary\" @click=\"handleDelete(scope.row)\" class=\"red\">删除</el-button>\r\n </template>\r\n </el-table-column>\r\n </el-table>\r\n <export-ctrl v-if=\"allowExport\" class=\"pull-left\" @export=\"pageTable.handleExport($event)\"/>\r\n <el-pagination v-if=\"allowPagination\" background :page-size.sync=\"pageTable.size\" :current-page.sync=\"pageTable.curr\" :total=\"pageTable.total\"/>\r\n </Panel>\r\n <el-dialog :visible.sync=\"editor.visible\" :width=\"editorWidth\" append-to-body>\r\n <div slot=\"title\" class=\"font-white\">\r\n <i class=\"el-icon-edit\"></i>\r\n {{editor.title}}\r\n </div>\r\n <div v-if=\"editor.visible\" element-loading-spinner=\"el-icon-loading\" v-loading=\"editor.loading\">\r\n <slot name=\"editor\" :data=\"editor.data\" v-if=\"editor.ready\"/>\r\n <div class=\"text-center\">\r\n <slot name=\"buttons\"/>\r\n <el-button type=\"primary\" @click=\"handleSave\" class=\"blue\" size=\"mini\">保存</el-button>\r\n </div>\r\n </div>\r\n </el-dialog>\r\n </div>\r\n</template>\r\n\r\n<script>\r\n import PageTable from '../libs/PageTable'\r\n\r\n export default {\r\n name: \"CurdPanel\",\r\n props: {\r\n allowExport: {type: Boolean, default: true},\r\n allowPagination: {type: Boolean, default: true},\r\n allowAdd: {type: Boolean, default: true},\r\n allowEdit: {type: Boolean, default: true},\r\n allowDelete: {type: Boolean, default: true},\r\n titleSearchForm: {type: String, require: true},\r\n titleDataTable: {type: String, require: true},\r\n titleEditor: {type: String, require: true},\r\n editorWidth: {type: String, require: true},\r\n editorDefaultData: {\r\n type: Object, require: false, default() {\r\n return {}\r\n }\r\n },\r\n tableMaxHeight: {type: [String,Number]},\r\n editorValidate: {type: Function},\r\n searchParam: {type: Object},\r\n doQuery: {type: Function},\r\n doGet: {type: Function},\r\n doSave: {type: Function},\r\n doDelete: {type: Function},\r\n closeOnSave: {type: Boolean, default: false},\r\n autoLoad: {type: Boolean, default: false},\r\n },\r\n data() {\r\n return {\r\n loadingText: \"系统加载中...\",\r\n loading: false,\r\n editor: {\r\n data: this.editorDefaultData,\r\n loading: false,\r\n ready: false,\r\n title: this.titleEditor,\r\n visible: false\r\n },\r\n pageTable: new PageTable({\r\n autoLoad: this.autoLoad,\r\n doLoad: this.doQuery,\r\n param: Object.assign({}, this.searchParam),\r\n log: false\r\n })\r\n }\r\n },\r\n beforeMount() {\r\n },\r\n methods: {\r\n async handleAdd() {\r\n this.editor.ready = false;\r\n this.editor.title = this.titleEditor + ' - 新建 ';\r\n this.editor.uuid = \"\";\r\n this.editor.data = Object.assign({}, this.editorDefaultData);\r\n this.editor.visible = true;\r\n this.$emit(\"before-edit\", this.editor.data);\r\n this.editor.ready = true;\r\n },\r\n async handleSave() {\r\n await this.editorValidate();\r\n await this.confirm(this.editor.data, \"点击确定提交数据,请确认您的数据填写正确?\");\r\n this.editor.loading = true;\r\n try {\r\n this.$emit(\"before-save\", this.editor.data);\r\n let resp = await this.doSave(this.editor.data);\r\n this.pageTable.handleLoad();\r\n if (this.closeOnSave) {\r\n this.editor.visible = false;\r\n }\r\n Object.assign(this.editor.data, resp.data || {});\r\n this.$emit(\"after-save\", this.editor.data);\r\n } finally {\r\n this.editor.loading = false;\r\n }\r\n },\r\n async handleEdit(row) {\r\n try {\r\n let uuid = row.uuid;\r\n this.editor.ready = false;\r\n this.editor.title = this.titleEditor + ' - 编辑';\r\n this.editor.visible = true;\r\n this.editor.loading = true;\r\n this.editor.uuid = row.uuid;\r\n this.editor.data = await this.doGet(uuid);\r\n this.$emit(\"before-edit\", this.editor.data);\r\n this.editor.ready = true;\r\n } finally {\r\n this.editor.loading = false;\r\n }\r\n },\r\n async handleDelete(row) {\r\n let uuid = row.uuid;\r\n await this.confirm();\r\n await this.doDelete(uuid);\r\n this.$emit(\"after-delete\", uuid);\r\n this.pageTable.handleLoad();\r\n }\r\n }\r\n }\r\n</script>\r\n","import mod from \"-!../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../node_modules/_thread-loader@2.1.2@thread-loader/dist/cjs.js!../../node_modules/_babel-loader@8.0.6@babel-loader/lib/index.js!../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./CurdPanel.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../node_modules/_thread-loader@2.1.2@thread-loader/dist/cjs.js!../../node_modules/_babel-loader@8.0.6@babel-loader/lib/index.js!../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./CurdPanel.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CurdPanel.vue?vue&type=template&id=a6c3bcc0&\"\nimport script from \"./CurdPanel.vue?vue&type=script&lang=js&\"\nexport * from \"./CurdPanel.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/_vue-loader@15.7.1@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import moment from \"moment\";\r\n\r\n/**\r\n * 基本CRUD视图功能\r\n */\r\nexport default {\r\n computed: {\r\n sysCode() {\r\n return this.$store.state.base.sysCode;\r\n }\r\n },\r\n methods: {\r\n /**\r\n * 时间列格式化\r\n */\r\n formatterDate(row, column, cellValue) {\r\n return cellValue ? moment(cellValue).format(\"LL\") : null;\r\n },\r\n formatterDateTime(row, column, cellValue) {\r\n return cellValue ? moment(cellValue).format(\"LL LTS\") : null;\r\n },\r\n /**\r\n * 使用确认框\r\n */\r\n confirm(data, txt = \"您确定要这样做么?\") {\r\n return this.$confirm(txt, {\r\n confirmButtonText: \"确定\",\r\n cancelButtonText: \"取消\",\r\n type: \"warning\"\r\n }).then(() => data);\r\n }\r\n }\r\n};\r\n","import PageTable from \"./PageTable\";\r\nimport Selector from \"./Selector.vue\";\r\nimport Panel from \"./Panel.vue\";\r\nimport SysCode from \"./SysCode\";\r\nimport ExportCtrl from \"./ExportCtrl\";\r\nimport TabView from \"./TabView.js\";\r\nimport TableSort from \"./TableSort\";\r\nimport ButtonAuth from \"./ButtonAuth\";\r\nimport CurdPanel from \"./CurdPanel\";\r\nimport mixin from \"./mixin\";\r\n\r\nexport default {\r\n install(Vue, option) {\r\n Vue.component(\"PageTable\", PageTable);\r\n Vue.component(\"SysCode\", SysCode.component);\r\n Vue.component(\"Selector\", Selector);\r\n Vue.component(\"Panel\", Panel);\r\n Vue.component(\"CurdPanel\", CurdPanel);\r\n Vue.component(\"ExportCtrl\", ExportCtrl);\r\n\r\n Vue.directive(\"sysCode\", SysCode.directive);\r\n Vue.directive(\"ButtonAuth\", ButtonAuth);\r\n Vue.directive(\"TableSort\", TableSort);\r\n Vue.mixin(mixin);\r\n Vue.use(TabView);\r\n }\r\n};\r\n","import config from \"../../config\";\n\n\nlet interval;\nlet intervalTime = 1000 * 10;\nlet topicSub = {};\nlet socket = null;\n\n/**\n * 处理消息\n * @param {} message\n */\nlet onmessage = message => {\n let data = JSON.parse(message.data);\n let topicSubs = topicSub[data.topic];\n if (topicSubs) {\n for (let index in topicSubs) {\n let processFn = topicSubs[index];\n processFn(data);\n }\n }\n};\n\n/**\n * 启动\n */\nlet bootstrap = () => {\n socket = null;\n connect();\n interval = setInterval(connect, intervalTime);\n};\n\n/**\n * 打开连接后处理\n */\nlet onopen = () => {\n clearInterval(interval);\n socket.onmessage = onmessage;\n // 如果关闭,重新开启\n socket.onclose = bootstrap;\n // 如果关闭,重新开启\n socket.onerror = bootstrap;\n};\n\n/**\n * 添加主题订阅\n * @param {String} topic 主题\n * @param {Function} serviceFn 处理函数\n */\nlet onTopic = (topic, serviceFn) => {\n topicSub[topic] = topicSub[topic] || [];\n topicSub[topic].push(serviceFn);\n};\n\n/**\n * 执行连接\n */\nlet connect = () => {\n if (socket != null && socket.readyState !== 3) {\n return;\n }\n try {\n socket = new WebSocket(`${config.context.webSocketURL}/cacheobserver`);\n socket.onopen = onopen;\n } catch (e) {}\n};\n\nexport default {\n bootstrap,\n onTopic,\n connect\n};\n","import ElementUI from \"element-ui\";\r\nimport CacheService from \"./module/CacheService\";\r\nimport WebSocketService from \"./module/WebSocketService\";\r\n\r\nWebSocketService.onTopic(\"OBSERVER_TOPIC_CACHE_CODE\", CacheService.OBSERVER_TOPIC_CACHE_CODE);\r\nWebSocketService.onTopic(\"OBSERVER_TOPIC_CACHE_TREE\", CacheService.OBSERVER_TOPIC_CACHE_TREE);\r\nWebSocketService.onTopic(\"OBSERVER_TOPIC_EVENT\", data => data.message && ElementUI.Notification.success({ message: data.message }));\r\n\r\nexport default { WebSocketService };\r\n","import localforage from \"localforage\";\nimport config from \"../config\";\n\nexport default {\n codeListStore: localforage.createInstance({\n name: config.prefixs.sysCodeList\n }),\n codeTreeStore: localforage.createInstance({\n name: config.prefixs.sysCodeTree\n }),\n ajaxStore: localforage.createInstance({\n name: config.prefixs.sysCode\n })\n};\n","import CacheStores from \"./CacheStores\";\nimport store from \"@/store\";\nimport { Notification } from \"element-ui\";\n\nlet notify = () => {\n Notification.success({\n title: \"成功\",\n message: \"系统字典已经更新.\"\n });\n};\n\nexport default {\n // 监听字典改变\n OBSERVER_TOPIC_CACHE_CODE(data) {\n store.dispatch(\"refreshSysCode\", data.message.codetype).then(notify);\n },\n\n // 监听树改变\n OBSERVER_TOPIC_CACHE_TREE(data) {\n CacheStores.codeTreeStore\n .iterate((value, key, iterationNumber) => {\n if (key.startsWith(data.message.treetype)) {\n CacheStores.codeTreeStore.removeItem(key);\n }\n })\n .then(notify)\n .then(() => {\n CacheStores.codeTreeStore.setItem(\"VERSION\", data.message.version);\n });\n },\n\n /**\n * 修正缓存数据\n * @param {String } tocpic 要修正的主题\n * @param {String} version 检测版本号.\n */\n repairWith(tocpic, version) {\n if (!version) {\n return;\n }\n if (!tocpic) {\n return;\n }\n\n // 树刷新\n if (tocpic === \"OBSERVER_TOPIC_CACHE_TREE\") {\n CacheStores.codeTreeStore.getItem(\"VERSION\").then(data => {\n if (data !== version) {\n CacheStores.codeTreeStore.iterate((value, key, iterationNumber) => {\n CacheStores.codeTreeStore.removeItem(key);\n });\n }\n CacheStores.codeTreeStore.setItem(\"VERSION\", version);\n });\n }\n\n // 字典项刷新\n if (tocpic === \"OBSERVER_TOPIC_CACHE_CODE\") {\n CacheStores.codeListStore.getItem(\"VERSION\").then(data => {\n if (data !== version) {\n CacheStores.codeListStore.iterate((value, key, iterationNumber) => {\n CacheStores.codeListStore.removeItem(key);\n });\n }\n CacheStores.codeListStore.setItem(\"VERSION\", version);\n });\n }\n }\n};\n","import config from \"../config\";\n\nlet interval;\nlet intervalTime = 1000 * 10;\nlet topicSub = {};\nlet socket = null;\n\n/**\n * 处理消息\n * @param {} message\n */\nlet onmessage = message => {\n let data = JSON.parse(message.data);\n let topicSubs = topicSub[data.topic];\n if (topicSubs) {\n for (let index in topicSubs) {\n let processFn = topicSubs[index];\n processFn(data);\n }\n }\n};\n\n/**\n * 启动\n */\nlet bootstrap = () => {\n socket = null;\n connect();\n interval = setInterval(connect, intervalTime);\n};\n\n/**\n * 打开连接后处理\n */\nlet onopen = () => {\n clearInterval(interval);\n socket.onmessage = onmessage;\n // 如果关闭,重新开启\n socket.onclose = bootstrap;\n // 如果关闭,重新开启\n socket.onerror = bootstrap;\n};\n\n/**\n * 添加主题订阅\n * @param {String} topic 主题\n * @param {Function} serviceFn 处理函数\n */\nlet onTopic = (topic, serviceFn) => {\n topicSub[topic] = topicSub[topic] || [];\n topicSub[topic].push(serviceFn);\n};\n\n/**\n * 执行连接\n */\nlet connect = () => {\n if (socket != null && socket.readyState !== 3) {\n return;\n }\n try {\n socket = new WebSocket(`${config.context.webSocketURL}cacheobserver`);\n socket.onopen = onopen;\n } catch (e) {}\n};\n\nexport default {\n bootstrap,\n onTopic,\n connect\n};\n","import Ajax from \"./Ajax\";\r\nimport CacheService from \"./CacheService\";\r\nimport CacheStores from \"./CacheStores\";\r\nimport CronValidator from \"./CronValidator\";\r\nimport PageTable from \"./PageTable\";\r\nimport Util from \"./Util\";\r\nimport WebSocketService from \"./WebSocketService\";\r\n\r\nexport { Util, Ajax, CacheService, CacheStores, CronValidator, WebSocketService, PageTable };\r\n","import \"./base\";\nimport Vue from \"vue\";\nimport Vuex from \"vuex\";\nimport VueRouter from \"vue-router\";\n\nimport zhLocale from \"element-ui/lib/locale/lang/zh-CN\";\n\nimport baseStores from \"@/store\";\nimport baseRoutes from \"@/router\";\nimport baseTabs from \"@/tab\";\nimport plugin from \"@/plugin\";\nimport TabView from \"@/plugin/TabView\";\nimport service from \"@/service\";\nimport Locale from \"@/locale/locale\";\nimport config from \"@/config.js\";\n\nimport { Ajax, CacheService, PageTable, Util } from \"@/libs\";\n\nimport \"@/styles/index.scss\";\n\nimport Uploader from \"@/common/Uploader.vue\";\nimport TimeLine from \"@/common/TimeLine.vue\";\nimport SelectorTree from \"@/common/SelectorTree.vue\";\nimport HandleHistory from \"@/common/HandleHistory.vue\";\n\nVue.use(plugin);\nVue.locale(\"zh-CN\", Object.assign(zhLocale, Locale[\"zh-CN\"]));\n\n/**\n * 主要启动函数\n * @param {Object} cfg 启动的配置\n */\nfunction bootstrap(cfg) {\n cfg.stores = Object.assign(baseStores, cfg.stores);\n cfg.tabs = Object.assign(baseTabs, cfg.tabs);\n\n let routeMap = new Map();\n baseRoutes.forEach(route => {\n routeMap.set(route.path, route)\n })\n if (cfg.routes) {\n cfg.routes.forEach(route => {\n routeMap.set(route.path, route)\n })\n }\n cfg.routes = []\n routeMap.forEach((value, key) => {\n cfg.routes.push(value)\n })\n\n //合并配置\n Object.assign(config, cfg.config);\n\n //初始化方法\n config.init = cfg.init;\n\n //构造状态机\n const store = new Vuex.Store({\n modules: cfg.stores\n });\n\n //路由器\n const router = new VueRouter({\n routes: cfg.routes\n });\n\n //选项卡\n const tabView = new TabView({\n views: cfg.tabs\n });\n\n //启动websocket服务\n service.WebSocketService.bootstrap();\n\n //设置ajax基本路径\n Ajax.defaults.baseURL = config.ajaxUrl;\n\n //挂在元素\n const el = cfg.el;\n\n //组成配置对象\n let base = {\n el,\n asd: {},\n router,\n store,\n tabView,\n render: h => h(\"router-view\")\n };\n\n return new Vue(base);\n}\n\n//导出公共组件\nexport { Uploader, TimeLine, SelectorTree, HandleHistory };\n\n//导出lib库\nexport { Ajax, Util, PageTable };\n\n//导出 配置,服务,国际化,路由,状态机,缓存服务\nexport { config, service, Locale, CacheService };\n\n//全局启动对象\nexport default { bootstrap, config };\n","import mod from \"-!../../../node_modules/_mini-css-extract-plugin@0.6.0@mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/_css-loader@1.0.1@css-loader/index.js??ref--8-oneOf-1-1!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/_sass-loader@7.1.0@sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./TaskMgrEdit.vue?vue&type=style&index=0&lang=scss&\"; export default mod; export * from \"-!../../../node_modules/_mini-css-extract-plugin@0.6.0@mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/_css-loader@1.0.1@css-loader/index.js??ref--8-oneOf-1-1!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/_sass-loader@7.1.0@sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./TaskMgrEdit.vue?vue&type=style&index=0&lang=scss&\"","import mod from \"-!../../node_modules/_mini-css-extract-plugin@0.6.0@mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/_css-loader@1.0.1@css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/_vue-loader@15.7.1@vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./Main.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../node_modules/_mini-css-extract-plugin@0.6.0@mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/_css-loader@1.0.1@css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/_vue-loader@15.7.1@vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./Main.vue?vue&type=style&index=0&lang=css&\"","import ajax from \"@/libs/Ajax\";\n\nexport default {\n // 查询所有用户\n queryUser(params) {\n return ajax.get(\"/usr/user/queryUsers\", { params: params });\n },\n // 查询一条用户\n getUser(uuid) {\n return ajax\n .get(\"/usr/user/getUser\", { params: { uuid: uuid } })\n .then(data => {\n return { data };\n });\n },\n // 用户编辑\n userEdit(user) {\n return ajax.post(\"/usr/user/userEdit\", user);\n },\n // 用户新建\n saveUser(user) {\n return ajax.post(\"/usr/user/userSave\", user);\n },\n // 用户注销\n shutUser(params) {\n return ajax.post(\"/usr/user/shutUser\", params);\n },\n // 用户锁定\n lockUser(params) {\n return ajax.post(\"/usr/user/lockUser\", params);\n },\n // 用户解锁\n openUser(params) {\n return ajax.post(\"/usr/user/openUser\", params);\n },\n // 重置\n userPWReSet(uuid) {\n return ajax.delete(\"/usr/user/userPWReSet\", { params: { uuids: uuid } });\n },\n // 修改密码\n resetPwd(params) {\n return ajax.post(\"/usr/user/resetPwd\", params);\n },\n // 查询所有用户\n getRoleUserByOrgId(params) {\n return ajax.get(\"/usr/user/getRoleUserByOrgId\", { params: params });\n },\n // 获取用户信息,公共组件使用\n getUserInfo(uuid) {\n return ajax.get(\"/usr/user/getUserInfo\", { params: { uuid } });\n },\n //批量解锁或锁定用户\n lockAndOpenUsers(data) {\n return ajax.post(\"/usr/user/lockAndOpenUsers\", data);\n },\n //获取用户操作时间轴\n getTimeLine(data) {\n return ajax.get(\"/usr/user/getTimeLine\", { params: data });\n },\n //批量重置用户密码\n resetUserPw(data) {\n return ajax.post(\"/usr/user/resetUserPw\", data);\n }\n};\n","module.exports = require(\"localforage\");","module.exports = require(\"moment\");","let contextPath = process.env.NODE_ENV === \"production\" ? \"\" : \"/api\";\nlet config = {\n init: function () {\n },\n title: \"数据预定平台\",\n companyInfo: \"技术支持:大连易博特科技有限公司\",\n logo: \"./img/logo.png\",\n embedHeader: null,\n context: {\n protocol: window.location.protocol,\n domain: document.domain,\n port: window.location.port,\n webSocketURL: `ws://${document.domain}:${window.location.port}${contextPath}/`\n },\n ajaxUrl: contextPath,\n tomeOut: 30000 * 2,\n needLogin: true, //需要登录校验\n loginToken: \"cnetong_apps_entsvrplt_frontend\",\n codeMap: {\n WrapType: \"包装种类\",\n EdocCode: \"随附单据文件类别\"\n },\n prefixs: {\n sysCodeList: \"code:list\",\n sysCodeTree: \"code:tree\",\n ajax: \"ajax\"\n },\n respCode: {\n success: \"000000\",\n failure: \"000400\",\n validat: \"000300\",\n timeout: \"000100\"\n }\n};\n\nexport default config;\n","module.exports = require(\"element-ui/lib/scrollbar\");","// extracted by mini-css-extract-plugin","module.exports = require(\"element-ui/lib/utils/clickoutside\");","module.exports = require(\"axios\");","import Vue from \"vue\";\r\nimport AcesAPI from \"../api/base/sysm/AcesAPI\";\r\nimport SysAPI from \"../api/base/sysm/SysAPI\";\r\nimport QueryDesignerAPI from \"../api/base/sysm/QueryDesignerAPI\";\r\n\r\nexport default {\r\n namespaced: true,\r\n state: {\r\n lang: Vue.config.lang,\r\n queryDesign: [],\r\n sysMenus: [],\r\n sysUser: {},\r\n sysCode: {},\r\n loginTimeout: false,\r\n loginChangePwd: false\r\n },\r\n mutations: {\r\n updateState(state, tab) {\r\n Object.assign(state, tab);\r\n },\r\n SET_SYSCODE(state, code) {\r\n Vue.set(state.sysCode, code.codeType, code.data);\r\n state.sysCode[code.codeType] = code.data;\r\n },\r\n REMOVE_SYSCODE(state, codeType) {\r\n state.sysCode = [];\r\n },\r\n SET_LOGIN(state, sysLogin) {\r\n Object.assign(state.sysLogin, sysLogin);\r\n }\r\n },\r\n actions: {\r\n /**\r\n * 读取系统字典\r\n */\r\n loadSysCode({commit, dispatch, state}, codeType) {\r\n // 假设当前code已经加载过,就放弃本次处理\r\n if (state.sysCode[codeType] !== undefined) {\r\n return new Promise((resolve, reject) => {\r\n resolve({codeType: codeType, data: state.sysCode[codeType]});\r\n });\r\n }\r\n // 否则从本地存储读取,读取不到从服务器读取\r\n return (\r\n SysAPI.getAllCodes(codeType)\r\n // 成功设置到系统状态\r\n .then(data => {\r\n commit(\"SET_SYSCODE\", {codeType, data});\r\n // 返回数据,交给下一承诺处理\r\n return {codeType, data};\r\n })\r\n );\r\n },\r\n /**\r\n * 刷新缓存sysCode\r\n */\r\n refreshSysCode({commit, state}, codeType) {\r\n return SysAPI.getAllCodes(codeType, true).then(data => {\r\n commit(\"SET_SYSCODE\", {codeType, data});\r\n return data;\r\n });\r\n },\r\n /**\r\n * 登录超时\r\n */\r\n timeout({commit, dispatch}) {\r\n commit(\"SET_LOGIN\", {timeout: true});\r\n },\r\n /**\r\n * 获取登录信息\r\n */\r\n async getLoginInfo({commit}) {\r\n let data = await AcesAPI.getLoginInfo();\r\n commit(\"updateState\", {sysUser: data});\r\n commit(\"updateState\", {sysMenus: data.menus});\r\n return data;\r\n },\r\n /**\r\n * 获取查询定义\r\n */\r\n getQueryDesign({commit}) {\r\n return QueryDesignerAPI.loadDesignMine().then(data => {\r\n commit(\"updateState\", {queryDesign: data});\r\n return data;\r\n });\r\n },\r\n\r\n setPdfUuid({commit, dispatch, state}, uuid) {\r\n commit(\"updateState\", {pdfUuid: uuid});\r\n }\r\n }\r\n};\r\n","import base from \"./base\";\n\nexport default { base };\n","// extracted by mini-css-extract-plugin","module.exports = require(\"core-js/modules/es6.number.constructor\");","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('CurdPanel',{attrs:{\"title-search-form\":\"通知管理\",\"title-data-table\":\"通知列表\",\"title-editor\":\"通知管理\",\"editor-width\":'600px',\"editor-validate\":_vm.validate,\"doQuery\":_vm.NoticeApi.doQuery,\"doGet\":_vm.NoticeApi.doGet,\"doSave\":_vm.NoticeApi.doSave,\"doDelete\":_vm.NoticeApi.doDelete,\"close-on-save\":\"\",\"autoLoad\":\"\"},scopedSlots:_vm._u([{key:\"search-form\",fn:function(ref){\nvar formData = ref.formData;\nreturn [_c('el-form-item',{attrs:{\"label\":\"通知用户\",\"prop\":\"userName\"}},[_c('el-input',{model:{value:(formData.userName),callback:function ($$v) {_vm.$set(formData, \"userName\", $$v)},expression:\"formData.userName\"}})],1)]}},{key:\"editor\",fn:function(ref){\nvar data = ref.data;\nreturn [_c('el-form',{ref:\"queryform\",attrs:{\"model\":data,\"label-width\":\"90px\",\"show-message\":\"\",\"label-position\":\"top\"}},[_c('el-form-item',{staticClass:\"flex-1\",attrs:{\"prop\":\"userName\",\"label\":\"用户名\",\"required\":\"\"}},[_c('el-input',{model:{value:(data.userName),callback:function ($$v) {_vm.$set(data, \"userName\", $$v)},expression:\"data.userName\"}})],1),_c('el-form-item',{staticClass:\"flex-1\",attrs:{\"prop\":\"smsPhone\",\"label\":\"短信号码\"}},[_c('el-input',{model:{value:(data.smsPhone),callback:function ($$v) {_vm.$set(data, \"smsPhone\", $$v)},expression:\"data.smsPhone\"}})],1),_c('el-form-item',{staticClass:\"flex-1\",attrs:{\"prop\":\"cellPhone\",\"label\":\"手机号码\"}},[_c('el-input',{model:{value:(data.cellPhone),callback:function ($$v) {_vm.$set(data, \"cellPhone\", $$v)},expression:\"data.cellPhone\"}})],1),_c('el-form-item',{staticClass:\"flex-1\",attrs:{\"prop\":\"email\",\"label\":\"电子邮箱\"}},[_c('el-input',{model:{value:(data.email),callback:function ($$v) {_vm.$set(data, \"email\", $$v)},expression:\"data.email\"}})],1),_c('el-row',[_c('el-col',{attrs:{\"span\":8}},[_c('el-form-item',{staticClass:\"flex-1\",attrs:{\"prop\":\"openSms\",\"label\":\"短信通知\"}},[_c('el-switch',{attrs:{\"active-color\":\"#13ce66\",\"inactive-color\":\"#ff4949\",\"active-value\":\"1\",\"inactive-value\":\"0\",\"disabled\":!/^\\d{11}$/.test(data.smsPhone)},model:{value:(data.openSms),callback:function ($$v) {_vm.$set(data, \"openSms\", $$v)},expression:\"data.openSms\"}})],1)],1),_c('el-col',{attrs:{\"span\":8}},[_c('el-form-item',{staticClass:\"flex-1\",attrs:{\"prop\":\"openCall\",\"label\":\"电话通知\"}},[_c('el-switch',{attrs:{\"active-color\":\"#13ce66\",\"inactive-color\":\"#ff4949\",\"active-value\":\"1\",\"inactive-value\":\"0\",\"disabled\":!/^\\d{11}$/.test(data.cellPhone)},model:{value:(data.openCall),callback:function ($$v) {_vm.$set(data, \"openCall\", $$v)},expression:\"data.openCall\"}})],1)],1),_c('el-col',{attrs:{\"span\":8}},[_c('el-form-item',{staticClass:\"flex-1\",attrs:{\"prop\":\"openEmail\",\"label\":\"邮件通知\"}},[_c('el-switch',{attrs:{\"active-color\":\"#13ce66\",\"inactive-color\":\"#ff4949\",\"active-value\":\"1\",\"inactive-value\":\"0\",\"disabled\":!/^[A-Za-z0-9\\u4e00-\\u9fa5]+@[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)+$/.test(data.email)},model:{value:(data.openEmail),callback:function ($$v) {_vm.$set(data, \"openEmail\", $$v)},expression:\"data.openEmail\"}})],1)],1)],1)],1)]}}])},[_c('template',{slot:\"table-columns\"},[_c('el-table-column',{attrs:{\"prop\":\"username\",\"label\":\"通知用户\",\"show-overflow-tooltip\":\"\"}}),_c('el-table-column',{attrs:{\"prop\":\"smsphone\",\"label\":\"短信号码\",\"show-overflow-tooltip\":\"\"}}),_c('el-table-column',{attrs:{\"prop\":\"cellphone\",\"label\":\"手机号码\",\"show-overflow-tooltip\":\"\"}}),_c('el-table-column',{attrs:{\"prop\":\"email\",\"label\":\"电子邮箱\",\"show-overflow-tooltip\":\"\"}}),_c('el-table-column',{attrs:{\"prop\":\"opensms\",\"label\":\"短信通知\",\"width\":\"120\",\"show-overflow-tooltip\":\"\",\"align\":\"center\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [(scope.row.opensms==='1')?_c('i',{staticClass:\"font-green-success el-icon-check\",staticStyle:{\"font-weight\":\"blod\"}}):_vm._e(),(scope.row.opensms==='0')?_c('i',{staticClass:\"font-red el-icon-close\",staticStyle:{\"font-weight\":\"blod\"}}):_vm._e()]}}])}),_c('el-table-column',{attrs:{\"prop\":\"opencall\",\"label\":\"电话通知\",\"width\":\"120\",\"show-overflow-tooltip\":\"\",\"align\":\"center\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [(scope.row.opencall==='1')?_c('i',{staticClass:\"font-green-success el-icon-check\",staticStyle:{\"font-weight\":\"blod\"}}):_vm._e(),(scope.row.opencall==='0')?_c('i',{staticClass:\"font-red el-icon-close\",staticStyle:{\"font-weight\":\"blod\"}}):_vm._e()]}}])}),_c('el-table-column',{attrs:{\"prop\":\"openemail\",\"label\":\"邮件通知\",\"width\":\"120\",\"show-overflow-tooltip\":\"\",\"align\":\"center\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [(scope.row.openemail==='1')?_c('i',{staticClass:\"font-green-success el-icon-check\",staticStyle:{\"font-weight\":\"blod\"}}):_vm._e(),(scope.row.openemail==='0')?_c('i',{staticClass:\"font-red el-icon-close\",staticStyle:{\"font-weight\":\"blod\"}}):_vm._e()]}}])})],1)],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import ajax from \"@/libs/Ajax\";\r\n\r\n// 后台命名空间\r\nconst NAME_SPACE = \"/sys/notice\";\r\n\r\nexport default {\r\n doQuery(params) {\r\n return ajax.get('/sys/notice/query', {\r\n params\r\n })\r\n },\r\n doGet(uuid) {\r\n return ajax.get(`/sys/notice/get/${uuid}`)\r\n },\r\n doDelete(uuid) {\r\n return ajax.delete(`/sys/notice/delete/${uuid}`)\r\n },\r\n doSave(data) {\r\n return ajax.post(`/sys/notice/save`, data)\r\n }\r\n};","<template xmlns:v-slot=\"http://www.w3.org/1999/XSL/Transform\">\r\n <CurdPanel title-search-form=\"通知管理\" title-data-table=\"通知列表\" title-editor=\"通知管理\" :editor-width=\"'600px'\" :editor-validate=\"validate\" :doQuery=\"NoticeApi.doQuery\" :doGet=\"NoticeApi.doGet\"\r\n :doSave=\"NoticeApi.doSave\" :doDelete=\"NoticeApi.doDelete\" close-on-save autoLoad>\r\n\r\n <!-- 查询条件区域 -->\r\n <template v-slot:search-form=\"{formData}\">\r\n <el-form-item label=\"通知用户\" prop=\"userName\">\r\n <el-input v-model=\"formData.userName\"></el-input>\r\n </el-form-item>\r\n </template>\r\n\r\n <!-- 表格列区域 -->\r\n <template slot=\"table-columns\">\r\n <el-table-column prop=\"username\" label=\"通知用户\" show-overflow-tooltip />\r\n <el-table-column prop=\"smsphone\" label=\"短信号码\" show-overflow-tooltip />\r\n <el-table-column prop=\"cellphone\" label=\"手机号码\" show-overflow-tooltip />\r\n <el-table-column prop=\"email\" label=\"电子邮箱\" show-overflow-tooltip />\r\n <el-table-column prop=\"opensms\" label=\"短信通知\" width='120' show-overflow-tooltip align=\"center\">\r\n <template slot-scope=\"scope\">\r\n <i v-if=\"scope.row.opensms==='1'\" class=\"font-green-success el-icon-check\" style=\"font-weight:blod\"></i>\r\n <i v-if=\"scope.row.opensms==='0'\" class=\"font-red el-icon-close\" style=\"font-weight:blod\"></i>\r\n </template>\r\n </el-table-column>\r\n <el-table-column prop=\"opencall\" label=\"电话通知\" width='120' show-overflow-tooltip align=\"center\">\r\n <template slot-scope=\"scope\">\r\n <i v-if=\"scope.row.opencall==='1'\" class=\"font-green-success el-icon-check\" style=\"font-weight:blod\"></i>\r\n <i v-if=\"scope.row.opencall==='0'\" class=\"font-red el-icon-close\" style=\"font-weight:blod\"></i>\r\n </template>\r\n </el-table-column>\r\n <el-table-column prop=\"openemail\" label=\"邮件通知\" width='120' show-overflow-tooltip align=\"center\">\r\n <template slot-scope=\"scope\">\r\n <i v-if=\"scope.row.openemail==='1'\" class=\"font-green-success el-icon-check\" style=\"font-weight:blod\"></i>\r\n <i v-if=\"scope.row.openemail==='0'\" class=\"font-red el-icon-close\" style=\"font-weight:blod\"></i>\r\n </template>\r\n </el-table-column>\r\n </template>\r\n\r\n <!-- 数据编辑区域 -->\r\n <template v-slot:editor=\"{data}\">\r\n <el-form :model=\"data\" ref=\"queryform\" label-width=\"90px\" show-message label-position=\"top\">\r\n <el-form-item class=\"flex-1\" prop=\"userName\" label=\"用户名\" required>\r\n <el-input v-model=\"data.userName\"></el-input>\r\n </el-form-item>\r\n <el-form-item class=\"flex-1\" prop=\"smsPhone\" label=\"短信号码\">\r\n <el-input v-model=\"data.smsPhone\"></el-input>\r\n </el-form-item>\r\n <el-form-item class=\"flex-1\" prop=\"cellPhone\" label=\"手机号码\">\r\n <el-input v-model=\"data.cellPhone\"></el-input>\r\n </el-form-item>\r\n <el-form-item class=\"flex-1\" prop=\"email\" label=\"电子邮箱\">\r\n <el-input v-model=\"data.email\"></el-input>\r\n </el-form-item>\r\n <el-row>\r\n <el-col :span=\"8\">\r\n <el-form-item class=\"flex-1\" prop=\"openSms\" label=\"短信通知\">\r\n <el-switch v-model=\"data.openSms\" active-color=\"#13ce66\" inactive-color=\"#ff4949\" active-value=\"1\" inactive-value=\"0\" :disabled=\"!/^\\d{11}$/.test(data.smsPhone)\">\r\n </el-switch>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span=\"8\">\r\n <el-form-item class=\"flex-1\" prop=\"openCall\" label=\"电话通知\">\r\n <el-switch v-model=\"data.openCall\" active-color=\"#13ce66\" inactive-color=\"#ff4949\" active-value=\"1\" inactive-value=\"0\" :disabled=\"!/^\\d{11}$/.test(data.cellPhone)\">\r\n </el-switch>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span=\"8\">\r\n <el-form-item class=\"flex-1\" prop=\"openEmail\" label=\"邮件通知\">\r\n <el-switch v-model=\"data.openEmail\" active-color=\"#13ce66\" inactive-color=\"#ff4949\" active-value=\"1\" inactive-value=\"0\"\r\n :disabled=\"!/^[A-Za-z0-9\\u4e00-\\u9fa5]+@[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)+$/.test(data.email)\">\r\n </el-switch>\r\n </el-form-item>\r\n </el-col>\r\n </el-row>\r\n </el-form>\r\n </template>\r\n\r\n </CurdPanel>\r\n\r\n</template>\r\n\r\n<script>\r\nimport { Ajax } from \"cnetong-core-frontend\";\r\nimport NoticeApi from \"@/api/base/sysm/NoticeApi\";\r\n\r\nexport default {\r\n name: \"SampleCurd\",\r\n data() {\r\n return { NoticeApi };\r\n },\r\n methods: {\r\n validate() {\r\n return this.$refs[\"queryform\"].validate();\r\n }\r\n }\r\n};\r\n</script>\r\n\r\n<style scoped>\r\n</style>","import mod from \"-!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/_thread-loader@2.1.2@thread-loader/dist/cjs.js!../../../node_modules/_babel-loader@8.0.6@babel-loader/lib/index.js!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./Notice.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/_thread-loader@2.1.2@thread-loader/dist/cjs.js!../../../node_modules/_babel-loader@8.0.6@babel-loader/lib/index.js!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./Notice.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Notice.vue?vue&type=template&id=1b8a3c66&scoped=true&xmlns%3Av-slot=http%3A%2F%2Fwww.w3.org%2F1999%2FXSL%2FTransform&\"\nimport script from \"./Notice.vue?vue&type=script&lang=js&\"\nexport * from \"./Notice.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1b8a3c66\",\n null\n \n)\n\nexport default component.exports","// extracted by mini-css-extract-plugin","module.exports = require(\"current-script-polyfill\");","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('PageTable',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}],ref:\"dataTable\",attrs:{\"auto-load\":false,\"page-size\":10,\"data\":_vm.table.data,\"highlight-current-row\":\"\",\"stripe\":\"\",\"border\":\"\"},on:{\"load-data\":_vm.dataTableLoad}},[_c('el-table-column',{attrs:{\"type\":\"expand\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('pre',{staticStyle:{\"white-space\":\"-o-pre-wrap\",\"word-wrap\":\"break-word\"}},[_vm._v(_vm._s(scope.row.sesql))])]}}])}),_c('el-table-column',{attrs:{\"prop\":\"optime\",\"label\":\"操作时间\",\"formatter\":_vm.formatterDateTime,\"show-overflow-tooltip\":\"\"}}),_c('el-table-column',{attrs:{\"prop\":\"sesqlelap\",\"label\":\"执行时间(毫秒)\",\"show-overflow-tooltip\":\"\"}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <div>\n <PageTable v-loading=\"loading\" ref=\"dataTable\" :auto-load=\"false\" :page-size=\"10\" @load-data=\"dataTableLoad\" :data=\"table.data\" highlight-current-row stripe border>\n \n <el-table-column type=\"expand\">\n <template slot-scope=\"scope\">\n <pre style=\"white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap;white-space: -o-pre-wrap; word-wrap: break-word;\">{{scope.row.sesql}}</pre>\n </template>\n </el-table-column>\n <el-table-column prop=\"optime\" label=\"操作时间\" :formatter=\"formatterDateTime\" show-overflow-tooltip></el-table-column>\n <el-table-column prop=\"sesqlelap\" label=\"执行时间(毫秒)\" show-overflow-tooltip></el-table-column>\n </PageTable>\n </div>\n</template>\n<script>\nimport LogsServAPI from \"@/api/base/logs/LogsServ\";\n\nexport default {\n props: {\n seuuid: String\n },\n data() {\n return {\n table: {\n data: []\n },\n editor: {\n sql: \"\",\n show: false\n },\n loading: false\n };\n },\n mounted() {\n this.loadInfo(this.seuuid);\n },\n watch: {\n seuuid(seuuid) {\n this.loadInfo(this.seuuid);\n }\n },\n methods: {\n // 加载数据\n loadInfo(uuid) {\n this.loading = true;\n this.$refs.dataTable.load({ seid: uuid });\n },\n dataTableLoad(params, resolve) {\n LogsServAPI.queryLogsSqlData(params)\n .then(resolve) // 让表格解析你提供的数据 (主要解析页码等)\n .then(respData => {\n this.table.data = respData.datarows;\n this.loading = false;\n }); // 本地也记录一下数据 (提供给表示显示的数据)\n },\n showInfo(sql) {\n this.editor.sql = \"\";\n LogsServAPI.SqlFormat(sql).then(resp => {\n this.editor.sql = resp.dataInfo;\n this.editor.show = true;\n });\n }\n }\n};\n</script>\n","import mod from \"-!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/_thread-loader@2.1.2@thread-loader/dist/cjs.js!../../../node_modules/_babel-loader@8.0.6@babel-loader/lib/index.js!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./LogsSqlData.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/_thread-loader@2.1.2@thread-loader/dist/cjs.js!../../../node_modules/_babel-loader@8.0.6@babel-loader/lib/index.js!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./LogsSqlData.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./LogsSqlData.vue?vue&type=template&id=cae6a7d6&\"\nimport script from \"./LogsSqlData.vue?vue&type=script&lang=js&\"\nexport * from \"./LogsSqlData.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","// extracted by mini-css-extract-plugin","import mod from \"-!../../node_modules/_mini-css-extract-plugin@0.6.0@mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/_css-loader@1.0.1@css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/_vue-loader@15.7.1@vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./HandleHistory.vue?vue&type=style&index=0&id=555c5032&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/_mini-css-extract-plugin@0.6.0@mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/_css-loader@1.0.1@css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/_vue-loader@15.7.1@vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./HandleHistory.vue?vue&type=style&index=0&id=555c5032&scoped=true&lang=css&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}],staticClass:\"flex-h card-height-full\"},[(_vm.rightBlock)?_c('el-card',{staticClass:\"flex-2 full\"},[_c('template',{slot:\"header\"},[_c('span',[_vm._v(\"代码项分组\")]),_c('div',{staticClass:\"pull-right\"},[_c('el-input',{staticClass:\"margin-right-3\",staticStyle:{\"width\":\"100px\"},attrs:{\"placeholder\":\"分组过滤\",\"prefix-icon\":\"el-icon-search\"},model:{value:(_vm.codeType.keyword),callback:function ($$v) {_vm.$set(_vm.codeType, \"keyword\", $$v)},expression:\"codeType.keyword\"}}),_c('el-button',{attrs:{\"type\":\"primary\",\"icon\":\"el-icon-fa-refresh\",\"title\":\"刷新\"},on:{\"click\":_vm.queryCodeType}}),_c('el-button',{attrs:{\"type\":\"primary\",\"icon\":\"el-icon-fa-plus\",\"title\":\"添加\"},on:{\"click\":_vm.handleAddCodeType}}),_c('el-button',{attrs:{\"type\":\"primary\",\"icon\":!_vm.leftBlock?'el-icon-caret-left':'el-icon-caret-right'},on:{\"click\":function($event){_vm.leftBlock=!_vm.leftBlock}}})],1)]),_c('el-table',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.codeType.loading),expression:\"codeType.loading\"}],ref:\"codeTypeTable\",staticClass:\"group-table\",attrs:{\"data\":_vm.filterBy(_vm.codeType.data, _vm.codeType.keyword,'codeTypeName','codeTypeValue'),\"border\":\"\",\"stripe\":\"\",\"highlight-current-row\":\"\"},on:{\"current-change\":_vm.handleCurrentCodeTypeChange}},[_c('el-table-column',{attrs:{\"label\":\"名称\",\"prop\":\"codeTypeName\"}}),_c('el-table-column',{attrs:{\"label\":\"编码\",\"prop\":\"codeTypeValue\"}}),_c('el-table-column',{attrs:{\"label\":\"类型\",\"prop\":\"codeKind\",\"formatter\":_vm.formatterCodeKind}}),_c('el-table-column',{attrs:{\"label\":\"操作\",\"fixed\":\"right\",\"width\":\"70\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('el-button',{attrs:{\"type\":\"primary\",\"icon\":\"el-icon-fa-edit\",\"title\":\"编辑\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.handleEditCodeType(scope.$index, scope.row)}}}),_c('el-button',{attrs:{\"type\":\"primary\",\"icon\":\"el-icon-fa-trash\",\"title\":\"删除\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.handleDeleteCodeType(scope.$index, scope.row)}}})]}}],null,false,709706194)})],1)],2):_vm._e(),(_vm.leftBlock)?_c('el-card',{staticClass:\"flex-2 margin-left-2 full\",staticStyle:{\"min-height\":\"400px\"}},[_c('template',{slot:\"header\"},[_c('span',[_vm._v(\"代码详情编辑\")]),_c('div',{staticClass:\"pull-right\"},[_c('el-input',{staticClass:\"margin-right-3\",staticStyle:{\"width\":\"100px\"},attrs:{\"placeholder\":\"字典过滤\",\"prefix-icon\":\"el-icon-search\"},model:{value:(_vm.codeDetail.keyword),callback:function ($$v) {_vm.$set(_vm.codeDetail, \"keyword\", $$v)},expression:\"codeDetail.keyword\"}}),_c('el-button',{attrs:{\"type\":\"primary\",\"disabled\":!_vm.current.codeType,\"icon\":\"el-icon-fa-refresh\",\"title\":\"查询\"},on:{\"click\":_vm.queryCodeByType}}),_c('el-button',{attrs:{\"type\":\"primary\",\"disabled\":!_vm.current.codeType,\"icon\":\"el-icon-fa-plus\",\"title\":\"新增字典\"},on:{\"click\":_vm.handleAddCode}}),_c('el-button',{attrs:{\"type\":\"primary\",\"icon\":_vm.rightBlock?'el-icon-caret-left':'el-icon-caret-right'},on:{\"click\":function($event){_vm.rightBlock=!_vm.rightBlock}}})],1)]),_c('el-table',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.detailType==='list'),expression:\"detailType==='list'\"}],attrs:{\"data\":_vm.filterBy(_vm.codeDetail.data, _vm.codeDetail.keyword,'codeValue','codeName'),\"border\":\"\",\"stripe\":\"\",\"highlight-current-row\":\"\"}},[_c('el-table-column',{attrs:{\"prop\":\"codeValue\",\"label\":\"代码名称\",\"show-overflow-tooltip\":\"\"}}),_c('el-table-column',{attrs:{\"prop\":\"codeName\",\"label\":\"代码值\"}}),_c('el-table-column',{attrs:{\"prop\":\"ordeNo\",\"label\":\"排序级别\"}}),_c('el-table-column',{attrs:{\"label\":\"操作\",\"fixed\":\"right\",\"width\":\"70\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('el-button',{attrs:{\"type\":\"primary\",\"icon\":\"el-icon-fa-edit\",\"title\":\"编辑\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.handleEditCode(scope.$index, scope.row)}}}),_c('el-button',{attrs:{\"type\":\"primary\",\"icon\":\"el-icon-fa-trash\",\"title\":\"删除\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.handleDeleteCode(scope.$index, scope.row)}}})]}}],null,false,3940222482)})],1),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.detailType==='tree'),expression:\"detailType==='tree'\"}],staticClass:\"flex-h\"},[_c('el-tree',{ref:\"codeTree\",staticClass:\"flex-1\",attrs:{\"node-key\":\"uuid\",\"data\":_vm.codeTreeData,\"props\":_vm.codeDetail.treeProps,\"highlight-current\":\"\",\"expand-on-click-node\":false,\"default-expand-all\":\"\"},on:{\"current-change\":_vm.handleTreeNodeChange}}),_c('el-table',{staticClass:\"flex-2 margin-left-1 \",attrs:{\"data\":_vm.current.code.children,\"border\":\"\",\"stripe\":\"\",\"highlight-current-row\":\"\"}},[_c('el-table-column',{attrs:{\"prop\":\"codeValue\",\"label\":\"代码键\"}}),_c('el-table-column',{attrs:{\"prop\":\"codeName\",\"label\":\"代码值\"}}),_c('el-table-column',{attrs:{\"prop\":\"ordeNo\",\"label\":\"排序级别\"}}),_c('el-table-column',{attrs:{\"label\":\"操作\",\"fixed\":\"right\",\"width\":\"120\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('el-button',{attrs:{\"type\":\"primary\",\"icon\":\"el-icon-fa-edit\",\"title\":\"编辑\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.handleEditCode(scope.$index, scope.row)}}}),_c('el-button',{attrs:{\"type\":\"primary\",\"icon\":\"el-icon-fa-trash\",\"title\":\"删除\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.handleDeleteCode(scope.$index, scope.row)}}})]}}],null,false,3940222482)})],1)],1)],2):_vm._e(),_c('el-dialog',{directives:[{name:\"draggable\",rawName:\"v-draggable\"}],attrs:{\"append-to-body\":\"\",\"width\":\"500px\",\"title\":\"代码项编辑\",\"visible\":_vm.codeType.editor.visible,\"close-on-click-modal\":false},on:{\"update:visible\":function($event){return _vm.$set(_vm.codeType.editor, \"visible\", $event)}}},[_c('div',{staticClass:\"dialog-button\"},[_c('el-button',{attrs:{\"type\":\"primary\",\"plain\":\"\",\"loading\":_vm.codeType.editor.saving,\"icon\":\"el-icon-fa-save\",\"title\":\"提交\"},on:{\"click\":_vm.handleSubmitCodeType}})],1),(_vm.codeType.editor.visible)?_c('CodeTypeEditor',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.codeType.editor.saving),expression:\"codeType.editor.saving\"}],ref:\"codeTypeEditor\",attrs:{\"data\":_vm.codeType.editor.data,\"error\":_vm.codeType.editor.error}}):_vm._e()],1),_c('el-dialog',{directives:[{name:\"draggable\",rawName:\"v-draggable\"}],attrs:{\"append-to-body\":\"\",\"width\":\"600px\",\"title\":\"代码详情编辑\",\"visible\":_vm.codeDetail.editor.visible,\"close-on-click-modal\":false},on:{\"update:visible\":function($event){return _vm.$set(_vm.codeDetail.editor, \"visible\", $event)}}},[_c('div',{staticClass:\"dialog-button\"},[_c('el-button',{attrs:{\"type\":\"primary\",\"plain\":\"\",\"loading\":_vm.codeDetail.editor.saving,\"icon\":\"el-icon-fa-save\",\"title\":\"提交\"},on:{\"click\":_vm.handleSubmitCode}})],1),(_vm.codeDetail.editor.visible)?_c('CodeEditor',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.codeDetail.editor.saving),expression:\"codeDetail.editor.saving\"}],ref:\"codeEditor\",attrs:{\"data\":_vm.codeDetail.editor.data,\"error\":_vm.codeDetail.editor.error}}):_vm._e()],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import ajax from \"@/libs/Ajax\";\n\nexport default {\n // 查询所有字典\n queryCodeByType(codeType) {\n return ajax.get(\"/sys/code/queryCodeByType\", { params: { codeType } });\n },\n // 字典编辑\n saveCode(code) {\n return ajax.post(\"/sys/code/saveCode\", code);\n },\n // 删除\n delCode(uuid) {\n return ajax.delete(\"/sys/code/delCode\", { params: { uuid: uuid } });\n },\n // 获取一条\n getCode(uuid) {\n return ajax.get(\"/sys/code/getCode\", { params: { uuid: uuid } });\n },\n // 获取分组信息\n queryCodeType() {\n return ajax.get(\"/sys/code/queryCodeType\");\n },\n // 保存分组信息\n saveCodeType(codeType) {\n return ajax.post(\"/sys/code/saveCodeType\", codeType);\n },\n // 删除分组信息\n deleteCodeType(uuid) {\n return ajax.delete(\"/sys/code/deleteCodeType\", { params: { uuid } });\n },\n // 搜索字典项\n findCode(keyword) {\n return ajax.get(\"/sys/code/findCode\", { params: { keyword } });\n }\n};\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('el-form',{ref:\"form\",attrs:{\"label-position\":\"top\",\"model\":_vm.data,\"rules\":_vm.rules}},[_c('el-form-item',{attrs:{\"label\":\"名称\",\"prop\":\"codeTypeName\",\"error\":_vm.error.codeTypeName}},[_c('el-input',{attrs:{\"maxlength\":\"50\"},model:{value:(_vm.data.codeTypeName),callback:function ($$v) {_vm.$set(_vm.data, \"codeTypeName\", $$v)},expression:\"data.codeTypeName\"}})],1),_c('el-form-item',{attrs:{\"label\":\"编码\",\"prop\":\"codeTypeValue\",\"error\":_vm.error.codeTypeValue}},[_c('el-input',{attrs:{\"maxlength\":\"50\"},model:{value:(_vm.data.codeTypeValue),callback:function ($$v) {_vm.$set(_vm.data, \"codeTypeValue\", $$v)},expression:\"data.codeTypeValue\"}})],1),_c('el-form-item',{attrs:{\"label\":\"类型\",\"prop\":\"codeKind\",\"error\":_vm.error.codeKind}},[_c('el-radio-group',{model:{value:(_vm.data.codeKind),callback:function ($$v) {_vm.$set(_vm.data, \"codeKind\", $$v)},expression:\"data.codeKind\"}},[_c('el-radio',{attrs:{\"label\":\"1\"}},[_vm._v(\"列表\")]),_c('el-radio',{attrs:{\"label\":\"2\"}},[_vm._v(\"树状\")])],1)],1)],1),(_vm.data.uuid)?_c('HandleHistory',{staticClass:\"margin-top-1 margin-bottom-1\",attrs:{\"uuid\":_vm.data.uuid,\"cr-user-uuid\":_vm.data.crUserUuid,\"op-user-uuid\":_vm.data.opUserUuid,\"cr-time\":_vm.data.crTime,\"op-time\":_vm.data.opTime,\"mode\":\"plan\"}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <div>\n <el-form label-position=\"top\" ref=\"form\" :model=\"data\" :rules=\"rules\">\n <el-form-item label=\"名称\" prop=\"codeTypeName\" :error=\"error.codeTypeName\">\n <el-input v-model=\"data.codeTypeName\" maxlength='50'></el-input>\n </el-form-item>\n <el-form-item label=\"编码\" prop=\"codeTypeValue\" :error=\"error.codeTypeValue\">\n <el-input v-model=\"data.codeTypeValue\" maxlength='50'></el-input>\n </el-form-item>\n <el-form-item label=\"类型\" prop=\"codeKind\" :error=\"error.codeKind\">\n <el-radio-group v-model=\"data.codeKind\">\n <el-radio label=\"1\">列表</el-radio>\n <el-radio label=\"2\">树状</el-radio>\n </el-radio-group>\n </el-form-item>\n </el-form>\n <HandleHistory class=\"margin-top-1 margin-bottom-1\" v-if=\"data.uuid\" :uuid=\"data.uuid\" :cr-user-uuid=\"data.crUserUuid\" :op-user-uuid=\"data.opUserUuid\" :cr-time=\"data.crTime\" :op-time=\"data.opTime\" mode=\"plan\" />\n </div>\n</template>\n<script>\nimport HandleHistory from \"@/common/HandleHistory\";\n\nexport default {\n components: { HandleHistory },\n props: {\n data: Object,\n error: Object\n },\n data() {\n return {\n rules: {\n codeTypeName: [{ required: true, message: \"请输入代码标识!\" }],\n codeTypeValue: [{ required: true, message: \"请输入代码名称!\" }]\n }\n };\n },\n methods: {\n // 因为表单里面没有按钮,所以需要暴露方法\n // 提供一个校验方法 ,\n validate() {\n return this.$refs.form.validate().then(() => this.data);\n }\n }\n};\n</script>\n","import mod from \"-!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/_thread-loader@2.1.2@thread-loader/dist/cjs.js!../../../node_modules/_babel-loader@8.0.6@babel-loader/lib/index.js!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./CodeTypeEditor.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/_thread-loader@2.1.2@thread-loader/dist/cjs.js!../../../node_modules/_babel-loader@8.0.6@babel-loader/lib/index.js!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./CodeTypeEditor.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CodeTypeEditor.vue?vue&type=template&id=02135e0f&\"\nimport script from \"./CodeTypeEditor.vue?vue&type=script&lang=js&\"\nexport * from \"./CodeTypeEditor.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('el-form',{ref:\"form\",attrs:{\"label-position\":\"top\",\"model\":_vm.data,\"rules\":_vm.rules}},[_c('div',{staticClass:\"flex-h\"},[_c('el-form-item',{staticClass:\"flex-1\",attrs:{\"label\":\"编码\",\"prop\":\"codeTypeValue\"}},[_c('el-input',{attrs:{\"disabled\":\"\",\"length\":\"50\"},model:{value:(_vm.data.codeTypeValue),callback:function ($$v) {_vm.$set(_vm.data, \"codeTypeValue\", $$v)},expression:\"data.codeTypeValue\"}})],1),_c('el-form-item',{staticClass:\"flex-1\",attrs:{\"label\":\"名称\",\"prop\":\"codeTypeName\"}},[_c('el-input',{attrs:{\"disabled\":\"\",\"length\":\"50\"},model:{value:(_vm.data.codeTypeName),callback:function ($$v) {_vm.$set(_vm.data, \"codeTypeName\", $$v)},expression:\"data.codeTypeName\"}})],1)],1),_c('div',{staticClass:\"lfex-h\"},[_c('el-form-item',{attrs:{\"label\":\"代码名称\",\"prop\":\"codeValue\",\"error\":_vm.error.codeValue}},[_c('el-input',{attrs:{\"type\":\"text\",\"minlength\":6,\"maxlength\":\"40\"},model:{value:(_vm.data.codeValue),callback:function ($$v) {_vm.$set(_vm.data, \"codeValue\", $$v)},expression:\"data.codeValue\"}})],1),_c('el-form-item',{attrs:{\"label\":\"代码值\",\"prop\":\"codeName\",\"error\":_vm.error.codeName}},[_c('el-input',{attrs:{\"type\":\"text\",\"minlength\":6,\"maxlength\":\"40\"},model:{value:(_vm.data.codeName),callback:function ($$v) {_vm.$set(_vm.data, \"codeName\", $$v)},expression:\"data.codeName\"}})],1)],1),_c('div',{staticClass:\"flex-h\"},[_c('el-form-item',{staticClass:\"flex-1\",staticStyle:{\"width\":\"50%\"},attrs:{\"label\":\"排序级别\",\"prop\":\"ordeNo\",\"error\":_vm.error.ordeNo}},[_c('el-input-number',{attrs:{\"type\":\"number\",\"minlength\":6},model:{value:(_vm.data.ordeNo),callback:function ($$v) {_vm.$set(_vm.data, \"ordeNo\", $$v)},expression:\"data.ordeNo\"}})],1),_c('el-form-item',{staticClass:\"flex-1\",attrs:{\"label\":\"启用状态\",\"prop\":\"enabled\"}},[_c('el-radio-group',{attrs:{\"error\":_vm.error.enabled},model:{value:(_vm.data.enabled),callback:function ($$v) {_vm.$set(_vm.data, \"enabled\", $$v)},expression:\"data.enabled\"}},[_c('el-radio',{attrs:{\"label\":\"0\"}},[_vm._v(\"禁用\")]),_c('el-radio',{attrs:{\"label\":\"1\"}},[_vm._v(\"启用\")])],1)],1)],1),_c('el-form-item',{attrs:{\"label\":\"扩展数据\",\"prop\":\"extend\",\"error\":_vm.error.extend}},[_c('el-input',{attrs:{\"type\":\"textarea\"},model:{value:(_vm.data.extend),callback:function ($$v) {_vm.$set(_vm.data, \"extend\", $$v)},expression:\"data.extend\"}})],1)],1),(_vm.data.uuid)?_c('HandleHistory',{staticClass:\"margin-top-1 margin-bottom-1\",attrs:{\"uuid\":_vm.data.uuid,\"cr-user-uuid\":_vm.data.crUserUuid,\"op-user-uuid\":_vm.data.opUserUuid,\"cr-time\":_vm.data.crTime,\"op-time\":_vm.data.opTime,\"mode\":\"plan\"}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <div>\n <el-form label-position=\"top\" ref=\"form\" :model=\"data\" :rules=\"rules\">\n <div class=\"flex-h\">\n <el-form-item label=\"编码\" prop=\"codeTypeValue\" class=\"flex-1\">\n <el-input disabled v-model=\"data.codeTypeValue\" length='50'></el-input>\n </el-form-item>\n <el-form-item label=\"名称\" prop=\"codeTypeName\" class=\"flex-1\">\n <el-input disabled v-model=\"data.codeTypeName\" length='50'></el-input>\n </el-form-item>\n </div>\n <div class=\"lfex-h\">\n <el-form-item label=\"代码名称\" prop=\"codeValue\" :error=\"error.codeValue\">\n <el-input type=\"text\" :minlength=\"6\" v-model=\"data.codeValue\" maxlength='40'></el-input>\n </el-form-item>\n <el-form-item label=\"代码值\" prop=\"codeName\" :error=\"error.codeName\">\n <el-input type=\"text\" :minlength=\"6\" v-model=\"data.codeName\" maxlength='40'></el-input>\n </el-form-item>\n </div>\n <div class=\"flex-h\">\n <el-form-item class=\"flex-1\" style=\"width:50%\" label=\"排序级别\" prop=\"ordeNo\" :error=\"error.ordeNo\">\n <el-input-number type=\"number\" :minlength=\"6\" v-model=\"data.ordeNo\"></el-input-number>\n </el-form-item>\n <el-form-item label=\"启用状态\" prop=\"enabled\" class=\"flex-1\">\n <el-radio-group v-model=\"data.enabled\" :error=\"error.enabled\">\n <el-radio label=\"0\">禁用</el-radio>\n <el-radio label=\"1\">启用</el-radio>\n </el-radio-group>\n </el-form-item>\n </div>\n <el-form-item label=\"扩展数据\" prop=\"extend\" :error=\"error.extend\">\n <el-input type=\"textarea\" v-model=\"data.extend\"></el-input>\n </el-form-item>\n </el-form>\n <HandleHistory class=\"margin-top-1 margin-bottom-1\" v-if=\"data.uuid\" :uuid=\"data.uuid\" :cr-user-uuid=\"data.crUserUuid\" :op-user-uuid=\"data.opUserUuid\" :cr-time=\"data.crTime\" :op-time=\"data.opTime\" mode=\"plan\" />\n </div>\n</template>\n<script>\nimport HandleHistory from \"@/common/HandleHistory\";\nexport default {\n components: { HandleHistory },\n props: {\n data: Object,\n error: Object\n },\n data() {\n return {\n rules: {\n codeName: [{ required: true }],\n codeValue: [{ required: true }]\n }\n };\n },\n methods: {\n // 因为表单里面没有按钮,所以需要暴露方法\n // 提供一个校验方法 ,\n validate() {\n return this.$refs.form.validate().then(() => this.data);\n }\n }\n};\n</script>\n","import mod from \"-!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/_thread-loader@2.1.2@thread-loader/dist/cjs.js!../../../node_modules/_babel-loader@8.0.6@babel-loader/lib/index.js!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./CodeEditor.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/_thread-loader@2.1.2@thread-loader/dist/cjs.js!../../../node_modules/_babel-loader@8.0.6@babel-loader/lib/index.js!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./CodeEditor.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CodeEditor.vue?vue&type=template&id=2f08cdd4&\"\nimport script from \"./CodeEditor.vue?vue&type=script&lang=js&\"\nexport * from \"./CodeEditor.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","<!-- 字典管理 -->\n<template>\n <div class=\"flex-h card-height-full\" v-loading=\"loading\">\n <el-card v-if=\"rightBlock\" class=\"flex-2 full\">\n <template slot=\"header\">\n <span>代码项分组</span>\n <div class=\"pull-right\">\n <el-input class=\"margin-right-3\" style=\"width:100px;\" v-model=\"codeType.keyword\" placeholder=\"分组过滤\" prefix-icon=\"el-icon-search\"></el-input>\n <el-button type=\"primary\" @click=\"queryCodeType\" icon=\"el-icon-fa-refresh\" title=\"刷新\"></el-button>\n <el-button type=\"primary\" @click=\"handleAddCodeType\" icon=\"el-icon-fa-plus\" title=\"添加\"></el-button>\n <el-button type=\"primary\" :icon=\"!leftBlock?'el-icon-caret-left':'el-icon-caret-right'\" @click=\"leftBlock=!leftBlock\"></el-button>\n </div>\n </template>\n <el-table ref=\"codeTypeTable\" class=\"group-table\" v-loading=\"codeType.loading\" :data=\"filterBy(codeType.data, codeType.keyword,'codeTypeName','codeTypeValue')\" @current-change=\"handleCurrentCodeTypeChange\" border stripe highlight-current-row>\n <el-table-column label=\"名称\" prop=\"codeTypeName\"></el-table-column>\n <el-table-column label=\"编码\" prop=\"codeTypeValue\"></el-table-column>\n <el-table-column label=\"类型\" prop=\"codeKind\" :formatter=\"formatterCodeKind\"></el-table-column>\n <el-table-column label=\"操作\" fixed='right' width=\"70\">\n <template slot-scope=\"scope\">\n <el-button type=\"primary\" @click.stop=\"handleEditCodeType(scope.$index, scope.row)\" icon=\"el-icon-fa-edit\" title=\"编辑\"></el-button>\n <el-button type=\"primary\" @click.stop=\"handleDeleteCodeType(scope.$index, scope.row)\" icon=\"el-icon-fa-trash\" title=\"删除\"></el-button>\n </template>\n </el-table-column>\n </el-table>\n </el-card>\n <el-card v-if=\"leftBlock\" class=\"flex-2 margin-left-2 full\" style=\"min-height:400px;\">\n <template slot=\"header\">\n <span>代码详情编辑</span>\n <div class=\"pull-right\">\n <el-input class=\"margin-right-3\" style=\"width:100px;\" v-model=\"codeDetail.keyword\" placeholder=\"字典过滤\" prefix-icon=\"el-icon-search\"></el-input>\n <el-button type=\"primary\" @click=\"queryCodeByType\" :disabled=\"!current.codeType\" icon=\"el-icon-fa-refresh\" title=\"查询\"></el-button>\n <el-button type=\"primary\" @click=\"handleAddCode\" :disabled=\"!current.codeType\" icon=\"el-icon-fa-plus\" title=\"新增字典\"></el-button>\n <el-button type=\"primary\" :icon=\"rightBlock?'el-icon-caret-left':'el-icon-caret-right'\" @click=\"rightBlock=!rightBlock\"></el-button>\n </div>\n </template>\n <el-table v-show=\"detailType==='list'\" :data=\"filterBy(codeDetail.data, codeDetail.keyword,'codeValue','codeName')\" border stripe highlight-current-row>\n <el-table-column prop=\"codeValue\" label=\"代码名称\" show-overflow-tooltip></el-table-column>\n <el-table-column prop=\"codeName\" label=\"代码值\"></el-table-column>\n <el-table-column prop=\"ordeNo\" label=\"排序级别\"> </el-table-column>\n <el-table-column label=\"操作\" fixed='right' width=\"70\">\n <template slot-scope=\"scope\">\n <el-button type=\"primary\" @click.stop=\"handleEditCode(scope.$index, scope.row)\" icon=\"el-icon-fa-edit\" title=\"编辑\"></el-button>\n <el-button type=\"primary\" @click.stop=\"handleDeleteCode(scope.$index, scope.row)\" icon=\"el-icon-fa-trash\" title=\"删除\"></el-button>\n </template>\n </el-table-column>\n </el-table>\n <div class=\"flex-h\" v-show=\"detailType==='tree'\">\n <el-tree class=\"flex-1\" ref=\"codeTree\" node-key=\"uuid\" :data=\"codeTreeData\" :props=\"codeDetail.treeProps\" highlight-current @current-change=\"handleTreeNodeChange\" :expand-on-click-node=\"false\" default-expand-all />\n <el-table class=\"flex-2 margin-left-1 \" :data=\"current.code.children\" border stripe highlight-current-row>\n <el-table-column prop=\"codeValue\" label=\"代码键\"></el-table-column>\n <el-table-column prop=\"codeName\" label=\"代码值\"></el-table-column>\n <el-table-column prop=\"ordeNo\" label=\"排序级别\"> </el-table-column>\n <el-table-column label=\"操作\" fixed='right' width=\"120\">\n <template slot-scope=\"scope\">\n <el-button type=\"primary\" @click.stop=\"handleEditCode(scope.$index, scope.row)\" icon=\"el-icon-fa-edit\" title=\"编辑\"></el-button>\n <el-button type=\"primary\" @click.stop=\"handleDeleteCode(scope.$index, scope.row)\" icon=\"el-icon-fa-trash\" title=\"删除\"></el-button>\n </template>\n </el-table-column>\n </el-table>\n </div>\n </el-card>\n <!-- <el-card class=\"flex-1 margin-left-3 full\" v-loading=\"codeSearch.loading\">\n <template slot=\"header\">\n <span>代码快速定位</span>\n </template>\n <div class=\"flex-h\">\n <el-input style=\"width:170px;\" class=\"flex-1\" prefix-icon=\"el-icon-search\" v-model=\"codeSearch.keyword\" placeholder=\"输入以定位字典\" clearable>\n <template slot=\"append\">\n <i class=\" cursor-pointer el-icon-fa el-icon-fa-close\" @click=\"codeSearch.keyword=''\"></i>\n </template>\n </el-input>\n <el-button type=\"primary\" :disabled=\"!codeSearch.keyword\" class=\"margin-left-1\" @click=\"findCode\" icon=\"el-icon-fa-search\" title=\"定位\"></el-button>\n </div>\n <div v-show=\"codeSearch.result\" class=\"margin-2 code-result\">\n <div class=\"code-result__field\">\n <span class=\"code-result__label\">代码名称</span>\n <input v-model=\"codeSearch.result.codeTypeName\" />\n </div>\n <div class=\"code-result__field\">\n <span class=\"code-result__label\">代码标识</span>\n <input v-model=\"codeSearch.result.codeTypeValue\" />\n </div>\n <div class=\"code-result__field\">\n <span class=\"code-result__label\">代码键</span>\n <input v-model=\"codeSearch.result.codeValue\" />\n </div>\n <div class=\"code-result__field\">\n <span class=\"code-result__label\">代码值</span>\n <input v-model=\"codeSearch.result.codeName\" />\n </div>\n </div>\n <div class=\"text-center padding-3\" v-show=\" !codeSearch.result\">\n 没有找到记录!\n </div>\n </el-card> -->\n <el-dialog append-to-body v-draggable width=\"500px\" title=\"代码项编辑\" :visible.sync=\"codeType.editor.visible\" :close-on-click-modal=\"false\">\n <div class='dialog-button'>\n <el-button type=\"primary\" plain :loading=\"codeType.editor.saving\" icon=\"el-icon-fa-save\" title=\"提交\" @click=\"handleSubmitCodeType\"></el-button>\n </div>\n <CodeTypeEditor v-if=\"codeType.editor.visible\" v-loading=\"codeType.editor.saving\" ref=\"codeTypeEditor\" :data=\"codeType.editor.data\" :error=\"codeType.editor.error\" />\n </el-dialog>\n <el-dialog append-to-body v-draggable width=\"600px\" title=\"代码详情编辑\" :visible.sync=\"codeDetail.editor.visible\" :close-on-click-modal=\"false\">\n <div class='dialog-button'>\n <el-button type=\"primary\" plain :loading=\"codeDetail.editor.saving\" icon=\"el-icon-fa-save\" title=\"提交\" @click=\"handleSubmitCode\"></el-button>\n </div>\n <CodeEditor v-if=\"codeDetail.editor.visible\" v-loading=\"codeDetail.editor.saving\" ref=\"codeEditor\" :data=\"codeDetail.editor.data\" :error=\"codeDetail.editor.error\" />\n </el-dialog>\n </div>\n</template>\n<script>\nimport CodeApi from \"@/api/base/sysm/CodeAPI\";\nimport CodeTypeEditor from \"./CodeTypeEditor\";\nimport CodeEditor from \"./CodeEditor\";\n\nlet defaultCodeType = {\n codeTypeName: \"\",\n codeTypeValue: \"\",\n codeKind: \"1\"\n};\n\nlet defaultCode = {\n enabled: \"1\",\n extend: \"\",\n ordeNo: \"1\",\n codeName: \"\",\n codeValue: \"\",\n codeTypeName: \"\",\n codeTypeValue: \"\"\n};\n\nexport default {\n name: \"CodeMgr\",\n components: { CodeEditor, CodeTypeEditor },\n data() {\n return {\n leftBlock: true,\n rightBlock: true,\n loading: false,\n current: {\n code: \"\",\n codeType: \"\"\n },\n codeSearch: {\n loading: false,\n result: false,\n keyword: \"\"\n },\n codeDetail: {\n loading: false,\n data: [],\n keyword: \"\",\n treeProps: {\n children: \"children\",\n label: \"codeName\",\n disabled: \"disabled\"\n },\n editor: {\n data: {},\n error: {},\n visible: false,\n saving: false\n }\n },\n codeType: {\n loading: false,\n data: [],\n currentRowUuid: \"\",\n keyword: \"\",\n editor: {\n data: {},\n error: {},\n visible: false,\n saving: false\n }\n }\n };\n },\n mounted() {\n this.queryCodeType();\n },\n watch: {\n \"current.codeType\"(currentCodeType) {\n if (currentCodeType && currentCodeType.uuid) {\n this.queryCodeByType();\n } else {\n this.codeDetail.data = [];\n }\n }\n },\n computed: {\n codeTreeData() {\n if (this.current.codeType)\n return [\n {\n disabled: true,\n codeName: \"代码项 : \" + this.current.codeType.codeTypeName,\n children: this.codeDetail.data\n }\n ];\n },\n detailType() {\n if (!this.current.codeType) {\n return \"none\";\n }\n if (this.current.codeType.codeKind === \"1\") {\n return \"list\";\n }\n if (this.current.codeType.codeKind === \"2\") {\n return \"tree\";\n }\n }\n },\n methods: {\n queryCodeType() {\n this.codeType.loading = true;\n CodeApi.queryCodeType()\n .then(respData => {\n this.codeType.data = respData;\n this.codeType.loading = false;\n })\n .catch(() => {\n this.codeType.loading = false;\n });\n },\n queryCodeByType() {\n CodeApi.queryCodeByType(this.current.codeType.uuid).then(respData => {\n this.codeDetail.data = respData;\n });\n },\n // 提交 字典分组数据\n submitCodeType(data) {\n this.codeType.editor.saving = true;\n this.codeType.editor.error = {};\n CodeApi.saveCodeType(data)\n .then(respData => {\n this.queryCodeType();\n this.codeType.editor.saving = false;\n this.codeType.editor.visible = false;\n })\n .catch(error => {\n this.codeType.editor.error = error.validError;\n this.codeType.editor.saving = false;\n });\n },\n deleteCodeType(data) {\n this.loading = true;\n CodeApi.deleteCodeType(data.uuid)\n .then(respData => {\n this.queryCodeType();\n this.current.codeType = \"\";\n this.loading = false;\n })\n .catch(() => {\n this.loading = false;\n });\n },\n deleteCode(data) {\n this.loading = true;\n return CodeApi.delCode(data.uuid)\n .then(respData => {\n this.loading = false;\n this.queryCodeByType();\n })\n .catch(() => {\n this.loading = false;\n });\n },\n // 提交 数据字典数据\n submitCode(data) {\n this.codeDetail.editor.saving = true;\n this.codeDetail.editor.error = {};\n CodeApi.saveCode(data)\n .then(respData => {\n this.queryCodeByType();\n this.codeDetail.editor.saving = false;\n this.codeDetail.editor.visible = false;\n })\n .catch(error => {\n this.codeDetail.editor.error = error.validError;\n this.codeDetail.editor.saving = false;\n });\n },\n // 代码项搜索\n findCode() {\n this.codeSearch.loading = true;\n CodeApi.findCode(this.codeSearch.keyword)\n .then(respData => {\n this.codeSearch.result = respData || false;\n this.codeSearch.loading = false;\n })\n .catch(() => {\n this.codeSearch.loading = false;\n });\n },\n // 格式化 字典 类型\n formatterCodeKind(row, column, cellValue) {\n if (cellValue === \"1\") {\n return \"列表\";\n } else if (cellValue === \"2\") {\n return \"树状\";\n } else {\n return \"错误数据\";\n }\n },\n // 响应 当前选中字典分类改变\n handleCurrentCodeTypeChange(currentRow, oldCurrentRow) {\n this.current.codeType = currentRow;\n },\n // 响应[添加 字典分类 按钮]\n handleAddCodeType() {\n this.codeType.editor.data = Object.assign({}, defaultCodeType);\n this.codeType.editor.visible = true;\n },\n // 响应 [ 保存 字典分组 按钮]\n handleSubmitCodeType() {\n this.$refs.codeTypeEditor.validate().then(this.submitCodeType);\n },\n // 响应 [ 编辑 字典分组 按钮]\n handleEditCodeType(index, codeType) {\n this.codeType.editor.data = codeType;\n this.codeType.editor.visible = true;\n },\n // 响应 [ 删除 字典分组 按钮]\n handleDeleteCodeType(index, codeType) {\n this.confirm(codeType).then(this.deleteCodeType);\n },\n // 响应 [ 删除 字典 按钮]\n handleDeleteCode(index, codeType) {\n this.confirm(codeType)\n .then(this.deleteCode)\n .then(() => {\n this.current.code.children.splice(index, 1);\n });\n },\n\n // 响应 [ 添加 字典 按钮]\n handleAddCode() {\n this.codeDetail.editor.data = Object.assign({}, defaultCode, {\n codeTypeName: this.current.codeType.codeTypeName,\n codeTypeValue: this.current.codeType.codeTypeValue,\n codeTypeUuid: this.current.codeType.uuid,\n puuid: this.current.code.uuid\n });\n this.codeDetail.editor.visible = true;\n },\n // 响应 提交代码\n handleSubmitCode() {\n this.$refs.codeEditor.validate().then(this.submitCode);\n },\n // 响应 编辑 代码项\n handleEditCode(index, code) {\n code.codeTypeUuid = this.current.codeType.uuid;\n this.codeDetail.editor.data = code;\n this.codeDetail.editor.visible = true;\n },\n // 响应 [ 树行菜单当前选中节点切换 ]\n handleTreeNodeChange(code) {\n this.current.code = code;\n }\n }\n};\n</script>\n\n<style lang=\"scss\" >\n.group-table {\n .el-table__body {\n td {\n cursor: pointer;\n }\n tr:hover {\n font-weight: 600;\n }\n tr.current-row > td {\n background-color: #bbb !important;\n }\n }\n}\n\n.code-result {\n &__label {\n text-align: right;\n display: inline-block;\n cursor: pointer;\n padding-right: 5px;\n box-sizing: border-box;\n width: 60px;\n & ~ input {\n width: 48%;\n display: inline-block;\n border: 1px solid #ccc;\n outline: none;\n padding: 2px 3px;\n }\n }\n &__field {\n width: 100%;\n padding: 3px;\n }\n}\n\n.cursor-pointer {\n cursor: pointer;\n}\n</style>\n","import mod from \"-!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/_thread-loader@2.1.2@thread-loader/dist/cjs.js!../../../node_modules/_babel-loader@8.0.6@babel-loader/lib/index.js!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./CodeMgr.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/_thread-loader@2.1.2@thread-loader/dist/cjs.js!../../../node_modules/_babel-loader@8.0.6@babel-loader/lib/index.js!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./CodeMgr.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CodeMgr.vue?vue&type=template&id=06119af6&\"\nimport script from \"./CodeMgr.vue?vue&type=script&lang=js&\"\nexport * from \"./CodeMgr.vue?vue&type=script&lang=js&\"\nimport style0 from \"./CodeMgr.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(_vm.mode==='dialog')?_c('div',[_c('el-dialog',{directives:[{name:\"draggable\",rawName:\"v-draggable\"}],attrs:{\"append-to-body\":\"\",\"width\":\"auto\",\"auto-height\":\"\",\"visible\":_vm.view.visible,\"title\":\"经办历史信息\"},on:{\"update:visible\":function($event){return _vm.$set(_vm.view, \"visible\", $event)}}},[(_vm.view.visible && _vm.uuid)?_c('div',[_c('table',{staticClass:\" el-table el-table--fit el-table--striped el-table--border info-table\",attrs:{\"cellspacing\":\"0\",\"cellpadding\":\"0\"}},[_c('thead',[_c('tr',[_c('th',[_vm._v(\"创建人\")]),_c('th',[_vm._v(\"创建时间\")]),_c('th',[_vm._v(\"最后操作人\")]),_c('th',[_vm._v(\"最后操作时间\")])])]),_c('tbody',[_c('tr',[_c('td',[_vm._v(\"\\n \"+_vm._s(_vm.crUserInfo.userName)+\"\\n \")]),_c('td',[_vm._v(_vm._s(_vm._f(\"date\")(_vm.crTime)))]),_c('td',[_vm._v(_vm._s(_vm.opUserInfo.userName))]),_c('td',[_vm._v(_vm._s(_vm._f(\"date\")(_vm.opTime)))])])])]),(_vm.uuid)?_c('HandleDetail',{staticStyle:{\"width\":\"1024px\"},attrs:{\"bizUuid\":_vm.uuid}}):_vm._e()],1):_vm._e()]),_c('div',{staticClass:\"href\",attrs:{\"slot\":\"reference\"},on:{\"click\":function($event){_vm.view.visible=true}},slot:\"reference\"},[_vm._t(\"default\")],2)],1):_vm._e(),( _vm.mode==='plan' && _vm.uuid)?_c('div',{attrs:{\"slot\":\"reference\"},slot:\"reference\"},[_c('table',{staticClass:\" el-table el-table--fit el-table--striped el-table--border info-table el-table--compact\",attrs:{\"cellspacing\":\"0\",\"cellpadding\":\"0\"}},[_vm._m(0),_c('tbody',[_c('tr',[_c('td',[_c('el-tooltip',{staticClass:\"item\",attrs:{\"effect\":\"dark\",\"content\":_vm.crUserInfo.userCode,\"placement\":\"top\"}},[_c('el-button',[_vm._v(_vm._s(_vm.crUserInfo.userName))])],1)],1),_c('td',[_vm._v(_vm._s(_vm._f(\"moment\")(_vm.crTime,'lll')))]),_c('td',[_c('el-tooltip',{staticClass:\"item\",attrs:{\"effect\":\"dark\",\"content\":_vm.opUserInfo.userCode,\"placement\":\"top\"}},[_c('el-button',[_vm._v(_vm._s(_vm.opUserInfo.userName))])],1)],1),_c('td',[_vm._v(_vm._s(_vm._f(\"moment\")(_vm.opTime,'lll')))])])])]),(_vm.uuid)?_c('HandleDetail',{attrs:{\"bizUuid\":_vm.uuid}}):_vm._e()],1):_vm._e()])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('thead',[_c('tr',[_c('th',[_vm._v(\"创建人\")]),_c('th',[_vm._v(\"创建时间\")]),_c('th',[_vm._v(\"最后操作人\")]),_c('th',[_vm._v(\"最后操作时间\")])])])}]\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-card',{staticClass:\"handle-detail margin-top-2\",staticStyle:{\"margin-top\":\"10px\"}},[_c('template',{staticClass:\"clearfix\",slot:\"header\"},[_c('span',[_vm._v(\"经办详细\")]),_c('div',{staticClass:\"pull-right\"},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(this.data.length>0),expression:\"this.data.length>0\"}],staticStyle:{\"display\":\"inline-block\",\"margin-right\":\"3px\"}},[_c('el-popover',{attrs:{\"placement\":\"bottom\",\"trigger\":\"click\",\"width\":\"100\"}},[_c('el-checkbox',{model:{value:(_vm.columns.svrip),callback:function ($$v) {_vm.$set(_vm.columns, \"svrip\", $$v)},expression:\"columns.svrip\"}},[_vm._v(\"服务器IP\")]),_c('br'),_c('el-checkbox',{model:{value:(_vm.columns.svrname),callback:function ($$v) {_vm.$set(_vm.columns, \"svrname\", $$v)},expression:\"columns.svrname\"}},[_vm._v(\"服务器名称\")]),_c('br'),_c('el-checkbox',{model:{value:(_vm.columns.actdefn),callback:function ($$v) {_vm.$set(_vm.columns, \"actdefn\", $$v)},expression:\"columns.actdefn\"}},[_vm._v(\"操作定义\")]),_c('br'),_c('el-checkbox',{model:{value:(_vm.columns.acttype),callback:function ($$v) {_vm.$set(_vm.columns, \"acttype\", $$v)},expression:\"columns.acttype\"}},[_vm._v(\"协议类型\")]),_c('br'),_c('el-checkbox',{model:{value:(_vm.columns.reqip),callback:function ($$v) {_vm.$set(_vm.columns, \"reqip\", $$v)},expression:\"columns.reqip\"}},[_vm._v(\"请求者IP\")]),_c('br'),_c('el-checkbox',{model:{value:(_vm.columns.devtype),callback:function ($$v) {_vm.$set(_vm.columns, \"devtype\", $$v)},expression:\"columns.devtype\"}},[_vm._v(\"请求终端类型\")]),_c('br'),_c('div',{attrs:{\"slot\":\"reference\"},slot:\"reference\"},[_c('el-button',{attrs:{\"icon\":\"el-icon-fa-list\",\"type\":\"primary\"}})],1)],1)],1),_c('el-button',{attrs:{\"type\":\"primary\",\"icon\":\"el-icon-fa-search\"},on:{\"click\":_vm.handleSee}}),_c('el-button',{attrs:{\"type\":\"primary\",\"icon\":\"el-icon-fa-close\"},on:{\"click\":_vm.handleClose}})],1)]),_c('PageTable',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showDetail),expression:\"showDetail\"}],ref:\"dataTable\",attrs:{\"hideTitle\":\"\",\"page-layout\":\"total, prev, pager, next\",\"row-key\":\"actend\",\"page-size\":10,\"auto-height\":\"\",\"auto-load\":true,\"data\":_vm.data,\"highlight-current-row\":\"\",\"stripe\":\"\",\"border\":\"\"},on:{\"load-data\":_vm.dataTableLoad}},[_c('el-table-column',{attrs:{\"width\":\"50\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('el-popover',{attrs:{\"placement\":\"left\"}},[_c('div',{staticStyle:{\"max-height\":\"600px\",\"overflow\":\"auto\"}},[_c('table',{staticClass:\" el-table el-table--fit el-table--striped el-table--border info-table el-table--compact\",attrs:{\"cellspacing\":\"0\",\"cellpadding\":\"0\"}},[_c('tbody',_vm._l((scope.row.opdataArray),function(item){return _c('tr',{key:item.key},[_c('td',{staticClass:\"padding-right-2\",staticStyle:{\"background\":\"#ccc\"},attrs:{\"align\":\"right\"}},[_vm._v(_vm._s(item.key))]),_c('td',{staticClass:\"padding-left-2\",attrs:{\"title\":item.value}},[_c('input',{staticStyle:{\"border\":\"none\"},attrs:{\"type\":\"text\"},domProps:{\"value\":item.value}})])])}),0)])]),_c('el-button',{attrs:{\"slot\":\"reference\",\"icon\":\"el-icon-fa-eye\"},slot:\"reference\"})],1)]}}])}),_c('el-table-column',{attrs:{\"show-overflow-tooltip\":\"\",\"prop\":\"actdesc\",\"label\":\"操作描述\"}}),_c('el-table-column',{attrs:{\"show-overflow-tooltip\":\"\",\"prop\":\"username\",\"label\":\"操作人\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('PopoverUserInfo',{attrs:{\"uuid\":scope.row.opuseruuid}},[_vm._v(\"\\n \"+_vm._s(scope.row.username)+\"\\n \")])]}}])}),_c('el-table-column',{attrs:{\"show-overflow-tooltip\":\"\",\"prop\":\"optype\",\"label\":\"操作类型\",\"formatter\":_vm.foemarOptype}}),(_vm.columns.svrip)?_c('el-table-column',{attrs:{\"show-overflow-tooltip\":\"\",\"prop\":\"svrip\",\"label\":\"服务器IP\"}}):_vm._e(),_c('el-table-column',{attrs:{\"show-overflow-tooltip\":\"\",\"prop\":\"respcode\",\"label\":\"处理代码\"}}),(_vm.columns.svrname)?_c('el-table-column',{attrs:{\"show-overflow-tooltip\":\"\",\"prop\":\"svrname\",\"label\":\"服务器名称\"}}):_vm._e(),(_vm.columns.actdefn)?_c('el-table-column',{attrs:{\"show-overflow-tooltip\":\"\",\"prop\":\"actdefn\",\"label\":\"操作定义\"}}):_vm._e(),(_vm.columns.acttype)?_c('el-table-column',{attrs:{\"show-overflow-tooltip\":\"\",\"prop\":\"acttype\",\"label\":\"协议类型\",\"formatter\":_vm.foemarActtype}}):_vm._e(),(_vm.columns.reqip)?_c('el-table-column',{attrs:{\"show-overflow-tooltip\":\"\",\"prop\":\"reqip\",\"label\":\"请求者IP\"}}):_vm._e(),(_vm.columns.devtype)?_c('el-table-column',{attrs:{\"show-overflow-tooltip\":\"\",\"prop\":\"devtype\",\"label\":\"请求终端类型\"}}):_vm._e(),_c('el-table-column',{attrs:{\"show-overflow-tooltip\":\"\",\"prop\":\"actsta\",\"label\":\"操作开始时间\",\"formatter\":_vm.formatterDateTime}}),_c('el-table-column',{attrs:{\"show-overflow-tooltip\":\"\",\"prop\":\"actend\",\"label\":\"操作结束时间\",\"formatter\":_vm.formatterDateTime}})],1)],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(_vm.uuid)?_c('el-popover',{attrs:{\"placement\":\"right\",\"trigger\":\"click\"},on:{\"show\":_vm.hanleShow}},[_c('table',{staticClass:\" el-table el-table--fit el-table--striped el-table--border info-table el-table--compact\",attrs:{\"cellspacing\":\"0\",\"cellpadding\":\"0\"}},[_c('tbody',[_c('tr',[_c('td',{staticClass:\"margin-1 bg-default\",attrs:{\"align\":\"right\"}},[_vm._v(\"最后登录于 \")]),_c('td',{staticClass:\"padding-1\"},[_vm._v(\" \"+_vm._s(_vm._f(\"date\")(_vm.userInfo.laseLogDate)))])]),_c('tr',[_c('td',{staticClass:\"margin-1 bg-default\",attrs:{\"align\":\"right\"}},[_vm._v(\"最后登录IP \")]),_c('td',{staticClass:\"padding-1\"},[_vm._v(\" \"+_vm._s(_vm.userInfo.laseLogIp))])])])]),_c('div',{staticClass:\"href\",attrs:{\"slot\":\"reference\"},slot:\"reference\"},[_vm._t(\"default\")],2)]):_vm._e(),(!_vm.uuid)?_c('span',[_vm._t(\"default\")],2):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <div>\n <el-popover v-if=\"uuid\" placement=\"right\" trigger=\"click\" @show=\"hanleShow\">\n <table class=\" el-table el-table--fit el-table--striped el-table--border info-table el-table--compact\" cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr>\n <td align=\"right\" class=\"margin-1 bg-default\">最后登录于 </td>\n <td class=\"padding-1\"> {{userInfo.laseLogDate|date}}</td>\n </tr>\n <tr>\n <td align=\"right\" class=\"margin-1 bg-default\">最后登录IP </td>\n <td class=\"padding-1\"> {{userInfo.laseLogIp}}</td>\n </tr>\n </tbody>\n </table>\n <div slot=\"reference\" class=\"href\">\n <slot></slot>\n </div>\n </el-popover>\n <span v-if=\"!uuid\">\n <slot></slot>\n </span>\n </div>\n</template>\n<script>\nimport UserAPI from \"../api/base/usrm/UserAPI\";\nexport default {\n props: {\n uuid: {\n type: String\n }\n },\n data() {\n return {\n userInfo: []\n };\n },\n methods: {\n /**\n * 当显示的时候处理一下数据\n */\n hanleShow() {\n if (!this.uuid) {\n return;\n }\n this.loadUserInfo();\n },\n /**\n * 加载用户信息\n */\n loadUserInfo() {\n this.userInfo = [];\n UserAPI.getUserInfo(this.uuid)\n .then(userInfo => {\n this.userInfo = userInfo;\n })\n .catch(() => {\n // amazing....\n });\n }\n }\n};\n</script>\n","import mod from \"-!../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../node_modules/_thread-loader@2.1.2@thread-loader/dist/cjs.js!../../node_modules/_babel-loader@8.0.6@babel-loader/lib/index.js!../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./PopoverUserInfo.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../node_modules/_thread-loader@2.1.2@thread-loader/dist/cjs.js!../../node_modules/_babel-loader@8.0.6@babel-loader/lib/index.js!../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./PopoverUserInfo.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PopoverUserInfo.vue?vue&type=template&id=7da379b3&\"\nimport script from \"./PopoverUserInfo.vue?vue&type=script&lang=js&\"\nexport * from \"./PopoverUserInfo.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/_vue-loader@15.7.1@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","<template>\n <el-card class=\"handle-detail margin-top-2\" style='margin-top:10px;'>\n <template slot=\"header\" class=\"clearfix\">\n <span>经办详细</span>\n <div class=\"pull-right\">\n <div v-show=\"this.data.length>0\" style=\"display:inline-block;margin-right: 3px;\">\n <el-popover placement=\"bottom\" trigger=\"click\" width=\"100\">\n <el-checkbox v-model=\"columns.svrip\">服务器IP</el-checkbox>\n <br>\n <el-checkbox v-model=\"columns.svrname\">服务器名称</el-checkbox>\n <br>\n <el-checkbox v-model=\"columns.actdefn\">操作定义</el-checkbox>\n <br>\n <el-checkbox v-model=\"columns.acttype\">协议类型</el-checkbox>\n <br>\n <el-checkbox v-model=\"columns.reqip\">请求者IP</el-checkbox>\n <br>\n <el-checkbox v-model=\"columns.devtype\">请求终端类型</el-checkbox>\n <br>\n <div slot=\"reference\">\n <el-button icon=\"el-icon-fa-list\" type=\"primary\"></el-button>\n </div>\n </el-popover>\n </div>\n <el-button type=\"primary\" icon=\"el-icon-fa-search\" @click=\"handleSee\"></el-button>\n <el-button type=\"primary\" icon=\"el-icon-fa-close\" @click=\"handleClose\"></el-button>\n </div>\n </template>\n <PageTable hideTitle page-layout=\"total, prev, pager, next\" row-key=\"actend\" v-show=\"showDetail\" :page-size=\"10\" auto-height :auto-load=\"true\" ref=\"dataTable\" @load-data=\"dataTableLoad\" :data=\"data\"\n highlight-current-row stripe border>\n <el-table-column width='50'>\n <template slot-scope=\"scope\">\n <el-popover placement=\"left\">\n <div style=\"max-height:600px;overflow: auto;\">\n <table class=\" el-table el-table--fit el-table--striped el-table--border info-table el-table--compact\" cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr v-for=\"item in scope.row.opdataArray\" :key=\"item.key\">\n <td align=\"right\" class=\"padding-right-2\" style=\"background:#ccc;\">{{item.key}}</td>\n <td class=\"padding-left-2\" :title=\"item.value\"> <input type=\"text\" :value=\"item.value\" style=\"border:none;\"> </td>\n </tr>\n </tbody>\n </table>\n </div>\n <el-button slot=\"reference\" icon=\"el-icon-fa-eye\"></el-button>\n </el-popover>\n </template>\n </el-table-column>\n <el-table-column show-overflow-tooltip prop=\"actdesc\" label=\"操作描述\"></el-table-column>\n <el-table-column show-overflow-tooltip prop=\"username\" label=\"操作人\">\n <template slot-scope=\"scope\">\n <PopoverUserInfo :uuid=\"scope.row.opuseruuid\">\n {{scope.row.username}}\n </PopoverUserInfo>\n </template>\n </el-table-column>\n <el-table-column show-overflow-tooltip prop=\"optype\" label=\"操作类型\" :formatter=\"foemarOptype\"></el-table-column>\n <el-table-column show-overflow-tooltip prop=\"svrip\" label=\"服务器IP\" v-if=\"columns.svrip\"></el-table-column>\n <el-table-column show-overflow-tooltip prop=\"respcode\" label=\"处理代码\"></el-table-column>\n <el-table-column show-overflow-tooltip prop=\"svrname\" label=\"服务器名称\" v-if=\"columns.svrname\"></el-table-column>\n <el-table-column show-overflow-tooltip prop=\"actdefn\" label=\"操作定义\" v-if=\"columns.actdefn\"></el-table-column>\n <el-table-column show-overflow-tooltip prop=\"acttype\" label=\"协议类型\" v-if=\"columns.acttype\" :formatter=\"foemarActtype\"></el-table-column>\n <el-table-column show-overflow-tooltip prop=\"reqip\" label=\"请求者IP\" v-if=\"columns.reqip\"></el-table-column>\n <el-table-column show-overflow-tooltip prop=\"devtype\" label=\"请求终端类型\" v-if=\"columns.devtype\"></el-table-column>\n <el-table-column show-overflow-tooltip prop=\"actsta\" label=\"操作开始时间\" :formatter=\"formatterDateTime\"></el-table-column>\n <el-table-column show-overflow-tooltip prop=\"actend\" label=\"操作结束时间\" :formatter=\"formatterDateTime\"></el-table-column>\n </PageTable>\n </el-card>\n</template>\n<script>\n/**\n * 显示经办历史字段:\n * attributes:\n * mode:['popover'|'plan'] popover 则在悬浮提示中显示,使用slot作为渲染内容. plan 直接显示table\n *\n */\nimport ElScrollbar from \"element-ui/lib/scrollbar\";\nimport LogsOperAPI from \"../api/base/logs/LogsOper\";\nimport moment from \"moment\";\nimport PopoverUserInfo from \"./PopoverUserInfo\";\n\nexport default {\n components: { ElScrollbar, PopoverUserInfo },\n props: {\n bizUuid: {\n type: String\n }\n },\n data() {\n return {\n showDetail: false,\n columns: {\n svrip: true,\n svrname: false,\n actdefn: false,\n acttype: false,\n reqip: true,\n devtype: false\n },\n data: []\n };\n },\n watch: {\n bizUuid(val) {\n this.data = [];\n }\n },\n methods: {\n foemarOpdata(jsonStr) {\n let data = JSON.parse(jsonStr);\n let dataArr = [];\n for (let key in data) {\n if (key.indexOf(\"uuid\") === -1) {\n let value = data[key];\n if (value === null) {\n value = `null`;\n }\n // 判断是数字13位,表示是日期\n if (/^[\\d]{11}|[\\d]{13}$/.test(value)) {\n let _value =\n moment(value).format(\"L\") + \" \" + moment(value).format(\"LTS\");\n if (_value !== \"Invalid date\") {\n value = _value;\n }\n }\n key = key.toLocaleUpperCase();\n dataArr.push({ key, value });\n }\n }\n return dataArr;\n },\n foemarOptype(row, column, cellValue) {\n let label = \"unknow\";\n switch (cellValue) {\n case \"01\":\n label = \"新增\";\n break;\n case \"02\":\n label = \"修改\";\n break;\n case \"03\":\n label = \"删除\";\n break;\n }\n return label;\n },\n foemarActtype(row, column, cellValue) {\n let label = \"unknow\";\n switch (cellValue) {\n case \"1\":\n label = \"http://\";\n break;\n }\n return label;\n },\n handleSee() {\n this.showDetail = true;\n this.$refs.dataTable.load();\n },\n handleClose() {\n this.showDetail = false;\n },\n dataTableLoad(params, resolve) {\n params.bizUuid = this.bizUuid;\n LogsOperAPI.queryQueryDataHis(params)\n .then(resolve)\n .then(respData => {\n this.data = respData.datarows;\n this.data.forEach(function(element) {\n try {\n element.opdataArray = this.foemarOpdata(element.opdata);\n } catch (e) {\n console.warn(\"JSON PARSE ERROR\", e);\n element.opdataArray = [];\n }\n }, this);\n });\n }\n }\n};\n</script>\n","import mod from \"-!../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../node_modules/_thread-loader@2.1.2@thread-loader/dist/cjs.js!../../node_modules/_babel-loader@8.0.6@babel-loader/lib/index.js!../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./HandleDetail.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../node_modules/_thread-loader@2.1.2@thread-loader/dist/cjs.js!../../node_modules/_babel-loader@8.0.6@babel-loader/lib/index.js!../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./HandleDetail.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./HandleDetail.vue?vue&type=template&id=5c7448e2&\"\nimport script from \"./HandleDetail.vue?vue&type=script&lang=js&\"\nexport * from \"./HandleDetail.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/_vue-loader@15.7.1@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","<template>\n <div>\n <div v-if=\"mode==='dialog'\">\n <el-dialog append-to-body v-draggable width=\"auto\" auto-height :visible.sync=\"view.visible\" title=\"经办历史信息\">\n <div v-if=\"view.visible && uuid\">\n <table class=\" el-table el-table--fit el-table--striped el-table--border info-table\" cellspacing=\"0\" cellpadding=\"0\">\n <thead>\n <tr>\n <th>创建人</th>\n <th>创建时间</th>\n <th>最后操作人</th>\n <th>最后操作时间</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <td>\n {{crUserInfo.userName}}\n </td>\n <td>{{crTime|date}}</td>\n <td>{{opUserInfo.userName}}</td>\n <td>{{opTime|date}}</td>\n </tr>\n </tbody>\n </table>\n <HandleDetail style=\"width:1024px\" v-if=\"uuid\" :bizUuid=\"uuid\"></HandleDetail>\n </div>\n </el-dialog>\n <div slot=\"reference\" class=\"href\" @click=\"view.visible=true\">\n <slot></slot>\n </div>\n </div>\n <!-- 直接显示table的模式 -->\n <div v-if=\" mode==='plan' && uuid\" slot=\"reference\">\n <table class=\" el-table el-table--fit el-table--striped el-table--border info-table el-table--compact\" cellspacing=\"0\" cellpadding=\"0\">\n <thead>\n <tr>\n <th>创建人</th>\n <th>创建时间</th>\n <th>最后操作人</th>\n <th>最后操作时间</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <td>\n <el-tooltip class=\"item\" effect=\"dark\" :content=\"crUserInfo.userCode\" placement=\"top\">\n <el-button>{{crUserInfo.userName}}</el-button>\n </el-tooltip>\n </td>\n <td>{{crTime|moment('lll')}}</td>\n <td>\n <el-tooltip class=\"item\" effect=\"dark\" :content=\"opUserInfo.userCode\" placement=\"top\">\n <el-button>{{opUserInfo.userName}}</el-button>\n </el-tooltip>\n </td>\n <td>{{opTime|moment('lll')}}</td>\n </tr>\n </tbody>\n </table>\n <HandleDetail v-if=\"uuid\" :bizUuid=\"uuid\"></HandleDetail>\n </div>\n </div>\n</template>\n<script>\n/**\n * 显示经办历史字段:\n * attributes:\n * mode:['popover'|'plan'] popover 则在悬浮提示中显示,使用slot作为渲染内容. plan 直接显示table\n *\n */\nimport HandleDetail from \"./HandleDetail\";\nimport UserAPI from \"../api/base/usrm/UserAPI\";\n\nexport default {\n components: { HandleDetail },\n props: {\n uuid: {\n type: String\n },\n crTime: {\n type: Number\n },\n opUserUuid: {\n type: String\n },\n crUserUuid: {\n type: String\n },\n opTime: {\n type: Number\n },\n mode: {\n type: String,\n default: \"plan\"\n }\n },\n data() {\n return {\n crUserInfo: {},\n opUserInfo: {},\n data: [],\n view: {\n visible: false\n }\n };\n },\n watch: {\n uuid(val) {\n this.loadUserInfo();\n }\n },\n mounted() {\n if (this.uuid) {\n this.loadUserInfo(this.uuid);\n }\n },\n methods: {\n handleShow() {\n this.view.visible = true;\n },\n handleHide() {\n this.view.visible = false;\n },\n loadUserInfo() {\n if (this.crUserUuid && this.opUserUuid) {\n UserAPI.getUser(this.crUserUuid).then(resp => {\n this.crUserInfo = Object.assign({}, resp.data.data);\n });\n UserAPI.getUser(this.opUserUuid).then(resp => {\n this.opUserInfo = Object.assign({}, resp.data.data);\n });\n }\n }\n }\n};\n</script>\n<style scoped>\n.info-table th {\n padding: 2px 10px;\n font-weight: normal;\n}\n\n.info-table td {\n padding: 2px 10px;\n font-weight: normal;\n}\n</style>\n","import mod from \"-!../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../node_modules/_thread-loader@2.1.2@thread-loader/dist/cjs.js!../../node_modules/_babel-loader@8.0.6@babel-loader/lib/index.js!../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./HandleHistory.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../node_modules/_thread-loader@2.1.2@thread-loader/dist/cjs.js!../../node_modules/_babel-loader@8.0.6@babel-loader/lib/index.js!../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./HandleHistory.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./HandleHistory.vue?vue&type=template&id=555c5032&scoped=true&\"\nimport script from \"./HandleHistory.vue?vue&type=script&lang=js&\"\nexport * from \"./HandleHistory.vue?vue&type=script&lang=js&\"\nimport style0 from \"./HandleHistory.vue?vue&type=style&index=0&id=555c5032&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/_vue-loader@15.7.1@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"555c5032\",\n null\n \n)\n\nexport default component.exports","import querystring from \"querystring\";\nimport moment from \"moment\";\n\n// 文件下载\nconst downFileIframe = function(url, params) {\n const id = \"iframe_to_download_file_hidden\";\n let fullURL = url + \"?\" + querystring.stringify(params);\n let iframe = document.getElementById(id);\n if (iframe === null) {\n iframe = document.createElement(\"iframe\");\n }\n iframe.id = id;\n iframe.src = fullURL;\n document.body.appendChild(iframe);\n iframe.onload = () => {\n document.body.removeChild(iframe);\n };\n};\n\n/**\n * 数据安全处理\n */\nconst safety = {\n // 防止非法数据\n safeData(data) {\n if (typeof data !== \"object\") {\n return;\n }\n\n if (data) {\n // 过滤非法数据\n delete data.opDesc;\n delete data.opUuid;\n delete data.crUserUuid;\n delete data.crTime;\n delete data.opUserUuid;\n delete data.opUserName;\n delete data.opUserName;\n delete data.opTime;\n\n for (let key in data) {\n // 字符串去掉空白\n if (typeof data[key] === \"string\") {\n data[key] = data[key].trim();\n }\n\n // 过滤 空字符串 和null 不传递\n if (key === \"uuid\") {\n // uuid不能穿 空白等\n if (\n data[key] === \"\" ||\n data[key] == null ||\n data[key] === undefined\n ) {\n delete data[key];\n }\n }\n\n // 处理日期类型\n if (moment.isDate(data[key])) {\n data[key] = moment(data[key]).format(\"x\");\n }\n }\n }\n return data;\n },\n // 递归预处理数据提交\n preSubmit(data) {\n this.safeData(data);\n for (let key in data) {\n if (data.hasOwnProperty(key)) {\n if (typeof data[key] === \"object\") {\n data[key] = this.preSubmit(data[key]);\n }\n }\n }\n return data;\n }\n};\n\nexport default { downFileIframe, safety };\n","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}","import mod from \"-!../../node_modules/_mini-css-extract-plugin@0.6.0@mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/_css-loader@1.0.1@css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/_vue-loader@15.7.1@vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/_sass-loader@7.1.0@sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./TimeLine.vue?vue&type=style&index=0&id=2ef591a6&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../node_modules/_mini-css-extract-plugin@0.6.0@mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/_css-loader@1.0.1@css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/_vue-loader@15.7.1@vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/_sass-loader@7.1.0@sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./TimeLine.vue?vue&type=style&index=0&id=2ef591a6&lang=scss&scoped=true&\"","module.exports = require(\"vue2-filters\");","module.exports = require(\"babel-polyfill\");","module.exports = require(\"vue-progressbar\");","import ajax from \"@/libs/Ajax\";\r\n\r\nexport default {\r\n queryLogsServ(params) {\r\n return ajax.get(\"/logs/LogsServ/queryLogsServ\", { params: params });\r\n },\r\n queryLogsOperData(params) {\r\n return ajax.get(\"/logs/LogsServ/queryLogsOperData\", { params: params });\r\n },\r\n queryLogsSqlData(params) {\r\n return ajax.get(\"/logs/LogsServ/queryLogsSqlData\", { params: params });\r\n },\r\n SqlFormat(sql) {\r\n return ajax.get(\"/logs/LogsServ/SqlFormat\", { params: { sql: sql } });\r\n },\r\n getLogsServByUuid(uuid) {\r\n return ajax.get(\"/logs/LogsServ/getLogsServByUuid\", { params: { uuid } });\r\n }\r\n};\r\n","module.exports = require(\"querystring\");","module.exports = require(\"core-js/modules/es6.array.sort\");","import mod from \"-!../../../node_modules/_mini-css-extract-plugin@0.6.0@mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/_css-loader@1.0.1@css-loader/index.js??ref--8-oneOf-1-1!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/_sass-loader@7.1.0@sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./NotFound.vue?vue&type=style&index=0&id=190b082d&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../node_modules/_mini-css-extract-plugin@0.6.0@mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/_css-loader@1.0.1@css-loader/index.js??ref--8-oneOf-1-1!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/_sass-loader@7.1.0@sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./NotFound.vue?vue&type=style&index=0&id=190b082d&lang=scss&scoped=true&\"","import mod from \"-!../../node_modules/_mini-css-extract-plugin@0.6.0@mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/_css-loader@1.0.1@css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/_vue-loader@15.7.1@vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/_sass-loader@7.1.0@sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./Login.vue?vue&type=style&index=0&lang=scss&\"; export default mod; export * from \"-!../../node_modules/_mini-css-extract-plugin@0.6.0@mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/_css-loader@1.0.1@css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/_vue-loader@15.7.1@vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/_sass-loader@7.1.0@sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../node_modules/_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./Login.vue?vue&type=style&index=0&lang=scss&\""],"sourceRoot":""}
\No newline at end of file