| | |
| | | import { defineAsyncComponent } from "vue"; |
| | | import axios from 'axios'; |
| | | |
| | | let extension = { |
| | | components: { //卿æ©å
ç»ä»¶æç»ä»¶è·¯å¾ |
| | | //表åheaderãcontentãfooter对åºä½ç½®æ©å
çç»ä»¶ |
| | |
| | | text: "åªè½çå°å½åè§è²ä¸çææå¸å·", |
| | | buttons: [], //æ©å±çæé® |
| | | methods: { //äºä»¶æ©å± |
| | | // å è½½è§è²æ°æ® - æ·»å forceRefreshåæ° |
| | | async loadRoles(forceRefresh = true) { |
| | | try { |
| | | const http = this.$http || window.axios || axios; |
| | | |
| | | if (!http) { |
| | | console.error("HTTP请æ±å¯¹è±¡ä¸åå¨"); |
| | | return; |
| | | } |
| | | |
| | | console.log("å¼å§å è½½è§è²æ°æ®...", forceRefresh ? "强å¶å·æ°" : "æ®éå è½½"); |
| | | |
| | | const url = "/api/Sys_Role/getUserChildRoles" + (forceRefresh ? "?t=" + Date.now() : ""); |
| | | |
| | | const res = await http.post(url); |
| | | console.log("APIè¿ååå§æ°æ®:", res.data); |
| | | |
| | | if (res.data && res.data.status) { |
| | | const selectOptions = res.data.data.map(role => ({ |
| | | // å
¼å®¹å¤§ååå°å屿§å |
| | | value: role.id || role.Id, |
| | | label: role.roleName || role.RoleName, |
| | | // åæ¶ä¿ååå§å±æ§ï¼ä¾è¡¨æ ¼æ¾ç¤ºä½¿ç¨ |
| | | id: role.id || role.Id, |
| | | roleName: role.roleName || role.RoleName |
| | | })); |
| | | |
| | | console.log("转æ¢åç䏿é项:", selectOptions); |
| | | |
| | | if (this.editFormOptions && Array.isArray(this.editFormOptions)) { |
| | | let found = false; |
| | | for(let i = 0; i < this.editFormOptions.length; i++) { |
| | | const group = this.editFormOptions[i]; |
| | | if (group && Array.isArray(group)) { |
| | | for(let j = 0; j < group.length; j++) { |
| | | const field = group[j]; |
| | | if (field && field.field === "role_Id") { |
| | | console.log("设置role_Idåæ®µæ°æ®"); |
| | | field.data = selectOptions; |
| | | found = true; |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | if (found) break; |
| | | } |
| | | |
| | | this.$forceUpdate(); |
| | | } |
| | | |
| | | // åæ¶æ´æ°è¡¨æ ¼ä¸çè§è²æ°æ®æº |
| | | if (this.columns && Array.isArray(this.columns)) { |
| | | for(let i = 0; i < this.columns.length; i++) { |
| | | const column = this.columns[i]; |
| | | if (column && column.field === "role_Id" && column.bind) { |
| | | // å°è§è²æ°æ®è½¬æ¢ä¸ºkey-valueæ ¼å¼ï¼ä¾è¡¨æ ¼æ¾ç¤ºä½¿ç¨ |
| | | const bindData = res.data.data.map(role => ({ |
| | | key: role.id || role.Id, |
| | | value: role.roleName || role.RoleName |
| | | })); |
| | | column.bind.data = bindData; |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } catch (error) { |
| | | console.error("å è½½è§è²æ°æ®å¤±è´¥:", error); |
| | | } |
| | | }, |
| | | |
| | | onInit() { |
| | | this.boxOptions.height = 530; |
| | | |
| | | this.columns.push({ |
| | | title: 'æä½', |
| | | hidden: false, |
| | |
| | | style: { 'margin-right': '15px' }, |
| | | onClick: (e) => { |
| | | e.stopPropagation() |
| | | if (this.$refs.gridHeader) { |
| | | this.$refs.gridHeader.open(row); |
| | | } |
| | | } |
| | | }, "ä¿®æ¹å¯ç " |
| | | ), |
| | |
| | | ), |
| | | ]) |
| | | } |
| | | }) |
| | | }); |
| | | |
| | | // åå§åæ¶å è½½ |
| | | setTimeout(() => { |
| | | this.loadRoles(false); |
| | | }, 100); |
| | | }, |
| | | onInited() { }, |
| | | addAfter(result) { //ç¨æ·æ°å»ºåï¼æ¾ç¤ºéæºçæçå¯ç |
| | | |
| | | modelOpenAfter() { |
| | | let isEDIT = this.currentAction == this.const.EDIT; |
| | | |
| | | // 设置UserNameç¦ç¨ç¶æ |
| | | if (this.editFormOptions && Array.isArray(this.editFormOptions)) { |
| | | for(let i = 0; i < this.editFormOptions.length; i++) { |
| | | const group = this.editFormOptions[i]; |
| | | if (group && Array.isArray(group)) { |
| | | for(let j = 0; j < group.length; j++) { |
| | | const field = group[j]; |
| | | if (field && field.field === "UserName") { |
| | | field.disabled = isEDIT; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | if (this.currentAction == this.const.ADD) { |
| | | this.editFormFields.Gender = "0"; |
| | | } |
| | | |
| | | // æ¯æ¬¡æå¼ç¼è¾æ¡æ¶å¼ºå¶éæ°å è½½è§è²æ°æ®ï¼å¸¦æ¶é´æ³ï¼ |
| | | setTimeout(() => { |
| | | this.loadRoles(true); |
| | | }, 100); |
| | | }, |
| | | refreshRoles() { |
| | | this.loadRoles(true); |
| | | }, |
| | | |
| | | addAfter(result) { |
| | | if (!result.status) { |
| | | return true; |
| | | } |
| | | //æ¾ç¤ºæ°å»ºç¨æ·çå¯ç |
| | | //2020.08.28ä¼åæ°å»ºæåæç¤ºæ¹å¼ |
| | | this.$confirm(result.message, 'æ°å»ºç¨æ·æå', { |
| | | confirmButtonText: 'ç¡®å®', |
| | | type: 'success', |
| | | center: true |
| | | }).then(() => { }) |
| | | |
| | | }).then(() => { |
| | | this.refreshRoles(); |
| | | }) |
| | | this.boxModel = false; |
| | | this.refresh(); |
| | | return false; |
| | | }, |
| | | modelOpenAfter() { |
| | | //ç¹å»å¼¹åºæ¡åï¼å¦ææ¯ç¼è¾ç¶æï¼ç¦æ¢ç¼è¾ç¨æ·åï¼å¦ææ°å»ºç¶æï¼å°ç¨æ·ååæ®µè®¾ç½®ä¸ºå¯ç¼è¾ |
| | | let isEDIT = this.currentAction == this.const.EDIT; |
| | | this.editFormOptions.forEach(item => { |
| | | item.forEach(x => { |
| | | if (x.field == "UserName") { |
| | | x.disabled=isEDIT; |
| | | } |
| | | }) |
| | | //䏿¯æ°å»ºï¼æ§å«é»è®¤å¼è®¾ç½®ä¸ºç· |
| | | if (!isEDIT) { |
| | | this.editFormFields.Gender = "0"; |
| | | } |
| | | }) |
| | | } |
| | | |
| | | // å·æ°åéæ°å è½½è§è²æ°æ®ï¼ç¡®ä¿å·æ°åè§è²åç§°ä»ç¶æ¾ç¤ºæ£ç¡® |
| | | refreshAfter() { |
| | | setTimeout(() => { |
| | | this.loadRoles(true); |
| | | }, 100); |
| | | }, |
| | | |
| | | // è¡¨æ ¼æ°æ®å è½½å®æåéæ°å è½½è§è²æ°æ®ï¼ç¡®ä¿å·æ°åè§è²åç§°ä»ç¶æ¾ç¤ºæ£ç¡® |
| | | searchAfter() { |
| | | setTimeout(() => { |
| | | this.loadRoles(true); |
| | | }, 100); |
| | | return true; |
| | | } |
| | | } |
| | | }; |
| | | export default extension; |