File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ <template >
2+ <el-dialog
3+ v-model =" dialogVisible"
4+ title =" Add Datasource"
5+ width =" 500"
6+ >
7+ <el-form :model =" form" label-width =" auto" >
8+ <el-form-item label =" Name" >
9+ <el-input v-model =" form.name" />
10+ </el-form-item >
11+ <el-form-item label =" Host/Ip" >
12+ <el-input v-model =" form.host" />
13+ </el-form-item >
14+ <el-form-item label =" Port" >
15+ <el-input v-model =" form.port" />
16+ </el-form-item >
17+ <el-form-item label =" Username" >
18+ <el-input v-model =" form.username" />
19+ </el-form-item >
20+ <el-form-item label =" Password" >
21+ <el-input v-model =" form.password" />
22+ </el-form-item >
23+ <el-form-item label =" Database" >
24+ <el-input v-model =" form.database" />
25+ </el-form-item >
26+
27+ <el-form-item >
28+ <el-button >Test Connect</el-button >
29+ <el-button type =" primary" @click =" save" >Save</el-button >
30+ </el-form-item >
31+ </el-form >
32+ </el-dialog >
33+ </template >
34+ <script lang="ts" setup>
35+ import { reactive } from ' vue'
36+ import { ref } from ' vue'
37+ const dialogVisible = ref <boolean >(false )
38+ const form = reactive ({
39+ name:' ' ,
40+ host:' ' ,
41+ port:0 ,
42+ username:' ' ,
43+ password:' ' ,
44+ database:' '
45+ })
46+
47+ const open = () => {
48+ dialogVisible .value = true
49+ }
50+
51+ const save = () => {
52+
53+ }
54+
55+ defineExpose ({ open })
56+ </script >
57+ <style lang="less" scoped>
58+ </style >
Original file line number Diff line number Diff line change 33 <div class =" header" >
44 <div class =" mt-4" >
55 <el-input
6- v-model =" input3 "
6+ v-model =" search "
77 style =" max-width : 300px "
88 placeholder =" Search Datasource..."
99 class =" input-with-select"
1414 </el-input >
1515 </div >
1616
17- <el-button type =" primary" :icon =" IconOpeAdd" >Add Datasource</el-button >
17+ <el-button type =" primary" :icon =" IconOpeAdd" @click = " addDs " >Add Datasource</el-button >
1818 </div >
1919
2020 <div class =" connections-container" >
4343 </div >
4444 </div >
4545 </div >
46+ <DsForm ref =" dsForm" />
4647</template >
4748<script lang="ts" setup>
4849import IconOpeAdd from ' @/assets/svg/operate/ope-add.svg'
4950import IconOpeEdit from ' @/assets/svg/operate/ope-edit.svg'
5051import IconOpeDelete from ' @/assets/svg/operate/ope-delete.svg'
5152import { Search } from ' @element-plus/icons-vue'
53+ import { ref } from ' vue'
54+ import DsForm from ' ./form.vue'
55+
56+ const search = ref <string >(' ' )
57+ const dsForm = ref ()
58+
5259const mockData = [
5360 {
5461 name:' 1' ,
@@ -133,7 +140,7 @@ const mockData = [
133140 }
134141]
135142
136- const getStatus = function (status : string ) {
143+ const getStatus = (status : string ) => {
137144 if (status === ' On' ) {
138145 return ' connected'
139146 }
@@ -144,6 +151,10 @@ const getStatus = function(status: string) {
144151 return ' needs-verification'
145152 }
146153}
154+
155+ const addDs = () => {
156+ dsForm .value .open ()
157+ }
147158 </script >
148159<style lang="less" scoped>
149160.header {
You can’t perform that action at this time.
0 commit comments