|
|
@ -1,15 +1,32 @@ |
|
|
|
<template> |
|
|
|
<el-dialog :title="title" model-value width="90%" :close-on-click-modal="false" :before-close="cancel"> |
|
|
|
<el-form ref="form" :model="form" :rules="rules" label-width="130px"> |
|
|
|
<el-row> |
|
|
|
<el-col :span="8"> |
|
|
|
<el-form-item :label="getColumnName('TaskHead-Descr')" prop="TaskHead-Descr"> |
|
|
|
<el-dialog |
|
|
|
:title="title" |
|
|
|
model-value |
|
|
|
width="90%" |
|
|
|
:close-on-click-modal="false" |
|
|
|
:before-close="cancel" |
|
|
|
> |
|
|
|
<el-form ref="form" :model="form" :rules="rules" label-width="140px"> |
|
|
|
<el-row> |
|
|
|
<el-col :span="8"> |
|
|
|
<el-form-item |
|
|
|
:label="getColumnName('TaskHead-Descr')" |
|
|
|
prop="TaskHead-Descr" |
|
|
|
> |
|
|
|
<el-input v-model="form['TaskHead-Descr']" clearable /> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="8"> |
|
|
|
<el-form-item :label="getColumnName('TaskHead-SourceDB')" prop="TaskHead-SourceDB"> |
|
|
|
<el-select v-model="form['TaskHead-SourceDB']" placeholder="请选择"> |
|
|
|
<el-col :span="8"> |
|
|
|
<el-form-item |
|
|
|
:label="getColumnName('TaskHead-SourceDB')" |
|
|
|
prop="TaskHead-SourceDB" |
|
|
|
> |
|
|
|
<el-select |
|
|
|
filterable |
|
|
|
@change="getSourceTable" |
|
|
|
v-model="form['TaskHead-SourceDB']" |
|
|
|
placeholder="请选择" |
|
|
|
> |
|
|
|
<el-option |
|
|
|
v-for="item in dataBaseArray" |
|
|
|
:key="item['DB-ID']" |
|
|
@ -19,9 +36,17 @@ |
|
|
|
</el-select> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="8"> |
|
|
|
<el-form-item :label="getColumnName('TaskHead-TargetDB')" prop="TaskHead-TargetDB"> |
|
|
|
<el-select v-model="form['TaskHead-TargetDB']" placeholder="请选择"> |
|
|
|
<el-col :span="8"> |
|
|
|
<el-form-item |
|
|
|
:label="getColumnName('TaskHead-TargetDB')" |
|
|
|
prop="TaskHead-TargetDB" |
|
|
|
> |
|
|
|
<el-select |
|
|
|
filterable |
|
|
|
v-model="form['TaskHead-TargetDB']" |
|
|
|
placeholder="请选择" |
|
|
|
@change="getTargetTable" |
|
|
|
> |
|
|
|
<el-option |
|
|
|
v-for="item in dataBaseArray" |
|
|
|
:key="item['DB-ID']" |
|
|
@ -31,9 +56,16 @@ |
|
|
|
</el-select> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="8"> |
|
|
|
<el-form-item :label="getColumnName('TaskHead-SearchType')" prop="TaskHead-SearchType"> |
|
|
|
<el-select v-model="form['TaskHead-SearchType']" placeholder="请选择"> |
|
|
|
<el-col :span="8"> |
|
|
|
<el-form-item |
|
|
|
:label="getColumnName('TaskHead-SearchType')" |
|
|
|
prop="TaskHead-SearchType" |
|
|
|
> |
|
|
|
<el-select |
|
|
|
filterable |
|
|
|
v-model="form['TaskHead-SearchType']" |
|
|
|
placeholder="请选择" |
|
|
|
> |
|
|
|
<el-option |
|
|
|
v-for="item in searchTypeArray" |
|
|
|
:key="item['Stdef-StdefTyp']" |
|
|
@ -43,23 +75,79 @@ |
|
|
|
</el-select> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="8"> |
|
|
|
<el-form-item :label="getColumnName('TaskHead-SourceTable')" prop="TaskHead-SourceTable"> |
|
|
|
<el-input v-model="form['TaskHead-SourceTable']" clearable> |
|
|
|
<template #append> |
|
|
|
<el-button v-if="form['TaskHead-ExtractType'] === 'TABLE'" type="primary" size="small" @click="getColumnEvent">获取表字段</el-button> |
|
|
|
</template> |
|
|
|
</el-input> |
|
|
|
<el-col :span="8"> |
|
|
|
<el-form-item |
|
|
|
:label="getColumnName('TaskHead-SourceTable')" |
|
|
|
prop="TaskHead-SourceTable" |
|
|
|
> |
|
|
|
<!-- <el-input v-model="form['TaskHead-SourceTable']" clearable> |
|
|
|
<template #append> |
|
|
|
<el-button |
|
|
|
v-if="form['TaskHead-ExtractType'] === 'TABLE'" |
|
|
|
type="primary" |
|
|
|
size="small" |
|
|
|
@click="getColumnEvent" |
|
|
|
>获取表字段</el-button |
|
|
|
> |
|
|
|
</template> |
|
|
|
</el-input> --> |
|
|
|
<el-select |
|
|
|
filterable |
|
|
|
:style="{ |
|
|
|
width: |
|
|
|
form['TaskHead-ExtractType'] === 'TABLE' |
|
|
|
? 'calc( 100% - 100px )' |
|
|
|
: '100%', |
|
|
|
}" |
|
|
|
v-model="form['TaskHead-SourceTable']" |
|
|
|
placeholder="请选择" |
|
|
|
> |
|
|
|
<el-option |
|
|
|
v-for="item in sourceTable" |
|
|
|
:key="item['TableInfo-TableName']" |
|
|
|
:label="item['TableInfo-TableName']" |
|
|
|
:value="item['TableInfo-TableName']" |
|
|
|
/> |
|
|
|
</el-select> |
|
|
|
<el-button |
|
|
|
style="width: 100px; margin: 0" |
|
|
|
v-if="form['TaskHead-ExtractType'] === 'TABLE'" |
|
|
|
type="primary" |
|
|
|
size="small" |
|
|
|
@click="getColumnEvent" |
|
|
|
>获取表字段</el-button |
|
|
|
> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="8"> |
|
|
|
<el-form-item :label="getColumnName('TaskHead-TargetTable')" prop="TaskHead-TargetTable"> |
|
|
|
<el-input v-model="form['TaskHead-TargetTable']" clearable /> |
|
|
|
<el-col :span="8"> |
|
|
|
<el-form-item |
|
|
|
:label="getColumnName('TaskHead-TargetTable')" |
|
|
|
prop="TaskHead-TargetTable" |
|
|
|
> |
|
|
|
<el-select |
|
|
|
filterable |
|
|
|
v-model="form['TaskHead-TargetTable']" |
|
|
|
placeholder="请选择" |
|
|
|
> |
|
|
|
<el-option |
|
|
|
v-for="item in targetTable" |
|
|
|
:key="item['TableInfo-TableName']" |
|
|
|
:label="item['TableInfo-TableName']" |
|
|
|
:value="item['TableInfo-TableName']" |
|
|
|
/> |
|
|
|
</el-select> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="8"> |
|
|
|
<el-form-item :label="getColumnName('TaskHead-ExtractType')" prop="TaskHead-ExtractType"> |
|
|
|
<el-select v-model="form['TaskHead-ExtractType']" placeholder="请选择"> |
|
|
|
<el-col :span="8"> |
|
|
|
<el-form-item |
|
|
|
:label="getColumnName('TaskHead-ExtractType')" |
|
|
|
prop="TaskHead-ExtractType" |
|
|
|
> |
|
|
|
<el-select |
|
|
|
filterable |
|
|
|
v-model="form['TaskHead-ExtractType']" |
|
|
|
placeholder="请选择" |
|
|
|
> |
|
|
|
<el-option |
|
|
|
v-for="item in extractTypeArray" |
|
|
|
:key="item['Stdef-StdefTyp']" |
|
|
@ -69,35 +157,88 @@ |
|
|
|
</el-select> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="8"> |
|
|
|
<el-form-item :label="getColumnName('TaskHead-Status')" prop="TaskHead-Status"> |
|
|
|
<el-col :span="8"> |
|
|
|
<el-form-item |
|
|
|
:label="getColumnName('TaskHead-Status')" |
|
|
|
prop="TaskHead-Status" |
|
|
|
> |
|
|
|
<el-radio-group v-model="form['TaskHead-Status']"> |
|
|
|
<el-radio |
|
|
|
v-for="item in statusArray" |
|
|
|
:key="item['Stdef-StdefTyp']" |
|
|
|
:label="item['Stdef-StdefTyp']" |
|
|
|
>{{ item['Stdef-Bez'] }}</el-radio> |
|
|
|
>{{ item["Stdef-Bez"] }}</el-radio |
|
|
|
> |
|
|
|
</el-radio-group> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="8"> |
|
|
|
<el-form-item :label="getColumnName('TaskHead-StatusField')" prop="TaskHead-StatusField"> |
|
|
|
<el-input v-model="form['TaskHead-StatusField']" clearable /> |
|
|
|
<el-col :span="8"> |
|
|
|
<el-form-item |
|
|
|
:label="getColumnName('TaskHead-StatusField')" |
|
|
|
prop="TaskHead-StatusField" |
|
|
|
> |
|
|
|
<el-select |
|
|
|
filterable |
|
|
|
v-model="form['TaskHead-StatusField']" |
|
|
|
placeholder="请选择" |
|
|
|
> |
|
|
|
<el-option |
|
|
|
v-for="item in sourceTable" |
|
|
|
:key="item['TableInfo-TableName']" |
|
|
|
:label="item['TableInfo-TableName']" |
|
|
|
:value="item['TableInfo-TableName']" |
|
|
|
/> |
|
|
|
</el-select> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="8"> |
|
|
|
<el-form-item :label="getColumnName('TaskHead-SortField')" prop="TaskHead-SortField"> |
|
|
|
<el-input v-model="form['TaskHead-SortField']" clearable /> |
|
|
|
<el-col :span="8"> |
|
|
|
<el-form-item |
|
|
|
:label="getColumnName('TaskHead-SortField')" |
|
|
|
prop="TaskHead-SortField" |
|
|
|
> |
|
|
|
<el-select |
|
|
|
filterable |
|
|
|
v-model="form['TaskHead-SortField']" |
|
|
|
placeholder="请选择" |
|
|
|
> |
|
|
|
<el-option |
|
|
|
v-for="item in sourceTable" |
|
|
|
:key="item['TableInfo-TableName']" |
|
|
|
:label="item['TableInfo-TableName']" |
|
|
|
:value="item['TableInfo-TableName']" |
|
|
|
/> |
|
|
|
</el-select> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="8"> |
|
|
|
<el-form-item :label="getColumnName('TaskHead-UniqueField')" prop="TaskHead-UniqueField"> |
|
|
|
<el-input v-model="form['TaskHead-UniqueField']" clearable /> |
|
|
|
<el-col :span="8"> |
|
|
|
<el-form-item |
|
|
|
:label="getColumnName('TaskHead-UniqueField')" |
|
|
|
prop="TaskHead-UniqueField" |
|
|
|
> |
|
|
|
<el-select |
|
|
|
filterable |
|
|
|
v-model="form['TaskHead-UniqueField']" |
|
|
|
placeholder="请选择" |
|
|
|
> |
|
|
|
<el-option |
|
|
|
v-for="item in sourceTable" |
|
|
|
:key="item['TableInfo-TableName']" |
|
|
|
:label="item['TableInfo-TableName']" |
|
|
|
:value="item['TableInfo-TableName']" |
|
|
|
/> |
|
|
|
</el-select> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="8"> |
|
|
|
<el-form-item :label="getColumnName('TaskHead-CtlParam3')" prop="TaskHead-CtlParam3"> |
|
|
|
<el-select v-model="form['TaskHead-CtlParam3']" placeholder="请选择"> |
|
|
|
<el-col :span="8"> |
|
|
|
<el-form-item |
|
|
|
:label="getColumnName('TaskHead-CtlParam3')" |
|
|
|
prop="TaskHead-CtlParam3" |
|
|
|
> |
|
|
|
<el-select |
|
|
|
filterable |
|
|
|
v-model="form['TaskHead-CtlParam3']" |
|
|
|
placeholder="请选择" |
|
|
|
> |
|
|
|
<el-option |
|
|
|
v-for="item in ctlParamArray" |
|
|
|
:key="item['Stdef-StdefTyp']" |
|
|
@ -107,278 +248,360 @@ |
|
|
|
</el-select> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="8"> |
|
|
|
<el-col :span="form['TaskHead-ExtractType'] === 'SQL' ? 12 : 24"> |
|
|
|
<el-form-item :label="getColumnName('TaskHead-WhereSQL')"> |
|
|
|
<el-input v-model="form['TaskHead-WhereSQL']" :rows="3" type="textarea" placeholder="请输入" /> |
|
|
|
<el-input |
|
|
|
v-model="form['TaskHead-WhereSQL']" |
|
|
|
:rows="3" |
|
|
|
placeholder="请输入" |
|
|
|
/> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col v-if="form['TaskHead-ExtractType'] === 'SQL'" :span="8"> |
|
|
|
<el-col v-if="form['TaskHead-ExtractType'] === 'SQL'" :span="12"> |
|
|
|
<el-form-item :label="getColumnName('TaskHead-SQLStr')"> |
|
|
|
<el-input v-model="form['TaskHead-SQLStr']" :rows="3" type="textarea" placeholder="请输入" /> |
|
|
|
<el-button type="primary" size="small" @click="getSqlTest" style="margin-top: 10px;">测试</el-button> |
|
|
|
<el-input |
|
|
|
style="width: calc(100% - 75px)" |
|
|
|
v-model="form['TaskHead-SQLStr']" |
|
|
|
:rows="3" |
|
|
|
placeholder="请输入" |
|
|
|
/> |
|
|
|
<el-button |
|
|
|
type="primary" |
|
|
|
size="small" |
|
|
|
@click="getSqlTest" |
|
|
|
style="margin: 0" |
|
|
|
>测试</el-button |
|
|
|
> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col v-if="form['TaskHead-ExtractType']" :span="24"> |
|
|
|
<el-table size="mini" :data="form['TaskHead-TaskLstLi']" :height="tableHeight" border> |
|
|
|
<el-table-column prop="TaskLst-SourceField" :label="getColumnName('TaskLst-SourceField')"> |
|
|
|
<el-col v-if="form['TaskHead-ExtractType']" :span="24"> |
|
|
|
<el-table |
|
|
|
size="mini" |
|
|
|
:data="form['TaskHead-TaskLstLi']" |
|
|
|
:height="tableHeight" |
|
|
|
border |
|
|
|
> |
|
|
|
<el-table-column |
|
|
|
prop="TaskLst-SourceField" |
|
|
|
:label="getColumnName('TaskLst-SourceField')" |
|
|
|
> |
|
|
|
<template #default="scope"> |
|
|
|
<el-input v-model="scope.row['TaskLst-SourceField']" clearable placeholder="请输入" /> |
|
|
|
<el-input |
|
|
|
v-model="scope.row['TaskLst-SourceField']" |
|
|
|
clearable |
|
|
|
placeholder="请输入" |
|
|
|
/> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column :label="getColumnName('TaskLst-TargetField')"> |
|
|
|
<template #default="scope"> |
|
|
|
<el-input v-model="scope.row['TaskLst-TargetField']" clearable placeholder="请输入" /> |
|
|
|
<el-input |
|
|
|
v-model="scope.row['TaskLst-TargetField']" |
|
|
|
clearable |
|
|
|
placeholder="请输入" |
|
|
|
/> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column :label="getColumnName('TaskLst-TargetFieldType')"> |
|
|
|
<template #default="scope"> |
|
|
|
<el-select v-model="scope.row['TaskLst-TargetFieldType']" placeholder="请选择"> |
|
|
|
<el-select |
|
|
|
filterable |
|
|
|
v-model="scope.row['TaskLst-TargetFieldType']" |
|
|
|
placeholder="请选择" |
|
|
|
> |
|
|
|
<el-option |
|
|
|
v-for="item in targetFieldTypeArray" |
|
|
|
:key="item['Stdef-StdefTyp']" |
|
|
|
:label="item['Stdef-Bez']" |
|
|
|
:value="item['Stdef-StdefTyp']" |
|
|
|
:label="item['Stdef-Bez']" |
|
|
|
:value="item['Stdef-StdefTyp']" |
|
|
|
/> |
|
|
|
</el-select> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column :label="getColumnName('TaskLst-FieldDesc')"> |
|
|
|
<template #default="scope"> |
|
|
|
<el-input v-model="scope.row['TaskLst-FieldDesc']" clearable placeholder="请输入" /> |
|
|
|
<el-input |
|
|
|
v-model="scope.row['TaskLst-FieldDesc']" |
|
|
|
clearable |
|
|
|
placeholder="请输入" |
|
|
|
/> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column :label="getColumnName('TaskLst-Func')"> |
|
|
|
<template #default="scope"> |
|
|
|
<el-select v-model="scope.row['TaskLst-Func']" placeholder="请选择"> |
|
|
|
<el-select |
|
|
|
filterable |
|
|
|
v-model="scope.row['TaskLst-Func']" |
|
|
|
placeholder="请选择" |
|
|
|
> |
|
|
|
<el-option |
|
|
|
v-for="item in funcArray" |
|
|
|
:key="item['Stdef-StdefTyp']" |
|
|
|
:label="item['Stdef-Bez']" |
|
|
|
:value="item['Stdef-StdefTyp']" |
|
|
|
:label="item['Stdef-Bez']" |
|
|
|
:value="item['Stdef-StdefTyp']" |
|
|
|
/> |
|
|
|
</el-select> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column :label="getColumnName('TaskLst-DefaultValue')"> |
|
|
|
<el-table-column :label="getColumnName('TaskLst-DefaultValue')"> |
|
|
|
<template #default="scope"> |
|
|
|
<el-input v-model="scope.row['TaskLst-DefaultValue']" clearable placeholder="请输入" /> |
|
|
|
<el-input |
|
|
|
v-model="scope.row['TaskLst-DefaultValue']" |
|
|
|
clearable |
|
|
|
placeholder="请输入" |
|
|
|
/> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column :label="getColumnName('TaskLst-SetValue')"> |
|
|
|
<el-table-column :label="getColumnName('TaskLst-SetValue')"> |
|
|
|
<template #default="scope"> |
|
|
|
<el-input v-model="scope.row['TaskLst-SetValue']" clearable placeholder="请输入" /> |
|
|
|
<el-input |
|
|
|
v-model="scope.row['TaskLst-SetValue']" |
|
|
|
clearable |
|
|
|
placeholder="请输入" |
|
|
|
/> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column :label="getColumnName('TaskLst-Format')"> |
|
|
|
<el-table-column :label="getColumnName('TaskLst-Format')"> |
|
|
|
<template #default="scope"> |
|
|
|
<el-input v-model="scope.row['TaskLst-Format']" clearable placeholder="请输入" /> |
|
|
|
<el-input |
|
|
|
v-model="scope.row['TaskLst-Format']" |
|
|
|
clearable |
|
|
|
placeholder="请输入" |
|
|
|
/> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column align="center" width="100px"> |
|
|
|
<template #header> |
|
|
|
<el-button |
|
|
|
size="mini" |
|
|
|
type="primary" |
|
|
|
@click="handleAddValst()" |
|
|
|
>新增</el-button> |
|
|
|
<el-button size="mini" type="primary" @click="handleAddValst()" |
|
|
|
>新增</el-button |
|
|
|
> |
|
|
|
</template> |
|
|
|
<template #default="scope"> |
|
|
|
<el-button |
|
|
|
size="mini" |
|
|
|
type="danger" |
|
|
|
@click="handleDeleteValst(scope.$index)" |
|
|
|
>删除</el-button> |
|
|
|
>删除</el-button |
|
|
|
> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
</el-table> |
|
|
|
</el-col> |
|
|
|
</el-row> |
|
|
|
</el-form> |
|
|
|
<template #footer> |
|
|
|
<span class="dialog-footer"> |
|
|
|
<el-button type="primary" class="dialog-submit-button" @click="submitForm">确 定</el-button> |
|
|
|
<el-button class="dialog-cancel-button" @click="cancel">取 消</el-button> |
|
|
|
</span> |
|
|
|
</template> |
|
|
|
</el-dialog> |
|
|
|
</el-row> |
|
|
|
</el-form> |
|
|
|
<template #footer> |
|
|
|
<span class="dialog-footer"> |
|
|
|
<el-button |
|
|
|
type="primary" |
|
|
|
class="dialog-submit-button" |
|
|
|
@click="submitForm" |
|
|
|
>确 定</el-button |
|
|
|
> |
|
|
|
<el-button class="dialog-cancel-button" @click="cancel" |
|
|
|
>取 消</el-button |
|
|
|
> |
|
|
|
</span> |
|
|
|
</template> |
|
|
|
</el-dialog> |
|
|
|
</template> |
|
|
|
<script> |
|
|
|
import { get, post, put } from "../../../server/api.js"; |
|
|
|
export default { |
|
|
|
name: 'editField', |
|
|
|
props: { |
|
|
|
item: { |
|
|
|
default: null, |
|
|
|
} |
|
|
|
}, |
|
|
|
mounted() { |
|
|
|
if (this.item) { |
|
|
|
this.handleUpdate(this.item) |
|
|
|
} else { |
|
|
|
this.handleAdd() |
|
|
|
} |
|
|
|
}, |
|
|
|
data() { |
|
|
|
return { |
|
|
|
dataBaseArray: [], // 数据库引擎 |
|
|
|
statusArray: [], // 状态 |
|
|
|
searchTypeArray: [], // 查询类型 |
|
|
|
extractTypeArray: [], // 抽取类型 |
|
|
|
targetFieldTypeArray: [], // 目标字段类型 |
|
|
|
funcArray: [], // 特殊方法 |
|
|
|
ctlParamArray: [], // 抽取阶段开关 |
|
|
|
tableHeight: 300, |
|
|
|
title: '添加', // 弹框标题 |
|
|
|
form: { |
|
|
|
'TaskHead-TaskLstLi': [] |
|
|
|
}, // 表单参数 |
|
|
|
rules: { // 表单校验 |
|
|
|
'TaskHead-SourceDB': [ |
|
|
|
{ required: true, message: '此项不能为空', trigger: 'blur' } |
|
|
|
], |
|
|
|
'TaskHead-TargetDB': [ |
|
|
|
{ required: true, message: '此项不能为空', trigger: 'blur' } |
|
|
|
], |
|
|
|
'TaskHead-Status': [ |
|
|
|
{ required: true, message: '此项不能为空', trigger: 'blur' } |
|
|
|
], |
|
|
|
'TaskHead-ExtractType': [ |
|
|
|
{ required: true, message: '此项不能为空', trigger: 'blur' } |
|
|
|
], |
|
|
|
'TaskHead-SearchType': [ |
|
|
|
{ required: true, message: '此项不能为空', trigger: 'blur' } |
|
|
|
], |
|
|
|
}, |
|
|
|
url: { |
|
|
|
updateUrl: "/admin/etl/taskhead/updateone", // 修改 |
|
|
|
addUrl: "/admin/etl/taskhead/insertone", // 新增 |
|
|
|
etlStdef: "/admin/etl/database/query", // 获取数据库 |
|
|
|
}, |
|
|
|
} |
|
|
|
}, |
|
|
|
created() { |
|
|
|
// 获取数据库数据 |
|
|
|
get(this.url.etlStdef).then((res) => { |
|
|
|
if (res.code === 200) { |
|
|
|
this.dataBaseArray = res.data || [] |
|
|
|
} |
|
|
|
}) |
|
|
|
// 获取状态 |
|
|
|
this.getStanderOne({ 'StatId': 'TaskHead-Status' }).then(res => { |
|
|
|
this.statusArray = res.data || [] |
|
|
|
}) |
|
|
|
// 查询类型 |
|
|
|
this.getStanderOne({ 'StatId': 'TaskHead-SearchType' }).then(res => { |
|
|
|
this.searchTypeArray = res.data || [] |
|
|
|
}) |
|
|
|
// 抽取类型 |
|
|
|
this.getStanderOne({ 'StatId': 'TaskHead-ExtractType' }).then(res => { |
|
|
|
this.extractTypeArray = res.data || [] |
|
|
|
}) |
|
|
|
// 目标字段类型 |
|
|
|
this.getStanderOne({ 'StatId': 'TaskLst-TargetFieldType' }).then(res => { |
|
|
|
this.targetFieldTypeArray = res.data || [] |
|
|
|
}) |
|
|
|
// 特殊方法 |
|
|
|
this.getStanderOne({ 'StatId': 'TaskLst-Func' }).then(res => { |
|
|
|
this.funcArray = res.data || [] |
|
|
|
}) |
|
|
|
// 抽取阶段开关 |
|
|
|
this.getStanderOne({ 'StatId': 'TaskHead-CtlParam3' }).then(res => { |
|
|
|
this.ctlParamArray = res.data || [] |
|
|
|
}) |
|
|
|
}, |
|
|
|
methods: { |
|
|
|
/** 新增字段 */ |
|
|
|
name: "editField", |
|
|
|
props: { |
|
|
|
item: { |
|
|
|
default: null, |
|
|
|
}, |
|
|
|
dataBaseArray: { |
|
|
|
default: [], |
|
|
|
}, |
|
|
|
statusArray: { |
|
|
|
default: [], |
|
|
|
}, |
|
|
|
searchTypeArray: { |
|
|
|
default: [], |
|
|
|
}, |
|
|
|
extractTypeArray: { |
|
|
|
default: [], |
|
|
|
}, |
|
|
|
}, |
|
|
|
mounted() { |
|
|
|
if (this.item) { |
|
|
|
this.handleUpdate(this.item); |
|
|
|
} else { |
|
|
|
this.handleAdd(); |
|
|
|
} |
|
|
|
}, |
|
|
|
data() { |
|
|
|
return { |
|
|
|
// dataBaseArray: [], // 数据库引擎 |
|
|
|
// statusArray: [], // 状态 |
|
|
|
// searchTypeArray: [], // 同步依赖 |
|
|
|
// extractTypeArray: [], // 抽取类型 |
|
|
|
targetFieldTypeArray: [], // 目标字段类型 |
|
|
|
funcArray: [], // 特殊方法 |
|
|
|
ctlParamArray: [], // 加载阶段开关 |
|
|
|
tableHeight: 300, |
|
|
|
title: "添加", // 弹框标题 |
|
|
|
form: { |
|
|
|
"TaskHead-TaskLstLi": [], |
|
|
|
}, // 表单参数 |
|
|
|
rules: { |
|
|
|
// 表单校验 |
|
|
|
"TaskHead-SourceDB": [ |
|
|
|
{ required: true, message: "此项不能为空", trigger: "blur" }, |
|
|
|
], |
|
|
|
"TaskHead-TargetDB": [ |
|
|
|
{ required: true, message: "此项不能为空", trigger: "blur" }, |
|
|
|
], |
|
|
|
"TaskHead-Status": [ |
|
|
|
{ required: true, message: "此项不能为空", trigger: "blur" }, |
|
|
|
], |
|
|
|
"TaskHead-ExtractType": [ |
|
|
|
{ required: true, message: "此项不能为空", trigger: "blur" }, |
|
|
|
], |
|
|
|
"TaskHead-SearchType": [ |
|
|
|
{ required: true, message: "此项不能为空", trigger: "blur" }, |
|
|
|
], |
|
|
|
}, |
|
|
|
url: { |
|
|
|
updateUrl: "/admin/etl/taskhead/updateone", // 修改 |
|
|
|
addUrl: "/admin/etl/taskhead/insertone", // 新增 |
|
|
|
etlStdef: "/admin/etl/database/table", // 获取数据库 |
|
|
|
}, |
|
|
|
sourceTable: [], // 数据源数据表 |
|
|
|
targetTable: [], // 目标数据表 |
|
|
|
}; |
|
|
|
}, |
|
|
|
created() { |
|
|
|
// 目标字段类型 |
|
|
|
this.getStanderOne({ StatId: "TaskLst-TargetFieldType" }).then((res) => { |
|
|
|
this.targetFieldTypeArray = res.data || []; |
|
|
|
}); |
|
|
|
// 特殊方法 |
|
|
|
this.getStanderOne({ StatId: "TaskLst-Func" }).then((res) => { |
|
|
|
this.funcArray = res.data || []; |
|
|
|
}); |
|
|
|
// 加载阶段开关 |
|
|
|
this.getStanderOne({ StatId: "TaskHead-CtlParam3" }).then((res) => { |
|
|
|
this.ctlParamArray = res.data || []; |
|
|
|
}); |
|
|
|
}, |
|
|
|
methods: { |
|
|
|
// 获取数据源数据表 |
|
|
|
getSourceTable(value) { |
|
|
|
this.form["TaskHead-SourceTable"] = undefined; |
|
|
|
this.form["TaskHead-SortField"] = undefined; |
|
|
|
this.form["TaskHead-StatusField"] = undefined; |
|
|
|
this.form["TaskHead-UniqueField"] = undefined; |
|
|
|
this.form["TaskHead-TaskLstLi"] = []; |
|
|
|
get(this.url.etlStdef, { engineId: value }).then(({ data }) => { |
|
|
|
this.sourceTable = data || []; |
|
|
|
}); |
|
|
|
}, |
|
|
|
// 获取目标数据表 |
|
|
|
getTargetTable(value) { |
|
|
|
this.form["TaskHead-TargetTable"] = undefined; |
|
|
|
get(this.url.etlStdef, { engineId: value }).then(({ data }) => { |
|
|
|
this.targetTable = data || []; |
|
|
|
}); |
|
|
|
}, |
|
|
|
/** 新增字段 */ |
|
|
|
handleAddValst() { |
|
|
|
this.form['TaskHead-TaskLstLi'].push({ |
|
|
|
'TaskLst-SourceField': undefined, |
|
|
|
'TaskLst-TargetField': undefined, |
|
|
|
'TaskLst-TargetFieldType': undefined, |
|
|
|
'TaskLst-FieldDesc': undefined, |
|
|
|
'TaskLst-Func': undefined, |
|
|
|
'TaskLst-DefaultValue': undefined, |
|
|
|
'TaskLst-SetValue': undefined, |
|
|
|
'TaskLst-Format': undefined |
|
|
|
}) |
|
|
|
this.form["TaskHead-TaskLstLi"].push({}); |
|
|
|
}, |
|
|
|
/** 删除字段 */ |
|
|
|
handleDeleteValst(index) { |
|
|
|
this.form['TaskHead-TaskLstLi'].splice(index, 1) |
|
|
|
this.form["TaskHead-TaskLstLi"].splice(index, 1); |
|
|
|
}, |
|
|
|
// 测试 |
|
|
|
getSqlTest() { |
|
|
|
let params = { |
|
|
|
dbId: this.form["TaskHead-SourceDB"], |
|
|
|
sql: this.form["TaskHead-SQLStr"], |
|
|
|
}; |
|
|
|
get("/admin/etl/taskhead/testsql", params) |
|
|
|
.then((res) => { |
|
|
|
if (res.code === 200) { |
|
|
|
this.msgSuccess("测试通过"); |
|
|
|
} else { |
|
|
|
this.msgError(res.msg); |
|
|
|
} |
|
|
|
}) |
|
|
|
.catch((err) => { |
|
|
|
this.msgError(err.msg); |
|
|
|
}); |
|
|
|
}, |
|
|
|
// 测试 |
|
|
|
getSqlTest() { |
|
|
|
let params = { |
|
|
|
dbId: this.form['TaskHead-SourceDB'], |
|
|
|
sql: this.form['TaskHead-SQLStr'] |
|
|
|
} |
|
|
|
get('/admin/etl/taskhead/testsql', params) |
|
|
|
.then((res) => { |
|
|
|
if (res.code === 200) { |
|
|
|
this.msgSuccess("测试通过") |
|
|
|
} else { |
|
|
|
this.msgError(res.msg) |
|
|
|
} |
|
|
|
}).catch((err) => { |
|
|
|
this.msgError(err.msg) |
|
|
|
}) |
|
|
|
}, |
|
|
|
// 获取表列名 |
|
|
|
// 获取表列名 |
|
|
|
getColumnEvent() { |
|
|
|
let params = { |
|
|
|
dbId: this.form['TaskHead-SourceDB'], |
|
|
|
tableName: this.form['TaskHead-SourceTable'] |
|
|
|
} |
|
|
|
get('/admin/etl/taskhead/tablefield', params).then((res) => { |
|
|
|
if (res.code === 200) { |
|
|
|
let newDataArray = [] |
|
|
|
res.data.forEach(el => { |
|
|
|
newDataArray.push({ |
|
|
|
'TaskLst-SourceField': el.fieldName, |
|
|
|
'TaskLst-TargetFieldType': el.fieldType |
|
|
|
}) |
|
|
|
}) |
|
|
|
this.form['TaskHead-TaskLstLi'] = newDataArray |
|
|
|
} |
|
|
|
}) |
|
|
|
let params = { |
|
|
|
dbId: this.form["TaskHead-SourceDB"], |
|
|
|
tableName: this.form["TaskHead-SourceTable"], |
|
|
|
}; |
|
|
|
get("/admin/etl/taskhead/tablefield", params).then((res) => { |
|
|
|
if (res.code === 200) { |
|
|
|
let newDataArray = []; |
|
|
|
res.data.forEach((el) => { |
|
|
|
newDataArray.push({ |
|
|
|
"TaskLst-SourceField": el.fieldName, |
|
|
|
"TaskLst-TargetFieldType": el.fieldType, |
|
|
|
}); |
|
|
|
}); |
|
|
|
this.form["TaskHead-TaskLstLi"] = newDataArray; |
|
|
|
} |
|
|
|
}); |
|
|
|
}, |
|
|
|
cancel() { |
|
|
|
// 取消按钮 |
|
|
|
this.$emit("update:isShowDialog", ""); |
|
|
|
}, |
|
|
|
handleAdd() { |
|
|
|
// 新增按钮操作 |
|
|
|
this.title = "添加"; |
|
|
|
}, |
|
|
|
handleUpdate(row) { |
|
|
|
// 修改按钮操作 |
|
|
|
get(`/admin/etl/taskhead/get/${row["TaskHead-TaskId"]}`).then((res) => { |
|
|
|
this.form = res.data; |
|
|
|
this.title = "修改"; |
|
|
|
get(this.url.etlStdef, { |
|
|
|
engineId: this.form["TaskHead-SourceDB"], |
|
|
|
}).then(({ data }) => { |
|
|
|
this.sourceTable = data || []; |
|
|
|
}); |
|
|
|
get(this.url.etlStdef, { |
|
|
|
engineId: this.form["TaskHead-TargetDB"], |
|
|
|
}).then(({ data }) => { |
|
|
|
this.targetTable = data || []; |
|
|
|
}); |
|
|
|
}); |
|
|
|
}, |
|
|
|
submitForm() { |
|
|
|
// 提交按钮 |
|
|
|
this.$refs["form"].validate((valid) => { |
|
|
|
if (valid) { |
|
|
|
if (this.item) { |
|
|
|
put(this.url.updateUrl, this.form).then((res) => { |
|
|
|
if (res.code === 200) { |
|
|
|
this.msgSuccess("修改成功"); |
|
|
|
this.$emit("editCallBack"); |
|
|
|
} else { |
|
|
|
this.msgError(res.msg); |
|
|
|
} |
|
|
|
}); |
|
|
|
} else { |
|
|
|
post(this.url.addUrl, this.form).then((res) => { |
|
|
|
if (res.code === 200) { |
|
|
|
this.msgSuccess("新增成功"); |
|
|
|
this.$emit("editCallBack"); |
|
|
|
} else { |
|
|
|
this.msgError(res.msg); |
|
|
|
} |
|
|
|
}); |
|
|
|
} |
|
|
|
} |
|
|
|
}); |
|
|
|
}, |
|
|
|
cancel() { // 取消按钮 |
|
|
|
this.$emit('update:isShowDialog','') |
|
|
|
}, |
|
|
|
handleAdd() { // 新增按钮操作 |
|
|
|
this.title = '添加' |
|
|
|
}, |
|
|
|
handleUpdate(row) { // 修改按钮操作 |
|
|
|
get(`/admin/etl/taskhead/get/${row['TaskHead-TaskId']}`).then(res => { |
|
|
|
this.form = res.data |
|
|
|
this.title = '修改' |
|
|
|
}) |
|
|
|
}, |
|
|
|
submitForm() { // 提交按钮 |
|
|
|
this.$refs['form'].validate(valid => { |
|
|
|
if (valid) { |
|
|
|
if (this.item) { |
|
|
|
put(this.url.updateUrl, this.form).then(res => { |
|
|
|
if (res.code === 200) { |
|
|
|
this.msgSuccess('修改成功') |
|
|
|
this.$emit('editCallBack') |
|
|
|
} else { |
|
|
|
this.msgError(res.msg) |
|
|
|
} |
|
|
|
}) |
|
|
|
} else { |
|
|
|
post(this.url.addUrl, this.form).then(res => { |
|
|
|
if (res.code === 200) { |
|
|
|
this.msgSuccess('新增成功') |
|
|
|
this.$emit('editCallBack') |
|
|
|
} else { |
|
|
|
this.msgError(res.msg) |
|
|
|
} |
|
|
|
}) |
|
|
|
} |
|
|
|
} |
|
|
|
}) |
|
|
|
}, |
|
|
|
} |
|
|
|
} |
|
|
|
</script> |
|
|
|
}, |
|
|
|
}; |
|
|
|
</script> |