|
|
|
@ -1,112 +1,453 @@
|
|
|
|
|
<template>
|
|
|
|
|
<layout-content :header="formType=='add' ? $t('datasource.create') : $t('datasource.modify')">
|
|
|
|
|
<layout-content
|
|
|
|
|
:header="
|
|
|
|
|
formType == 'add' ? $t('datasource.create') : $t('datasource.modify')
|
|
|
|
|
"
|
|
|
|
|
>
|
|
|
|
|
<template v-slot:header>
|
|
|
|
|
<el-icon name="back" class="back-button" @click.native="backToList" />
|
|
|
|
|
{{ params && params.id && params.showModel && params.showModel === 'show' && !canEdit ? $t('datasource.show_info') : formType=='add' ? $t('datasource.create') : $t('datasource.modify') }}
|
|
|
|
|
{{
|
|
|
|
|
params &&
|
|
|
|
|
params.id &&
|
|
|
|
|
params.showModel &&
|
|
|
|
|
params.showModel === 'show' &&
|
|
|
|
|
!canEdit
|
|
|
|
|
? $t('datasource.show_info')
|
|
|
|
|
: formType == 'add'
|
|
|
|
|
? $t('datasource.create')
|
|
|
|
|
: $t('datasource.modify')
|
|
|
|
|
}}
|
|
|
|
|
</template>
|
|
|
|
|
<div>
|
|
|
|
|
<el-row :gutter="25">
|
|
|
|
|
<el-col :span="8">
|
|
|
|
|
<el-form
|
|
|
|
|
ref="dsForm"
|
|
|
|
|
:model="form"
|
|
|
|
|
:rules="rule"
|
|
|
|
|
size="small"
|
|
|
|
|
:disabled="
|
|
|
|
|
params &&
|
|
|
|
|
params.id &&
|
|
|
|
|
params.showModel &&
|
|
|
|
|
params.showModel === 'show' &&
|
|
|
|
|
!canEdit
|
|
|
|
|
"
|
|
|
|
|
label-width="auto"
|
|
|
|
|
label-position="right"
|
|
|
|
|
>
|
|
|
|
|
<el-form-item :label="$t('commons.name')" prop="name">
|
|
|
|
|
<el-input v-model="form.name" autocomplete="off" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item :label="$t('commons.description')" prop="desc">
|
|
|
|
|
<el-input v-model="form.desc" autocomplete="off" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item :label="$t('datasource.type')" prop="type">
|
|
|
|
|
<el-select
|
|
|
|
|
v-model="form.type"
|
|
|
|
|
:placeholder="$t('datasource.please_choose_type')"
|
|
|
|
|
class="select-width"
|
|
|
|
|
:disabled="
|
|
|
|
|
formType == 'modify' ||
|
|
|
|
|
(formType === 'add' && params && !!params.type)
|
|
|
|
|
"
|
|
|
|
|
@change="changeType()"
|
|
|
|
|
>
|
|
|
|
|
<el-option
|
|
|
|
|
v-for="item in allTypes"
|
|
|
|
|
:key="item.name"
|
|
|
|
|
:label="item.label"
|
|
|
|
|
:value="item.name"
|
|
|
|
|
/>
|
|
|
|
|
</el-select>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
|
|
|
|
|
<el-form ref="dsForm" :model="form" :rules="rule" size="small" :disabled="params && params.id && params.showModel && params.showModel === 'show' && !canEdit " label-width="auto" label-position="right">
|
|
|
|
|
<el-form-item :label="$t('commons.name')" prop="name">
|
|
|
|
|
<el-input v-model="form.name" autocomplete="off" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item :label="$t('commons.description')" prop="desc">
|
|
|
|
|
<el-input v-model="form.desc" autocomplete="off" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item :label="$t('datasource.type')" prop="type">
|
|
|
|
|
<el-select v-model="form.type" :placeholder="$t('datasource.please_choose_type')" class="select-width" :disabled="formType=='modify' || (formType==='add' && params && !!params.type)" @change="changeType()">
|
|
|
|
|
<el-option
|
|
|
|
|
v-for="item in allTypes"
|
|
|
|
|
:key="item.name"
|
|
|
|
|
:label="item.label"
|
|
|
|
|
:value="item.name"
|
|
|
|
|
/>
|
|
|
|
|
</el-select>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
|
|
|
|
|
<el-form-item v-if="form.configuration.dataSourceType=='jdbc'" :label="$t('datasource.host')" prop="configuration.host">
|
|
|
|
|
<el-input v-model="form.configuration.host" autocomplete="off" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item v-if="form.configuration.dataSourceType=='es'" :label="$t('datasource.datasource_url')" prop="configuration.url">
|
|
|
|
|
<el-input v-model="form.configuration.url" :placeholder="$t('datasource.please_input_datasource_url')" autocomplete="off" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item v-if="form.configuration.dataSourceType=='jdbc'" :label="$t('datasource.data_base')" prop="configuration.dataBase">
|
|
|
|
|
<el-input v-model="form.configuration.dataBase" autocomplete="off" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
|
|
|
|
|
<el-form-item v-if="form.type=='oracle'" :label="$t('datasource.oracle_connection_type')" prop="configuration.connectionType">
|
|
|
|
|
<el-radio v-model="form.configuration.connectionType" label="sid">{{ $t('datasource.oracle_sid') }}</el-radio>
|
|
|
|
|
<el-radio v-model="form.configuration.connectionType" label="serviceName">{{ $t('datasource.oracle_service_name') }}</el-radio>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
|
|
|
|
|
<el-form-item v-if="form.configuration.dataSourceType=='jdbc'" :label="$t('datasource.user_name')" prop="configuration.username">
|
|
|
|
|
<el-input v-model="form.configuration.username" autocomplete="off" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item v-if="form.configuration.dataSourceType=='jdbc'" :label="$t('datasource.password')" prop="configuration.password">
|
|
|
|
|
<el-input v-model="form.configuration.password" autocomplete="off" show-password />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item v-if="form.configuration.dataSourceType=='es'" :label="$t('datasource.user_name')" >
|
|
|
|
|
<el-input v-model="form.configuration.esUsername" autocomplete="off" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item v-if="form.configuration.dataSourceType=='es'" :label="$t('datasource.password')" >
|
|
|
|
|
<el-input v-model="form.configuration.esPassword" autocomplete="off" show-password />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
|
|
|
|
|
<el-form-item v-if="form.configuration.dataSourceType=='jdbc' && form.type!=='oracle'" :label="$t('datasource.extra_params')" >
|
|
|
|
|
<el-input v-model="form.configuration.extraParams" autocomplete="off" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
|
|
|
|
|
<el-form-item v-if="form.configuration.dataSourceType=='jdbc'" :label="$t('datasource.port')" prop="configuration.port" >
|
|
|
|
|
<el-input v-model="form.configuration.port" autocomplete="off" type="number" min="0" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item v-if="form.type=='oracle' || form.type=='sqlServer' || form.type=='pg'">
|
|
|
|
|
<el-button icon="el-icon-plus" size="mini" @click="getSchema()">
|
|
|
|
|
{{ $t('datasource.get_schema') }}
|
|
|
|
|
</el-button>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item
|
|
|
|
|
v-if="form.configuration.dataSourceType == 'jdbc'"
|
|
|
|
|
:label="$t('datasource.host')"
|
|
|
|
|
prop="configuration.host"
|
|
|
|
|
>
|
|
|
|
|
<el-input v-model="form.configuration.host" autocomplete="off" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item
|
|
|
|
|
v-if="form.configuration.dataSourceType == 'es'"
|
|
|
|
|
:label="$t('datasource.datasource_url')"
|
|
|
|
|
prop="configuration.url"
|
|
|
|
|
>
|
|
|
|
|
<el-input
|
|
|
|
|
v-model="form.configuration.url"
|
|
|
|
|
:placeholder="$t('datasource.please_input_datasource_url')"
|
|
|
|
|
autocomplete="off"
|
|
|
|
|
/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item
|
|
|
|
|
v-if="form.configuration.dataSourceType == 'jdbc'"
|
|
|
|
|
:label="$t('datasource.data_base')"
|
|
|
|
|
prop="configuration.dataBase"
|
|
|
|
|
>
|
|
|
|
|
<el-input
|
|
|
|
|
v-model="form.configuration.dataBase"
|
|
|
|
|
autocomplete="off"
|
|
|
|
|
/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
|
|
|
|
|
<el-form-item v-if="form.type=='oracle' || form.type=='sqlServer' || form.type=='pg'" :label="$t('datasource.schema')">
|
|
|
|
|
<el-select v-model="form.configuration.schema" filterable :placeholder="$t('datasource.please_choose_schema')" class="select-width">
|
|
|
|
|
<el-option
|
|
|
|
|
v-for="item in schemas"
|
|
|
|
|
:key="item"
|
|
|
|
|
:label="item"
|
|
|
|
|
:value="item"
|
|
|
|
|
/>
|
|
|
|
|
</el-select>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-collapse v-if="form.configuration.dataSourceType=='jdbc'">
|
|
|
|
|
<el-collapse-item :title="$t('datasource.priority')" name="1">
|
|
|
|
|
<el-form-item
|
|
|
|
|
v-if="form.type == 'oracle'"
|
|
|
|
|
:label="$t('datasource.oracle_connection_type')"
|
|
|
|
|
prop="configuration.connectionType"
|
|
|
|
|
>
|
|
|
|
|
<el-radio
|
|
|
|
|
v-model="form.configuration.connectionType"
|
|
|
|
|
label="sid"
|
|
|
|
|
>{{ $t('datasource.oracle_sid') }}</el-radio>
|
|
|
|
|
<el-radio
|
|
|
|
|
v-model="form.configuration.connectionType"
|
|
|
|
|
label="serviceName"
|
|
|
|
|
>{{ $t('datasource.oracle_service_name') }}</el-radio>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
|
|
|
|
|
<el-form-item :label="$t('datasource.initial_pool_size')" prop="configuration.initialPoolSize">
|
|
|
|
|
<el-input v-model="form.configuration.initialPoolSize" autocomplete="off" type="number" min="0" size="small" />
|
|
|
|
|
<el-form-item
|
|
|
|
|
v-if="form.configuration.dataSourceType == 'jdbc'"
|
|
|
|
|
:label="$t('datasource.user_name')"
|
|
|
|
|
prop="configuration.username"
|
|
|
|
|
>
|
|
|
|
|
<el-input
|
|
|
|
|
v-model="form.configuration.username"
|
|
|
|
|
autocomplete="off"
|
|
|
|
|
/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item :label="$t('datasource.min_pool_size')" prop="configuration.minPoolSize">
|
|
|
|
|
<el-input v-model="form.configuration.minPoolSize" autocomplete="off" type="number" min="0" />
|
|
|
|
|
<el-form-item
|
|
|
|
|
v-if="form.configuration.dataSourceType == 'jdbc'"
|
|
|
|
|
:label="$t('datasource.password')"
|
|
|
|
|
prop="configuration.password"
|
|
|
|
|
>
|
|
|
|
|
<el-input
|
|
|
|
|
v-model="form.configuration.password"
|
|
|
|
|
autocomplete="off"
|
|
|
|
|
show-password
|
|
|
|
|
/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item :label="$t('datasource.max_pool_size')" prop="configuration.maxPoolSize">
|
|
|
|
|
<el-input v-model="form.configuration.maxPoolSize" autocomplete="off" type="number" min="0" />
|
|
|
|
|
<el-form-item
|
|
|
|
|
v-if="form.configuration.dataSourceType == 'es'"
|
|
|
|
|
:label="$t('datasource.user_name')"
|
|
|
|
|
>
|
|
|
|
|
<el-input
|
|
|
|
|
v-model="form.configuration.esUsername"
|
|
|
|
|
autocomplete="off"
|
|
|
|
|
/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item :label="$t('datasource.max_idle_time')" prop="configuration.maxIdleTime">
|
|
|
|
|
<el-input v-model="form.configuration.maxIdleTime" autocomplete="off" type="number" min="0" />
|
|
|
|
|
<el-form-item
|
|
|
|
|
v-if="form.configuration.dataSourceType == 'es'"
|
|
|
|
|
:label="$t('datasource.password')"
|
|
|
|
|
>
|
|
|
|
|
<el-input
|
|
|
|
|
v-model="form.configuration.esPassword"
|
|
|
|
|
autocomplete="off"
|
|
|
|
|
show-password
|
|
|
|
|
/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item :label="$t('datasource.acquire_increment')" prop="configuration.acquireIncrement">
|
|
|
|
|
<el-input v-model="form.configuration.acquireIncrement" autocomplete="off" type="number" min="0" />
|
|
|
|
|
|
|
|
|
|
<el-form-item
|
|
|
|
|
v-if="
|
|
|
|
|
form.configuration.dataSourceType == 'jdbc' &&
|
|
|
|
|
form.type !== 'oracle'
|
|
|
|
|
"
|
|
|
|
|
:label="$t('datasource.extra_params')"
|
|
|
|
|
>
|
|
|
|
|
<el-input
|
|
|
|
|
v-model="form.configuration.extraParams"
|
|
|
|
|
autocomplete="off"
|
|
|
|
|
/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item :label="$t('datasource.connect_timeout')" prop="configuration.connectTimeout">
|
|
|
|
|
<el-input v-model="form.configuration.connectTimeout" autocomplete="off" type="number" min="0" />
|
|
|
|
|
|
|
|
|
|
<el-form-item
|
|
|
|
|
v-if="form.configuration.dataSourceType == 'jdbc'"
|
|
|
|
|
:label="$t('datasource.port')"
|
|
|
|
|
prop="configuration.port"
|
|
|
|
|
>
|
|
|
|
|
<el-input
|
|
|
|
|
v-model="form.configuration.port"
|
|
|
|
|
autocomplete="off"
|
|
|
|
|
type="number"
|
|
|
|
|
min="0"
|
|
|
|
|
/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item
|
|
|
|
|
v-if="
|
|
|
|
|
form.type == 'oracle' ||
|
|
|
|
|
form.type == 'sqlServer' ||
|
|
|
|
|
form.type == 'pg'
|
|
|
|
|
"
|
|
|
|
|
>
|
|
|
|
|
<el-button icon="el-icon-plus" size="mini" @click="getSchema()">
|
|
|
|
|
{{ $t('datasource.get_schema') }}
|
|
|
|
|
</el-button>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
|
|
|
|
|
</el-collapse-item>
|
|
|
|
|
</el-collapse>
|
|
|
|
|
</el-form>
|
|
|
|
|
<div v-if="canEdit" slot="footer" class="dialog-footer">
|
|
|
|
|
<el-button v-if="formType==='add'?true: hasDataPermission('manage',params.privileges)" @click="validaDatasource">{{ $t('commons.validate') }}</el-button>
|
|
|
|
|
<el-button v-if="formType==='add'?true: hasDataPermission('manage',params.privileges)" type="primary" @click="save">{{ $t('commons.save') }}</el-button>
|
|
|
|
|
</div>
|
|
|
|
|
<div v-else slot="footer" class="dialog-footer">
|
|
|
|
|
<el-button v-if="formType==='add'?true: hasDataPermission('manage',params.privileges)" @click="validaDatasource">{{ $t('commons.validate') }}</el-button>
|
|
|
|
|
<el-button v-if="formType==='add'?true: hasDataPermission('manage',params.privileges)" type="primary" @click="changeEdit">{{ $t('commons.edit') }}</el-button>
|
|
|
|
|
<el-form-item
|
|
|
|
|
v-if="
|
|
|
|
|
form.type == 'oracle' ||
|
|
|
|
|
form.type == 'sqlServer' ||
|
|
|
|
|
form.type == 'pg'
|
|
|
|
|
"
|
|
|
|
|
:label="$t('datasource.schema')"
|
|
|
|
|
>
|
|
|
|
|
<el-select
|
|
|
|
|
v-model="form.configuration.schema"
|
|
|
|
|
filterable
|
|
|
|
|
:placeholder="$t('datasource.please_choose_schema')"
|
|
|
|
|
class="select-width"
|
|
|
|
|
>
|
|
|
|
|
<el-option
|
|
|
|
|
v-for="item in schemas"
|
|
|
|
|
:key="item"
|
|
|
|
|
:label="item"
|
|
|
|
|
:value="item"
|
|
|
|
|
/>
|
|
|
|
|
</el-select>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-collapse v-if="form.configuration.dataSourceType == 'jdbc'">
|
|
|
|
|
<el-collapse-item :title="$t('datasource.priority')" name="1">
|
|
|
|
|
<el-form-item
|
|
|
|
|
:label="$t('datasource.initial_pool_size')"
|
|
|
|
|
prop="configuration.initialPoolSize"
|
|
|
|
|
>
|
|
|
|
|
<el-input
|
|
|
|
|
v-model="form.configuration.initialPoolSize"
|
|
|
|
|
autocomplete="off"
|
|
|
|
|
type="number"
|
|
|
|
|
min="0"
|
|
|
|
|
size="small"
|
|
|
|
|
/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item
|
|
|
|
|
:label="$t('datasource.min_pool_size')"
|
|
|
|
|
prop="configuration.minPoolSize"
|
|
|
|
|
>
|
|
|
|
|
<el-input
|
|
|
|
|
v-model="form.configuration.minPoolSize"
|
|
|
|
|
autocomplete="off"
|
|
|
|
|
type="number"
|
|
|
|
|
min="0"
|
|
|
|
|
/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item
|
|
|
|
|
:label="$t('datasource.max_pool_size')"
|
|
|
|
|
prop="configuration.maxPoolSize"
|
|
|
|
|
>
|
|
|
|
|
<el-input
|
|
|
|
|
v-model="form.configuration.maxPoolSize"
|
|
|
|
|
autocomplete="off"
|
|
|
|
|
type="number"
|
|
|
|
|
min="0"
|
|
|
|
|
/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item
|
|
|
|
|
:label="$t('datasource.max_idle_time')"
|
|
|
|
|
prop="configuration.maxIdleTime"
|
|
|
|
|
>
|
|
|
|
|
<el-input
|
|
|
|
|
v-model="form.configuration.maxIdleTime"
|
|
|
|
|
autocomplete="off"
|
|
|
|
|
type="number"
|
|
|
|
|
min="0"
|
|
|
|
|
/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item
|
|
|
|
|
:label="$t('datasource.acquire_increment')"
|
|
|
|
|
prop="configuration.acquireIncrement"
|
|
|
|
|
>
|
|
|
|
|
<el-input
|
|
|
|
|
v-model="form.configuration.acquireIncrement"
|
|
|
|
|
autocomplete="off"
|
|
|
|
|
type="number"
|
|
|
|
|
min="0"
|
|
|
|
|
/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item
|
|
|
|
|
:label="$t('datasource.connect_timeout')"
|
|
|
|
|
prop="configuration.connectTimeout"
|
|
|
|
|
>
|
|
|
|
|
<el-input
|
|
|
|
|
v-model="form.configuration.connectTimeout"
|
|
|
|
|
autocomplete="off"
|
|
|
|
|
type="number"
|
|
|
|
|
min="0"
|
|
|
|
|
/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-collapse-item>
|
|
|
|
|
</el-collapse>
|
|
|
|
|
</el-form>
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="16">
|
|
|
|
|
<el-row :gutter="20">
|
|
|
|
|
<el-col :span="10">
|
|
|
|
|
<el-table
|
|
|
|
|
v-if="showTableList"
|
|
|
|
|
v-loading="tableLoading"
|
|
|
|
|
:data="tableData"
|
|
|
|
|
highlight-current-row
|
|
|
|
|
:border="true"
|
|
|
|
|
max-height="460"
|
|
|
|
|
@current-change="handleCurrentChange"
|
|
|
|
|
>
|
|
|
|
|
<el-table-column
|
|
|
|
|
prop="date"
|
|
|
|
|
:label="$t('datasource.table_name')"
|
|
|
|
|
>
|
|
|
|
|
<template slot-scope="scope">
|
|
|
|
|
<span><i class="el-icon-coin" /> {{
|
|
|
|
|
scope.row
|
|
|
|
|
}}</span>
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
</el-table>
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="14">
|
|
|
|
|
<el-table
|
|
|
|
|
v-if="showTableFields"
|
|
|
|
|
:border="true"
|
|
|
|
|
max-height="460"
|
|
|
|
|
:data="tableFields"
|
|
|
|
|
size="mini"
|
|
|
|
|
>
|
|
|
|
|
<el-table-column
|
|
|
|
|
property="fieldName"
|
|
|
|
|
:label="$t('dataset.field_name')"
|
|
|
|
|
/>
|
|
|
|
|
<el-table-column
|
|
|
|
|
property="fieldSize"
|
|
|
|
|
:label="$t('dataset.column_length')"
|
|
|
|
|
width="70"
|
|
|
|
|
/>
|
|
|
|
|
<el-table-column
|
|
|
|
|
property="fieldType"
|
|
|
|
|
:label="$t('dataset.field_type')"
|
|
|
|
|
width="160"
|
|
|
|
|
>
|
|
|
|
|
<template slot-scope="scope">
|
|
|
|
|
<span style="margin-left: 8px">
|
|
|
|
|
<span
|
|
|
|
|
v-if="
|
|
|
|
|
scope.row.fieldType.indexOf('CHAR') >= 0 ||
|
|
|
|
|
scope.row.fieldType.indexOf('TEXT') >= 0 ||
|
|
|
|
|
scope.row.fieldType.indexOf('BLOB') >= 0
|
|
|
|
|
"
|
|
|
|
|
>
|
|
|
|
|
<svg-icon
|
|
|
|
|
icon-class="field_text"
|
|
|
|
|
class="field-icon-text"
|
|
|
|
|
/>
|
|
|
|
|
<span class="field-class">{{
|
|
|
|
|
$t('dataset.text')
|
|
|
|
|
}}</span>
|
|
|
|
|
</span>
|
|
|
|
|
<span
|
|
|
|
|
v-if="
|
|
|
|
|
scope.row.fieldType.indexOf('DATE') >= 0 ||
|
|
|
|
|
scope.row.fieldType.indexOf('TIME') >= 0
|
|
|
|
|
"
|
|
|
|
|
>
|
|
|
|
|
<svg-icon
|
|
|
|
|
icon-class="field_time"
|
|
|
|
|
class="field-icon-time"
|
|
|
|
|
/>
|
|
|
|
|
<span class="field-class">{{
|
|
|
|
|
$t('dataset.time')
|
|
|
|
|
}}</span>
|
|
|
|
|
</span>
|
|
|
|
|
<span
|
|
|
|
|
v-if="
|
|
|
|
|
scope.row.fieldType.indexOf('INT') >= 0 ||
|
|
|
|
|
scope.row.fieldType.indexOf('FLOAT') >= 0 ||
|
|
|
|
|
scope.row.fieldType.indexOf('DOUBLE') >= 0 ||
|
|
|
|
|
scope.row.fieldType.indexOf('DECIMAL') >= 0
|
|
|
|
|
"
|
|
|
|
|
>
|
|
|
|
|
<svg-icon
|
|
|
|
|
icon-class="field_value"
|
|
|
|
|
class="field-icon-value"
|
|
|
|
|
/>
|
|
|
|
|
<span class="field-class">{{
|
|
|
|
|
$t('dataset.value')
|
|
|
|
|
}}</span>
|
|
|
|
|
<span
|
|
|
|
|
v-if="
|
|
|
|
|
scope.row.fieldType.indexOf('FLOAT') >= 0 ||
|
|
|
|
|
scope.row.fieldType.indexOf('DOUBLE') >= 0 ||
|
|
|
|
|
scope.row.fieldType.indexOf('DECIMAL') >= 0
|
|
|
|
|
"
|
|
|
|
|
class="field-class"
|
|
|
|
|
>{{ '(' + $t('dataset.float') + ')' }}</span>
|
|
|
|
|
</span>
|
|
|
|
|
<span>({{ scope.row.fieldType }})</span>
|
|
|
|
|
</span>
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
</el-table>
|
|
|
|
|
</el-col>
|
|
|
|
|
</el-row>
|
|
|
|
|
<el-row>
|
|
|
|
|
<el-col :span="24">
|
|
|
|
|
<el-table
|
|
|
|
|
v-if="showTableFields"
|
|
|
|
|
:border="true"
|
|
|
|
|
:data="dataList"
|
|
|
|
|
style="width: 100%; margin-top: 34px"
|
|
|
|
|
max-height="250"
|
|
|
|
|
size="mini"
|
|
|
|
|
>
|
|
|
|
|
<el-table-column
|
|
|
|
|
v-for="(field, index) in tableFields"
|
|
|
|
|
:key="field.fieldName"
|
|
|
|
|
:prop="index + ''"
|
|
|
|
|
:show-overflow-tooltip="true"
|
|
|
|
|
:label="field.fieldName"
|
|
|
|
|
/>
|
|
|
|
|
</el-table>
|
|
|
|
|
</el-col>
|
|
|
|
|
</el-row>
|
|
|
|
|
</el-col>
|
|
|
|
|
</el-row>
|
|
|
|
|
<div class="validated">
|
|
|
|
|
<div v-if="canEdit" slot="footer" class="dialog-footer">
|
|
|
|
|
<el-button
|
|
|
|
|
v-if="
|
|
|
|
|
formType === 'add'
|
|
|
|
|
? true
|
|
|
|
|
: hasDataPermission('manage', params.privileges)
|
|
|
|
|
"
|
|
|
|
|
@click="validaDatasource"
|
|
|
|
|
>{{ $t('commons.validate') }}</el-button>
|
|
|
|
|
<el-button
|
|
|
|
|
v-if="
|
|
|
|
|
formType === 'add'
|
|
|
|
|
? true
|
|
|
|
|
: hasDataPermission('manage', params.privileges)
|
|
|
|
|
"
|
|
|
|
|
type="primary"
|
|
|
|
|
@click="save"
|
|
|
|
|
>{{ $t('commons.save') }}</el-button>
|
|
|
|
|
</div>
|
|
|
|
|
<div v-else slot="footer" class="dialog-footer">
|
|
|
|
|
<el-button
|
|
|
|
|
v-if="
|
|
|
|
|
formType === 'add'
|
|
|
|
|
? true
|
|
|
|
|
: hasDataPermission('manage', params.privileges)
|
|
|
|
|
"
|
|
|
|
|
@click="validaDatasource"
|
|
|
|
|
>{{ $t('commons.validate') }}</el-button>
|
|
|
|
|
<el-button
|
|
|
|
|
v-if="
|
|
|
|
|
formType === 'add'
|
|
|
|
|
? true
|
|
|
|
|
: hasDataPermission('manage', params.privileges)
|
|
|
|
|
"
|
|
|
|
|
type="primary"
|
|
|
|
|
@click="changeEdit"
|
|
|
|
|
>{{ $t('commons.edit') }}</el-button>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</layout-content>
|
|
|
|
@ -114,7 +455,14 @@
|
|
|
|
|
|
|
|
|
|
<script>
|
|
|
|
|
import LayoutContent from '@/components/business/LayoutContent'
|
|
|
|
|
import { addDs, editDs, getSchema, validateDs, validateDsById } from '@/api/system/datasource'
|
|
|
|
|
import { post } from '@/api/dataset/dataset'
|
|
|
|
|
import {
|
|
|
|
|
addDs,
|
|
|
|
|
editDs,
|
|
|
|
|
getSchema,
|
|
|
|
|
validateDs,
|
|
|
|
|
validateDsById
|
|
|
|
|
} from '@/api/system/datasource'
|
|
|
|
|
import { $confirm } from '@/utils/message'
|
|
|
|
|
|
|
|
|
|
export default {
|
|
|
|
@ -141,40 +489,183 @@ export default {
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
rule: {
|
|
|
|
|
name: [{ required: true, message: this.$t('datasource.input_name'), trigger: 'blur' },
|
|
|
|
|
{ min: 2, max: 25, message: this.$t('datasource.input_limit_2_25', [2, 25]), trigger: 'blur' }],
|
|
|
|
|
desc: [{ min: 0, max: 50, message: this.$t('datasource.input_limit_0_50'), trigger: 'blur' }],
|
|
|
|
|
type: [{ required: true, message: this.$t('datasource.please_choose_type'), trigger: 'change' }],
|
|
|
|
|
'configuration.dataBase': [{ required: true, message: this.$t('datasource.please_input_data_base'), trigger: 'blur' }],
|
|
|
|
|
'configuration.connectionType': [{ required: true, message: this.$t('datasource.please_select_oracle_type'), trigger: 'blur' }],
|
|
|
|
|
'configuration.username': [{ required: true, message: this.$t('datasource.please_input_user_name'), trigger: 'blur' }],
|
|
|
|
|
'configuration.password': [{ required: true, message: this.$t('datasource.please_input_password'), trigger: 'change' }],
|
|
|
|
|
'configuration.host': [{ required: true, message: this.$t('datasource.please_input_host'), trigger: 'change' }],
|
|
|
|
|
'configuration.url': [{ required: true, message: this.$t('datasource.please_input_url'), trigger: 'change' }],
|
|
|
|
|
'configuration.port': [{ required: true, message: this.$t('datasource.please_input_port'), trigger: 'change' }],
|
|
|
|
|
'configuration.initialPoolSize': [{ required: true, message: this.$t('datasource.please_input_initial_pool_size'), trigger: 'change' }],
|
|
|
|
|
'configuration.minPoolSize': [{ required: true, message: this.$t('datasource.please_input_min_pool_size'), trigger: 'change' }],
|
|
|
|
|
'configuration.maxPoolSize': [{ required: true, message: this.$t('datasource.please_input_max_pool_size'), trigger: 'change' }],
|
|
|
|
|
'configuration.maxIdleTime': [{ required: true, message: this.$t('datasource.please_input_max_idle_time'), trigger: 'change' }],
|
|
|
|
|
'configuration.acquireIncrement': [{ required: true, message: this.$t('datasource.please_input_acquire_increment'), trigger: 'change' }],
|
|
|
|
|
'configuration.connectTimeout': [{ required: true, message: this.$t('datasource.please_input_connect_timeout'), trigger: 'change' }]
|
|
|
|
|
name: [
|
|
|
|
|
{
|
|
|
|
|
required: true,
|
|
|
|
|
message: this.$t('datasource.input_name'),
|
|
|
|
|
trigger: 'blur'
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
min: 2,
|
|
|
|
|
max: 25,
|
|
|
|
|
message: this.$t('datasource.input_limit_2_25', [2, 25]),
|
|
|
|
|
trigger: 'blur'
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
desc: [
|
|
|
|
|
{
|
|
|
|
|
min: 0,
|
|
|
|
|
max: 50,
|
|
|
|
|
message: this.$t('datasource.input_limit_0_50'),
|
|
|
|
|
trigger: 'blur'
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
type: [
|
|
|
|
|
{
|
|
|
|
|
required: true,
|
|
|
|
|
message: this.$t('datasource.please_choose_type'),
|
|
|
|
|
trigger: 'change'
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
'configuration.dataBase': [
|
|
|
|
|
{
|
|
|
|
|
required: true,
|
|
|
|
|
message: this.$t('datasource.please_input_data_base'),
|
|
|
|
|
trigger: 'blur'
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
'configuration.connectionType': [
|
|
|
|
|
{
|
|
|
|
|
required: true,
|
|
|
|
|
message: this.$t('datasource.please_select_oracle_type'),
|
|
|
|
|
trigger: 'blur'
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
'configuration.username': [
|
|
|
|
|
{
|
|
|
|
|
required: true,
|
|
|
|
|
message: this.$t('datasource.please_input_user_name'),
|
|
|
|
|
trigger: 'blur'
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
'configuration.password': [
|
|
|
|
|
{
|
|
|
|
|
required: true,
|
|
|
|
|
message: this.$t('datasource.please_input_password'),
|
|
|
|
|
trigger: 'change'
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
'configuration.host': [
|
|
|
|
|
{
|
|
|
|
|
required: true,
|
|
|
|
|
message: this.$t('datasource.please_input_host'),
|
|
|
|
|
trigger: 'change'
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
'configuration.url': [
|
|
|
|
|
{
|
|
|
|
|
required: true,
|
|
|
|
|
message: this.$t('datasource.please_input_url'),
|
|
|
|
|
trigger: 'change'
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
'configuration.port': [
|
|
|
|
|
{
|
|
|
|
|
required: true,
|
|
|
|
|
message: this.$t('datasource.please_input_port'),
|
|
|
|
|
trigger: 'change'
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
'configuration.initialPoolSize': [
|
|
|
|
|
{
|
|
|
|
|
required: true,
|
|
|
|
|
message: this.$t('datasource.please_input_initial_pool_size'),
|
|
|
|
|
trigger: 'change'
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
'configuration.minPoolSize': [
|
|
|
|
|
{
|
|
|
|
|
required: true,
|
|
|
|
|
message: this.$t('datasource.please_input_min_pool_size'),
|
|
|
|
|
trigger: 'change'
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
'configuration.maxPoolSize': [
|
|
|
|
|
{
|
|
|
|
|
required: true,
|
|
|
|
|
message: this.$t('datasource.please_input_max_pool_size'),
|
|
|
|
|
trigger: 'change'
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
'configuration.maxIdleTime': [
|
|
|
|
|
{
|
|
|
|
|
required: true,
|
|
|
|
|
message: this.$t('datasource.please_input_max_idle_time'),
|
|
|
|
|
trigger: 'change'
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
'configuration.acquireIncrement': [
|
|
|
|
|
{
|
|
|
|
|
required: true,
|
|
|
|
|
message: this.$t('datasource.please_input_acquire_increment'),
|
|
|
|
|
trigger: 'change'
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
'configuration.connectTimeout': [
|
|
|
|
|
{
|
|
|
|
|
required: true,
|
|
|
|
|
message: this.$t('datasource.please_input_connect_timeout'),
|
|
|
|
|
trigger: 'change'
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
allTypes: [
|
|
|
|
|
{ name: 'mysql', label: 'MySQL', type: 'jdbc', extraParams: 'characterEncoding=UTF-8&connectTimeout=5000&useSSL=false&allowPublicKeyRetrieval=true'},
|
|
|
|
|
{
|
|
|
|
|
name: 'mysql',
|
|
|
|
|
label: 'MySQL',
|
|
|
|
|
type: 'jdbc',
|
|
|
|
|
extraParams:
|
|
|
|
|
'characterEncoding=UTF-8&connectTimeout=5000&useSSL=false&allowPublicKeyRetrieval=true'
|
|
|
|
|
},
|
|
|
|
|
// { name: 'oracle', label: 'Oracle', type: 'jdbc'},
|
|
|
|
|
// { name: 'pg', label: 'PostgreSQL', type: 'jdbc', extraParams: '' },
|
|
|
|
|
// { name: 'es', label: 'Elasticsearch', type: 'es' },
|
|
|
|
|
// { name: 'ds_doris', label: 'Doris', type: 'jdbc', extraParams: 'characterEncoding=UTF-8&connectTimeout=5000&useSSL=false&allowPublicKeyRetrieval=true' },
|
|
|
|
|
// { name: 'ck', label: 'ClickHouse', type: 'jdbc', extraParams: '' }
|
|
|
|
|
{ name: 'mariadb', label: 'MariaDB', type: 'jdbc', extraParams: 'characterEncoding=UTF-8&connectTimeout=5000&useSSL=false&allowPublicKeyRetrieval=true' },
|
|
|
|
|
{ name: 'sqlServer', label: 'SQL Server', type: 'jdbc', extraParams: ''}
|
|
|
|
|
],
|
|
|
|
|
{
|
|
|
|
|
name: 'mariadb',
|
|
|
|
|
label: 'MariaDB',
|
|
|
|
|
type: 'jdbc',
|
|
|
|
|
extraParams:
|
|
|
|
|
'characterEncoding=UTF-8&connectTimeout=5000&useSSL=false&allowPublicKeyRetrieval=true'
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name: 'sqlServer',
|
|
|
|
|
label: 'SQL Server',
|
|
|
|
|
type: 'jdbc',
|
|
|
|
|
extraParams: ''
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
schemas: [],
|
|
|
|
|
canEdit: false,
|
|
|
|
|
originConfiguration: {}
|
|
|
|
|
originConfiguration: {},
|
|
|
|
|
tables: [],
|
|
|
|
|
tableData: [],
|
|
|
|
|
showTableList: false,
|
|
|
|
|
tableLoading: false,
|
|
|
|
|
tableFields: [],
|
|
|
|
|
showTableFields: false,
|
|
|
|
|
dataList: []
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
watch: {
|
|
|
|
|
form: {
|
|
|
|
|
handler(val, old) {
|
|
|
|
|
if (val.id) {
|
|
|
|
|
const _this = this
|
|
|
|
|
post('/datasource/getTables', { id: val.id }).then((response) => {
|
|
|
|
|
_this.tables = response.data
|
|
|
|
|
_this.tableData = []
|
|
|
|
|
_this.tables.forEach((item) => {
|
|
|
|
|
_this.tableData.push(item.name)
|
|
|
|
|
})
|
|
|
|
|
_this.showTableList = _this.tableData.length > 0
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
deep: true
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
created() {
|
|
|
|
|
if (this.params && this.params.id) {
|
|
|
|
|
const row = this.params
|
|
|
|
@ -186,9 +677,23 @@ export default {
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
mounted() {
|
|
|
|
|
},
|
|
|
|
|
mounted() {},
|
|
|
|
|
methods: {
|
|
|
|
|
handleCurrentChange(row) {
|
|
|
|
|
const _this = this
|
|
|
|
|
const ds = JSON.parse(JSON.stringify(this.form))
|
|
|
|
|
ds.configuration = JSON.stringify(ds.configuration)
|
|
|
|
|
this.tableLoading = true
|
|
|
|
|
post('/datasource/getData/' + row + '/10', ds)
|
|
|
|
|
.then((response) => {
|
|
|
|
|
_this.tableFields = response.data.fieldList
|
|
|
|
|
_this.showTableFields = _this.tableFields.length > 0
|
|
|
|
|
_this.dataList = response.data.dataList
|
|
|
|
|
})
|
|
|
|
|
.finally((_) => {
|
|
|
|
|
this.tableLoading = false
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
setType() {
|
|
|
|
|
this.form.type = this.params.type
|
|
|
|
|
this.form.configuration = {
|
|
|
|
@ -221,34 +726,50 @@ export default {
|
|
|
|
|
this.$refs.dsForm.resetFields()
|
|
|
|
|
},
|
|
|
|
|
save() {
|
|
|
|
|
if (!this.form.configuration.schema && (this.form.type === 'oracle' || this.form.type === 'sqlServer')) {
|
|
|
|
|
if (
|
|
|
|
|
!this.form.configuration.schema &&
|
|
|
|
|
(this.form.type === 'oracle' || this.form.type === 'sqlServer')
|
|
|
|
|
) {
|
|
|
|
|
this.$message.error(this.$t('datasource.please_choose_schema'))
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
if (this.form.configuration.dataSourceType === 'jdbc' && this.form.configuration.port <= 0) {
|
|
|
|
|
if (
|
|
|
|
|
this.form.configuration.dataSourceType === 'jdbc' &&
|
|
|
|
|
this.form.configuration.port <= 0
|
|
|
|
|
) {
|
|
|
|
|
this.$message.error(this.$t('datasource.port_no_less_then_0'))
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
if (this.form.configuration.initialPoolSize < 0 || this.form.configuration.minPoolSize < 0 || this.form.configuration.maxPoolSize < 0 || this.form.configuration.maxIdleTime < 0 ||
|
|
|
|
|
this.form.configuration.acquireIncrement < 0 || this.form.configuration.idleConnectionTestPeriod < 0 || this.form.configuration.connectTimeout < 0) {
|
|
|
|
|
if (
|
|
|
|
|
this.form.configuration.initialPoolSize < 0 ||
|
|
|
|
|
this.form.configuration.minPoolSize < 0 ||
|
|
|
|
|
this.form.configuration.maxPoolSize < 0 ||
|
|
|
|
|
this.form.configuration.maxIdleTime < 0 ||
|
|
|
|
|
this.form.configuration.acquireIncrement < 0 ||
|
|
|
|
|
this.form.configuration.idleConnectionTestPeriod < 0 ||
|
|
|
|
|
this.form.configuration.connectTimeout < 0
|
|
|
|
|
) {
|
|
|
|
|
this.$message.error(this.$t('datasource.no_less_then_0'))
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
this.$refs.dsForm.validate(valid => {
|
|
|
|
|
this.$refs.dsForm.validate((valid) => {
|
|
|
|
|
if (valid) {
|
|
|
|
|
const method = this.formType === 'add' ? addDs : editDs
|
|
|
|
|
const form = JSON.parse(JSON.stringify(this.form))
|
|
|
|
|
form.configuration = JSON.stringify(form.configuration)
|
|
|
|
|
if (this.formType !== 'add' && this.originConfiguration !== form.configuration) {
|
|
|
|
|
if (
|
|
|
|
|
this.formType !== 'add' &&
|
|
|
|
|
this.originConfiguration !== form.configuration
|
|
|
|
|
) {
|
|
|
|
|
$confirm(this.$t('datasource.edit_datasource_msg'), () => {
|
|
|
|
|
method(form).then(res => {
|
|
|
|
|
method(form).then((res) => {
|
|
|
|
|
this.$success(this.$t('commons.save_success'))
|
|
|
|
|
this.refreshTree()
|
|
|
|
|
this.backToList()
|
|
|
|
|
})
|
|
|
|
|
})
|
|
|
|
|
} else {
|
|
|
|
|
method(form).then(res => {
|
|
|
|
|
method(form).then((res) => {
|
|
|
|
|
this.$success(this.$t('commons.save_success'))
|
|
|
|
|
this.refreshTree()
|
|
|
|
|
this.backToList()
|
|
|
|
@ -260,11 +781,11 @@ export default {
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
getSchema() {
|
|
|
|
|
this.$refs.dsForm.validate(valid => {
|
|
|
|
|
this.$refs.dsForm.validate((valid) => {
|
|
|
|
|
if (valid) {
|
|
|
|
|
const data = JSON.parse(JSON.stringify(this.form))
|
|
|
|
|
data.configuration = JSON.stringify(data.configuration)
|
|
|
|
|
getSchema(data).then(res => {
|
|
|
|
|
getSchema(data).then((res) => {
|
|
|
|
|
this.schemas = res.data
|
|
|
|
|
this.$success(this.$t('commons.success'))
|
|
|
|
|
})
|
|
|
|
@ -278,35 +799,45 @@ export default {
|
|
|
|
|
this.$message.error(this.$t('datasource.please_choose_schema'))
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
if (this.form.configuration.dataSourceType === 'jdbc' && this.form.configuration.port <= 0) {
|
|
|
|
|
if (
|
|
|
|
|
this.form.configuration.dataSourceType === 'jdbc' &&
|
|
|
|
|
this.form.configuration.port <= 0
|
|
|
|
|
) {
|
|
|
|
|
this.$message.error(this.$t('datasource.port_no_less_then_0'))
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
this.$refs.dsForm.validate(valid => {
|
|
|
|
|
this.$refs.dsForm.validate((valid) => {
|
|
|
|
|
if (valid) {
|
|
|
|
|
const data = JSON.parse(JSON.stringify(this.form))
|
|
|
|
|
data.configuration = JSON.stringify(data.configuration)
|
|
|
|
|
if (data.showModel === 'show' && !this.canEdit) {
|
|
|
|
|
validateDsById(data.id).then(res => {
|
|
|
|
|
if (res.success) {
|
|
|
|
|
this.$success(this.$t('datasource.validate_success'))
|
|
|
|
|
} else {
|
|
|
|
|
this.$error(this.$t(res.message))
|
|
|
|
|
}
|
|
|
|
|
this.refreshTree()
|
|
|
|
|
}).catch(res => {
|
|
|
|
|
this.$error(res.message)
|
|
|
|
|
})
|
|
|
|
|
validateDsById(data.id)
|
|
|
|
|
.then((res) => {
|
|
|
|
|
if (res.success) {
|
|
|
|
|
this.$success(this.$t('datasource.validate_success'))
|
|
|
|
|
} else {
|
|
|
|
|
this.$error(this.$t(res.message))
|
|
|
|
|
}
|
|
|
|
|
this.refreshTree()
|
|
|
|
|
})
|
|
|
|
|
.catch((res) => {
|
|
|
|
|
this.$error(res.message)
|
|
|
|
|
})
|
|
|
|
|
} else {
|
|
|
|
|
validateDs(data).then(res => {
|
|
|
|
|
if (res.success) {
|
|
|
|
|
this.$success(this.$t('datasource.validate_success'))
|
|
|
|
|
} else {
|
|
|
|
|
this.$error(this.$t(res.message))
|
|
|
|
|
}
|
|
|
|
|
}).catch(res => {
|
|
|
|
|
this.$error(res.message)
|
|
|
|
|
})
|
|
|
|
|
validateDs(data)
|
|
|
|
|
.then((res) => {
|
|
|
|
|
if (res.success) {
|
|
|
|
|
this.tableData = res.data
|
|
|
|
|
console.log(this.tableData)
|
|
|
|
|
this.showTableList = true
|
|
|
|
|
this.$success(this.$t('datasource.validate_success'))
|
|
|
|
|
} else {
|
|
|
|
|
this.$error(this.$t(res.message))
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
.catch((res) => {
|
|
|
|
|
this.$error(res.message)
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
return false
|
|
|
|
@ -322,7 +853,7 @@ export default {
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
backToList() {
|
|
|
|
|
this.$emit('switch-component', { })
|
|
|
|
|
this.$emit('switch-component', {})
|
|
|
|
|
// this.$router.push({ name: 'datasource' })
|
|
|
|
|
},
|
|
|
|
|
refreshTree() {
|
|
|
|
@ -332,7 +863,6 @@ export default {
|
|
|
|
|
}
|
|
|
|
|
</script>
|
|
|
|
|
<style lang="scss" scoped>
|
|
|
|
|
|
|
|
|
|
.back-button {
|
|
|
|
|
cursor: pointer;
|
|
|
|
|
margin-right: 10px;
|
|
|
|
@ -344,9 +874,13 @@ export default {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.el-input {
|
|
|
|
|
width: 300px;
|
|
|
|
|
max-width: 300px;
|
|
|
|
|
}
|
|
|
|
|
.el-select {
|
|
|
|
|
width: 300px;
|
|
|
|
|
max-width: 300px;
|
|
|
|
|
}
|
|
|
|
|
div.validated {
|
|
|
|
|
position: fixed;
|
|
|
|
|
bottom: 10%;
|
|
|
|
|
}
|
|
|
|
|
</style>
|
|
|
|
|