| | |
| | | "cesium": "^1.84.0", |
| | | "core-js": "^3.6.5", |
| | | "echarts": "^5.3.3", |
| | | "echarts-liquidfill": "^3.1.0", |
| | | "element-ui": "^2.14.1", |
| | | "esri-loader": "^2.14.0", |
| | | "install": "^0.13.0", |
| | |
| | | return request.post('/role/insertRole', params); |
| | | } |
| | | //è§è²ç®¡çå é¤ |
| | | export function deleteRole(params) { |
| | | export function deleteRoles(params) { |
| | | //请æ±å°å |
| | | return request.get('/role/deleteRole', { params: params }); |
| | | return request.get('/role/deleteAuths', { params: params }); |
| | | } |
| | | //è§è²ç®¡çä¿®æ¹ |
| | | export function updateRole(params) { |
| | |
| | | export function updateStyle(params) { |
| | | return request.post('/Style/updateStyle', params); |
| | | } |
| | | //æ ·å¼ç®¡çä¸ä¼ |
| | | export function upload_style(params) { |
| | | return request.post('/Style/upload', params); |
| | | } |
| | | |
| | | //ç»å½æ¥å¿ |
| | | export function loginSelectByPageAndCount(params) { |
| | | //请æ±å°å |
| | |
| | | export function deleteRess(params) { |
| | | return request.get('/res/deleteRess', { params: params }); |
| | | } |
| | | |
| | | //èµæºä¸ä¼ |
| | | export function upload_res(params) { |
| | | return request.post('/res/upload', params); |
| | | } |
| | | //è·åå
¬é¥ç¨äºå å¯ |
| | | export function getPublicKey(params) { |
| | | //请æ±å°å |
| | |
| | | //请æ±å°å |
| | | return request.get('/sign/logout', { params: params }); |
| | | } |
| | | |
| | | |
| | | //请æ±èåæ æ°æ® |
| | | export function queryMenuTree() { |
| | |
| | | return request.post('/dir/updateDirs', params); |
| | | } |
| | | |
| | | |
| | | //请æ±å使 |
| | | export function queryDepTree() { |
| | | return request.get('/dep/selectDepAll'); |
| | |
| | | export function updateUserPwd(params) { |
| | | return request.post('/user/updateUserPwd', params); |
| | | } |
| | | |
| | | |
| | | |
| | | //æ ¹æ®è§è²æ¥è¯¢ç¨æ· |
| | | export function roleUserselectByPageForRole(params) { |
| | | //请æ±å°å |
| | | return request.get('/roleUser/selectByPageAndCount', { params: params }); |
| | | } |
| | | //ç¨æ·è§è²å é¤ |
| | | export function roleUserdeletes(params) { |
| | | //请æ±å°å |
| | | return request.get('/roleUser/deletes', { params: params }); |
| | | } |
| | | //æ ¹æ®è§è²é¨é¨æ¥è¯¢ç¨æ· |
| | | export function userselectByPageForRole(params) { |
| | | //请æ±å°å |
| | | return request.get('/user/selectByPageForRole', { params: params }); |
| | | } |
| | | // ç¨æ·è§è²æ°å¢å¤é |
| | | export function roleUserinserts(params) { |
| | | //请æ±å°å |
| | | return request.post('/roleUser/inserts', params); |
| | | } |
| | | |
| | | //ç³»ç»é
ç½®å表 |
| | | export function select_Args_ByPageAndCount(params) { |
| | | return request.get('/args/selectByPageAndCount', { params: params }); |
| | | } |
| | | //ç³»ç»é
ç½®ä¿®æ¹ |
| | | export function update_args(params) { |
| | | return request.post('/args/update', params); |
| | | } |
| | |
| | | operatManage: { |
| | | operatManage: 'Operat Manage', |
| | | ResourceLog: 'Resource Log', |
| | | UserRoleAuthorization: 'User Role Authorization', |
| | | UserRoleAuthorizationObj: { |
| | | RoleTable: 'Role Table', |
| | | userTable: 'user Table', |
| | | Added: 'Added', |
| | | delete: 'delete', |
| | | serialNumber: 'serial Number', |
| | | name: 'name', |
| | | }, |
| | | ELM: { |
| | | username: 'username', |
| | | ownedSystem: 'ownedSystem', |
| | |
| | | }, |
| | | userManagement: 'User Management', |
| | | systemLayout: 'System Layout', |
| | | |
| | | sysLayOutObj: { |
| | | name: 'Name', |
| | | cvalue: 'Current value', |
| | | dvalue: 'Default value', |
| | | minValue: 'Minimum value', |
| | | maxValue: 'Maximum value', |
| | | descr: 'Describe', |
| | | editSysLayOut: 'Modify system configuration', |
| | | }, |
| | | menuSettings: 'Menu Settings', |
| | | parameterConfiguration: 'parameterConfiguration', |
| | | rests: 'Rests', |
| | |
| | | depName: 'department name', |
| | | userexport: 'Excel user export', |
| | | userinput: 'Excel user input', |
| | | userStatus: "User Status", |
| | | addr: "address", |
| | | bak: "notes", |
| | | contact: "contact", |
| | | edu: "education", |
| | | email: "email", |
| | | idcard: "idcard", |
| | | job: "job", |
| | | natives: "natives", |
| | | pwd: "password", |
| | | sex: "gender", |
| | | status: "status", |
| | | uname: "username", |
| | | depid: "department", |
| | | userStatus: 'User Status', |
| | | addr: 'address', |
| | | bak: 'notes', |
| | | contact: 'contact', |
| | | edu: 'education', |
| | | email: 'email', |
| | | idcard: 'idcard', |
| | | job: 'job', |
| | | natives: 'natives', |
| | | pwd: 'password', |
| | | sex: 'gender', |
| | | status: 'status', |
| | | uname: 'username', |
| | | depid: 'department', |
| | | chineseName: 'Chinese Name [User Name]', |
| | | affiliatedUnit: 'Affiliated unit [on-the-job]', |
| | | mobileNumber: 'Mobile number [receive SMS]', |
| | |
| | | close: 'å
³é', |
| | | see: 'æ¥ç', |
| | | index: 'åºå·', |
| | | |
| | | }, |
| | | dataManage: { |
| | | dataManage: 'æ°æ®ç®¡ç', |
| | |
| | | operatManage: { |
| | | operatManage: 'è¿ç»´ç®¡ç', |
| | | ResourceLog: 'èµæºæ¥å¿', |
| | | UserRoleAuthorization: 'ç¨æ·è§è²ææ', |
| | | UserRoleAuthorizationObj: { |
| | | RoleTable: 'è§è²è¡¨', |
| | | userTable: 'ç¨æ·è¡¨', |
| | | Added: 'æ°å¢', |
| | | delete: 'å é¤', |
| | | serialNumber: 'ç¼å·', |
| | | name: 'åç§°', |
| | | }, |
| | | ELM: { |
| | | username: 'ç¨æ·åç§°', |
| | | ownedSystem: 'æå±ç³»ç»', |
| | |
| | | }, |
| | | userManagement: 'ç¨æ·ç®¡ç', |
| | | systemLayout: 'ç³»ç»é
ç½®', |
| | | sysLayOutObj: { |
| | | name: 'åç§°', |
| | | cvalue: 'å½åå¼', |
| | | dvalue: 'é»è®¤å¼', |
| | | minValue: 'æå°å¼', |
| | | maxValue: 'æå¤§å¼', |
| | | descr: 'æè¿°', |
| | | editSysLayOut: 'ä¿®æ¹ç³»ç»é
ç½®', |
| | | }, |
| | | menuSettings: 'èå设置', |
| | | parameterConfiguration: 'åæ°é
ç½®', |
| | | rests: 'å
¶ä»', |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | import { logout } from "@/api/api"; |
| | | import { removeToken, getToken } from "@/utils/auth"; |
| | | import customElMenu from "../components/customElMenu.vue"; |
| | | import { queryMenuTree, updateMenuTree, queryMaxId } from "../api/api"; |
| | | import { logout } from '@/api/api'; |
| | | import { removeToken, getToken } from '@/utils/auth'; |
| | | import customElMenu from '../components/customElMenu.vue'; |
| | | import { queryMenuTree, updateMenuTree, queryMaxId } from '../api/api'; |
| | | |
| | | export default { |
| | | name: "navMenu", |
| | | name: 'navMenu', |
| | | //importå¼å
¥çç»ä»¶éè¦æ³¨å
¥å°å¯¹è±¡ä¸æè½ä½¿ç¨ |
| | | components: { |
| | | customElMenu, |
| | |
| | | oriData: [], //åå§æ æ°æ® |
| | | dirData: [], //elæ æ°æ® |
| | | newData: [], //æå¨åæ°æ® |
| | | lang: "zh", |
| | | activeIndex: "/", |
| | | lang: 'zh', |
| | | activeIndex: '/', |
| | | menuList: [], |
| | | editTitle: "", |
| | | editTitle: '', |
| | | showPopover: false, |
| | | showEditInfoWrapper: false, |
| | | showEdit: false, |
| | |
| | | editCatalogue: false, |
| | | editUnit: false, |
| | | itemdetail: {}, |
| | | formLabelWidth: "70px", |
| | | formLabelWidth: '70px', |
| | | }; |
| | | }, |
| | | mounted() { |
| | | this.getMenuTree(); |
| | | }, |
| | | computed: {}, |
| | | computed: { |
| | | // æä»¬ä½¿ç¨è®¡ç®å±æ§æ¥è·åå°å½åç¹å»çèåçè·¯ç±è·¯å¾ï¼ç¶å设置default-activeä¸çå¼ |
| | | // 使å¾èåå¨è½½å
¥æ¶å°±è½å¯¹åºé«äº® |
| | | // activeIndex() { |
| | | // const route = this.$route; |
| | | // const { meta, path } = route; |
| | | // // if set path, the sidebar will highlight the path you set |
| | | // // å¯ä»¥å¨è·¯ç±é
ç½®æä»¶ä¸è®¾ç½®èªå®ä¹çè·¯ç±è·¯å¾å°meta.activeMenu屿§ä¸ï¼æ¥æ§å¶èåèªå®ä¹é«äº®æ¾ç¤º |
| | | // if (meta.activeMenu) { |
| | | // return meta.activeMenu; |
| | | // } |
| | | // return path; |
| | | // }, |
| | | }, |
| | | methods: { |
| | | getMenuTree() { |
| | | //è·åç®å½æ æå¤§IDï¼æ°å»ºèç¹ä½¿ç¨ |
| | |
| | | }); |
| | | this.menuList = this.treeData(menuLists); |
| | | } else { |
| | | alert("ææ èåæ æ°æ®"); |
| | | alert('ææ èåæ æ°æ®'); |
| | | } |
| | | } else { |
| | | console.log("æ¥å£æ¥é"); |
| | | console.log('æ¥å£æ¥é'); |
| | | } |
| | | }); |
| | | }, |
| | |
| | | return cloneData.filter((father) => { |
| | | // å¾ªç¯ææé¡¹ |
| | | let branchArr = cloneData.filter((child) => father.id == child.pid); // 对æ¯IDï¼åå«ä¸ä¸çº§èåï¼å¹¶è¿åæ°æ® |
| | | branchArr.length > 0 ? (father.children = branchArr) : ""; // ç»ç¶çº§æ·»å ä¸ä¸ªchildren屿§ï¼å¹¶èµå¼ |
| | | branchArr.length > 0 ? (father.children = branchArr) : ''; // ç»ç¶çº§æ·»å ä¸ä¸ªchildren屿§ï¼å¹¶èµå¼ |
| | | // å±äºåä¸å¯¹è±¡é®é¢ï¼ä¾å¦ï¼ä»¤ a=bãc=1 ï¼ç¶åå令 b.c=c ï¼ é£ä¹ a.c=b.c=c=1 ï¼åçï¼åç»ä»¤ c.d=2 ,é£ä¹ a.c.d 乿¯=2ï¼ |
| | | // ç±æ¤å¾ªç¯å¤æ¬¡åï¼å°±è½å½¢æç¸åºçæ å½¢æ°æ®ç»æ |
| | | return father.pid == 1; // è¿åä¸çº§èå |
| | | }); |
| | | } else { |
| | | alert("ææ èåæ æ°æ®"); |
| | | alert('ææ èåæ æ°æ®'); |
| | | } |
| | | }, |
| | | logOut() { |
| | | this.$confirm("确认æ¯å¦éåºç»å½?", "æç¤º", { |
| | | confirmButtonText: "ç¡®å®", |
| | | cancelButtonText: "åæ¶", |
| | | type: "warning", |
| | | this.$confirm('确认æ¯å¦éåºç»å½?', 'æç¤º', { |
| | | confirmButtonText: 'ç¡®å®', |
| | | cancelButtonText: 'åæ¶', |
| | | type: 'warning', |
| | | }) |
| | | .then(async () => { |
| | | const data = await logout({ token: getToken() }); |
| | | console.log(data); |
| | | if (data.code != 200) { |
| | | return this.$message.error("éåºç»å½å¤±è´¥"); |
| | | return this.$message.error('éåºç»å½å¤±è´¥'); |
| | | } |
| | | removeToken(); |
| | | this.$router.push("/login"); |
| | | this.$router.push('/login'); |
| | | this.$message({ |
| | | message: "éåºç»å½æå", |
| | | type: "success", |
| | | message: 'éåºç»å½æå', |
| | | type: 'success', |
| | | }); |
| | | }) |
| | | .catch(() => { |
| | | this.$message({ |
| | | type: "info", |
| | | message: "已忶", |
| | | type: 'info', |
| | | message: '已忶', |
| | | }); |
| | | }); |
| | | }, |
| | | switchLang() { |
| | | //å½åen |
| | | if (this.lang == "en") { |
| | | if (this.lang == 'en') { |
| | | //è¯è¨æ¢æzh |
| | | this.lang = "zh"; |
| | | this.lang = 'zh'; |
| | | //èåæ¢ä¸ºzh |
| | | this.$store.commit("changeLang", "zh"); |
| | | this.$store.commit('changeLang', 'zh'); |
| | | //i18æ¢æzh |
| | | this.$i18n.locale = this.lang; |
| | | } |
| | | //å½åzh |
| | | else { |
| | | this.lang = "en"; |
| | | this.lang = 'en'; |
| | | this.$i18n.locale = this.lang; |
| | | this.$store.commit("changeLang", "en"); //ä¼ éç¹å»çèç¹ |
| | | this.$store.commit('changeLang', 'en'); //ä¼ éç¹å»çèç¹ |
| | | } |
| | | }, |
| | | handleselect(index, indexPath) { |
| | | if (index.indexOf("http") != -1) { |
| | | this.$router.push("/databaseMonitoring"); |
| | | this.$store.commit("getIframe", index); |
| | | if (Window.ws != null) { |
| | | Window.ws.close(); |
| | | Window.ws.onclose = () => { |
| | | console.log('æå¡å¨å
³é'); |
| | | }; |
| | | Window.ws = null; |
| | | } |
| | | |
| | | if (index.indexOf('http') != -1) { |
| | | this.$router.push('/databaseMonitoring'); |
| | | this.$store.commit('getIframe', index); |
| | | } else if (isNaN(Number(index))) { |
| | | this.$router.push(index); |
| | | } |
| | |
| | | }, |
| | | watch: { |
| | | $route() { |
| | | this.activeIndex = this.$route.path; |
| | | let str = this.$route.path; |
| | | if (str[0] == '/') { |
| | | this.activeIndex = str.slice(1); |
| | | } |
| | | }, |
| | | }, |
| | | created() { |
| | | let str = this.$route.path; |
| | | if (str[0] == '/') { |
| | | this.activeIndex = str.slice(1); |
| | | } |
| | | }, |
| | | }; |
| | | </script> |
| | | <style lang="less" scoped> |
| | |
| | | import groupManage from '../views/userManage/groupManage.vue'; // ç¨æ·ç®¡ç模å |
| | | import authorityManage from '@/views/userManage/authorityManage.vue'; //ç¨æ·ç®¡ç-æé管ç |
| | | import resourceManage from '@/views/userManage/resourceManage.vue'; //ç¨æ·ç®¡ç-èµæºç®¡ç |
| | | import userRoleAuthorization from '@/views/AuthorizationManagement/userRoleAuthorization.vue'; //ç³»ç»ç®¡ç- |
| | | const originalPush = VueRouter.prototype.push |
| | | |
| | | VueRouter.prototype.push = function push(location) { |
| | | |
| | | return originalPush.call(this, location).catch(err => err) |
| | | |
| | | } |
| | | |
| | | // 群ç»ç®¡ç |
| | | Vue.use(VueRouter); |
| | | |
| | |
| | | requireAuth: true, // æ è¯è¯¥è·¯ç±æ¯å¦éè¦ç»å½ |
| | | }, |
| | | }, |
| | | { |
| | | path: '/userRoleAuthorization', |
| | | component: userRoleAuthorization, |
| | | name: 'userRoleAuthorization', |
| | | meta: { |
| | | title: 'ç¨æ·è§è²ææ', |
| | | requireAuth: true, // æ è¯è¯¥è·¯ç±æ¯å¦éè¦ç»å½ |
| | | }, |
| | | }, |
| | | |
| | | ], |
| | | }, |
| | |
| | | import Vue from 'vue'; |
| | | import Vuex from 'vuex'; |
| | | import { getToken, setToken, removeToken } from "@/utils/auth"; |
| | | import { Loading, Message } from "element-ui"; |
| | | import { login, getPublicKey } from "@/api/api"; |
| | | import { getToken, setToken, removeToken } from '@/utils/auth'; |
| | | import { Loading, Message } from 'element-ui'; |
| | | import { login, getPublicKey } from '@/api/api'; |
| | | |
| | | var encrypt = new JSEncrypt(); |
| | | Vue.use(Vuex); |
| | |
| | | apiCount: 0, |
| | | //loadingå®ä¾ |
| | | loadingInstance: null, |
| | | key: null |
| | | key: null, |
| | | //ç³»ç»çæ§WebSocket |
| | | ws: null, |
| | | }, |
| | | mutations: { |
| | | // è·å宿´é¢å
å±è·¯å¾ |
| | |
| | | changeName(state, msg) { |
| | | state.menuNode = msg; |
| | | // console.log(msg); |
| | | |
| | | }, |
| | | verChangeNode(state, msg) { |
| | | state.verCateNode = msg; |
| | |
| | | START_LOADING(state, msg) { |
| | | state.loadingInstance = Loading.service({ |
| | | lock: true, |
| | | text: msg ? msg : "å è½½ä¸...", |
| | | background: "rgba(0, 0, 0, 0.7)", |
| | | text: msg ? msg : 'å è½½ä¸...', |
| | | background: 'rgba(0, 0, 0, 0.7)', |
| | | }); |
| | | }, |
| | | /* å
³éloading */ |
| | |
| | | }, |
| | | /* æ´æ°è¯·æ±çº¿ç¨æ± */ |
| | | UPDATE_API_COUNT(state, handle) { |
| | | if (handle == "add") { |
| | | if (handle == 'add') { |
| | | state.apiCount++; |
| | | this.commit("START_LOADING"); |
| | | this.commit('START_LOADING'); |
| | | } else { |
| | | state.apiCount--; |
| | | if (state.apiCount <= 0) { |
| | | this.commit("CLOSE_LOADING"); |
| | | this.commit('CLOSE_LOADING'); |
| | | } |
| | | } |
| | | }, |
| | |
| | | return new Promise((resolve, reject) => { |
| | | var data = { |
| | | uid: encrypt.encrypt(userInfo.uid), |
| | | pwd: encrypt.encrypt(userInfo.pwd) |
| | | pwd: encrypt.encrypt(userInfo.pwd), |
| | | }; |
| | | login(data) |
| | | .then((response) => { |
| | |
| | | if (data.code !== 200) { |
| | | return Message({ |
| | | message: data.msg, |
| | | type: "error", |
| | | type: 'error', |
| | | duration: 5 * 1000, |
| | | }); |
| | | } |
| | | commit("SET_TOKEN", data.result.token); |
| | | commit('SET_TOKEN', data.result.token); |
| | | setToken(data.result.token); |
| | | resolve(data); |
| | | }) |
| | |
| | | }); |
| | | }, |
| | | getpublickey({ commit, state }, userInfo) { |
| | | |
| | | return new Promise((resolve, reject) => { |
| | | getPublicKey(userInfo) |
| | | .then((response) => { |
| | | const data = response; |
| | | commit("SET_KEY", data.result); |
| | | commit('SET_KEY', data.result); |
| | | |
| | | encrypt.setPublicKey(data.result); // 设置å
¬é¥ |
| | | resolve(); |
| | |
| | | reject(error); |
| | | }); |
| | | }); |
| | | } |
| | | }, |
| | | }, |
| | | modules: {}, |
| | | }); |
| | |
| | | // } |
| | | //=========================== |
| | | //=======使ç¨sessionStorage====== |
| | | const TokenKey = "Admin-Token"; |
| | | const TokenKey = 'Admin-Token'; |
| | | export function getToken() { |
| | | return window.sessionStorage.getItem(TokenKey); |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div class="menuSettings_box"> |
| | | <div class="menuSettings_tree"> |
| | | <My-bread |
| | | :list="[ |
| | | `${$t('operatManage.operatManage')}`, |
| | | `${$t('operatManage.UserRoleAuthorization')}`, |
| | | ]" |
| | | ></My-bread> |
| | | |
| | | <el-divider /> |
| | | <div class="menuTreeBox"> |
| | | <el-tree |
| | | :data="depList" |
| | | :props="defaultProps" |
| | | :show-checkbox="true" |
| | | :check-on-click-node="true" |
| | | :check-strictly="true" |
| | | node-key="id" |
| | | @check="treeCheck" |
| | | ref="treeForm" |
| | | > |
| | | </el-tree> |
| | | </div> |
| | | </div> |
| | | <div |
| | | class="menuSettings_tree" |
| | | style="margin-left: 10px; width: calc(50% - 172px)" |
| | | > |
| | | <div |
| | | style=" |
| | | font-size: 14px; |
| | | color: #606266; |
| | | line-height: 1; |
| | | cursor: text; |
| | | position: relative; |
| | | top: 10px; |
| | | margin-left: 10px; |
| | | " |
| | | > |
| | | {{ $t("operatManage.UserRoleAuthorizationObj.RoleTable") }} |
| | | </div> |
| | | <el-divider /> |
| | | <el-table |
| | | :data="tableData" |
| | | style="width: 100%" |
| | | @row-click="singleElection" |
| | | highlight-current-row |
| | | height="85%" |
| | | :header-cell-style="{ |
| | | background: 'transparent', |
| | | }" |
| | | > |
| | | <el-table-column align="center" width="55"> |
| | | <template slot-scope="scope"> |
| | | <!-- å¯ä»¥æå¨çä¿®æ¹labelçå¼ï¼ä»èæ§å¶éæ©åªä¸é¡¹ --> |
| | | <el-radio |
| | | class="radio" |
| | | v-model="templateSelection" |
| | | :label="scope.row.id" |
| | | > </el-radio |
| | | > |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="id" |
| | | :label="$t('operatManage.UserRoleAuthorizationObj.serialNumber')" |
| | | > |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="name" |
| | | :label="$t('operatManage.UserRoleAuthorizationObj.name')" |
| | | > |
| | | </el-table-column> |
| | | </el-table> |
| | | <div style="text-align: center; margin-top: 20px"> |
| | | <el-pagination |
| | | @size-change="handleSizeChange" |
| | | @current-change="handleCurrentChange" |
| | | :current-page="listData.pageIndex" |
| | | :page-sizes="[10, 20, 30, 40]" |
| | | :page-size="userlistData.pageSize" |
| | | layout="total, sizes, prev, pager, next, jumper" |
| | | :total="count" |
| | | > |
| | | </el-pagination> |
| | | </div> |
| | | </div> |
| | | <div class="menuSettings"> |
| | | <!-- <div class="title_box"> |
| | | <h4>详ç»ä¿¡æ¯</h4> |
| | | </div> --> |
| | | <div |
| | | style=" |
| | | font-size: 14px; |
| | | color: #606266; |
| | | line-height: 1; |
| | | cursor: text; |
| | | position: relative; |
| | | top: 5px; |
| | | margin-left: 10px; |
| | | display: flex; |
| | | align-items: center; |
| | | " |
| | | > |
| | | <span> |
| | | {{ $t("operatManage.UserRoleAuthorizationObj.userTable") }}</span |
| | | > |
| | | <div class="btn" style="margin-left: auto"> |
| | | <el-button |
| | | type="primary" |
| | | icon="el-icon-circle-plus-outline" |
| | | size="small" |
| | | :disabled="roleid == null ? true : false" |
| | | @click="adduser" |
| | | >{{ $t("operatManage.UserRoleAuthorizationObj.Added") }}</el-button |
| | | > |
| | | <el-button |
| | | type="danger" |
| | | icon="el-icon-delete" |
| | | size="small" |
| | | @click="deletesUser" |
| | | :disabled="roleid == null ? true : false" |
| | | >{{ $t("operatManage.UserRoleAuthorizationObj.delete") }}</el-button |
| | | > |
| | | </div> |
| | | </div> |
| | | <el-divider class="divider" /> |
| | | |
| | | <el-table |
| | | :data="usertableData" |
| | | stripe |
| | | style="width: 100%" |
| | | height="85%" |
| | | @selection-change="handleSelectionChange" |
| | | :header-cell-style="{ |
| | | background: 'transparent', |
| | | }" |
| | | > |
| | | <el-table-column type="selection" width="55"> </el-table-column> |
| | | <el-table-column |
| | | prop="id" |
| | | :label="$t('operatManage.UserRoleAuthorizationObj.serialNumber')" |
| | | > |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="uname" |
| | | :label="$t('operatManage.UserRoleAuthorizationObj.name')" |
| | | > |
| | | </el-table-column> |
| | | </el-table> |
| | | |
| | | <div style="margin-top: 20px; text-align: center" class="pagination_box"> |
| | | <el-pagination |
| | | @size-change="userhandleSizeChange" |
| | | @current-change="userhandleCurrentChange" |
| | | :current-page="userlistData.pageIndex" |
| | | :page-sizes="[10, 20, 30, 40]" |
| | | :page-size="userlistData.pageSize" |
| | | layout="total, sizes, prev, pager, next, jumper" |
| | | :total="usercount" |
| | | > |
| | | </el-pagination> |
| | | </div> |
| | | </div> |
| | | <el-dialog |
| | | :title="$t('operatManage.UserRoleAuthorizationObj.Added')" |
| | | :visible.sync="dialogTableVisible" |
| | | > |
| | | <el-table |
| | | :data="gridData" |
| | | height="40vh" |
| | | @selection-change="addhandleSelectionChange" |
| | | > |
| | | <el-table-column type="selection" width="55"> </el-table-column> |
| | | <el-table-column |
| | | prop="id" |
| | | :label="$t('operatManage.UserRoleAuthorizationObj.serialNumber')" |
| | | > |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="uname" |
| | | :label="$t('operatManage.UserRoleAuthorizationObj.name')" |
| | | > |
| | | </el-table-column> |
| | | </el-table> |
| | | <div style="margin-top: 20px; text-align: center" class="pagination_box"> |
| | | <el-pagination |
| | | @size-change="addhandleSizeChange" |
| | | @current-change="addhandleCurrentChange" |
| | | :current-page="addlistData.pageIndex" |
| | | :page-sizes="[10, 20, 30, 40]" |
| | | :page-size="addlistData.pageSize" |
| | | layout="total, sizes, prev, pager, next, jumper" |
| | | :total="addcount" |
| | | > |
| | | </el-pagination> |
| | | </div> |
| | | <div slot="footer" class="dialog-footer"> |
| | | <el-button @click="dialogTableVisible = false">{{ $t("dataManage.dictionaryManageObj.cancel") }}</el-button> |
| | | <el-button type="primary" @click="addConfirm">{{ $t("dataManage.dictionaryManageObj.confirm") }}</el-button> |
| | | </div> |
| | | </el-dialog> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import MyBread from "../../components/MyBread.vue"; |
| | | import { |
| | | queryDepTree, |
| | | select_Role_ByPageAndCount, |
| | | roleUserselectByPageForRole, |
| | | roleUserdeletes, |
| | | userselectByPageForRole, |
| | | roleUserinserts, |
| | | } from "../../api/api"; |
| | | export default { |
| | | //importå¼å
¥çç»ä»¶éè¦æ³¨å
¥å°å¯¹è±¡ä¸æè½ä½¿ç¨ |
| | | components: { |
| | | MyBread, |
| | | }, |
| | | |
| | | data() { |
| | | return { |
| | | addcount: 0, |
| | | gridData: [], |
| | | addlistData: { |
| | | pageIndex: 1, |
| | | pageSize: 10, |
| | | }, |
| | | dialogTableVisible: false, |
| | | usertableData: [], |
| | | userlistData: { |
| | | pageIndex: 1, |
| | | pageSize: 10, |
| | | }, |
| | | usercount: 0, |
| | | tableData: [], |
| | | // å½åéæ©çè¡çid |
| | | templateSelection: "", |
| | | // å½åéæ©çè¡çæ°æ® |
| | | checkList: [], |
| | | |
| | | defaultProps: { |
| | | children: "children", |
| | | label: "name", |
| | | }, |
| | | oriData: [], //åå§æ æ°æ® |
| | | depList: [], //elæ æ°æ® |
| | | backUpData: {}, |
| | | formLabelWidth: "170px", |
| | | listData: { |
| | | pageIndex: 1, |
| | | pageSize: 10, |
| | | }, |
| | | count: 0, |
| | | usermultipleSelection: [], |
| | | debid: null, |
| | | roleid: null, |
| | | addmultipleSelection: [], |
| | | }; |
| | | }, |
| | | methods: { |
| | | addConfirm() { |
| | | this.$confirm("ç¡®å®æ¯å¦æ°å¢", "æç¤º", { |
| | | confirmButtonText: "ç¡®å®", |
| | | cancelButtonText: "åæ¶", |
| | | type: "warning", |
| | | }) |
| | | .then(async () => { |
| | | let arr = []; |
| | | this.addmultipleSelection.forEach((e) => { |
| | | arr.push({ userid: e.id, roleid: this.roleid }); |
| | | }); |
| | | const data = await roleUserinserts(arr); |
| | | if (data.code !== 200) { |
| | | return this.$message.error("æ°å¢å¤±è´¥"); |
| | | } |
| | | this.$message({ |
| | | type: "success", |
| | | message: "æ°å¢æå!", |
| | | }); |
| | | }) |
| | | .catch(() => {}); |
| | | }, |
| | | adduser() { |
| | | this.dialogTableVisible = true; |
| | | this.getadduserList(); |
| | | }, |
| | | //ç¨æ·å é¤ |
| | | async deletesUser() { |
| | | let arr = []; |
| | | this.usermultipleSelection.forEach((e) => { |
| | | arr.push(e.id); |
| | | }); |
| | | const data = await roleUserdeletes({ ids: arr.toString() }); |
| | | if (data.code !== 200) { |
| | | return this.$message.error("å é¤å¤±è´¥"); |
| | | } |
| | | this.$message({ |
| | | message: "å 餿å", |
| | | type: "success", |
| | | }); |
| | | this.getuserList(); |
| | | }, |
| | | //ç¨æ·è¡¨å¤é |
| | | handleSelectionChange(val) { |
| | | this.usermultipleSelection = val; |
| | | }, |
| | | //æ°å¢ç¨æ·è¡¨å¤é |
| | | addhandleSelectionChange(val) { |
| | | this.addmultipleSelection = val; |
| | | }, |
| | | // æ°å¢ç¨æ·è¡¨å页 |
| | | addhandleSizeChange(val) { |
| | | this.addlistData.pageSize = val; |
| | | this.getadduserList(); |
| | | }, |
| | | // æ°å¢ç¨æ·è¡¨å页 |
| | | addhandleCurrentChange(val) { |
| | | this.addlistData.pageIndex = val; |
| | | this.getadduserList(); |
| | | }, |
| | | // ç¨æ·è¡¨å页 |
| | | userhandleSizeChange(val) { |
| | | this.userlistData.pageSize = val; |
| | | this.getuserList(); |
| | | }, |
| | | // ç¨æ·è¡¨å页 |
| | | userhandleCurrentChange(val) { |
| | | this.userlistData.pageIndex = val; |
| | | this.getuserList(); |
| | | }, |
| | | // è§è²è¡¨å页 |
| | | handleSizeChange(val) { |
| | | this.listData.pageSize = val; |
| | | this.getRole(); |
| | | }, |
| | | // è§è²è¡¨å页 |
| | | handleCurrentChange(val) { |
| | | this.listData.pageIndex = val; |
| | | this.getRole(); |
| | | }, |
| | | // è§è²åé |
| | | singleElection(row) { |
| | | this.templateSelection = row.id; |
| | | this.checkList = this.tableData.filter((item) => item.id === row.id); |
| | | this.userlistData.roleid = row.id; |
| | | this.roleid = row.id; |
| | | this.getuserList(); |
| | | }, |
| | | // é¨é¨è¯·æ± |
| | | async getMenuTree() { |
| | | //è·åç®å½æ æå¤§IDï¼æ°å»ºèç¹ä½¿ç¨ |
| | | const data = await queryDepTree(); |
| | | |
| | | if (data.code !== 200) { |
| | | return this.$message.error("请æ±å使¥é"); |
| | | } |
| | | this.depList = this.treeData(data.result); |
| | | }, |
| | | treeData(source) { |
| | | let cloneData = JSON.parse(JSON.stringify(source)); // å¯¹æºæ°æ®æ·±åº¦å
é |
| | | return cloneData.filter((father) => { |
| | | // å¾ªç¯ææé¡¹ |
| | | let branchArr = cloneData.filter((child) => father.id == child.pid); // 对æ¯IDï¼åå«ä¸ä¸çº§èåï¼å¹¶è¿åæ°æ® |
| | | branchArr.length > 0 ? (father.children = branchArr) : ""; // ç»ç¶çº§æ·»å ä¸ä¸ªchildren屿§ï¼å¹¶èµå¼ |
| | | return father.pid == 0; // è¿åä¸çº§èå |
| | | }); |
| | | }, |
| | | // é¨é¨æ åé |
| | | treeCheck(node, list) { |
| | | //node 该èç¹æå¯¹åºç对象ãlist æ ç®åçéä¸ç¶æå¯¹è±¡ |
| | | //éä¸äºä»¶å¨éä¸åæ§è¡ï¼å½lisä¸æä¸¤ä¸ªé䏿¶ï¼ä½¿ç¨setCheckedKeysæ¹æ³ï¼éä¸ä¸ä¸ªèç¹ |
| | | console.log(node, list); |
| | | if (list.checkedNodes.length > 0) { |
| | | this.listData.depid = node.id; |
| | | this.debid = node.id; |
| | | this.getRole(); |
| | | if (list.checkedKeys.length == 2) { |
| | | //åéå®ç° |
| | | this.$refs.treeForm.setCheckedKeys([node.id]); |
| | | } |
| | | } else { |
| | | this.debid = null; |
| | | this.roleid = null; |
| | | this.tableData = []; |
| | | this.usertableData = []; |
| | | } |
| | | }, |
| | | async getadduserList() { |
| | | this.addlistData.roleid = this.roleid; |
| | | |
| | | this.addlistData.debid = this.debid; |
| | | const data = await userselectByPageForRole(this.addlistData); |
| | | if (data.code !== 200) { |
| | | return this.$message.error("æ°å¢ç¨æ·å表请æ±é误"); |
| | | } |
| | | this.gridData = data.result; |
| | | this.addcount = data.count; |
| | | }, |
| | | // ç¨æ·è¡¨è¯·æ± |
| | | async getuserList() { |
| | | const data = await roleUserselectByPageForRole(this.userlistData); |
| | | if (data.code !== 200) { |
| | | return this.$message.error("ç¨æ·å表请æ±é误"); |
| | | } |
| | | this.usertableData = data.result; |
| | | this.usercount = data.count; |
| | | }, |
| | | // è§è²è¡¨è¯·æ± |
| | | async getRole() { |
| | | const data = await select_Role_ByPageAndCount(this.listData); |
| | | if (data.code !== 200) { |
| | | return this.$message.error("ç¨æ·è§è²è¯·æ±é误"); |
| | | } |
| | | this.tableData = data.result; |
| | | this.count = data.count; |
| | | }, |
| | | }, |
| | | created() { |
| | | this.getMenuTree(); |
| | | }, |
| | | }; |
| | | </script> |
| | | <style lang="less" scoped> |
| | | //@import url(); å¼å
¥å
Œ
±cssç±» |
| | | .menuSettings_box { |
| | | // background: rgb(240, 242, 245); |
| | | border-radius: 10px; |
| | | height: 100%; |
| | | padding: 10px; |
| | | box-sizing: border-box; |
| | | display: flex; |
| | | .menuSettings_tree { |
| | | position: relative; |
| | | width: 344px; |
| | | height: 100%; |
| | | background: rgb(240, 242, 245); |
| | | padding: 20px; |
| | | border-radius: 10px; |
| | | box-sizing: border-box; |
| | | overflow: auto; |
| | | .saveBtn { |
| | | position: absolute; |
| | | left: 250px; |
| | | top: 23px; |
| | | } |
| | | .menuTreeBox { |
| | | height: 90%; |
| | | overflow: auto; |
| | | .el-tree { |
| | | background: transparent; |
| | | font-size: 15px; |
| | | font-family: Microsoft YaHei; |
| | | font-weight: 400; |
| | | color: #000000; |
| | | // /deep/ .el-tree-node__label { |
| | | // font-size: 18px; |
| | | // } |
| | | /deep/ .el-tree-node { |
| | | padding-top: 10px; |
| | | // padding-bottom: 10px; |
| | | } |
| | | /deep/ .el-tree-node:focus > .el-tree-node__content { |
| | | background-color: #b9b9b9; |
| | | } |
| | | /deep/ .el-tree-node__content:hover { |
| | | background-color: rgb(153, 153, 153); |
| | | } |
| | | .btnBox { |
| | | margin-left: 5px; |
| | | .el-button + .el-button { |
| | | margin-left: 5px; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | .menuSettings { |
| | | width: calc(50% - 172px); |
| | | border-radius: 10px; |
| | | background: rgb(240, 242, 245); |
| | | margin-left: 10px; |
| | | height: 100%; |
| | | padding: 20px; |
| | | box-sizing: border-box; |
| | | .title_box { |
| | | background: #fff; |
| | | padding: 10px; |
| | | margin-bottom: 24px; |
| | | display: flex; |
| | | border-radius: 10px; |
| | | border: 1px solid rgb(202, 201, 204); |
| | | box-sizing: border-box; |
| | | } |
| | | } |
| | | .table_box { |
| | | padding: 10px; |
| | | background: #fff; |
| | | border-radius: 5px; |
| | | border: 1px solid rgb(202, 201, 204); |
| | | overflow: auto; |
| | | height: 85%; |
| | | } |
| | | .divider { |
| | | margin-top: 8px; |
| | | } |
| | | } |
| | | .el-table, |
| | | .el-table /deep/ .el-table__expanded-cell { |
| | | background-color: transparent; |
| | | } |
| | | |
| | | .el-table /deep/ th, |
| | | .el-table /deep/ tr { |
| | | background-color: transparent; |
| | | } |
| | | </style> |
| | |
| | | prop="descr" |
| | | :label="$t('dataManage.styleObj.descr')" |
| | | /> |
| | | <el-table-column |
| | | <!-- <el-table-column |
| | | align="center" |
| | | prop="fileGuid" |
| | | :label="$t('dataManage.styleObj.fileguid')" |
| | |
| | | prop="updateTime" |
| | | :label="$t('dataManage.styleObj.updateTime')" |
| | | :formatter="formatTime" |
| | | /> |
| | | /> --> |
| | | <el-table-column |
| | | align="center" |
| | | prop="bak" |
| | | :label="$t('dataManage.styleObj.bak')" |
| | | /> |
| | | <el-table-column min-width="150" :label="$t('common.operate')"> |
| | | <el-table-column min-width="120" :label="$t('common.operate')"> |
| | | <template slot-scope="scope"> |
| | | <el-button |
| | | @click="showDetail(scope.$index, scope.row)" |
| | |
| | | <el-divider></el-divider> |
| | | <p> |
| | | <label> {{ $t('dataManage.styleObj.fileguid') }}:</label> |
| | | <label class="boxlabel">{{ itemdetail.fileguid }}</label> |
| | | <label class="boxlabel">{{ itemdetail.fileGuid }}</label> |
| | | </p> |
| | | <el-divider></el-divider> |
| | | <p> |
| | | <label> {{ $t('dataManage.styleObj.viewguid') }}:</label> |
| | | <label class="boxlabel">{{ itemdetail.viewguid }}</label> |
| | | <label class="boxlabel"> <div style="width:440px;height:200px;"> |
| | | <img style="width:100%; height:100%" :src="itemdetail.imageFile" alt=""/> |
| | | </div></label> |
| | | </p> |
| | | <el-divider></el-divider> |
| | | <p> |
| | |
| | | :label="$t('dataManage.styleObj.fileguid')" |
| | | :label-width="formLabelWidth" |
| | | > |
| | | <el-input v-model="upform.fileGuid" autocomplete="off"></el-input> |
| | | <el-input v-model="upform.fileGuid" disabled autocomplete="off"></el-input> |
| | | <input |
| | | name="file1" |
| | | |
| | | type="file" |
| | | id="editFile" |
| | | multiple="multiple" |
| | | style="display: none" |
| | | @change="editFile(0)" |
| | | /> |
| | | <el-link |
| | | :underline="false" |
| | | @click="geteditFile(0)" |
| | | style="margin-left: 10px" |
| | | ><i class="el-icon-plus"></i |
| | | ></el-link> |
| | | <el-link |
| | | :title="$t('common.upload')" |
| | | :underline="false" |
| | | @click="seteditFile(0)" |
| | | style="margin-left: 10px" |
| | | ><i class="el-icon-upload2"></i |
| | | ></el-link> |
| | | </el-form-item> |
| | | <el-form-item |
| | | :label="$t('dataManage.styleObj.viewguid')" |
| | | :label-width="formLabelWidth" |
| | | > |
| | | <el-input v-model="upform.viewGuid" autocomplete="off"></el-input> |
| | | <el-input v-model="upform.viewGuid" disabled autocomplete="off"></el-input> |
| | | <input |
| | | name="file1" |
| | | :accept="'.jpg,.png'" |
| | | type="file" |
| | | id="editimageFile" |
| | | multiple="multiple" |
| | | style="display: none" |
| | | @change="editFile(1)" |
| | | /> |
| | | <el-link |
| | | :underline="false" |
| | | @click="geteditFile(1)" |
| | | style="margin-left: 10px" |
| | | ><i class="el-icon-plus"></i |
| | | ></el-link> |
| | | <el-link |
| | | :title="$t('common.upload')" |
| | | :underline="false" |
| | | @click="seteditFile(1)" |
| | | style="margin-left: 10px" |
| | | ><i class="el-icon-upload2"></i |
| | | ></el-link> |
| | | </el-form-item> |
| | | <el-form-item |
| | | :label="$t('dataManage.styleObj.bak')" |
| | |
| | | > |
| | | <el-select |
| | | v-model="insertform.status" |
| | | style="width: 745px" |
| | | style="width: 730px" |
| | | :placeholder="$t('common.choose')" |
| | | > |
| | | <el-option |
| | |
| | | :label="$t('dataManage.styleObj.fileguid')" |
| | | :label-width="formLabelWidth" |
| | | > |
| | | <el-input v-model="insertform.fileGuid" autocomplete="off"></el-input> |
| | | <el-input v-model="insertform.fileGuid" disabled autocomplete="off" /> |
| | | <input |
| | | name="file1" |
| | | |
| | | type="file" |
| | | id="insertFile" |
| | | multiple="multiple" |
| | | style="display: none" |
| | | @change="insertFile(0)" |
| | | /> |
| | | <el-link |
| | | :underline="false" |
| | | @click="getInsertFile(0)" |
| | | style="margin-left: 10px" |
| | | ><i class="el-icon-plus"></i |
| | | ></el-link> |
| | | <el-link |
| | | :title="$t('common.upload')" |
| | | :underline="false" |
| | | @click="setinsertFile(0)" |
| | | style="margin-left: 10px" |
| | | ><i class="el-icon-upload2"></i |
| | | ></el-link> |
| | | </el-form-item> |
| | | <el-form-item |
| | | :label="$t('dataManage.styleObj.viewguid')" |
| | | :label-width="formLabelWidth" |
| | | > |
| | | <el-input v-model="insertform.viewGuid" autocomplete="off"></el-input> |
| | | <el-input v-model="insertform.viewGuid" disabled autocomplete="off"/> |
| | | <input |
| | | name="file1" |
| | | :accept="'.jpg,.png'" |
| | | type="file" |
| | | id="insertimageFile" |
| | | multiple="multiple" |
| | | style="display: none" |
| | | @change="insertFile(1)" |
| | | /> |
| | | <el-link |
| | | :underline="false" |
| | | @click="getInsertFile(1)" |
| | | style="margin-left: 10px" |
| | | ><i class="el-icon-plus"></i |
| | | ></el-link> |
| | | <el-link |
| | | :title="$t('common.upload')" |
| | | :underline="false" |
| | | @click="setinsertFile(1)" |
| | | style="margin-left: 10px" |
| | | ><i class="el-icon-upload2"></i |
| | | ></el-link> |
| | | </el-form-item> |
| | | <el-form-item |
| | | :label="$t('dataManage.styleObj.bak')" |
| | |
| | | <script> |
| | | import $ from 'jquery'; |
| | | import moment from 'moment'; |
| | | import { |
| | | getToken |
| | | } from '../../utils/auth.js' |
| | | import MyBread from '../../components/MyBread.vue'; |
| | | import styleDirTree from './styleDirTree.vue'; |
| | | import styleDepTree from './styleDepTree.vue'; |
| | |
| | | select_Style_ByPageAndCount, |
| | | insertStyle, |
| | | deleteStyles, |
| | | updateStyle |
| | | updateStyle, |
| | | upload_style |
| | | } from '../../api/api'; |
| | | export default { |
| | | name: 'styleManage', |
| | |
| | | showDirCata: false, |
| | | showDepCata: false, |
| | | tableData: [], |
| | | insertform: {}, |
| | | insertform: { |
| | | fileGuid: null, |
| | | viewGuid: null, |
| | | }, |
| | | dirFlag: null, |
| | | depFlag: null, |
| | | guidFile: null, |
| | | viewFile: null, |
| | | count: 0, |
| | | listData: { |
| | | name: null, |
| | |
| | | this.getRoleTabelData(); |
| | | }, |
| | | methods: { |
| | | filesReset() { |
| | | document.getElementById('insertFile').reset(); |
| | | document.getElementById('insertimageFile').reset(); |
| | | this.guidFile = null; |
| | | this.fileGuid = null; |
| | | }, |
| | | getInsertFile(res) { |
| | | if (res == 0) { |
| | | $('#insertFile').click(); |
| | | } else if (res == 1) { |
| | | $('#insertimageFile').click(); |
| | | } |
| | | }, |
| | | insertFile(res) { |
| | | if (res == 0) { |
| | | var val = document.getElementById('insertFile').files; |
| | | if (!val || !val.length) return; |
| | | this.insertform.fileGuid = val[0].name; |
| | | } else if (res == 1) { |
| | | var val = document.getElementById('insertimageFile').files; |
| | | if (!val || !val.length) return; |
| | | this.insertform.viewGuid = val[0].name; |
| | | } |
| | | }, |
| | | async setinsertFile(res) { |
| | | if (res == 0) { |
| | | var fs = document.getElementById("insertFile"); |
| | | if (fs.files.length == 0) { |
| | | return; |
| | | } |
| | | var formData = new FormData(); |
| | | formData.append("file", fs.files[0]); |
| | | var val_data = await upload_style(formData); |
| | | if (val_data.code == 200) { |
| | | this.guidFile = val_data.result; |
| | | this.$message({ |
| | | message: 'ä¸ä¼ æåï¼', |
| | | type: 'success', |
| | | }); |
| | | } else { |
| | | this.$message({ |
| | | message: 'ä¸ä¼ 失败ï¼', |
| | | type: 'warning', |
| | | }); |
| | | } |
| | | } else if (res == 1) { |
| | | var fs = document.getElementById("insertimageFile"); |
| | | if (fs.files.length == 0) { |
| | | return; |
| | | } |
| | | var formData = new FormData(); |
| | | formData.append("file", fs.files[0]); |
| | | var val_data = await upload_style(formData); |
| | | if (val_data.code == 200) { |
| | | this.viewFile = val_data.result; |
| | | this.$message({ |
| | | message: 'ä¸ä¼ æåï¼', |
| | | type: 'success', |
| | | }); |
| | | } else { |
| | | this.$message({ |
| | | message: 'ä¸ä¼ 失败ï¼', |
| | | type: 'warning', |
| | | }); |
| | | } |
| | | } |
| | | }, |
| | | geteditFile(res) { |
| | | if (res == 0) { |
| | | $('#editFile').click(); |
| | | } else if (res == 1) { |
| | | $('#editimageFile').click(); |
| | | } |
| | | }, |
| | | editFile(res) { |
| | | if (res == 0) { |
| | | var val = document.getElementById('editFile').files; |
| | | if (!val || !val.length) return; |
| | | this.upform.fileGuid = val[0].name; |
| | | } else if (res == 1) { |
| | | var val = document.getElementById('editimageFile').files; |
| | | if (!val || !val.length) return; |
| | | this.upform.viewGuid = val[0].name; |
| | | } |
| | | }, |
| | | async seteditFile(res) { |
| | | if (res == 0) { |
| | | var fs = document.getElementById("editFile"); |
| | | if (fs.files.length == 0) { |
| | | return; |
| | | } |
| | | var formData = new FormData(); |
| | | formData.append("file", fs.files[0]); |
| | | var val_data = await upload_style(formData); |
| | | if (val_data.code == 200) { |
| | | this.guidFile = val_data.result; |
| | | this.$message({ |
| | | message: 'ä¸ä¼ æåï¼', |
| | | type: 'success', |
| | | }); |
| | | } else { |
| | | this.$message({ |
| | | message: 'ä¸ä¼ 失败ï¼', |
| | | type: 'warning', |
| | | }); |
| | | } |
| | | } else if (res == 1) { |
| | | var fs = document.getElementById("editimageFile"); |
| | | if (fs.files.length == 0) { |
| | | return; |
| | | } |
| | | var formData = new FormData(); |
| | | formData.append("file", fs.files[0]); |
| | | var val_data = await upload_style(formData); |
| | | if (val_data.code == 200) { |
| | | this.viewFile = val_data.result; |
| | | this.$message({ |
| | | message: 'ä¸ä¼ æåï¼', |
| | | type: 'success', |
| | | }); |
| | | } else { |
| | | this.$message({ |
| | | message: 'ä¸ä¼ 失败ï¼', |
| | | type: 'warning', |
| | | }); |
| | | } |
| | | } |
| | | }, |
| | | handleSelectionChange(val) { |
| | | this.multipleSelection = val; |
| | | }, |
| | |
| | | insertFromDataClose() { |
| | | this.InsertFormdialog = false; |
| | | this.insertform = {}; |
| | | this.filesReset(); |
| | | }, |
| | | async insertFromData() { |
| | | if (this.insertform.dirid == null || this.insertform.depid == null) { |
| | |
| | | }); |
| | | return; |
| | | } |
| | | if (this.guidFile != null) { |
| | | this.insertform.fileGuid = this.guidFile; |
| | | } |
| | | if (this.viewFile != null) { |
| | | this.insertform.viewGuid = this.viewFile; |
| | | } |
| | | const data = await insertStyle(this.insertform); |
| | | if (data.code == 200) { |
| | | this.InsertFormdialog = false; |
| | | this.insertform = {}; |
| | | |
| | | this.filesReset(); |
| | | this.$message({ |
| | | message: 'æ·»å æåï¼', |
| | | type: 'success', |
| | |
| | | if(Number.isInteger(this.upform.status) == false){ |
| | | this.upform.status = this.statusFormat(this.upform.status) |
| | | } |
| | | if (this.guidFile != null) { |
| | | this.upform.fileGuid = this.guidFile; |
| | | } |
| | | if (this.viewFile != null) { |
| | | this.upform.viewGuid = this.viewFile; |
| | | } |
| | | const data = await updateStyle(this.upform); |
| | | if (data.code == 200) { |
| | | this.dialogFormVisible = false; |
| | |
| | | removeUpdate() { |
| | | this.upflag = false; |
| | | this.dialogFormVisible = false; |
| | | this.upform = {} |
| | | this.upform = {}; |
| | | this.filesReset(); |
| | | }, |
| | | submitForm(formName) { |
| | | this.getRoleTabelData() |
| | |
| | | this.getRoleTabelData(); |
| | | }, |
| | | showDetail(index, row) { |
| | | var token = getToken(); |
| | | this.showinfoBox = true; |
| | | this.itemdetail = row; |
| | | this.itemdetail.createTime = this.formomentTime(this.itemdetail.createTime); |
| | | this.itemdetail.updateTime = this.formomentTime(this.itemdetail.updateTime); |
| | | |
| | | this.itemdetail.imageFile = BASE_URL + "/res/download?guid=" + row.viewGuid + "&token=" + token |
| | | }, |
| | | closeDetial() { |
| | | this.showinfoBox = false; |
| | |
| | | box-sizing: border-box; |
| | | |
| | | .el-input { |
| | | width: 745px; |
| | | width: 730px; |
| | | } |
| | | |
| | | .searchComp { |
| | |
| | | <template> |
| | | <div class="parameterConfiguration_box"> |
| | | <My-bread :list="['è¿ç»´ç®¡ç', 'åæ°é
ç½®']"></My-bread> |
| | | <My-bread |
| | | :list="[ |
| | | `${$t('operatManage.operatManage')}`, |
| | | `${$t('operatManage.systemLayout')}`, |
| | | ]" |
| | | ></My-bread> |
| | | <el-divider /> |
| | | <div class="parameterConfiguration"> |
| | | <el-form ref="formRef" :model="form" label-width="140px"> |
| | | <el-form-item label="ç«ç¹åç§°" prop="usePageView"> |
| | | <el-input v-model="form.usePageView" placeholder="请è¾å
¥" /> |
| | | <el-table :data="tableData" style="width: 100%" fit> |
| | | <el-table-column |
| | | align="center" |
| | | type="index" |
| | | :label="$t('operatManage.ELM.index')" |
| | | width="70px" |
| | | /> |
| | | <el-table-column |
| | | prop="name" |
| | | align="center" |
| | | :label="$t('operatManage.sysLayOutObj.name')" |
| | | /> |
| | | <el-table-column |
| | | prop="cvalue" |
| | | align="center" |
| | | :label="$t('operatManage.sysLayOutObj.cvalue')" |
| | | /> |
| | | <el-table-column |
| | | prop="dvalue" |
| | | align="center" |
| | | :label="$t('operatManage.sysLayOutObj.dvalue')" |
| | | /> |
| | | <el-table-column |
| | | prop="minValue" |
| | | align="center" |
| | | :label="$t('operatManage.sysLayOutObj.minValue')" |
| | | /> |
| | | <el-table-column |
| | | prop="maxValue" |
| | | align="center" |
| | | :label="$t('operatManage.sysLayOutObj.maxValue')" |
| | | /> |
| | | <el-table-column |
| | | prop="descr" |
| | | align="center" |
| | | :label="$t('operatManage.sysLayOutObj.descr')" |
| | | /> |
| | | <el-table-column |
| | | fixed="right" |
| | | :label="$t('common.operate')" |
| | | width="100px" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-button |
| | | @click="showDetail(scope.$index, scope.row)" |
| | | type="primary" |
| | | plain |
| | | size="small" |
| | | >{{ $t('common.edit') }}</el-button |
| | | > |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | </div> |
| | | <div class="pagination_box"> |
| | | <el-pagination |
| | | @size-change="handleSizeChange" |
| | | @current-change="handleCurrentChange" |
| | | :current-page="listData.pageIndex" |
| | | :page-sizes="[10, 20, 30, 40]" |
| | | :page-size="listData.pageSize" |
| | | layout="total, sizes, prev, pager, next, jumper" |
| | | :total="count" |
| | | > |
| | | </el-pagination> |
| | | </div> |
| | | <el-dialog |
| | | :title="$t('operatManage.sysLayOutObj.editSysLayOut')" |
| | | style="overflow: hidden" |
| | | :visible.sync="EditFormdialog" |
| | | :before-close="EditFromDataClose" |
| | | > |
| | | <el-form :model="upform"> |
| | | <el-form-item |
| | | :label="$t('operatManage.sysLayOutObj.name')" |
| | | :label-width="formLabelWidth" |
| | | > |
| | | <label class="boxlabel">{{ upform.name }}</label> |
| | | </el-form-item> |
| | | <el-form-item label="æµè§å¨å¾æ " prop="usePageView"> |
| | | <el-input v-model="form.usePageView" placeholder="请è¾å
¥" /> |
| | | <el-form-item |
| | | :label="$t('operatManage.sysLayOutObj.cvalue')" |
| | | :label-width="formLabelWidth" |
| | | > |
| | | <el-input v-model="upform.cvalue" autocomplete="off"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="çæ¬ä¿¡æ¯" prop="usePageView"> |
| | | <el-input v-model="form.usePageView" placeholder="请è¾å
¥" /> |
| | | <el-form-item |
| | | :label="$t('operatManage.sysLayOutObj.dvalue')" |
| | | :label-width="formLabelWidth" |
| | | > |
| | | <label class="boxlabel">{{ upform.dvalue }}</label> |
| | | </el-form-item> |
| | | <el-form-item label="夿¡ä¿¡æ¯" prop="servePageView"> |
| | | <el-input v-model="form.servePageView" placeholder="请è¾å
¥" /> |
| | | <el-form-item |
| | | :label="$t('operatManage.sysLayOutObj.minValue')" |
| | | :label-width="formLabelWidth" |
| | | > |
| | | <label class="boxlabel">{{ upform.minValue }}</label> |
| | | </el-form-item> |
| | | <el-form-item label="çæ¬ä¿¡æ¯" prop="servePageView"> |
| | | <el-input v-model="form.servePageView" placeholder="请è¾å
¥" /> |
| | | <el-form-item |
| | | :label="$t('operatManage.sysLayOutObj.maxValue')" |
| | | :label-width="formLabelWidth" |
| | | > |
| | | <label class="boxlabel">{{ upform.maxValue }}</label> |
| | | </el-form-item> |
| | | <el-form-item class="flex_box"> |
| | | <el-button type="primary">确认</el-button> |
| | | <el-button>éç½®</el-button> |
| | | <el-form-item |
| | | :label="$t('operatManage.sysLayOutObj.descr')" |
| | | :label-width="formLabelWidth" |
| | | > |
| | | <label class="boxlabel">{{ upform.descr }}</label> |
| | | </el-form-item> |
| | | </el-form> |
| | | <div slot="footer" class="dialog-footer"> |
| | | <el-button @click="EditFromDataClose">{{ |
| | | $t('common.close') |
| | | }}</el-button> |
| | | <el-button @click="EditFromData" type="primary">{{ |
| | | $t('common.confirm') |
| | | }}</el-button> |
| | | </div> |
| | | </el-dialog> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import MyBread from "../../components/MyBread.vue"; |
| | | |
| | | import MyBread from '../../components/MyBread.vue'; |
| | | import { select_Args_ByPageAndCount, update_args } from '../../api/api.js'; |
| | | export default { |
| | | //importå¼å
¥çç»ä»¶éè¦æ³¨å
¥å°å¯¹è±¡ä¸æè½ä½¿ç¨ |
| | | components: { |
| | |
| | | |
| | | data() { |
| | | return { |
| | | currentPage4: 4, |
| | | form: { |
| | | date1: "", |
| | | subject: "", |
| | | usePageView: "", |
| | | overtime: "", |
| | | servePageView: "", |
| | | aging: "", |
| | | formLabelWidth: '100px', |
| | | upform: {}, |
| | | EditFormdialog: false, |
| | | tableData: [], |
| | | count: 0, |
| | | listData: { |
| | | name: '', |
| | | pageIndex: 1, |
| | | pageSize: 10, |
| | | }, |
| | | }; |
| | | }, |
| | | methods: {}, |
| | | created() {}, |
| | | methods: { |
| | | handleSizeChange(val) { |
| | | this.listData.pageSize = val; |
| | | this.getRoleTabelData(); |
| | | }, |
| | | handleCurrentChange(val) { |
| | | this.listData.pageIndex = val; |
| | | this.getRoleTabelData(); |
| | | }, |
| | | showDetail(index, row) { |
| | | this.EditFormdialog = true; |
| | | this.upform = row; |
| | | }, |
| | | EditFromDataClose() { |
| | | this.EditFormdialog = false; |
| | | this.upform = {}; |
| | | }, |
| | | async EditFromData() { |
| | | if ( |
| | | parseInt(this.upform.cvalue) < parseInt(this.upform.minValue) || |
| | | parseInt(this.upform.cvalue) > parseInt(this.upform.maxValue) |
| | | ) { |
| | | this.$message({ |
| | | message: 'å½åå¼ä¸è½å°äºæå°å¼æå¤§äºæå¤§å¼!', |
| | | type: 'warning', |
| | | }); |
| | | return; |
| | | } |
| | | |
| | | var val_data = await update_args(this.upform); |
| | | if (val_data.code == 200) { |
| | | this.uploadFile = val_data.result; |
| | | |
| | | this.$message({ |
| | | message: 'ä¿®æ¹æåï¼', |
| | | type: 'success', |
| | | }); |
| | | this.getRoleTabelData(); |
| | | this.EditFormdialog = false; |
| | | this.upform = {}; |
| | | } else { |
| | | this.$message({ |
| | | message: 'ä¿®æ¹å¤±è´¥ï¼', |
| | | type: 'warning', |
| | | }); |
| | | } |
| | | }, |
| | | async getRoleTabelData() { |
| | | if (this.listData.tab == '') { |
| | | delete this.listData.tab; |
| | | } |
| | | const data = await select_Args_ByPageAndCount(this.listData); |
| | | if (data.code != 200) { |
| | | this.$message.error('å表è°ç¨å¤±è´¥'); |
| | | } |
| | | console.log(data); |
| | | this.tableData = data.result; |
| | | this.count = data.count; |
| | | }, |
| | | }, |
| | | created() { |
| | | this.getRoleTabelData(); |
| | | }, |
| | | }; |
| | | </script> |
| | | <style lang="less" scoped> |
| | |
| | | padding: 10px; |
| | | box-sizing: border-box; |
| | | .parameterConfiguration { |
| | | padding-left: 20%; |
| | | padding-right: 20%; |
| | | padding-top: 20px; |
| | | padding-bottom: 20px; |
| | | padding-top: 10px; |
| | | padding-bottom: 10px; |
| | | background: #fff; |
| | | height: 86%; |
| | | border-radius: 5px; |
| | | border: 1px solid rgb(202, 201, 204); |
| | | box-sizing: border-box; |
| | |
| | | justify-content: center; |
| | | } |
| | | } |
| | | .pagination_box { |
| | | margin-top: 20px; |
| | | } |
| | | } |
| | | </style> |
| | |
| | | <div class="inform_box"> |
| | | <div class="content_box"> |
| | | <div class="top_box"> |
| | | <div class="Syslabel">{{$t('operatManage.systemMonitoringObj.totalMemory')}}</div> |
| | | <div class="details">63.93GB</div> |
| | | <div style="width: 100%; height: 100%"> |
| | | <div |
| | | style=" |
| | | width: 30%; |
| | | height: 100%; |
| | | |
| | | float: left; |
| | | margin-left: 20%; |
| | | " |
| | | > |
| | | <div class="Syslabel"> |
| | | <span>{{$t('operatManage.systemMonitoringObj.haveBeenUsed')}} 31.16GB</span> |
| | | <span style="margin-left: 25px">{{$t('operatManage.systemMonitoringObj.usageRate')}} 49%</span> |
| | | <p style="line-height: 25px"> |
| | | {{ $t('operatManage.systemMonitoringObj.haveBeenUsed') }} |
| | | {{ memInfo.use }} |
| | | </p> |
| | | <br /> |
| | | <p style="line-height: 25px"> |
| | | {{ $t('operatManage.systemMonitoringObj.totalMemory') }} |
| | | {{ memInfo.totalMem }} |
| | | </p> |
| | | </div> |
| | | </div> |
| | | <div class="bottom_box">{{$t('operatManage.systemMonitoringObj.systemMemory')}}</div> |
| | | <div |
| | | id="shuiwen" |
| | | style=" |
| | | width: 40%; |
| | | height: 100%; |
| | | |
| | | float: left; |
| | | " |
| | | ></div> |
| | | </div> |
| | | <!-- <div class="Syslabel"> |
| | | {{ $t('operatManage.systemMonitoringObj.totalMemory') }} |
| | | </div> |
| | | <div class="details">{{ memInfo.totalMem }}</div> --> |
| | | <!-- --> |
| | | <!-- <div class="Syslabel"> |
| | | <span |
| | | >{{ $t('operatManage.systemMonitoringObj.haveBeenUsed') }} |
| | | {{ memInfo.use }}</span |
| | | > |
| | | <span style="margin-left: 25px" |
| | | >{{ $t('operatManage.systemMonitoringObj.usageRate') }} |
| | | {{ memInfo.usage }}</span |
| | | > |
| | | </div> --> |
| | | </div> |
| | | <div class="bottom_box"> |
| | | {{ $t('operatManage.systemMonitoringObj.systemMemory') }} |
| | | </div> |
| | | </div> |
| | | <div class="content_box"> |
| | | <div class="top_box"> |
| | | <div class="Syslabel">{{$t('operatManage.systemMonitoringObj.CPUusage')}}</div> |
| | | <div class="details">3.49%</div> |
| | | <div class="Syslabel"> |
| | | {{ $t('operatManage.systemMonitoringObj.CPUusage') }} |
| | | </div> |
| | | <div class="details">{{ cpuInfo.cpuSysUsage }}</div> |
| | | <div id="Sys_cpu_chart"></div> |
| | | </div> |
| | | <div class="bottom_box">{{$t('operatManage.systemMonitoringObj.CPUsystemUsage')}}</div> |
| | | <div class="bottom_box"> |
| | | {{ $t('operatManage.systemMonitoringObj.CPUsystemUsage') }} |
| | | </div> |
| | | </div> |
| | | <div class="content_box"> |
| | | <div class="top_box"> |
| | | <div class="Syslabel">{{$t('operatManage.systemMonitoringObj.numberOfExceptions')}}</div> |
| | | <div class="details">0</div> |
| | | <div class="Syslabel"> |
| | | {{ $t('operatManage.systemMonitoringObj.numberOfExceptions') }} |
| | | </div> |
| | | <div class="bottom_box">{{$t('operatManage.systemMonitoringObj.numberOfAbnormalSystems')}}</div> |
| | | <div class="details">{{ resInfoCount }}</div> |
| | | </div> |
| | | <div class="content_box"> |
| | | <div class="bottom_box"> |
| | | {{ $t('operatManage.systemMonitoringObj.numberOfAbnormalSystems') }} |
| | | </div> |
| | | </div> |
| | | <!-- <div class="content_box"> |
| | | <div class="top_box"> |
| | | <div class="Syslabel">{{$t('operatManage.systemMonitoringObj.serviceAarm')}}</div> |
| | | <div class="details">8</div> |
| | | </div> |
| | | <div class="bottom_box">{{$t('operatManage.systemMonitoringObj.serviceResourceAlarm')}}</div> |
| | | </div> |
| | | </div> --> |
| | | </div> |
| | | <div class="chart_box"> |
| | | <el-tabs v-model="activeName" @tab-click="handleClick"> |
| | | <el-tab-pane :label="$t('operatManage.systemMonitoringObj.serviceResourceStatus')" name="first"> |
| | | <div class="gauge_box"> |
| | | <div id="gauge_chart1"></div> |
| | | <div id="gauge_chart2"></div> |
| | | </div> |
| | | </el-tab-pane> |
| | | <el-tab-pane :label="$t('operatManage.systemMonitoringObj.userOperationBehavior')" name="second"> |
| | | <div class="gauge_box"> |
| | | <div class="input_box"> |
| | | <el-form |
| | | :inline="true" |
| | | :model="formInline" |
| | | |
| | | size="mini" |
| | | <p class="title_box"> |
| | | {{ $t('operatManage.systemMonitoringObj.abnormalResources') }} |
| | | </p> |
| | | <el-table :data="resInfo" style="width: 100%"> |
| | | <el-table-column |
| | | prop="id" |
| | | :label="$t('operatManage.systemMonitoringObj.resourceID')" |
| | | > |
| | | <el-form-item label=""> |
| | | <el-input |
| | | v-model="formInline.user" |
| | | :placeholder="$t('operatManage.systemMonitoringObj.EnterTheUserChineseName')" |
| | | ></el-input> |
| | | </el-form-item> |
| | | |
| | | <el-form-item> |
| | | <el-button type="primary" @click="onSubmit">{{$t('operatManage.systemMonitoringObj.inquire')}}</el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | | <div ref="dayBar" id="gauge_chart3"></div> |
| | | </div> |
| | | </el-tab-pane> |
| | | <el-tab-pane :label="$t('operatManage.systemMonitoringObj.resourceInvocationStatus')" name="third"> |
| | | <div class="gauge_box"> |
| | | <div class="input_box"> |
| | | <el-form |
| | | :inline="true" |
| | | :model="formInline" |
| | | |
| | | size="mini" |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="name" |
| | | :label="$t('operatManage.systemMonitoringObj.resourceName')" |
| | | > |
| | | <el-form-item label=""> |
| | | <el-input |
| | | v-model="formInline.user" |
| | | :placeholder="$t('operatManage.systemMonitoringObj.EnterTheResourceID')" |
| | | ></el-input> |
| | | </el-form-item> |
| | | |
| | | <el-form-item> |
| | | <el-button type="primary" @click="onSubmit">{{$t('operatManage.systemMonitoringObj.inquire')}}</el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | | <div ref="dayline" id="line_chart"></div> |
| | | </div> |
| | | </el-tab-pane> |
| | | <el-tab-pane :label="$t('operatManage.systemMonitoringObj.resourceCallStatistics')" name="fourth"> |
| | | <div class="gauge_box"> |
| | | <div class="input_box"> |
| | | <el-form |
| | | :inline="true" |
| | | :model="formInline" |
| | | |
| | | size="mini" |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="bak" |
| | | :label="$t('operatManage.systemMonitoringObj.resourceState')" |
| | | > |
| | | <el-form-item label=""> |
| | | <el-input |
| | | v-model="formInline.user" |
| | | :placeholder="$t('operatManage.systemMonitoringObj.EnterTheUserName')" |
| | | ></el-input> |
| | | </el-form-item> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="createTime" |
| | | :label="$t('operatManage.systemMonitoringObj.abnormaltime')" |
| | | show-overflow-tooltip |
| | | > |
| | | </el-table-column> |
| | | </el-table> |
| | | <!-- <div style="margin-top: 10px" class="pagination_box"> |
| | | <el-pagination |
| | | @size-change="handleSizeChange" |
| | | @current-change="handleCurrentChange" |
| | | :current-page="currentPage4" |
| | | :page-sizes="[10, 20, 30, 40]" |
| | | :page-size="10" |
| | | layout="total, sizes, prev, pager, next, jumper" |
| | | :total="4" |
| | | > |
| | | </el-pagination> |
| | | </div> --> |
| | | </div> |
| | | |
| | | <el-form-item> |
| | | <el-button type="primary" @click="onSubmit">{{$t('operatManage.systemMonitoringObj.inquire')}}</el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | | <div ref="dayBar1" id="gauge_chart5"></div> |
| | | </div> |
| | | </el-tab-pane> |
| | | </el-tabs> |
| | | </div> |
| | | <div class="table_box"> |
| | | <div class="left"> |
| | | <p class="title_box">{{$t('operatManage.systemMonitoringObj.onlinePersonnel')}}</p> |
| | | <p class="title_box"> |
| | | {{ $t('operatManage.systemMonitoringObj.onlinePersonnel') }} |
| | | </p> |
| | | <el-table :data="tableData" style="width: 100%"> |
| | | <el-table-column prop="name" :label="$t('operatManage.systemMonitoringObj.userID')"> </el-table-column> |
| | | <el-table-column prop="servicecatalog" :label="$t('operatManage.systemMonitoringObj.username')"> |
| | | <el-table-column |
| | | align="center" |
| | | type="index" |
| | | :label="$t('operatManage.ELM.index')" |
| | | width="100px" |
| | | /> |
| | | <el-table-column |
| | | prop="uid" |
| | | :label="$t('operatManage.systemMonitoringObj.userID')" |
| | | > |
| | | </el-table-column> |
| | | <el-table-column prop="visitTimes" :label="$t('operatManage.systemMonitoringObj.onlineTime')" fixed="right"> |
| | | <el-table-column |
| | | prop="uname" |
| | | :label="$t('operatManage.systemMonitoringObj.username')" |
| | | > |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="loginTime" |
| | | :label="$t('operatManage.systemMonitoringObj.onlineTime')" |
| | | fixed="right" |
| | | > |
| | | </el-table-column> |
| | | </el-table> |
| | | |
| | | <div style="margin-top: 40px" class="pagination_box"> |
| | | <!-- <div style="margin-top: 10px" class="pagination_box"> |
| | | <el-pagination |
| | | @size-change="handleSizeChange" |
| | | @current-change="handleCurrentChange" |
| | |
| | | :total="4" |
| | | > |
| | | </el-pagination> |
| | | </div> |
| | | </div> |
| | | <div class="right"> |
| | | <p class="title_box">{{$t('operatManage.systemMonitoringObj.abnormalResources')}}</p> |
| | | <el-table :data="tableData" style="width: 100%"> |
| | | <el-table-column prop="name" :label="$t('operatManage.systemMonitoringObj.resourceID')"> </el-table-column> |
| | | <el-table-column prop="servicecatalog" :label="$t('operatManage.systemMonitoringObj.resourceName')"> |
| | | </el-table-column> |
| | | <el-table-column prop="visitTimes" :label="$t('operatManage.systemMonitoringObj.resourceState')"> |
| | | </el-table-column> |
| | | <el-table-column prop="date" :label="$t('operatManage.systemMonitoringObj.abnormaltime')" show-overflow-tooltip> |
| | | </el-table-column> |
| | | </el-table> |
| | | <div style="margin-top: 40px" class="pagination_box"> |
| | | <el-pagination |
| | | @size-change="handleSizeChange" |
| | | @current-change="handleCurrentChange" |
| | | :current-page="currentPage4" |
| | | :page-sizes="[10, 20, 30, 40]" |
| | | :page-size="10" |
| | | layout="total, sizes, prev, pager, next, jumper" |
| | | :total="4" |
| | | > |
| | | </el-pagination> |
| | | </div> |
| | | </div> |
| | | </div> --> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import MyBread from "../../components/MyBread.vue"; |
| | | import MyBread from '../../components/MyBread.vue'; |
| | | import 'echarts-liquidfill'; |
| | | export default { |
| | | //importå¼å
¥çç»ä»¶éè¦æ³¨å
¥å°å¯¹è±¡ä¸æè½ä½¿ç¨ |
| | | components: { |
| | |
| | | data() { |
| | | //è¿éåæ¾æ°æ® |
| | | return { |
| | | formInline: { |
| | | user: "", |
| | | region: "", |
| | | }, |
| | | activeName: "first", |
| | | currentPage4: 1, |
| | | tableData: [ |
| | | { |
| | | date: "2022-08-03", |
| | | name: "test", |
| | | servicecatalog: "ä¸å¡å¾å±", |
| | | visitTimes: "12", |
| | | state: "ä¸å¯ç¨", |
| | | }, |
| | | { |
| | | date: "2022-08-03", |
| | | name: "cs9", |
| | | servicecatalog: "ä¸å¡å¾å±", |
| | | visitTimes: "7", |
| | | state: "ä¸å¯ç¨", |
| | | }, |
| | | { |
| | | date: "2022-08-03", |
| | | name: "test1", |
| | | servicecatalog: "ä¸å¡å¾å±", |
| | | visitTimes: "5", |
| | | state: "ä¸å¯ç¨", |
| | | }, |
| | | { |
| | | date: "2022-08-03", |
| | | name: "cs3", |
| | | servicecatalog: "ä¸å¡å¾å±", |
| | | visitTimes: "8", |
| | | state: "ä¸å¯ç¨", |
| | | }, |
| | | ], |
| | | ws: null, |
| | | tableData: [], |
| | | memInfo: { totalMem: 0, use: 0, usage: 0 }, |
| | | cpuInfo: { cpuSysUsage: 0 }, |
| | | resInfo: [], |
| | | resInfoCount: 0, |
| | | echartData: [], |
| | | }; |
| | | }, |
| | | //æ¹æ³éå |
| | | methods: { |
| | | onSubmit() { |
| | | console.log("submit!"); |
| | | }, |
| | | handleClick(tab, event) { |
| | | console.log(tab, event); |
| | | this.$nextTick(() => { |
| | | this.$echarts.getInstanceByDom(this.$refs.dayBar).resize(); |
| | | this.$echarts.getInstanceByDom(this.$refs.dayBar1).resize(); |
| | | this.$echarts.getInstanceByDom(this.$refs.dayline).resize(); |
| | | }); |
| | | }, |
| | | handleSizeChange(val) { |
| | | console.log(`æ¯é¡µ ${val} æ¡`); |
| | | }, |
| | | handleCurrentChange(val) { |
| | | console.log(`å½å页: ${val}`); |
| | | }, |
| | | gaugeChart1() { |
| | | let option = { |
| | | tooltip: { |
| | | trigger: "item", |
| | | }, |
| | | legend: { |
| | | top: "5%", |
| | | left: "20%", |
| | | orient: "vertical", |
| | | }, |
| | | series: [ |
| | | { |
| | | name: "", |
| | | type: "pie", |
| | | radius: ["70%", "90%"], |
| | | avoidLabelOverlap: false, |
| | | label: { |
| | | show: false, |
| | | position: "center", |
| | | }, |
| | | emphasis: { |
| | | label: { |
| | | show: true, |
| | | fontSize: "30", |
| | | fontWeight: "bold", |
| | | }, |
| | | }, |
| | | labelLine: { |
| | | show: false, |
| | | }, |
| | | data: [ |
| | | { value: 1048, name: "æ£å¸¸èµæº" }, |
| | | { value: 735, name: "å¼å¸¸èµæº" }, |
| | | ], |
| | | itemStyle: { |
| | | normal: { |
| | | color: function (colors) { |
| | | var colorList = ["#d3e9af", "#ed9678"]; |
| | | return colorList[colors.dataIndex]; |
| | | }, |
| | | }, |
| | | }, |
| | | }, |
| | | ], |
| | | }; |
| | | let myChart = this.$echarts.init(document.getElementById("gauge_chart1")); |
| | | myChart.setOption(option); |
| | | window.addEventListener("resize", function () { |
| | | myChart.resize(); |
| | | }); |
| | | }, |
| | | gaugeChart2() { |
| | | let option = { |
| | | tooltip: { |
| | | trigger: "item", |
| | | }, |
| | | legend: { |
| | | top: "5%", |
| | | left: "20%", |
| | | orient: "vertical", |
| | | }, |
| | | series: [ |
| | | { |
| | | name: "", |
| | | type: "pie", |
| | | radius: ["70%", "90%"], |
| | | avoidLabelOverlap: false, |
| | | label: { |
| | | show: false, |
| | | position: "center", |
| | | }, |
| | | emphasis: { |
| | | label: { |
| | | show: true, |
| | | fontSize: "30", |
| | | fontWeight: "bold", |
| | | }, |
| | | }, |
| | | labelLine: { |
| | | show: false, |
| | | }, |
| | | data: [ |
| | | { value: 1048, name: "æ´»è·èµæº" }, |
| | | { value: 0, name: "䏿´»è·èµæº" }, |
| | | ], |
| | | itemStyle: { |
| | | normal: { |
| | | color: function (colors) { |
| | | var colorList = ["#d3e9af", "#ed9678"]; |
| | | return colorList[colors.dataIndex]; |
| | | }, |
| | | }, |
| | | }, |
| | | }, |
| | | ], |
| | | }; |
| | | let myChart = this.$echarts.init(document.getElementById("gauge_chart2")); |
| | | myChart.setOption(option); |
| | | window.addEventListener("resize", function () { |
| | | myChart.resize(); |
| | | }); |
| | | }, |
| | | barChart() { |
| | | let option = { |
| | | xAxis: { |
| | | type: "category", |
| | | axisLabel: { |
| | | interval: 0, |
| | | rotate: 60, |
| | | }, |
| | | data: [ |
| | | "Mon", |
| | | "Tue", |
| | | "Wed", |
| | | "Thu", |
| | | "Fri", |
| | | "Sat", |
| | | "Sun", |
| | | "Mon", |
| | | "Tue", |
| | | "Wed", |
| | | "Thu", |
| | | "Fri", |
| | | "Sat", |
| | | "Sun", |
| | | "Mon", |
| | | "Tue", |
| | | "Wed", |
| | | "Thu", |
| | | "Fri", |
| | | "Sat", |
| | | "Sun", |
| | | ], |
| | | }, |
| | | yAxis: { |
| | | type: "value", |
| | | }, |
| | | series: [ |
| | | { |
| | | data: [ |
| | | 120, 200, 150, 80, 70, 110, 130120, 200, 150, 80, 70, 110, 130, |
| | | 120, 200, 150, 80, 70, 110, 130, |
| | | ], |
| | | type: "bar", |
| | | showBackground: true, |
| | | backgroundStyle: { |
| | | color: "rgba(180, 180, 180, 0.2)", |
| | | }, |
| | | }, |
| | | ], |
| | | }; |
| | | let myChart = this.$echarts.init(document.getElementById("gauge_chart5")); |
| | | myChart.setOption(option); |
| | | window.addEventListener("resize", function () { |
| | | myChart.resize(); |
| | | }); |
| | | }, |
| | | barChart1() { |
| | | let option = { |
| | | xAxis: { |
| | | type: "category", |
| | | axisLabel: { |
| | | interval: 0, |
| | | rotate: 60, |
| | | }, |
| | | data: [ |
| | | "Mon", |
| | | "Tue", |
| | | "Wed", |
| | | "Thu", |
| | | "Fri", |
| | | "Sat", |
| | | "Sun", |
| | | "Mon", |
| | | "Tue", |
| | | "Wed", |
| | | "Thu", |
| | | "Fri", |
| | | "Sat", |
| | | "Sun", |
| | | "Mon", |
| | | "Tue", |
| | | "Wed", |
| | | "Thu", |
| | | "Fri", |
| | | "Sat", |
| | | "Sun", |
| | | ], |
| | | }, |
| | | yAxis: { |
| | | type: "value", |
| | | }, |
| | | series: [ |
| | | { |
| | | data: [ |
| | | 120, 200, 150, 80, 70, 110, 130120, 200, 150, 80, 70, 110, 130, |
| | | 120, 200, 150, 80, 70, 110, 130, |
| | | ], |
| | | type: "bar", |
| | | showBackground: true, |
| | | backgroundStyle: { |
| | | color: "rgba(180, 180, 180, 0.2)", |
| | | }, |
| | | }, |
| | | ], |
| | | }; |
| | | let myChart = this.$echarts.init(document.getElementById("gauge_chart3")); |
| | | myChart.setOption(option); |
| | | window.addEventListener("resize", function () { |
| | | myChart.resize(); |
| | | }); |
| | | }, |
| | | lineChart() { |
| | | let base = +new Date(1968, 9, 3); |
| | | let oneDay = 24 * 3600 * 1000; |
| | | let date = []; |
| | | let data = [Math.random() * 300]; |
| | | for (let i = 1; i < 20000; i++) { |
| | | var now = new Date((base += oneDay)); |
| | | date.push( |
| | | [now.getFullYear(), now.getMonth() + 1, now.getDate()].join("/") |
| | | ); |
| | | data.push(Math.round((Math.random() - 0.5) * 20 + data[i - 1])); |
| | | SetTableData1(res) { |
| | | this.tableData = res.userInfo; |
| | | this.memInfo = res.memInfo; |
| | | this.cpuInfo = res.cpuInfo; |
| | | if (this.echartData.length == 7) { |
| | | this.echartData.splice(0, 1); |
| | | } |
| | | let option = { |
| | | tooltip: { |
| | | trigger: "axis", |
| | | position: function (pt) { |
| | | return [pt[0], "10%"]; |
| | | this.echartData.push(parseFloat(res.cpuInfo.cpuSysUsage)); |
| | | this.lineChart1(); |
| | | console.log(this.memInfo.usage); |
| | | this.lineChart2(this.memInfo.usage); |
| | | }, |
| | | }, |
| | | title: { |
| | | left: "center", |
| | | text: "Large Area Chart", |
| | | }, |
| | | toolbox: { |
| | | feature: { |
| | | dataZoom: { |
| | | yAxisIndex: "none", |
| | | }, |
| | | restore: {}, |
| | | saveAsImage: {}, |
| | | }, |
| | | }, |
| | | xAxis: { |
| | | type: "category", |
| | | boundaryGap: false, |
| | | data: date, |
| | | }, |
| | | yAxis: { |
| | | type: "value", |
| | | boundaryGap: [0, "100%"], |
| | | }, |
| | | dataZoom: [ |
| | | { |
| | | type: "inside", |
| | | start: 0, |
| | | end: 10, |
| | | }, |
| | | { |
| | | start: 0, |
| | | end: 10, |
| | | }, |
| | | ], |
| | | series: [ |
| | | { |
| | | name: "Fake Data", |
| | | type: "line", |
| | | symbol: "none", |
| | | sampling: "lttb", |
| | | itemStyle: { |
| | | color: "rgb(255, 70, 131)", |
| | | }, |
| | | areaStyle: { |
| | | color: new this.$echarts.graphic.LinearGradient(0, 0, 0, 1, [ |
| | | { |
| | | offset: 0, |
| | | color: "rgb(255, 158, 68)", |
| | | }, |
| | | { |
| | | offset: 1, |
| | | color: "rgb(255, 70, 131)", |
| | | }, |
| | | ]), |
| | | }, |
| | | data: data, |
| | | }, |
| | | ], |
| | | }; |
| | | let myChart = this.$echarts.init(document.getElementById("line_chart")); |
| | | myChart.setOption(option); |
| | | window.addEventListener("resize", function () { |
| | | myChart.resize(); |
| | | }); |
| | | SetTableData2(res) { |
| | | this.resInfo = res.resInfo; |
| | | this.resInfoCount = res.resInfo.length; |
| | | }, |
| | | lineChart1() { |
| | | let option = { |
| | | grid: { |
| | | top: 0, |
| | | left: "0%", |
| | | right: "4%", |
| | | bottom: "0%", |
| | | left: '0%', |
| | | right: '4%', |
| | | bottom: '0%', |
| | | containLabel: true, |
| | | }, |
| | | tooltip: { |
| | | trigger: "axis", |
| | | trigger: 'axis', |
| | | }, |
| | | xAxis: { |
| | | type: "category", |
| | | type: 'category', |
| | | boundaryGap: false, |
| | | data: ["", "", "", "", "", "", ""], |
| | | data: ['', '', '', '', '', '', ''], |
| | | }, |
| | | yAxis: { |
| | | type: "value", |
| | | type: 'value', |
| | | axisLabel: { |
| | | show: false, // 䏿¾ç¤ºåæ è½´ä¸çæå |
| | | }, |
| | | }, |
| | | series: [ |
| | | { |
| | | data: [820, 932, 901, 934, 1290, 1330, 1320], |
| | | type: "line", |
| | | data: this.echartData, |
| | | type: 'line', |
| | | areaStyle: {}, |
| | | }, |
| | | ], |
| | | }; |
| | | let myChart = this.$echarts.init( |
| | | document.getElementById("Sys_cpu_chart") |
| | | document.getElementById('Sys_cpu_chart') |
| | | ); |
| | | myChart.setOption(option); |
| | | window.addEventListener("resize", function () { |
| | | window.addEventListener('resize', function () { |
| | | myChart.resize(); |
| | | }); |
| | | }, |
| | | handleSelectionChange() {}, |
| | | lineChart2(res) { |
| | | var a = res.split('%').join(''); |
| | | console.log(a); |
| | | let value = parseFloat(a); |
| | | let data = [value, value, value]; |
| | | let option = { |
| | | title: { |
| | | text: value + '{a|%}', |
| | | textStyle: { |
| | | fontSize: 15, |
| | | fontFamily: 'Microsoft Yahei', |
| | | fontWeight: 'normal', |
| | | color: '#00FFFF', |
| | | rich: { |
| | | a: { |
| | | fontSize: 15, |
| | | }, |
| | | created() {}, |
| | | mounted() { |
| | | this.$nextTick(() => { |
| | | this.lineChart(); |
| | | this.lineChart1(); |
| | | this.barChart(); |
| | | this.barChart1(); |
| | | this.gaugeChart1(); |
| | | this.gaugeChart2(); |
| | | }, |
| | | }, |
| | | x: 'center', |
| | | y: '35%', |
| | | }, |
| | | graphic: [ |
| | | { |
| | | type: 'group', |
| | | left: 'center', |
| | | |
| | | children: [ |
| | | { |
| | | type: 'text', |
| | | z: 20, |
| | | left: '10', |
| | | top: '50', |
| | | style: { |
| | | fill: '#00FFFF', |
| | | text: '使ç¨ç', |
| | | font: '14px Microsoft YaHei', |
| | | }, |
| | | }, |
| | | ], |
| | | }, |
| | | ], |
| | | series: [ |
| | | { |
| | | type: 'liquidFill', |
| | | radius: '80%', |
| | | center: ['50%', '50%'], |
| | | // shape: 'roundRect', |
| | | data: data, |
| | | backgroundStyle: { |
| | | color: { |
| | | type: 'linear', |
| | | x: 1, |
| | | y: 0, |
| | | x2: 0.5, |
| | | y2: 1, |
| | | colorStops: [ |
| | | { |
| | | offset: 1, |
| | | color: 'rgba(68, 145, 253, 0)', |
| | | }, |
| | | { |
| | | offset: 0.5, |
| | | color: 'rgba(68, 145, 253, .25)', |
| | | }, |
| | | { |
| | | offset: 0, |
| | | color: 'rgba(68, 145, 253, 1)', |
| | | }, |
| | | ], |
| | | globalCoord: false, |
| | | }, |
| | | }, |
| | | outline: { |
| | | borderDistance: 0, |
| | | itemStyle: { |
| | | borderWidth: 20, |
| | | borderColor: { |
| | | type: 'linear', |
| | | x: 0, |
| | | y: 0, |
| | | x2: 0, |
| | | y2: 1, |
| | | colorStops: [ |
| | | { |
| | | offset: 0, |
| | | color: 'rgba(69, 73, 240, 0)', |
| | | }, |
| | | { |
| | | offset: 0.5, |
| | | color: 'rgba(69, 73, 240, .25)', |
| | | }, |
| | | { |
| | | offset: 1, |
| | | color: 'rgba(69, 73, 240, 1)', |
| | | }, |
| | | ], |
| | | globalCoord: false, |
| | | }, |
| | | shadowBlur: 10, |
| | | shadowColor: '#000', |
| | | }, |
| | | }, |
| | | itemStyle: { |
| | | color: { |
| | | type: 'linear', |
| | | x: 0, |
| | | y: 0, |
| | | x2: 0, |
| | | y2: 1, |
| | | colorStops: [ |
| | | { |
| | | offset: 1, |
| | | color: 'rgba(58, 71, 212, 0)', |
| | | }, |
| | | { |
| | | offset: 0.5, |
| | | color: 'rgba(31, 222, 225, .2)', |
| | | }, |
| | | { |
| | | offset: 0, |
| | | color: 'rgba(31, 222, 225, 1)', |
| | | }, |
| | | ], |
| | | globalCoord: false, |
| | | }, |
| | | }, |
| | | label: { |
| | | normal: { |
| | | formatter: '', |
| | | }, |
| | | }, |
| | | }, |
| | | ], |
| | | }; |
| | | |
| | | let myChart1 = this.$echarts.init(document.getElementById('shuiwen')); |
| | | myChart1.setOption(option); |
| | | window.addEventListener('resize', function () { |
| | | myChart.resize(); |
| | | }); |
| | | }, |
| | | }, |
| | | created() { |
| | | if (Window.ws != null) { |
| | | Window.ws.close(); |
| | | Window.ws.onclose = () => { |
| | | console.log('æå¡å¨å
³é'); |
| | | }; |
| | | Window.ws = null; |
| | | } |
| | | Window.ws = new WebSocket('ws://192.168.20.55:12316/ws'); |
| | | Window.ws.option = () => {}; |
| | | var that = this; |
| | | Window.ws.onmessage = (msg) => { |
| | | // console.log('æ¥èªæå¡å¨ç«¯çæ°æ®ï¼' + msg.data); //ç嬿¥åæ¥èªæå¡ç«¯çä¿¡æ¯ |
| | | var data = JSON.parse(msg.data); |
| | | |
| | | if (data.resInfo == undefined) { |
| | | that.SetTableData1(data); |
| | | } else { |
| | | that.SetTableData2(data); |
| | | } |
| | | }; |
| | | }, |
| | | |
| | | mounted() { |
| | | this.lineChart2(0); |
| | | }, |
| | | }; |
| | | </script> |
| | |
| | | box-sizing: border-box; |
| | | padding: 10px; |
| | | padding-top: 30px; |
| | | width: 24%; |
| | | width: 33%; |
| | | height: 100%; |
| | | background: #fff; |
| | | border-radius: 5px; |
| | |
| | | } |
| | | } |
| | | } |
| | | .table_box { |
| | | height: 36%; |
| | | |
| | | display: flex; |
| | | justify-content: space-between; |
| | | align-items: center; |
| | | .left { |
| | | box-sizing: border-box; |
| | | padding: 10px; |
| | | width: 49%; |
| | | height: 100%; |
| | | width: 100%; |
| | | height: 37%; |
| | | background: #fff; |
| | | border-radius: 5px; |
| | | border: 1px solid rgb(202, 201, 204); |
| | | overflow: auto; |
| | | } |
| | | .right { |
| | | overflow: auto; |
| | | box-sizing: border-box; |
| | | padding: 10px; |
| | | width: 49%; |
| | | height: 100%; |
| | | background: #fff; |
| | | border-radius: 5px; |
| | | border: 1px solid rgb(202, 201, 204); |
| | | } |
| | | } |
| | | .title_box { |
| | | font-weight: 800; |
| | |
| | | |
| | | > |
| | | </el-table-column> |
| | | <el-table-column |
| | | <!-- <el-table-column |
| | | prop="img" |
| | | align="center" |
| | | :label="$t('userManage.resManageObj.img')" |
| | | > |
| | | </el-table-column> |
| | | <el-table-column |
| | | </el-table-column> --> |
| | | <!-- <el-table-column |
| | | prop="createUser" |
| | | align="center" |
| | | :label="$t('userManage.resManageObj.createUser')" |
| | | > |
| | | </el-table-column> |
| | | <el-table-column |
| | | </el-table-column> --> |
| | | <!-- <el-table-column |
| | | prop="createTime" |
| | | align="center" |
| | | :label="$t('userManage.resManageObj.createTime')" |
| | |
| | | :label="$t('userManage.resManageObj.updateTime')" |
| | | :formatter="formatTime" |
| | | > |
| | | </el-table-column> |
| | | </el-table-column>--> |
| | | <el-table-column |
| | | prop="bak" |
| | | align="center" |
| | |
| | | <el-divider></el-divider> |
| | | <p> |
| | | <label> {{ $t('userManage.resManageObj.img') }}:</label> |
| | | <label class="boxlabel">{{ itemdetail.img }}</label> |
| | | <label class="boxlabel"> |
| | | <div style="width:440px;height:200px;"> |
| | | <img style="width:100%; height:100%" :src="itemdetail.imageFile" alt=""/> |
| | | </div> |
| | | </label> |
| | | </p> |
| | | <el-divider></el-divider> |
| | | <p> |
| | |
| | | @change="insertFile" |
| | | /> |
| | | <el-link |
| | | :title="$t('common.append')" |
| | | :underline="false" |
| | | @click="getIsertFile" |
| | | style="margin-left: 10px" |
| | | ><i class="el-icon-plus"></i |
| | | ></el-link> |
| | | <el-link |
| | | :title="$t('common.upload')" |
| | | :underline="false" |
| | | @click="setUploadFile(0)" |
| | | style="margin-left: 10px" |
| | | ><i class="el-icon-upload2"></i |
| | | ></el-link> |
| | | </el-form-item> |
| | | <el-form-item |
| | |
| | | style="margin-left: 10px" |
| | | ><i class="el-icon-plus"></i |
| | | ></el-link> |
| | | <el-link |
| | | :title="$t('common.upload')" |
| | | :underline="false" |
| | | @click="setUploadFile(1)" |
| | | style="margin-left: 10px" |
| | | ><i class="el-icon-upload2"></i |
| | | ></el-link> |
| | | </el-form-item> |
| | | <el-form-item |
| | | :label="$t('userManage.resManageObj.bak')" |
| | |
| | | |
| | | <script> |
| | | import $ from 'jquery'; |
| | | import { |
| | | getToken |
| | | } from '../../utils/auth.js' |
| | | import moment from 'moment'; |
| | | import MyBread from '../../components/MyBread.vue'; |
| | | import { select_Res_ByPageAndCount, insertRes, updateRes, deleteRess } |
| | | import { select_Res_ByPageAndCount, insertRes, updateRes, deleteRess, upload_res } |
| | | from '../../api/api.js'; |
| | | import styleDirTree from '../datamanage/styleDirTree.vue'; |
| | | import styleDepTree from '../datamanage/styleDepTree.vue'; |
| | |
| | | showDepCata: false, |
| | | dirFlag: null, |
| | | depFlag: null, |
| | | ImageFile: null, |
| | | uploadFile: null, |
| | | insertform: { |
| | | img:'' |
| | | }, |
| | |
| | | }, |
| | | getupdateFile(){ |
| | | $('#editimageFile').click(); |
| | | }, |
| | | async setUploadFile(res) { |
| | | var fs; |
| | | if (res == 0) { |
| | | fs = document.getElementById("imageFile"); |
| | | |
| | | }else if (res ==1) { |
| | | fs = document.getElementById("editimageFile"); |
| | | if(fs.files.length == 0){ |
| | | return; |
| | | } |
| | | } |
| | | var formData = new FormData(); |
| | | formData.append("file", fs.files[0]); |
| | | var val_data = await upload_res(formData); |
| | | if (val_data.code == 200) { |
| | | this.uploadFile = val_data.result; |
| | | this.$message({ |
| | | message: 'ä¸ä¼ æåï¼', |
| | | type: 'success', |
| | | }); |
| | | } else { |
| | | this.$message({ |
| | | message: 'ä¸ä¼ 失败ï¼', |
| | | type: 'warning', |
| | | }); |
| | | } |
| | | }, |
| | | insertFile() { |
| | | var val = document.getElementById('imageFile').files; |
| | |
| | | this.upform = {}; |
| | | }, |
| | | async EditFromData() { |
| | | |
| | | |
| | | if (this.uploadFile != null) { |
| | | this.upform.img = this.uploadFile; |
| | | } |
| | | const data = await updateRes(this.upform); |
| | | if (data.code == 200) { |
| | | this.EditFormdialog = false; |
| | | this.upform = {}; |
| | | this.uploadFile = null; |
| | | this.$message({ |
| | | message: 'ä¿®æ¹æåï¼', |
| | | type: 'success', |
| | |
| | | }, |
| | | showDetail(index, row) { |
| | | this.showinfoBox = true; |
| | | var token = getToken(); |
| | | this.itemdetail = row; |
| | | this.itemdetail.createTime = this.formomentTime(this.itemdetail.createTime); |
| | | this.itemdetail.updateTime = this.formomentTime(this.itemdetail.updateTime); |
| | | |
| | | this.itemdetail.imageFile = BASE_URL + "/res/download?guid=" + row.img + "&token=" + token |
| | | }, |
| | | handleEdit(index, row) { |
| | | this.EditFormdialog = true; |
| | |
| | | }); |
| | | return; |
| | | } |
| | | if (this.uploadFile != null) { |
| | | this.insertform.img = this.uploadFile; |
| | | } |
| | | const data = await insertRes(this.insertform); |
| | | if (data.code == 200) { |
| | | this.InsertFormdialog = false; |
| | | this.insertform = {}; |
| | | this.insertform= { |
| | | img: '' |
| | | }; |
| | | this.uploadFile = null; |
| | | this.$message({ |
| | | message: 'æ·»å æåï¼', |
| | | type: 'success', |
| | |
| | | } |
| | | this.listData.name = this.ruleForm.name; |
| | | const data = await select_Res_ByPageAndCount(this.listData); |
| | | console.log(data) |
| | | |
| | | if (data.code != 200) { |
| | | this.$message.error('å表è°ç¨å¤±è´¥'); |
| | | } |
| | | console.log(data.result); |
| | | |
| | | this.tableData = data.result; |
| | | this.count = data.count; |
| | | }, |
| | |
| | | padding: 10px; |
| | | box-sizing: border-box; |
| | | .el-input { |
| | | width: 745px; |
| | | width: 730px; |
| | | } |
| | | .power_quire { |
| | | margin: 10px auto; |
| | |
| | | }}</el-button |
| | | > |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button @click="handleDelete()" |
| | | ><i class="el-icon-delete"></i> {{ |
| | | $t('common.delete') |
| | | }}</el-button |
| | | > |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | | <div class="table_box"> |
| | | <el-table :data="tableData" stripe style="width: 100%" height="99%"> |
| | | <el-table |
| | | :data="tableData" |
| | | stripe |
| | | style="width: 100%" |
| | | @selection-change="handleSelectionChange" |
| | | height="99%" |
| | | > |
| | | <el-table-column type="selection" width="55" /> |
| | | <el-table-column |
| | | align="center" |
| | | type="index" |
| | |
| | | :label="$t('userManage.RM.describe')" |
| | | /> |
| | | |
| | | <el-table-column |
| | | <!-- <el-table-column |
| | | align="center" |
| | | prop="createUser" |
| | | :label="$t('userManage.RM.creationuser')" |
| | |
| | | align="center" |
| | | prop="bak" |
| | | :label="$t('userManage.RM.remarks')" |
| | | /> |
| | | /> --> |
| | | <el-table-column |
| | | fixed="right" |
| | | :label="$t('common.operate')" |
| | |
| | | size="small" |
| | | >{{ $t('common.update') }}</el-button |
| | | > |
| | | <el-button |
| | | type="danger" |
| | | @click="handleDelete(scope.$index, scope.row)" |
| | | size="small" |
| | | >{{ $t('common.delete') }}</el-button |
| | | > |
| | | <el-button @click="showDetail(scope.$index, scope.row)" type="primary" size="small">{{ |
| | | $t('common.see') |
| | | }}</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | |
| | | </el-pagination> |
| | | </div> |
| | | </div> |
| | | |
| | | <el-dialog |
| | | :title="$t('userManage.RM.insertRole')" |
| | | top="15vh" |
| | |
| | | > |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="infoBox" v-show="showinfoBox"> |
| | | <el-card> |
| | | <div slot="header" class="clearfix"> |
| | | <span>{{ $t('dataManage.styleObj.deInformation') }}</span> |
| | | <div style="float: right; cursor: pointer" @click="closeDetial" > |
| | | <i class="el-icon-close"></i> |
| | | </div> |
| | | </div> |
| | | <div class="contentBox"> |
| | | <p> |
| | | <label> {{ $t('userManage.RM.roleName') }}:</label> |
| | | <label class="boxlabel">{{ itemdetail.name }}</label> |
| | | </p> |
| | | <el-divider></el-divider> |
| | | <p> |
| | | <p> |
| | | <label> {{ $t('userManage.RM.ownedSystem') }}:</label> |
| | | <label class="boxlabel">{{ itemdetail.depName }}</label> |
| | | </p> |
| | | </p> |
| | | <el-divider></el-divider> |
| | | <p> |
| | | <label> {{ $t('userManage.RM.describe') }}:</label> |
| | | <label class="boxlabel">{{ itemdetail.descr }}</label> |
| | | </p> |
| | | <el-divider></el-divider> |
| | | <p> |
| | | <label> {{ $t('userManage.RM.creationuser') }}:</label> |
| | | <label class="boxlabel">{{ itemdetail.createUser }}</label> |
| | | </p> |
| | | <el-divider></el-divider> |
| | | <p> |
| | | <label> {{ $t('userManage.RM.creationtime') }}:</label> |
| | | <label class="boxlabel">{{ itemdetail.createTime }}</label> |
| | | </p> |
| | | <el-divider></el-divider> |
| | | <p> |
| | | <label> {{ $t('userManage.RM.updateonuser') }}:</label> |
| | | <label class="boxlabel">{{ itemdetail.UpdateUser }}</label> |
| | | </p> |
| | | <el-divider></el-divider> |
| | | |
| | | <p> |
| | | <label> {{ $t('userManage.RM.updateontime') }}:</label> |
| | | <label class="boxlabel">{{ itemdetail.updateTime }}</label> |
| | | </p> |
| | | <el-divider></el-divider> |
| | | <p> |
| | | <label> {{ $t('userManage.RM.remarks') }}:</label> |
| | | <label class="boxlabel">{{ itemdetail.bak }}</label> |
| | | </p> |
| | | <el-divider></el-divider> |
| | | </div> |
| | | </el-card> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | |
| | | select_Role_ByPageAndCount, |
| | | selectdepTab, |
| | | insertRole, |
| | | deleteRole, |
| | | deleteRoles, |
| | | selectDep, |
| | | updateRole, |
| | | } from '../../api/api'; |
| | |
| | | }, |
| | | data() { |
| | | return { |
| | | showinfoBox: false, |
| | | showCata: false, |
| | | formLabelWidth: '120px', |
| | | InsertFormdialog: false, |
| | |
| | | updateform: {}, |
| | | count: 0, |
| | | selData: [], |
| | | itemdetail: {}, |
| | | multipleSelection: [], |
| | | |
| | | listData: { |
| | | name: null, |
| | | depName: null, |
| | |
| | | }; |
| | | }, |
| | | methods: { |
| | | closeDetial() { |
| | | this.showinfoBox = false; |
| | | this.itemdetail = {}; |
| | | }, |
| | | showDetail(index, row) { |
| | | this.showinfoBox = true; |
| | | this.itemdetail = row; |
| | | this.itemdetail.createTime = this.formomentTime(this.itemdetail.createTime); |
| | | this.itemdetail.updateTime = this.formomentTime(this.itemdetail.updateTime); |
| | | |
| | | }, |
| | | handleSelectionChange(val) { |
| | | this.multipleSelection = val; |
| | | }, |
| | | formatTime(row, column) { |
| | | let date = row[column.property]; |
| | | |
| | | return this.formomentTime(date); |
| | | }, |
| | | formomentTime(date) { |
| | | if (date === undefined || date === null) { |
| | | return ''; |
| | | return; |
| | | } |
| | | |
| | | return moment(parseInt(date)).format('YYYY-MM-DD HH:mm:ss'); |
| | | }, |
| | | showDepTree(res) { |
| | |
| | | }); |
| | | } |
| | | }, |
| | | async handleDelete(index, row) { |
| | | const data = await deleteRole({ id: row.id.toString() }); |
| | | async handleDelete() { |
| | | var std = []; |
| | | for (var i in this.multipleSelection) { |
| | | std.push(this.multipleSelection[i].id); |
| | | } |
| | | const data = await deleteRoles({ ids: std.toString() }); |
| | | |
| | | if (data.code == 200) { |
| | | this.InsertFormdialog = false; |
| | | this.$message({ |
| | |
| | | .text-center { |
| | | text-align: center; |
| | | } |
| | | .infoBox { |
| | | width: 500px; |
| | | border: 1px solid #eee; |
| | | position: absolute; |
| | | z-index: 100; |
| | | top: 25%; |
| | | right: 12%; |
| | | background-color: #fff; |
| | | .el-card { |
| | | background-color: transparent; |
| | | span { |
| | | font-size: 16px; |
| | | font-weight: 600; |
| | | } |
| | | } |
| | | .contentBox { |
| | | margin: 0 aotu 10px; |
| | | height: 485px; |
| | | overflow: auto; |
| | | p { |
| | | // background-color: #bfa; |
| | | // margin-bottom: 10px; |
| | | font-size: 14px; |
| | | } |
| | | .boxlabel { |
| | | margin-left: 10px; |
| | | } |
| | | } |
| | | /* æ´ä½æ ·å¼ */ |
| | | .contentBox::-webkit-scrollbar { |
| | | width: 6px; |
| | | height: 6px; |
| | | } |
| | | |
| | | /* æ»å¨æ¡ */ |
| | | .contentBox::-webkit-scrollbar-thumb { |
| | | background-color: #b3d8ff; |
| | | border-radius: 6px; |
| | | } |
| | | |
| | | /* æ»å¨æ¡é¼ æ ç»è¿æ ·å¼ */ |
| | | .contentBox::-webkit-scrollbar-thumb:hover { |
| | | background-color: #b3d8ff; |
| | | border-radius: 6px; |
| | | } |
| | | |
| | | /* æ»å¨æ¡è½¨é */ |
| | | .contentBox::-webkit-scrollbar-track-piece { |
| | | -webkit-box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2); |
| | | border-radius: 10px; |
| | | background: #ededed; |
| | | } |
| | | } |
| | | } |
| | | </style> |