|
|
@@ -0,0 +1,128 @@
|
|
|
+<template>
|
|
|
+ <a-modal
|
|
|
+ :visible="orderModalVisible"
|
|
|
+ title="预定详情"
|
|
|
+ cancelText="取消"
|
|
|
+ okText="下单"
|
|
|
+ @cancel="cancelOrder"
|
|
|
+ @ok="handleSubmit"
|
|
|
+ >
|
|
|
+ <a-form :form="form">
|
|
|
+ <a-form-item v-bind="formItemLayout" label="房型信息">
|
|
|
+ <span>{{ currentOrderRoom.roomType }}</span>
|
|
|
+ </a-form-item>
|
|
|
+ <a-form-item v-bind="formItemLayout" label="房间单价">
|
|
|
+ <span>{{ currentOrderRoom.price }}</span>
|
|
|
+ </a-form-item>
|
|
|
+ <a-form-item v-bind="formItemLayout" label="入住如期">
|
|
|
+ <a-range-picker
|
|
|
+ v-decorator="[
|
|
|
+ 'date',
|
|
|
+ {
|
|
|
+ rules: [{ required: true, message: '请选择入住时间' }]
|
|
|
+ }
|
|
|
+ ]"
|
|
|
+ :placeholder="['入住日期','退房日期']"
|
|
|
+ />
|
|
|
+ </a-form-item>
|
|
|
+ <a-form-item v-bind="formItemLayout" label="入住人数">
|
|
|
+ <a-select
|
|
|
+ v-decorator="[
|
|
|
+ 'peopleNum',
|
|
|
+ { rules: [{ required: true, message: '请选择入住人数' }] },
|
|
|
+ ]"
|
|
|
+ placeholder="请选择入住人数"
|
|
|
+ @change="changePeopleNum"
|
|
|
+ >
|
|
|
+ <a-select-option value="1">
|
|
|
+ 1
|
|
|
+ </a-select-option>
|
|
|
+ <a-select-option value="2">
|
|
|
+ 2
|
|
|
+ </a-select-option>
|
|
|
+ <a-select-option value="3">
|
|
|
+ 3
|
|
|
+ </a-select-option>
|
|
|
+ <a-select-option value="4">
|
|
|
+ 4
|
|
|
+ </a-select-option>
|
|
|
+ </a-select>
|
|
|
+ </a-form-item>
|
|
|
+ <a-form-item v-bind="formItemLayout" label="房费情况">
|
|
|
+ <span>¥{{ totalPrice }}</span>
|
|
|
+ </a-form-item>
|
|
|
+
|
|
|
+ <a-divider></a-divider>
|
|
|
+
|
|
|
+ <a-form-item v-bind="formItemLayout" label="入住人姓名">
|
|
|
+ <a-input
|
|
|
+ v-decorator="[
|
|
|
+ 'clientName',
|
|
|
+ { rules: [{required: true, message: '请填写入住人姓名', }] }
|
|
|
+ ]"
|
|
|
+ />
|
|
|
+ </a-form-item>
|
|
|
+ <a-form-item v-bind="formItemLayout" label="手机号">
|
|
|
+ <a-input
|
|
|
+ v-decorator="[
|
|
|
+ 'phoneNumber',
|
|
|
+ { rules: [{required: true, message: '请填写入住人联系手机', }] }
|
|
|
+ ]"
|
|
|
+ />
|
|
|
+ </a-form-item >
|
|
|
+ </a-form>
|
|
|
+ </a-modal>
|
|
|
+</template>
|
|
|
+<script>
|
|
|
+import { mapGetters, mapMutations } from 'vuex'
|
|
|
+export default {
|
|
|
+ name: 'orderModal',
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ formItemLayout: {
|
|
|
+ labelCol: {
|
|
|
+ xs: { span: 12 },
|
|
|
+ sm: { span: 6 },
|
|
|
+ },
|
|
|
+ wrapperCol: {
|
|
|
+ xs: { span: 24 },
|
|
|
+ sm: { span: 16 },
|
|
|
+ },
|
|
|
+ },
|
|
|
+ totalPrice: ''
|
|
|
+ }
|
|
|
+ },
|
|
|
+ computed: {
|
|
|
+ ...mapGetters([
|
|
|
+ 'orderModalVisible',
|
|
|
+ 'currentOrderRoom'
|
|
|
+ ]),
|
|
|
+
|
|
|
+ },
|
|
|
+ beforeCreate() {
|
|
|
+ this.form = this.$form.createForm(this, { name: 'orderModal' });
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ ...mapMutations([
|
|
|
+ 'set_orderModalVisible'
|
|
|
+ ]),
|
|
|
+ cancelOrder() {
|
|
|
+ this.set_orderModalVisible(false)
|
|
|
+ },
|
|
|
+ confirmOrder() {
|
|
|
+
|
|
|
+ },
|
|
|
+ changePeopleNum(v){
|
|
|
+ this.totalPrice = Number(v) * Number(this.currentOrderRoom.price)
|
|
|
+ },
|
|
|
+ handleSubmit(e) {
|
|
|
+ e.preventDefault();
|
|
|
+ this.form.validateFieldsAndScroll((err, values) => {
|
|
|
+ if (!err) {
|
|
|
+ console.log('Received values of form: ', values);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+ }
|
|
|
+}
|
|
|
+</script>
|