c62cc97a by lihua

数据源支持连接华为云obs类型

1 parent 696b50b5
...@@ -17,7 +17,8 @@ ...@@ -17,7 +17,8 @@
17 formId="model-select-edit" col="col3 custom-form" @select-change="handleDataSelectFormSelectChange" 17 formId="model-select-edit" col="col3 custom-form" @select-change="handleDataSelectFormSelectChange"
18 @uploadFileChange="uploadFileChange" @checkboxChange="handleDataSelectFormCheckboxChange" /> 18 @uploadFileChange="uploadFileChange" @checkboxChange="handleDataSelectFormCheckboxChange" />
19 </ContentWrap> 19 </ContentWrap>
20 <ContentWrap v-show="formRef?.formInline?.dataSource != 3" id="id-previewData" title="数据抽样预览" description="" 20 <!-- 抽样预览的表单填写配置,及表格展示 -->
21 <ContentWrap v-show="formRef?.formInline?.dataSource != 3 && !(formRef?.formInline?.dataSourceGuid && currDatasourceSelect?.databaseType === 'obs')" id="id-previewData" title="数据抽样预览" description=""
21 style="margin-top: 16px;"> 22 style="margin-top: 16px;">
22 <!-- 选择抽样预览的表单设置 --> 23 <!-- 选择抽样预览的表单设置 -->
23 <Form ref="dataSimpleFormRef" :itemList="dataSimpleFormItems" :rules="dataSimpleFormRules" 24 <Form ref="dataSimpleFormRef" :itemList="dataSimpleFormItems" :rules="dataSimpleFormRules"
...@@ -604,6 +605,13 @@ const handleDataSelectFormSelectChange = async (val, row, formInfo) => { ...@@ -604,6 +605,13 @@ const handleDataSelectFormSelectChange = async (val, row, formInfo) => {
604 return; 605 return;
605 } 606 }
606 let dsInfo = currDatasourceSelect.value = dataSourceList.value.find(d => d.guid == val); 607 let dsInfo = currDatasourceSelect.value = dataSourceList.value.find(d => d.guid == val);
608 if (dsInfo.databaseType == 'obs') {
609 sampleTableFields.value = [];
610 parseFileDataSum.value = [];
611 sampleTableData.value = [];
612 setDataSelectFormItems(Object.assign({}, formInfo, { file: !formInfo['file'] ? [] : formInfo['file'], tableName: '', qualifiedIdentifier: [] }))
613 return;
614 }
607 //清除数据表得值,重新获取下拉列表 615 //清除数据表得值,重新获取下拉列表
608 const res: any = await getDsTableByDs({ 616 const res: any = await getDsTableByDs({
609 pageSize: -1, 617 pageSize: -1,
...@@ -653,6 +661,10 @@ const handleDataSelectFormSelectChange = async (val, row, formInfo) => { ...@@ -653,6 +661,10 @@ const handleDataSelectFormSelectChange = async (val, row, formInfo) => {
653 } 661 }
654 }); 662 });
655 } else if (row.field == 'handleType') { 663 } else if (row.field == 'handleType') {
664 // 第一种匿名处理类型是不可以选择obs类型的。
665 if (val == '01' && formInfo.dataSourceGuid && currDatasourceSelect.value.databaseType == 'obs') {
666 formInfo.dataSourceGuid = '';
667 }
656 setDataSelectFormItems(formInfo); 668 setDataSelectFormItems(formInfo);
657 } 669 }
658 } 670 }
...@@ -687,10 +699,14 @@ const setDataSelectFormItems = (info, isDetail = false) => { ...@@ -687,10 +699,14 @@ const setDataSelectFormItems = (info, isDetail = false) => {
687 item.default = ''; 699 item.default = '';
688 } 700 }
689 } else if (item.field == 'qualifiedIdentifier') { 701 } else if (item.field == 'qualifiedIdentifier') {
690 item.visible = info['handleType'] == '02' && info['dataSource'] != 3; 702 item.visible = info['handleType'] == '02' && info['dataSource'] != 3 && !(info['dataSourceGuid'] && currDatasourceSelect.value?.databaseType === 'obs');
691 if (info['dataSource'] == 3) { 703 if (info['dataSource'] == 3) {
692 item.options = qualifiedIdentifierFloderList.value; 704 item.options = qualifiedIdentifierFloderList.value;
693 } 705 }
706 } else if (item.field == 'tableName') {
707 item.visible = !(info['dataSourceGuid'] && currDatasourceSelect.value?.databaseType === 'obs');//数据源类型为obs的没有数据表选择
708 } else if (item.field == 'dataSourceGuid') {
709 item.options = info.handleType == '02' ? dataSourceList.value : dataSourceList.value.filter(d => d.databaseType !== 'obs')
694 } 710 }
695 }); 711 });
696 stepsInfo.value = info.handleType == '02' ? reportStepsInfo.value : originStepsInfo.value; 712 stepsInfo.value = info.handleType == '02' ? reportStepsInfo.value : originStepsInfo.value;
...@@ -1361,6 +1377,11 @@ const changeStep = async (val) => { ...@@ -1361,6 +1377,11 @@ const changeStep = async (val) => {
1361 } else if (val == 2) { 1377 } else if (val == 2) {
1362 formRef.value?.ruleFormRef?.validate((valid) => { 1378 formRef.value?.ruleFormRef?.validate((valid) => {
1363 if (valid) { 1379 if (valid) {
1380 let formInline = formRef.value?.formInline;
1381 // if (formInline?.handleType == '01' && formInline?.dataSourceGuid && currDatasourceSelect.value?.databaseType === 'obs') {
1382
1383 // return;
1384 // }
1364 if (formRef.value?.formInline?.dataSource == 2 && !sampleTableFields.value?.length) { 1385 if (formRef.value?.formInline?.dataSource == 2 && !sampleTableFields.value?.length) {
1365 proxy.$ElMessage.error('上传文件的字段不能为空'); 1386 proxy.$ElMessage.error('上传文件的字段不能为空');
1366 return; 1387 return;
...@@ -1490,17 +1511,21 @@ const changeStep = async (val) => { ...@@ -1490,17 +1511,21 @@ const changeStep = async (val) => {
1490 formRef.value?.ruleFormRef?.validate((valid, errorItem) => { 1511 formRef.value?.ruleFormRef?.validate((valid, errorItem) => {
1491 if (valid) { 1512 if (valid) {
1492 let dataSource = formRef.value?.formInline?.dataSource; 1513 let dataSource = formRef.value?.formInline?.dataSource;
1493 if (dataSource == 2 && !sampleTableFields.value?.length) { 1514 if (dataSource == 2 && currDatasourceSelect.value.databaseType !== 'obs' && !sampleTableFields.value?.length) {
1494 proxy.$ElMessage.error('上传文件的字段不能为空'); 1515 proxy.$ElMessage.error('上传文件的字段不能为空');
1495 return; 1516 return;
1496 } 1517 }
1497 if (dataSource != 3) { 1518 if (dataSource != 3) {
1498 dataSimpleFormRef.value?.ruleFormRef?.validate((valid) => { 1519 if (currDatasourceSelect.value.databaseType === 'obs' && saveParams.dataSourceGuid) {
1499 if (valid) { 1520 exec(saveParams);
1500 // Object.assign(saveParams, { riskThreshold: '0.05' }); 1521 } else {
1501 exec(saveParams); 1522 dataSimpleFormRef.value?.ruleFormRef?.validate((valid) => {
1502 } 1523 if (valid) {
1503 }); 1524 // Object.assign(saveParams, { riskThreshold: '0.05' });
1525 exec(saveParams);
1526 }
1527 });
1528 }
1504 } else { 1529 } else {
1505 if (!clickSelectNode.value.path) { 1530 if (!clickSelectNode.value.path) {
1506 proxy.$ElMessage.error('请先上传文件'); 1531 proxy.$ElMessage.error('请先上传文件');
...@@ -1625,61 +1650,63 @@ onBeforeMount(() => { ...@@ -1625,61 +1650,63 @@ onBeforeMount(() => {
1625 fileRes?.msg && ElMessage.error(fileRes?.msg); 1650 fileRes?.msg && ElMessage.error(fileRes?.msg);
1626 } 1651 }
1627 // 会出现从文件切换到数据库时没有数据库列表的问题。 1652 // 会出现从文件切换到数据库时没有数据库列表的问题。
1628 const res: any = await getDatabase({ connectStatus: 1 }); 1653 const res: any = await getDatabase({ connectStatus: 1, isAllStorageType: 'Y' });
1629 if (res?.code == proxy.$passCode) { 1654 if (res?.code == proxy.$passCode) {
1630 dataSourceList.value = res.data || []; 1655 dataSourceList.value = res.data || [];
1631 let item = dataSelectInfoItems.value.find(item => item.field == 'dataSourceGuid'); 1656 let item = dataSelectInfoItems.value.find(item => item.field == 'dataSourceGuid');
1632 item && (item.options = dataSourceList.value); 1657 item && (item.options = detailInfo.value.handleType == '01' ? dataSourceList.value.filter(d => d.databaseType !== 'obs') : dataSourceList.value);
1633 } else { 1658 } else {
1634 proxy.$ElMessage.error(res.msg); 1659 proxy.$ElMessage.error(res.msg);
1635 } 1660 }
1636 } else if (dataSource == 1) { 1661 } else if (dataSource == 1) {
1637 const res: any = await getDatabase({ connectStatus: 1 }); 1662 const res: any = await getDatabase({ connectStatus: 1, isAllStorageType: 'Y' });
1638 if (res?.code == proxy.$passCode) { 1663 if (res?.code == proxy.$passCode) {
1639 dataSourceList.value = res.data || []; 1664 dataSourceList.value = res.data || [];
1640 let item = dataSelectInfoItems.value.find(item => item.field == 'dataSourceGuid'); 1665 let item = dataSelectInfoItems.value.find(item => item.field == 'dataSourceGuid');
1641 item && (item.options = dataSourceList.value); 1666 item && (item.options = detailInfo.value.handleType == '01' ? dataSourceList.value.filter(d => d.databaseType !== 'obs') : dataSourceList.value);
1642 } else { 1667 } else {
1643 proxy.$ElMessage.error(res.msg); 1668 proxy.$ElMessage.error(res.msg);
1644 } 1669 }
1645 currDatasourceSelect.value = dataSourceList.value.find(d => d.guid == detailInfo.value.dataSourceGuid); 1670 currDatasourceSelect.value = dataSourceList.value.find(d => d.guid == detailInfo.value.dataSourceGuid);
1646 const tableRes: any = await getDsTableByDs({ 1671 if (currDatasourceSelect.value.databaseType != 'obs') {
1647 pageSize: -1, 1672 const tableRes: any = await getDsTableByDs({
1648 pageIndex: 1, 1673 pageSize: -1,
1649 dataSourceGuid: detailInfo.value.dataSourceGuid, 1674 pageIndex: 1,
1650 database: currDatasourceSelect.value.databaseNameEn, 1675 dataSourceGuid: detailInfo.value.dataSourceGuid,
1651 databaseType: currDatasourceSelect.value.databaseType, 1676 database: currDatasourceSelect.value.databaseNameEn,
1652 tableName: '', 1677 databaseType: currDatasourceSelect.value.databaseType,
1653 hadFlag: false 1678 tableName: '',
1654 }); 1679 hadFlag: false
1655 if (tableRes?.code == proxy.$passCode) { 1680 });
1656 dsTableList.value = tableRes.data?.records || []; 1681 if (tableRes?.code == proxy.$passCode) {
1657 let item = dataSelectInfoItems.value.find(item => item.field == 'tableName'); 1682 dsTableList.value = tableRes.data?.records || [];
1658 item && (item.options = dsTableList.value); 1683 let item = dataSelectInfoItems.value.find(item => item.field == 'tableName');
1659 } else { 1684 item && (item.options = dsTableList.value);
1660 proxy.$ElMessage.error(tableRes.msg);
1661 }
1662 getDsTableFieldColumn({
1663 pageSize: 50,
1664 pageIndex: 1,
1665 dataSourceGuid: currDatasourceSelect.value.guid,
1666 database: currDatasourceSelect.value.databaseNameEn,
1667 databaseType: currDatasourceSelect.value.databaseType,
1668 tableName: detailInfo.value.tableName,
1669 }).then((res: any) => {
1670 if (res.code == proxy.$passCode) {
1671 sampleTableFields.value = res.data?.map(d => {
1672 d.fieldDataType = d.dataType;
1673 d.enName = d.columnName;
1674 d.chName = d.columnZhName;
1675 return d;
1676 }) || [];
1677 /** 判断有抽样数据,需要查询接口 */
1678 getSampleDataByDsTable();
1679 } else { 1685 } else {
1680 ElMessage.error(res.msg); 1686 proxy.$ElMessage.error(tableRes.msg);
1681 } 1687 }
1682 }); 1688 getDsTableFieldColumn({
1689 pageSize: 50,
1690 pageIndex: 1,
1691 dataSourceGuid: currDatasourceSelect.value.guid,
1692 database: currDatasourceSelect.value.databaseNameEn,
1693 databaseType: currDatasourceSelect.value.databaseType,
1694 tableName: detailInfo.value.tableName,
1695 }).then((res: any) => {
1696 if (res.code == proxy.$passCode) {
1697 sampleTableFields.value = res.data?.map(d => {
1698 d.fieldDataType = d.dataType;
1699 d.enName = d.columnName;
1700 d.chName = d.columnZhName;
1701 return d;
1702 }) || [];
1703 /** 判断有抽样数据,需要查询接口 */
1704 getSampleDataByDsTable();
1705 } else {
1706 ElMessage.error(res.msg);
1707 }
1708 });
1709 }
1683 } else if (dataSource == 3) { 1710 } else if (dataSource == 3) {
1684 processFolderRefresh(); 1711 processFolderRefresh();
1685 } 1712 }
...@@ -1693,11 +1720,12 @@ onBeforeMount(() => { ...@@ -1693,11 +1720,12 @@ onBeforeMount(() => {
1693 } 1720 }
1694 }); 1721 });
1695 } else { 1722 } else {
1696 getDatabase({ connectStatus: 1 }).then((res: any) => { 1723 // TODO,传参是否查询全部,包括obs类型的数据源
1724 getDatabase({ connectStatus: 1, isAllStorageType: 'Y' }).then((res: any) => {
1697 if (res.code == proxy.$passCode) { 1725 if (res.code == proxy.$passCode) {
1698 dataSourceList.value = res.data || []; 1726 dataSourceList.value = res.data || [];
1699 let item = dataSelectInfoItems.value.find(item => item.field == 'dataSourceGuid'); 1727 let item = dataSelectInfoItems.value.find(item => item.field == 'dataSourceGuid');
1700 item && (item.options = dataSourceList.value); 1728 item && (item.options = dataSourceList.value.filter(d => d.databaseType !== 'obs'));
1701 } else { 1729 } else {
1702 proxy.$ElMessage.error(res.msg); 1730 proxy.$ElMessage.error(res.msg);
1703 } 1731 }
......
...@@ -20,6 +20,14 @@ import { ...@@ -20,6 +20,14 @@ import {
20 20
21 const { proxy } = getCurrentInstance() as any; 21 const { proxy } = getCurrentInstance() as any;
22 22
23 /** 数据库类型下拉列表 */
24 const databaseTypesList = ref([
25 { label: "mysql", value: "mysql" },
26 { label: "doris", value: "doris" },
27 { label: "oracle", value: "oracle" },
28 { label: "华为云obs", value: "obs" },
29 ]);
30
23 const searchItemList = ref([ 31 const searchItemList = ref([
24 { 32 {
25 type: "select", 33 type: "select",
...@@ -39,11 +47,7 @@ const searchItemList = ref([ ...@@ -39,11 +47,7 @@ const searchItemList = ref([
39 field: "databaseType", 47 field: "databaseType",
40 default: "", 48 default: "",
41 placeholder: "库类型", 49 placeholder: "库类型",
42 options: [ 50 options: databaseTypesList.value,
43 { label: "mysql", value: "mysql" },
44 { label: "doris", value: "doris" },
45 { label: "oracle", value: "oracle" },
46 ],
47 clearable: true, 51 clearable: true,
48 }, 52 },
49 { 53 {
...@@ -103,7 +107,9 @@ const tableInfo = ref({ ...@@ -103,7 +107,9 @@ const tableInfo = ref({
103 { label: "序号", type: "index", width: 56, align: "center" }, 107 { label: "序号", type: "index", width: 56, align: "center" },
104 { label: "数据源名称", field: "databaseNameZh", width: 120 }, 108 { label: "数据源名称", field: "databaseNameZh", width: 120 },
105 { label: "系统分层", field: "systemLayer", width: 96 }, 109 { label: "系统分层", field: "systemLayer", width: 96 },
106 { label: "库类型", field: "databaseType", width: 96 }, 110 { label: "库类型", field: "databaseType", width: 96, getName: (scope) => {
111 return scope.row.databaseType && databaseTypesList.value.find(item => item.value === scope.row.databaseType)?.label || '--';
112 } },
107 { label: "数据库名", field: "databaseNameEn", width: 200 }, 113 { label: "数据库名", field: "databaseNameEn", width: 200 },
108 { 114 {
109 label: "连通状态", 115 label: "连通状态",
...@@ -206,11 +212,7 @@ const contents: any = ref({ ...@@ -206,11 +212,7 @@ const contents: any = ref({
206 placeholder: "请选择", 212 placeholder: "请选择",
207 field: "databaseType", 213 field: "databaseType",
208 default: "", 214 default: "",
209 options: [ 215 options: databaseTypesList.value,
210 { label: "mysql", value: "mysql" },
211 { label: "doris", value: "doris" },
212 { label: "oracle", value: "oracle" },
213 ],
214 clearable: true, 216 clearable: true,
215 required: true, 217 required: true,
216 }, 218 },
...@@ -329,6 +331,18 @@ const contents: any = ref({ ...@@ -329,6 +331,18 @@ const contents: any = ref({
329 required: true, 331 required: true,
330 }, 332 },
331 { 333 {
334 type: 'radio-group',
335 label: '是否https协议',
336 field: 'isHttpsProtocol',
337 default: 'Y',
338 required: true,
339 visible: false,
340 options: [
341 { label: '是', value: 'Y' },
342 { label: '否', value: 'N' },
343 ],
344 },
345 {
332 label: "连接属性", 346 label: "连接属性",
333 type: "textarea-tips", 347 type: "textarea-tips",
334 placeholder: "请输入", 348 placeholder: "请输入",
...@@ -941,7 +955,7 @@ const dialogInfo = ref({ ...@@ -941,7 +955,7 @@ const dialogInfo = ref({
941 footer: { 955 footer: {
942 btns: [ 956 btns: [
943 { type: "default", label: "取消", value: "cancel" }, 957 { type: "default", label: "取消", value: "cancel" },
944 { type: "primary", label: "确定", value: "submit" }, 958 { type: "primary", label: "确定", value: "submit", loading: false },
945 ], 959 ],
946 textBtns: [{ type: "primary", label: "连通测试", value: "connect" }], 960 textBtns: [{ type: "primary", label: "连通测试", value: "connect" }],
947 }, 961 },
...@@ -993,13 +1007,30 @@ const setFormItems = (name, info: any = null) => { ...@@ -993,13 +1007,30 @@ const setFormItems = (name, info: any = null) => {
993 child.default = info[child.field] ?? ""; 1007 child.default = info[child.field] ?? "";
994 } 1008 }
995 }); 1009 });
1010 } else if (item.field == 'isHttpsProtocol') {
1011 item.visible = info.databaseType == "obs";
1012 item.default = info[item.field] || "Y";
996 } else if (item.field == 'bizSystem') { 1013 } else if (item.field == 'bizSystem') {
997 item.visible = info.systemLayer == '业务系统'; 1014 item.visible = info.systemLayer == '业务系统';
998 item.default = info[item.field] || ""; 1015 item.default = info[item.field] || "";
999 } 1016 } else {
1000 else {
1001 item.default = info[item.field] || ""; 1017 item.default = info[item.field] || "";
1002 } 1018 }
1019 if (item.field == 'host') {
1020 item.label = info.databaseType == "obs" ? "地址" : "服务器";
1021 contentFormInfo.rules.host[0].message = info.databaseType == "obs" ? "请填写地址" : "请填写服务器IP地址";
1022 } else if (item.field == 'port') {
1023 item.visible = info.databaseType != "obs";
1024 } else if (item.field == 'logonUser') {
1025 item.label = info.databaseType == "obs" ? "凭证ID" : "用户名";
1026 contentFormInfo.rules.logonUser[0].message = info.databaseType == "obs" ? "请填写凭证ID" : "请填写用户名";
1027 } else if (item.field == 'password') {
1028 item.label = info.databaseType == "obs" ? "凭证Key" : "密码";
1029 contentFormInfo.rules.password[0].message = info.databaseType == "obs" ? "请填写凭证Key" : "请填写密码";
1030 } else if (item.field == 'databaseNameEn') {
1031 item.label = info.databaseType == "obs" ? "桶名称" : "数据库名";
1032 contentFormInfo.rules.databaseNameEn[0].message = info.databaseType == "obs" ? "请填写桶名称" : "请填写数据库名";
1033 }
1003 }); 1034 });
1004 } else { 1035 } else {
1005 formItems.value.map((item) => { 1036 formItems.value.map((item) => {
...@@ -1224,10 +1255,13 @@ const dialogBtnClick = (btn, info) => { ...@@ -1224,10 +1255,13 @@ const dialogBtnClick = (btn, info) => {
1224 password: info.password, 1255 password: info.password,
1225 feLoadUrl: info.feLoadUrl, 1256 feLoadUrl: info.feLoadUrl,
1226 beLoadUrl: info.beLoadUrl, 1257 beLoadUrl: info.beLoadUrl,
1227 dorisJdbcUrl: info.dorisJdbcUrl 1258 dorisJdbcUrl: info.dorisJdbcUrl,
1259 isHttpsProtocol: info.isHttpsProtocol,
1228 }; 1260 };
1261 dialogInfo.value.footer.btns[1].loading = true;
1229 addDataSource(params) 1262 addDataSource(params)
1230 .then((res: any) => { 1263 .then((res: any) => {
1264 dialogInfo.value.footer.btns[1].loading = false;
1231 if (res.code == proxy.$passCode) { 1265 if (res.code == proxy.$passCode) {
1232 getFirstPageData(); 1266 getFirstPageData();
1233 ElMessage({ 1267 ElMessage({
...@@ -1244,6 +1278,7 @@ const dialogBtnClick = (btn, info) => { ...@@ -1244,6 +1278,7 @@ const dialogBtnClick = (btn, info) => {
1244 } 1278 }
1245 }) 1279 })
1246 .catch(() => { 1280 .catch(() => {
1281 dialogInfo.value.footer.btns[1].loading = false;
1247 // dialogInfo.value.footer.btns.map((item: any) => delete item.disabled) 1282 // dialogInfo.value.footer.btns.map((item: any) => delete item.disabled)
1248 }); 1283 });
1249 } else { 1284 } else {
...@@ -1258,11 +1293,14 @@ const dialogBtnClick = (btn, info) => { ...@@ -1258,11 +1293,14 @@ const dialogBtnClick = (btn, info) => {
1258 : info.password, 1293 : info.password,
1259 feLoadUrl: info.feLoadUrl, 1294 feLoadUrl: info.feLoadUrl,
1260 beLoadUrl: info.beLoadUrl, 1295 beLoadUrl: info.beLoadUrl,
1261 dorisJdbcUrl: info.dorisJdbcUrl 1296 dorisJdbcUrl: info.dorisJdbcUrl,
1297 isHttpsProtocol: info.isHttpsProtocol,
1262 }; 1298 };
1263 params.guid = currTableData.value.guid; 1299 params.guid = currTableData.value.guid;
1300 dialogInfo.value.footer.btns[1].loading = true;
1264 updateDataSource(params) 1301 updateDataSource(params)
1265 .then((res: any) => { 1302 .then((res: any) => {
1303 dialogInfo.value.footer.btns[1].loading = false;
1266 if (res.code == proxy.$passCode) { 1304 if (res.code == proxy.$passCode) {
1267 getTableData(); 1305 getTableData();
1268 ElMessage({ 1306 ElMessage({
...@@ -1279,6 +1317,7 @@ const dialogBtnClick = (btn, info) => { ...@@ -1279,6 +1317,7 @@ const dialogBtnClick = (btn, info) => {
1279 // dialogInfo.value.footer.btns.map((item: any) => delete item.disabled) 1317 // dialogInfo.value.footer.btns.map((item: any) => delete item.disabled)
1280 }) 1318 })
1281 .catch(() => { 1319 .catch(() => {
1320 dialogInfo.value.footer.btns[1].loading = false;
1282 // dialogInfo.value.footer.btns.map((item: any) => delete item.disabled) 1321 // dialogInfo.value.footer.btns.map((item: any) => delete item.disabled)
1283 }); 1322 });
1284 } 1323 }
...@@ -1291,6 +1330,7 @@ const dialogBtnClick = (btn, info) => { ...@@ -1291,6 +1330,7 @@ const dialogBtnClick = (btn, info) => {
1291 logonUser: info.logonUser, 1330 logonUser: info.logonUser,
1292 password: info.password, 1331 password: info.password,
1293 linkage: info.linkage, 1332 linkage: info.linkage,
1333 isHttpsProtocol: info.isHttpsProtocol,
1294 }; 1334 };
1295 checkDataSourceConnectTest(params).then((res: any) => { 1335 checkDataSourceConnectTest(params).then((res: any) => {
1296 if (res.code == proxy.$passCode) { 1336 if (res.code == proxy.$passCode) {
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!