{"remainingRequest":"D:\\jenkins\\workspace\\examine-fvue\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\examine-fvue\\src\\components\\eipControl\\selector\\EipOrgSelector.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\examine-fvue\\src\\components\\eipControl\\selector\\EipOrgSelector.vue","mtime":1667280204061},{"path":"D:\\jenkins\\workspace\\examine-fvue\\node_modules\\babel-loader\\lib\\index.js","mtime":315532800000},{"path":"D:\\jenkins\\workspace\\examine-fvue\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\examine-fvue\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\r\nimport utils from \"@/hotent-ui-util.js\";\r\nimport sub_pio_mixin from \"@/sub-permission-mixin.js\";\r\n\r\nexport default {\r\n name: \"eip-org-selector\",\r\n props: {\r\n validate: [String, Object],\r\n value: String,\r\n name: String,\r\n placeholder: String,\r\n permission: String,\r\n single: Boolean,\r\n config: Object,\r\n appendToBody: {\r\n type: Boolean,\r\n default: false\r\n },\r\n selectCurrent: Boolean\r\n },\r\n mixins: [sub_pio_mixin],//混入方式引入表单组件中公共属性,处理子表、孙表行内联动(切面修改permission)\r\n data() {\r\n return {\r\n data: [],\r\n demensions: [],\r\n defaultDemension: \"\",\r\n orgs: [],\r\n tableColumns: [\r\n { prop: \"name\", label: \"名称\" },\r\n { prop: \"code\", label: \"编码\" },\r\n { prop: \"pathName\", label: \"路径\" }\r\n ],\r\n pagination: {\r\n page: 1,\r\n pageSize: 50,\r\n total: 0\r\n },\r\n orgLength: 0\r\n };\r\n },\r\n computed:{\r\n inputName: function() {\r\n let labeldesc = \"\";\r\n if(this.$slots && this.$slots.labeldesc && this.$slots.labeldesc[0].children && this.$slots.labeldesc[0].children[0].text){\r\n labeldesc = this.$slots.labeldesc[0].children[0].text;\r\n return this.name ? this.name : utils.getName()+ \"-\" +labeldesc;\r\n }else{\r\n return this.name ? this.name : utils.getName();\r\n }\r\n }\r\n },\r\n mounted() {\r\n this.$nextTick(() => {\r\n // 没有值而且需要显示当前组织\r\n if (!this.value && this.selectCurrent) {\r\n let org = null;\r\n if (this.$store.state.user.currentOrgDetail == null) {\r\n this.$store\r\n .dispatch(\"user/loadCurrentUserDetail\")\r\n .then(currentOrgDetail => {\r\n org = currentOrgDetail.org[0];\r\n })\r\n .then(() => {\r\n this.initCurrentOrg(org);\r\n });\r\n } else {\r\n org = this.$store.state.user.currentUserDetail.org[0];\r\n this.initCurrentOrg(org);\r\n }\r\n }\r\n });\r\n },\r\n methods: {\r\n initCurrentOrg(org) {\r\n if (org && this.config) {\r\n // 配置了id的绑定关系,则回填到指定属性上\r\n if (this.config.hasOwnProperty(\"id\")) {\r\n utils.setValueByConfigKey(this, this.config, \"id\", org.orgId);\r\n }\r\n // 配置了code的绑定关系,则回填到指定的属性上\r\n if (this.config.hasOwnProperty(\"code\")) {\r\n utils.setValueByConfigKey(this, this.config, \"code\", org.orgCode);\r\n }\r\n // 配置了name的绑定关系,则回填到指定的属性上\r\n if (this.config.hasOwnProperty(\"name\")) {\r\n utils.setValueByConfigKey(this, this.config, \"name\", org.orgName);\r\n }\r\n // 配置了pathName的绑定关系,则回填到指定的属性上\r\n if (this.config.hasOwnProperty(\"pathName\")) {\r\n utils.setValueByConfigKey(this, this.config, \"pathName\", org.pathName);\r\n }\r\n }\r\n org && setTimeout(()=>{\r\n this.$emit(\"input\", org.orgName);\r\n })\r\n },\r\n handleLoad(param, cb) {\r\n let _this = this;\r\n this.$http\r\n .post(\"${uc}/api/org/v1/orgs/getOrgPage\", param)\r\n .then(function(response) {\r\n let data = response.data;\r\n _this.data = data.rows;\r\n _this.pagination.page = data.page;\r\n _this.pagination.pageSize = data.pageSize;\r\n _this.pagination.total = data.total;\r\n })\r\n .finally(err => {\r\n cb();\r\n });\r\n },\r\n valueChange(value) {\r\n this.$emit(\"input\", value);\r\n },\r\n loadOrgTree(node, resolve) {\r\n if (node && node.data && node.data.isParent) {\r\n if (node.data.children) {\r\n resolve(node.data.children);\r\n } else {\r\n this.$http\r\n .post(\"${uc}/api/org/v1/orgs/getByParentAndDem\", {\r\n demId: node.data.demId,\r\n parentId: node.data.id\r\n })\r\n .then(function(rep) {\r\n resolve(rep.data);\r\n })\r\n .catch(function(error) {});\r\n }\r\n } else {\r\n resolve([]);\r\n }\r\n },\r\n changeDemension(currentDemensionId) {\r\n // 维度改变 重新获取组织\r\n let _this = this;\r\n this.$http\r\n .post(\"${uc}/api/org/v1/orgs/getByParentAndDem\", {\r\n demId: currentDemensionId\r\n })\r\n .then(function(rep) {\r\n _this.orgs = utils.tile2nest(rep.data);\r\n })\r\n .catch(function(error) {});\r\n },\r\n loadOrgs(org) {\r\n // 获取当前组织及下级组织\r\n let queryFilter = {\r\n pageBean: this.pagination,\r\n querys: []\r\n };\r\n let query = {\r\n property: \"path\",\r\n value: org.path,\r\n group: \"main\",\r\n operation: \"RIGHT_LIKE\",\r\n relation: \"AND\"\r\n };\r\n queryFilter.querys.push(query);\r\n this.handleLoad(queryFilter, () => {});\r\n },\r\n loadDemensions() {\r\n if (this.demensions.length == 0) {\r\n let _this = this;\r\n this.$http\r\n .get(\"${uc}/api/demension/v1/dems/getAll\")\r\n .then(function(rep) {\r\n let data = rep.data;\r\n _this.demensions = data;\r\n data.forEach(element => {\r\n if(element.isDefault==1){\r\n _this.defaultDemension = element.id;\r\n }\r\n });\r\n if(!_this.defaultDemension){\r\n _this.defaultDemension = data[0].id;\r\n }\r\n })\r\n .catch(function(error) {});\r\n }\r\n }\r\n }\r\n};\r\n",null]}