vue 、element-ui酒店管理的客户信息
时间: 2023-08-04 18:30:44 浏览: 136
好的,对于Vue和Element-ui酒店管理的客户信息,我们可以通过以下步骤来实现:
1. 创建一个Vue组件用于客户信息管理页面,例如Customer.vue。
2. 在该组件中,定义数据属性用于保存所有客户信息的数组。
3. 在页面中使用Element-ui的表格组件,用于展示客户信息,并绑定对应的数据属性。
4. 在页面中添加按钮元素,用于添加客户信息和编辑客户信息,并绑定对应的方法。
5. 在对应的方法中,使用Element-ui的对话框组件,用于展示客户信息的表单,并处理用户输入的客户信息。
6. 在页面中添加删除客户信息的按钮,并绑定对应的方法。
下面是一个简单的示例代码:
```
<template>
<div>
<h1>客户信息管理</h1>
<el-button type="primary" @click="addCustomer">添加客户</el-button>
<el-table :data="customers" style="width: 100%">
<el-table-column prop="name" label="姓名"></el-table-column>
<el-table-column prop="phone" label="电话"></el-table-column>
<el-table-column prop="email" label="邮箱"></el-table-column>
<el-table-column label="操作">
<template slot-scope="scope">
<el-button type="text" @click="editCustomer(scope.row)">编辑</el-button>
<el-button type="text" @click="deleteCustomer(scope.row)">删除</el-button>
</template>
</el-table-column>
</el-table>
<el-dialog :visible.sync="dialogVisible" title="客户信息" :append-to-body="true">
<el-form :model="form" :rules="rules" ref="form">
<el-form-item label="姓名" prop="name">
<el-input v-model="form.name"></el-input>
</el-form-item>
<el-form-item label="电话" prop="phone">
<el-input v-model="form.phone"></el-input>
</el-form-item>
<el-form-item label="邮箱" prop="email">
<el-input v-model="form.email"></el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="dialogVisible = false">取消</el-button>
<el-button type="primary" @click="saveCustomer">保存</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
export default {
data () {
return {
customers: [],
dialogVisible: false,
form: {
name: '',
phone: '',
email: ''
},
rules: {
name: [
{ required: true, message: '请输入姓名', trigger: 'blur' }
],
phone: [
{ required: true, message: '请输入电话', trigger: 'blur' }
],
email: [
{ required: true, message: '请输入邮箱', trigger: 'blur' }
]
}
}
},
methods: {
addCustomer () {
this.dialogVisible = true
this.form = {
name: '',
phone: '',
email: ''
}
},
editCustomer (customer) {
this.dialogVisible = true
this.form = {
name: customer.name,
phone: customer.phone,
email: customer.email
}
},
saveCustomer () {
this.$refs.form.validate(valid => {
if (valid) {
// 验证通过,保存客户信息
if (this.form.id) {
// 编辑客户信息
const index = this.customers.findIndex(c => c.id === this.form.id)
this.customers.splice(index, 1, this.form)
} else {
// 添加客户信息
this.customers.push({
id: Date.now(),
name: this.form.name,
phone: this.form.phone,
email: this.form.email
})
}
this.dialogVisible = false
}
})
},
deleteCustomer (customer) {
this.$confirm(`是否删除客户 ${customer.name}?`, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
const index = this.customers.findIndex(c => c.id === customer.id)
this.customers.splice(index, 1)
}).catch(() => {})
}
}
}
</script>
```
以上代码仅供参考,具体实现方式可以根据实际情况进行调整。
阅读全文