{"remainingRequest":"/data/jenkins/workspace/test-v5in-source-front-01/src/badp-bcxin-5.x/obpm-designer-web/node_modules/vue-loader/lib/index.js??vue-loader-options!/data/jenkins/workspace/test-v5in-source-front-01/src/badp-bcxin-5.x/obpm-designer-web/src/components/AdvancedTool/DataSource.vue?vue&type=script&lang=js&","dependencies":[{"path":"/data/jenkins/workspace/test-v5in-source-front-01/src/badp-bcxin-5.x/obpm-designer-web/src/components/AdvancedTool/DataSource.vue","mtime":1701674859497},{"path":"/data/jenkins/workspace/test-v5in-source-front-01/src/badp-bcxin-5.x/obpm-designer-web/node_modules/babel-loader/lib/index.js","mtime":1701674874357},{"path":"/data/jenkins/workspace/test-v5in-source-front-01/src/badp-bcxin-5.x/obpm-designer-web/node_modules/cache-loader/dist/cjs.js","mtime":1701674874584},{"path":"/data/jenkins/workspace/test-v5in-source-front-01/src/badp-bcxin-5.x/obpm-designer-web/node_modules/vue-loader/lib/index.js","mtime":1701674874903}],"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//\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//\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//\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//\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//\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//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nimport { saveDataSource,testDataSource,getDataSource,updateDataSource } from \"@/service/AdvancedToolAPI.js\";\nimport IndexManagerList from \"@/components/AdvancedTool/IndexManagerList.vue\";\nimport { getSuperuser } from \"@/service/CommonApi.js\";\nimport { nameCheck } from '@/utils/utils.js'\n\nexport default {\n name: \"dataSource\",\n props:{\n editDataSourceId: String,\n showExitBtn: { // 显示退出按钮\n type: Boolean,\n default: true\n },\n tableHeight:{ // 动态计算table高度【在元数据管理页面有嵌套到】\n type: String,\n default: ((document.documentElement.clientHeight || document.body.clientHeight) - 60 - 32 - 41 - 40 - 50) + 'px', ////60 头部, 32 面包屑, 41 第一层页签, 40 第二层页签, 50 列表标题, 71 查询, 20 父组件外边距, 38分页\n },\n showIndManBtn:{\n type: Boolean,\n default: false\n }\n },\n components:{\n IndexManagerList\n },\n data() {\n return {\n formData: {\n name: \"\",\n useType: \"JDBC\",\n dbType: \"\",\n username: \"\",\n driverClass: \"\",\n password: \"\",\n url: \"\",\n poolsize: \"\",\n \"readonly\" : false,\n \"readonlyUseType\": 'JDBC',\n \"readonlyDbType\": 0,\n \"readonlyUsername\": '',\n \"readonlyDriverClass\": '',\n \"readonlyPassword\": '',\n \"readonlyUrl\": '',\n \"readonlyPoolsize\": '',\n \"readonlyTimeout\": '',\n \"readonlyJndiName\": '',\n \"readonlyInitialContextFactory\": \"\",\n \"readonlyUrlPkgPrefixes\": \"\",\n \"readonlyProviderUrl\": \"\",\n \"readonlySecurityPrincipal\": \"\",\n \"readonlySecurityCredentials\": \"\"\n },\n showReadonly: true, // 是否显示读写分离开启按钮\n \n rules:{\n name: [\n { required: true, message: this.$t('placeholder.name'), trigger: 'blur' },\n { validator: nameCheck, trigger: \"blur\" },\n ],\n dbType: [\n { required: true, message: this.$t('placeholder.select_db_type'), trigger: 'change' }\n ],\n readonlyDbType: [\n { required: true, message: this.$t('placeholder.select_db_type'), trigger: 'change' }\n ],\n },\n doIndexManagerVisible:false,\n btnLoading: false, // 按钮显示加载的图标\n }\n },\n mounted(){\n if(this.editDataSourceId){\n this.getDataSource();\n }\n //获取是否需要显示读写分离\n this.getSuperuser();\n },\n methods: {\n //索引管理\n doIndexManager(){\n this.doIndexManagerVisible=true;\n },\n /**\n * 选择只读数据库类型\n */\n dbReadonlyTypeChange(val){\n switch(val){\n case 1: //Oracle\n this.formData.readonlyDriverClass = \"oracle.jdbc.driver.OracleDriver\";\n this.formData.readonlyUrl = \"jdbc:oracle:thin:@:1521:\";\n break;\n case 2: //SQLServer\n this.formData.readonlyDriverClass = \"com.microsoft.sqlserver.jdbc.SQLServerDriver\";\n this.formData.readonlyUrl = \"jdbc:sqlserver://:1433;DatabaseName=\";\n break;\n case 3: //DB2\n this.formData.readonlyDriverClass = \"com.ibm.db2.jcc.DB2Driver\";\n this.formData.readonlyUrl = \"jdbc:db2://:50000/\";\n break;\n case 4: //MYSQL\n this.formData.readonlyDriverClass = \"com.mysql.jdbc.Driver\";\n this.formData.readonlyUrl = \"jdbc:mysql://:3306/?useUnicode=true&characterEncoding=utf8&useSSL=false\";\n break;\n case 5: //HSQL\n this.formData.readonlyDriverClass = \"org.hsqldb.jdbcDriver\";\n this.formData.readonlyUrl = \"jdbc:hsqldb:hsql://:9001/\";\n break;\n case 6: //POSTGRESQL\n this.formData.readonlyDriverClass = \"org.postgresql.Driver\";\n this.formData.readonlyUrl = \"jdbc:postgresql://:5866/\";\n break;\n case 7: //DM\n this.formData.readonlyDriverClass = \"org.postgresql.Driver\";\n this.formData.readonlyUrl = \"jdbc:postgresql://:5866/\";\n break;\n }\n },\n /**\n * 选择数据库类型\n */\n dbTypeChange(val){\n switch(val){\n case \"1\": //Oracle\n this.formData.driverClass = \"oracle.jdbc.driver.OracleDriver\";\n this.formData.url = \"jdbc:oracle:thin:@:1521:\";\n break;\n case \"2\": //SQLServer\n this.formData.driverClass = \"com.microsoft.sqlserver.jdbc.SQLServerDriver\";\n this.formData.url = \"jdbc:sqlserver://:1433;DatabaseName=\";\n break;\n case \"3\": //DB2\n this.formData.driverClass = \"com.ibm.db2.jcc.DB2Driver\";\n this.formData.url = \"jdbc:db2://:50000/\";\n break;\n case \"4\": //MYSQL\n this.formData.driverClass = \"com.mysql.jdbc.Driver\";\n this.formData.url = \"jdbc:mysql://:3306/?useUnicode=true&characterEncoding=utf8&useSSL=false\";\n break;\n case \"5\": //HSQL\n this.formData.driverClass = \"org.hsqldb.jdbcDriver\";\n this.formData.url = \"jdbc:hsqldb:hsql://:9001/\";\n break;\n case \"6\": //POSTGRESQL\n this.formData.driverClass = \"org.postgresql.Driver\";\n this.formData.url = \"jdbc:postgresql://:5866/\";\n break;\n case \"7\": //DM\n this.formData.driverClass = \"org.postgresql.Driver\";\n this.formData.url = \"jdbc:postgresql://:5866/\";\n break;\n }\n },\n /**\n * 保存表单\n */\n save(formName){\n this.$refs[formName].validate(async (valid) => {\n if (valid) {\n let appId = sessionStorage.getItem(\"appId\");\n let editDataSourceId = this.editDataSourceId\n let data = JSON.parse(JSON.stringify(this.formData));\n data.dbType = parseInt(data.dbType);\n // 编辑\n if(this.editDataSourceId){\n this.btnLoading = true;\n const response = await updateDataSource(appId, editDataSourceId, data);\n this.btnLoading = false;\n if (response.data.errcode == 0) {\n this.$message.success(this.$t('msg.update_ss'));\n }\n }else{\n // 新建\n this.btnLoading = true;\n const response = await saveDataSource(appId,data)\n this.btnLoading = false;\n if (response.data.errcode == 0) {\n this.$message.success(this.$t('msg.created_ss'));\n this.$emit('updateDataSourceId', response.data.data.id)\n }\n }\n } else {\n return false;\n }\n });\n },\n /**\n * 测试数据库\n */\n async testDatabase() {\n let appId = sessionStorage.getItem(\"appId\");\n let data = {\n \"username\": this.formData.username ? this.formData.username : \"\",\n \"password\": this.formData.password ? this.formData.password : \"\",\n \"driverClass\": this.formData.driverClass,\n \"url\": this.formData.url\n }\n const response = await testDataSource(appId,data)\n if (response.data.errcode == 0) {\n this.$message.success(response.data.data);\n }\n },\n /**\n * 获取数据源详情\n */\n async getDataSource(){\n let appId = sessionStorage.getItem(\"appId\");\n let dataSourceId = this.editDataSourceId;\n const response = await getDataSource(appId,dataSourceId)\n if (response.data.errcode == 0) {\n this.formData = response.data.data;\n this.formData.dbType = this.formData.dbType + \"\";\n // 兼容旧数据[只读数据库类型]\n if(this.formData.readonlyDbType == 0){\n this.formData.readonlyDbType = null\n }\n }\n },\n /**\n * 退出\n */\n close(){\n this.$store.dispatch(\"rightHelpPageParams\", { title: this.$t('report.datasourcename'), url: \"application/application_info_advancedTools_dataSource_list_help.html\" });\n this.$emit('exit')\n },\n /**\n * **获取版本信息**\n */\n getSuperuser(){\n getSuperuser({\n onSucess: response => {\n if (response.data.errcode == 0) {\n if(response.data.data.license.includes('标准版'))\n this.showReadonly = false\n }\n }\n })\n },\n },\n watch: {\n \"$store.state.rightHelpPageParams\": {\n handler() {\n if (this.$store.state.rightHelpFrame) {\n this.$store.state.rightHelpFrame.contentWindow.showHelpContentHtml(this.$store.state.rightHelpPageParams.title, this.$store.state.rightHelpPageParams.url);\n }\n },\n deep: true,\n },\n },\n}\n",null]}