Skip to content

Commit d45ebd4

Browse files
committed
主子表:暂时存储,样式跑通
1 parent 4e413a1 commit d45ebd4

File tree

2 files changed

+49
-31
lines changed

2 files changed

+49
-31
lines changed

src/views/infra/demo02/DemoStudentContactForm.vue

Lines changed: 31 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,15 @@
11
<template>
2-
<!-- <el-row :gutter="10" class="mb2">-->
3-
<!-- <el-col :span="1.5">-->
4-
<!-- <el-button type="primary" @click="handleAdd">添加</el-button>-->
5-
<!-- </el-col>-->
6-
<!-- <el-col :span="1.5">-->
7-
<!-- <el-button type="danger">删除</el-button>-->
8-
<!-- </el-col>-->
9-
<!-- </el-row>-->
102
<el-table
113
:data="formData"
124
@selection-change="handleDemoStudentContactSelectionChange"
135
ref="demoStudentContactRef"
146
:stripe="true"
7+
class="-mt-10px"
158
>
169
<el-table-column label="序号" type="index" width="100" />
1710
<el-table-column label="名字" prop="name" width="300">
1811
<template #default="scope">
19-
<el-form-item label-width="0px" :inline-message="true">
12+
<el-form-item label-width="0px" :inline-message="true" class="mb-0px!">
2013
<el-input v-model="scope.row.name" placeholder="请输入名字" />
2114
</el-form-item>
2215
</template>
@@ -25,26 +18,37 @@
2518
<template #default="{ row, $index }">
2619
<el-form-item
2720
label-width="0px"
28-
:prop="`formData.${$index}.mobile`"
21+
:prop="`demoStudentContactList.${$index}.mobile`"
2922
:rules="formRules.mobile"
3023
:inline-message="true"
24+
class="mb-0px!"
3125
>
3226
<el-input type="number" placeholder="输入手机号码" v-model="row.mobile" />
3327
</el-form-item>
3428
</template>
3529
</el-table-column>
30+
<el-table-column align="center" fixed="right" label="操作" width="60">
31+
<el-button @click="handleAdd" link>—</el-button>
32+
</el-table-column>
3633
</el-table>
37-
<el-button @click="handleAdd" class="w-1/1">+ 添加客户信息</el-button>
34+
<el-row justify="center" class="mt-3">
35+
<el-button @click="handleAdd" round>+ 添加联系人</el-button>
36+
</el-row>
3837
</template>
3938
<script setup lang="ts">
40-
const formData = ref([
41-
{
42-
name: '芋艿'
43-
},
44-
{
45-
name: '土豆'
46-
}
47-
])
39+
const props = defineProps<{
40+
formData: any[]
41+
}>()
42+
// const formData = ref([
43+
// {
44+
// name: '芋艿',
45+
// mobile: '15601691300'
46+
// },
47+
// {
48+
// name: '土豆',
49+
// mobile: '15601691234'
50+
// }
51+
// ])
4852
const formRules = reactive({
4953
mobile: [required]
5054
})
@@ -56,15 +60,19 @@ const handleDemoStudentContactSelectionChange = (val) => {
5660
const demoStudentContactRef = ref()
5761
5862
/** 新增按钮操作 */
63+
const emit = defineEmits(['update:formData'])
5964
const handleAdd = () => {
60-
formData.value.push({
61-
name: '测试'
62-
})
65+
emit('update:formData', [
66+
...props.formData,
67+
{
68+
name: '土豆'
69+
}
70+
])
6371
}
6472
6573
/** 删除按钮操作 */
6674
const handleRemove = () => {
67-
formData.value.push({
75+
formData.push({
6876
name: '测试'
6977
})
7078
}

src/views/infra/demo02/DemoStudentForm.vue

Lines changed: 18 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,16 +7,21 @@
77
label-width="100px"
88
v-loading="formLoading"
99
>
10-
<el-form-item label="表描述" prop="tableComment">
11-
<el-input v-model="formData.tableComment" placeholder="请输入" />
10+
<el-form-item label="字段 1" prop="field1">
11+
<el-input v-model="formData.field1" placeholder="请输入字段 1" />
12+
</el-form-item>
13+
<el-form-item label="字段 2" prop="field2">
14+
<el-input v-model="formData.field2" placeholder="请输入字段 2" />
15+
</el-form-item>
16+
<el-form-item label="字段 3" prop="field3">
17+
<el-input v-model="formData.field3" placeholder="请输入字段 3" />
1218
</el-form-item>
1319
<el-tabs v-model="activeName" class="demo-tabs" @tab-click="handleClick">
14-
<el-tab-pane label="User" name="first">
15-
<DemoStudentContactForm />
20+
<el-tab-pane label="联系人信息" name="first">
21+
<DemoStudentContactForm v-model:form-data="formData.demoStudentContactList" />
1622
</el-tab-pane>
17-
<el-tab-pane label="Config" name="second">Config</el-tab-pane>
18-
<el-tab-pane label="Role" name="third">Role</el-tab-pane>
19-
<el-tab-pane label="Task" name="fourth">Task</el-tab-pane>
23+
<el-tab-pane label="地址信息" name="third">地址信息</el-tab-pane>
24+
<el-tab-pane label="其它信息" name="fourth">其它信息</el-tab-pane>
2025
</el-tabs>
2126
</el-form>
2227
<template #footer>
@@ -38,7 +43,12 @@ const formLoading = ref(false) // 表单的加载中:1)修改时的数据加
3843
const formType = ref('') // 表单的类型:create - 新增;update - 修改
3944
const formData = ref({
4045
id: undefined,
41-
demoStudentContactList: []
46+
demoStudentContactList: [
47+
{
48+
name: '芋艿',
49+
mobile: '15601691300'
50+
}
51+
]
4252
})
4353
const formRules = reactive({})
4454
const formRef = ref() // 表单 Ref

0 commit comments

Comments
 (0)