Ver código fonte

fix钟点房计费方案关联房型筛选
fix会员查找

覃浩 2 anos atrás
pai
commit
3aa8568313
1 arquivos alterados com 165 adições e 270 exclusões
  1. 165 270
      src/views/room/modules/schedule/ScheduleRoomForm.vue

+ 165 - 270
src/views/room/modules/schedule/ScheduleRoomForm.vue

@@ -1,12 +1,7 @@
 <template>
   <a-spin :spinning="confirmLoading">
     <j-form-container :disabled="formDisabled">
-      <a-form-model
-        ref="form"
-        :model="model"
-        :rules="validatorRules"
-        slot="detail"
-      >
+      <a-form-model ref="form" :model="model" :rules="validatorRules" slot="detail">
         <a-row>
           <div style="display: flex; gap: 15px">
             <div style="width: 39%">
@@ -15,17 +10,9 @@
               </h4>
               <a-divider />
               <a-col :span="24">
-                <a-form-model-item
-                  label="入住类型"
-                  :labelCol="labelCol"
-                  :wrapperCol="wrapperCol"
-                  prop="orderInfo.bookingType"
-                >
-                  <a-select
-                    placeholder="入住类型"
-                    v-model="model.orderInfo.bookingType"
-                    @change="bookingTypeChange"
-                  >
+                <a-form-model-item label="入住类型" :labelCol="labelCol" :wrapperCol="wrapperCol"
+                  prop="orderInfo.bookingType">
+                  <a-select placeholder="入住类型" v-model="model.orderInfo.bookingType" @change="bookingTypeChange">
                     <a-select-option :value="1"> 全天 </a-select-option>
                     <a-select-option :value="2"> 钟点 </a-select-option>
                   </a-select>
@@ -33,160 +20,70 @@
               </a-col>
 
               <a-col :span="24">
-                <a-form-model-item
-                  label="预抵时间"
-                  :labelCol="labelCol"
-                  :wrapperCol="wrapperCol"
-                  prop="orderInfo.arrivalTime2"
-                >
-                  <j-date
-                    placeholder="预抵时间"
-                    v-model="model.orderInfo.arrivalTime2"
-                    style="width: 180px"
-                    :allowClear="false"
-                    :disabled-date="disabledDate"
-                    @change="arrivalTimeChange"
-                  />
-                  <a-time-picker
-                    style="width: 80px; margin-left: 2px"
-                    v-model="model.orderInfo.arrivalTimeSpan"
-                    :default-value="moment('12:00', 'HH:mm')"
-                    format="HH:mm"
-                    :allowClear="false"
-                    @change="arrivalTimeSpanChange"
-                  />
+                <a-form-model-item label="预抵时间" :labelCol="labelCol" :wrapperCol="wrapperCol"
+                  prop="orderInfo.arrivalTime2">
+                  <j-date placeholder="预抵时间" v-model="model.orderInfo.arrivalTime2" style="width: 180px"
+                    :allowClear="false" :disabled-date="disabledDate" @change="arrivalTimeChange" />
+                  <a-time-picker style="width: 80px; margin-left: 2px" v-model="model.orderInfo.arrivalTimeSpan"
+                    :default-value="moment('12:00', 'HH:mm')" format="HH:mm" :allowClear="false"
+                    @change="arrivalTimeSpanChange" />
                 </a-form-model-item>
               </a-col>
               <a-col :span="24">
-                <a-form-model-item
-                  label="预离时间"
-                  :labelCol="labelCol"
-                  :wrapperCol="wrapperCol"
-                  prop="orderInfo.dueOutTime2"
-                >
-                  <j-date
-                    placeholder="预离时间"
-                    v-model="model.orderInfo.dueOutTime2"
-                    style="width: 180px"
-                    :allowClear="false"
-                    :disabled-date="disabledDate"
-                    :disabled="model.orderInfo.bookingType === 2"
-                    @change="arrivalTimeChange2"
-                  />
-                  <a-time-picker
-                    style="width: 80px; margin-left: 2px"
-                    v-model="model.orderInfo.dueOutTimeSpan"
-                    format="HH:mm"
-                    :allowClear="false"
-                    :disabled="model.orderInfo.bookingType === 2"
-                  />
+                <a-form-model-item label="预离时间" :labelCol="labelCol" :wrapperCol="wrapperCol"
+                  prop="orderInfo.dueOutTime2">
+                  <j-date placeholder="预离时间" v-model="model.orderInfo.dueOutTime2" style="width: 180px"
+                    :allowClear="false" :disabled-date="disabledDate" :disabled="model.orderInfo.bookingType === 2"
+                    @change="arrivalTimeChange2" />
+                  <a-time-picker style="width: 80px; margin-left: 2px" v-model="model.orderInfo.dueOutTimeSpan"
+                    format="HH:mm" :allowClear="false" :disabled="model.orderInfo.bookingType === 2" />
                 </a-form-model-item>
               </a-col>
               <a-col :span="24">
-                <a-form-model-item
-                  label="客人来源"
-                  :labelCol="labelCol"
-                  :wrapperCol="wrapperCol"
-                  prop="orderInfo.customerSource"
-                >
-                  <a-select
-                    placeholder="客人来源"
-                    v-model="model.orderInfo.customerSource"
-                  >
-                    <a-select-option
-                      :value="item.id"
-                      v-for="(item, index) in customerSourceList"
-                      :key="item.id"
-                    >
+                <a-form-model-item label="客人来源" :labelCol="labelCol" :wrapperCol="wrapperCol"
+                  prop="orderInfo.customerSource">
+                  <a-select placeholder="客人来源" v-model="model.orderInfo.customerSource">
+                    <a-select-option :value="item.id" v-for="(item, index) in customerSourceList" :key="item.id">
                       {{ item.itemText }}
                     </a-select-option>
                   </a-select>
                 </a-form-model-item>
               </a-col>
               <a-col :span="24" v-if="model.orderInfo.bookingType == 2">
-                <a-form-model-item
-                  label="时长"
-                  :labelCol="labelCol"
-                  :wrapperCol="wrapperCol"
-                  prop="orderInfo.hourRoomId"
-                >
-                  <a-select
-                    placeholder="时长"
-                    v-model="model.orderInfo.hourRoomId"
-                    @change="hourRoomIdChange"
-                  >
-                    <a-select-option
-                      :value="item.id"
-                      v-for="(item, index) in hourRoomRuleList"
-                      :key="item.id"
-                    >
+                <a-form-model-item label="时长" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="orderInfo.hourRoomId">
+                  <a-select placeholder="时长" v-model="model.orderInfo.hourRoomId" @change="hourRoomIdChange">
+                    <a-select-option :value="item.id" v-for="(item, index) in hourRoomRuleList" :key="item.id">
                       {{ item.hourRoomName }}
                     </a-select-option>
                   </a-select>
                 </a-form-model-item>
               </a-col>
               <a-col :span="24" v-else>
-                <a-form-model-item
-                  label="天数"
-                  :labelCol="labelCol"
-                  :wrapperCol="wrapperCol"
-                  prop="orderInfo.dayCount"
-                >
-                  <a-input-number
-                    v-model="model.orderInfo.dayCount"
-                    placeholder="天数"
-                    :min="1"
-                    @change="dayCountChange"
-                  ></a-input-number>
+                <a-form-model-item label="天数" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="orderInfo.dayCount">
+                  <a-input-number v-model="model.orderInfo.dayCount" placeholder="天数" :min="1"
+                    @change="dayCountChange"></a-input-number>
                 </a-form-model-item>
               </a-col>
 
               <a-col :span="24">
-                <a-form-model-item
-                  label="早餐"
-                  :labelCol="labelCol"
-                  :wrapperCol="wrapperCol"
-                  prop="orderInfo.breakfastNum"
-                >
-                  <a-input-number
-                    v-model="model.orderInfo.breakfastNum"
-                    placeholder="早餐"
-                    :min="0"
-                  ></a-input-number>
+                <a-form-model-item label="早餐" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="orderInfo.breakfastNum">
+                  <a-input-number v-model="model.orderInfo.breakfastNum" placeholder="早餐" :min="0"></a-input-number>
                 </a-form-model-item>
               </a-col>
               <a-col :span="24">
-                <a-form-model-item
-                  label="预定方式"
-                  :labelCol="labelCol"
-                  :wrapperCol="wrapperCol"
-                  prop="orderInfo.bookingDicWay"
-                >
-                  <a-select
-                    placeholder="预定方式"
-                    v-model="model.orderInfo.bookingDicWay"
-                  >
-                    <a-select-option
-                      :value="item.id"
-                      v-for="(item, index) in bookingdicWayList"
-                      :key="item.id"
-                    >
+                <a-form-model-item label="预定方式" :labelCol="labelCol" :wrapperCol="wrapperCol"
+                  prop="orderInfo.bookingDicWay">
+                  <a-select placeholder="预定方式" v-model="model.orderInfo.bookingDicWay">
+                    <a-select-option :value="item.id" v-for="(item, index) in bookingdicWayList" :key="item.id">
                       {{ item.itemText }}
                     </a-select-option>
                   </a-select>
                 </a-form-model-item>
               </a-col>
               <a-col :span="24">
-                <a-form-model-item
-                  label="客人类型"
-                  :labelCol="labelCol"
-                  :wrapperCol="wrapperCol"
-                  prop="orderInfo.customerType"
-                >
-                  <a-select
-                    placeholder="客人类型"
-                    v-model="model.orderInfo.customerType"
-                  >
+                <a-form-model-item label="客人类型" :labelCol="labelCol" :wrapperCol="wrapperCol"
+                  prop="orderInfo.customerType">
+                  <a-select placeholder="客人类型" v-model="model.orderInfo.customerType" @change="customerTypeChange">
                     <a-select-option :value="1"> 散客 </a-select-option>
                     <a-select-option :value="2"> 会员 </a-select-option>
                     <a-select-option :value="3"> 协议单位 </a-select-option>
@@ -194,17 +91,39 @@
                   </a-select>
                 </a-form-model-item>
               </a-col>
+              <a-col :span="24" v-if="model.orderInfo.customerType == 2">
+                <a-card :bordered="true" style="width: 100%;padding: 0 !important;">
+                  <p>
+                    <a-form-model-item label="选择会员" :labelCol="labelCol" :wrapperCol="wrapperCol"
+                      prop="orderInfo.vipCustomerId">
+                      <a-auto-complete v-model="vipInfo.name" placeholder="选择会员" @search="handleVipSearch"
+                        @select="(e) => handleSelectVipMember(e)">
+                        <template slot="dataSource">
+                          <a-select-option v-for="item in vipList" :key="item.id">{{ item.name }}-{{ item.mobile
+                          }}</a-select-option>
+                        </template>
+                      </a-auto-complete>
+                    </a-form-model-item>
+                  </p>
+                  <p>
+                    <a-row>
+                      <a-col :span="8">名称:{{ vipInfo.name }}</a-col>
+                      <a-col :span="8">电话:{{ vipInfo.mobile }}</a-col>
+                      <a-col :span="8">级别:{{ vipInfo.gradeName }}</a-col>
+                    </a-row>
+                    <a-row>
+                      <a-col :span="8">余额:{{ vipInfo.balance }}</a-col>
+                      <a-col :span="8">积分:{{ vipInfo.integral }}</a-col>
+                      <a-col :span="8">卡号:{{ vipInfo.cardNo }}</a-col>
+                    </a-row>
+                  </p>
+                </a-card>
+
+              </a-col>
               <a-col :span="24" v-if="model.orderInfo.bookingType === 1">
-                <a-form-model-item
-                  label="房价方案"
-                  :labelCol="labelCol"
-                  :wrapperCol="wrapperCol"
-                  prop="orderInfo.roomPriceSlnId"
-                >
-                  <a-select
-                    placeholder="房价方案"
-                    v-model="model.orderInfo.roomPriceSlnId"
-                  >
+                <a-form-model-item label="房价方案" :labelCol="labelCol" :wrapperCol="wrapperCol"
+                  prop="orderInfo.roomPriceSlnId">
+                  <a-select placeholder="房价方案" v-model="model.orderInfo.roomPriceSlnId">
                     <a-select-option value="会员价"> 会员价 </a-select-option>
                     <a-select-option value="平日价"> 平日价 </a-select-option>
                   </a-select>
@@ -215,49 +134,25 @@
               </h4>
               <a-divider />
               <a-col :span="24">
-                <a-form-model-item
-                  label="联系人"
-                  :labelCol="labelCol"
-                  :wrapperCol="wrapperCol"
-                  prop="contactName"
-                >
-                  <a-auto-complete
-                    v-model="model.contactName"
-                    placeholder="联系人"
-                    @search="handleSearch"
-                    @select="(e) => handleSelectMember(e)"
-                  >
+                <a-form-model-item label="联系人" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="contactName">
+                  <a-auto-complete v-model="model.contactName" placeholder="联系人" @search="handleSearch"
+                    @select="(e) => handleSelectMember(e)">
                     <template slot="dataSource">
-                      <a-select-option
-                        v-for="item in customerList"
-                        :key="item.id"
-                        >{{ item.name }}-{{ item.phone }}</a-select-option
-                      >
+                      <a-select-option v-for="item in customerList" :key="item.id">{{ item.name }}-{{ item.phone
+                      }}</a-select-option>
                     </template>
                   </a-auto-complete>
                 </a-form-model-item>
               </a-col>
               <a-col :span="24">
-                <a-form-model-item
-                  label="电话"
-                  :labelCol="labelCol"
-                  :wrapperCol="wrapperCol"
-                  prop="phone"
-                >
+                <a-form-model-item label="电话" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="phone">
                   <a-input v-model="model.phone" placeholder="电话"></a-input>
                 </a-form-model-item>
               </a-col>
               <a-col :span="24">
-                <a-form-model-item
-                  label="担保方式"
-                  :labelCol="labelCol"
-                  :wrapperCol="wrapperCol"
-                  prop="orderInfo.warrantType"
-                >
-                  <a-select
-                    placeholder="担保方式"
-                    v-model="model.orderInfo.warrantType"
-                  >
+                <a-form-model-item label="担保方式" :labelCol="labelCol" :wrapperCol="wrapperCol"
+                  prop="orderInfo.warrantType">
+                  <a-select placeholder="担保方式" v-model="model.orderInfo.warrantType">
                     <a-select-option :value="1"> 无担保 </a-select-option>
                     <a-select-option :value="2"> 有担保 </a-select-option>
                     <a-select-option :value="3"> OTA担保 </a-select-option>
@@ -265,51 +160,23 @@
                 </a-form-model-item>
               </a-col>
               <a-col :span="24">
-                <a-form-model-item
-                  label="销售员"
-                  :labelCol="labelCol"
-                  :wrapperCol="wrapperCol"
-                  prop="orderInfo.warranter"
-                >
-                  <a-select
-                    placeholder="销售员"
-                    v-model="model.orderInfo.warranter"
-                  >
-                    <a-select-option
-                      :value="item.id"
-                      v-for="item in warranterList"
-                      :key="item.id"
-                    >
+                <a-form-model-item label="销售员" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="orderInfo.warranter">
+                  <a-select placeholder="销售员" v-model="model.orderInfo.warranter">
+                    <a-select-option :value="item.id" v-for="item in warranterList" :key="item.id">
                       {{ item.name }}
                     </a-select-option>
                   </a-select>
                 </a-form-model-item>
               </a-col>
               <a-col :span="24">
-                <a-form-model-item
-                  label="外部单号"
-                  :labelCol="labelCol"
-                  :wrapperCol="wrapperCol"
-                  prop="orderInfo.outerOrdersNo"
-                >
-                  <a-input
-                    v-model="model.orderInfo.outerOrdersNo"
-                    placeholder="外部单号"
-                  ></a-input>
+                <a-form-model-item label="外部单号" :labelCol="labelCol" :wrapperCol="wrapperCol"
+                  prop="orderInfo.outerOrdersNo">
+                  <a-input v-model="model.orderInfo.outerOrdersNo" placeholder="外部单号"></a-input>
                 </a-form-model-item>
               </a-col>
               <a-col :span="24">
-                <a-form-model-item
-                  label="备注"
-                  :labelCol="labelCol"
-                  :wrapperCol="wrapperCol"
-                  prop="orderInfo.remark"
-                >
-                  <a-textarea
-                    v-model="model.orderInfo.remark"
-                    rows="4"
-                    placeholder="备注"
-                  />
+                <a-form-model-item label="备注" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="orderInfo.remark">
+                  <a-textarea v-model="model.orderInfo.remark" rows="4" placeholder="备注" />
                 </a-form-model-item>
               </a-col>
             </div>
@@ -322,33 +189,15 @@
                 <span>占房天数:{{ model.orderInfo.dayCount }}晚</span>
                 <span style="padding-left: 10px">总价:{{ amount }}</span>
               </p>
-              <a-table
-                v-if="canUserRoomsShow"
-                :columns="columns"
-                :data-source="canUserRooms"
-                :pagination="false"
-                :rowKey="rowKey"
-              >
-                <div
-                  slot="expandedRowRender"
-                  slot-scope="record, index, indent, expanded"
-                  style="margin: 0"
-                >
+              <a-table v-if="canUserRoomsShow" :columns="columns" :data-source="canUserRooms" :pagination="false"
+                :rowKey="rowKey">
+                <div slot="expandedRowRender" slot-scope="record, index, indent, expanded" style="margin: 0">
                   <p>
                     已排房:
-                    <template
-                      v-for="(building, bIndex) in record.buildingRooms"
-                    >
-                      <a-tag
-                        color="blue"
-                        closable
-                        :visible="visible"
-                        @close.stop="tagClose2(rindex, bIndex, index)"
-                        v-for="(item, rindex) in building.floorRooms"
-                        :key="rindex"
-                        v-if="item.check && item.check == 1"
-                        >{{ item.name }}</a-tag
-                      >
+                    <template v-for="(building, bIndex) in record.buildingRooms">
+                      <a-tag color="blue" closable :visible="visible" @close.stop="tagClose2(rindex, bIndex, index)"
+                        v-for="(item, rindex) in building.floorRooms" :key="rindex"
+                        v-if="item.check && item.check == 1">{{ item.name }}</a-tag>
                       <!-- <a-tag
                         color="blue"
                         closable
@@ -371,24 +220,24 @@
                     :text="record.layout.favPrice"
                     @change="onCellChange('favPrice', index, $event)"
                   /> -->
-                  {{ record.layout.favPrice }}
+                  <span
+                    v-if="(model.orderInfo.bookingType == 2 && supportLayoutIds.indexOf(record.layout.id) > -1) || model.orderInfo.bookingType == 1">
+                    {{ record.layout.favPrice }}
+                  </span>
+                  <span v-else style="color:red;font-size: .8em;">
+                    不支持此时长
+                  </span>
                 </template>
                 <template slot="presetNum" slot-scope="text, record, index">
                   <div>
                     <a-input-number
-                      v-model="record.layout.presetNum"
-                      :min="(record.rooms || []).length"
-                      :max="record.layout.oldTags"
-                      @change="presetNumChange($event, record)"
-                    />
+                      :disabled="model.orderInfo.bookingType == 2 && supportLayoutIds.indexOf(record.layout.id) == -1"
+                      v-model="record.layout.presetNum" :min="(record.rooms || []).length" :max="record.layout.oldTags"
+                      @change="presetNumChange($event, record)" />
                   </div>
                 </template>
                 <span slot="action" slot-scope="text, record, index">
-                  <a
-                    :disabled="record.layout.presetNum <= 0"
-                    @click="pulsRoom(index)"
-                    >排房</a
-                  >
+                  <a :disabled="record.layout.presetNum <= 0" @click="pulsRoom(index)">排房</a>
                 </span>
               </a-table>
             </div>
@@ -396,10 +245,7 @@
         </a-row>
       </a-form-model>
     </j-form-container>
-    <select-room-form-modal
-      ref="modalSelectRoomForm"
-      @ok="modalFormOk"
-    ></select-room-form-modal>
+    <select-room-form-modal ref="modalSelectRoomForm" @ok="modalFormOk"></select-room-form-modal>
   </a-spin>
 </template>
 
@@ -507,10 +353,20 @@ export default {
           warrantType: 1,
           hourRoomId: "",
           breakfastNum: 0,
+          vipCustomerId: ""
         },
+
         roomIds: [],
         layoutDayPrices: [],
       },
+      vipInfo: {
+        name: '',
+        mobile: '',
+        gradeName: '',
+        balance: 0,
+        integral: 0,
+        cardNo: ''
+      },
       labelCol: {
         xs: { span: 24 },
         sm: { span: 5 },
@@ -539,6 +395,10 @@ export default {
         "orderInfo.customerType": [
           { required: true, message: "请选择客人类型!" },
         ],
+        "orderInfo.vipCustomerId": [{
+          required: true,
+          message: "请选择VIP!"
+        }],
         contactName: [{ required: true, message: "请输入联系人!" }],
         phone: [{ required: true, message: "请输入电话!" }],
       },
@@ -550,12 +410,15 @@ export default {
       result: [],
       selectIndex: 0,
       customerSourceList: [],
+      vipList: [],
+      oldVipList: [],
       bookingdicWayList: [],
       warranterList: [],
       hourRoomRuleList: [],
       canUserRooms: [],
       customerList: [],
       oldcustomerList: [],
+      supportLayoutIds: []
     };
   },
   computed: {
@@ -586,6 +449,16 @@ export default {
         this.customerSourceList = res.result.records;
       }
     });
+    getAction("/business/busMemberCard/list", {
+      hotelId: _info.id,
+      pageNo: 1,
+      pageSize: 99999
+    }).then((res) => {
+      if (res.success) {
+        this.vipList = res.result.records;
+        this.oldVipList = JSON.parse(JSON.stringify(this.vipList));
+      }
+    });
     getAction("/business/busDictItem/list", {
       hotelId: _info.id,
       dictId: "1639544187093995521",
@@ -643,6 +516,11 @@ export default {
       console.log(e);
       record.layout.canUseCount = record.layout.oldTags - e;
     },
+    customerTypeChange() {
+      if (this.model.orderInfo.customerType == 2) {
+
+      }
+    },
     onCellChange(key, dataIndex, value) {
       const dataSource = [...this.canUserRooms];
       const target = dataSource[dataIndex];
@@ -693,6 +571,7 @@ export default {
         this.model.orderInfo.hourRoomId = "";
       } else {
         var hourRoomRule = this.hourRoomRuleList[0];
+        this.supportLayoutIds = (hourRoomRule.layoutIds || '').split(',') || []
         if (hourRoomRule) {
           this.model.orderInfo.hourRoomId = hourRoomRule.id;
         }
@@ -704,8 +583,8 @@ export default {
         if (find) {
           var mDate = moment(
             this.model.orderInfo.arrivalTime2 +
-              " " +
-              moment(this.model.orderInfo.arrivalTimeSpan).format("HH:mm")
+            " " +
+            moment(this.model.orderInfo.arrivalTimeSpan).format("HH:mm")
           ).add(find.afterOpenRoom, "minutes");
           this.model.orderInfo.dueOutTime2 = mDate.format("YYYY-MM-DD");
 
@@ -735,7 +614,7 @@ export default {
       var v = parseInt(
         (new Date(this.model.orderInfo.dueOutTime2).getTime() -
           new Date(this.model.orderInfo.arrivalTime2).getTime()) /
-          (1000 * 60 * 60 * 24)
+        (1000 * 60 * 60 * 24)
       );
       if (v <= 0) {
         this.model.orderInfo.dueOutTime2 = moment(
@@ -747,7 +626,7 @@ export default {
       v = parseInt(
         (new Date(this.model.orderInfo.dueOutTime2).getTime() -
           new Date(this.model.orderInfo.arrivalTime2).getTime()) /
-          (1000 * 60 * 60 * 24)
+        (1000 * 60 * 60 * 24)
       );
       this.model.orderInfo.dayCount = Math.abs(v);
       this.loadRooms();
@@ -756,7 +635,7 @@ export default {
       var v = parseInt(
         (new Date(this.model.orderInfo.dueOutTime2).getTime() -
           new Date(this.model.orderInfo.arrivalTime2).getTime()) /
-          (1000 * 60 * 60 * 24)
+        (1000 * 60 * 60 * 24)
       );
       if (v <= 0) {
         this.model.orderInfo.arrivalTime2 = moment(
@@ -768,7 +647,7 @@ export default {
       v = parseInt(
         (new Date(this.model.orderInfo.dueOutTime2).getTime() -
           new Date(this.model.orderInfo.arrivalTime2).getTime()) /
-          (1000 * 60 * 60 * 24)
+        (1000 * 60 * 60 * 24)
       );
       this.model.orderInfo.dayCount = Math.abs(v);
       this.loadRooms();
@@ -783,8 +662,8 @@ export default {
         if (find) {
           var mDate = moment(
             this.model.orderInfo.arrivalTime2 +
-              " " +
-              moment(this.model.orderInfo.arrivalTimeSpan).format("HH:mm")
+            " " +
+            moment(this.model.orderInfo.arrivalTimeSpan).format("HH:mm")
           ).add(find.afterOpenRoom, "minutes");
           this.model.orderInfo.dueOutTime2 = mDate.format("YYYY-MM-DD");
 
@@ -802,10 +681,11 @@ export default {
           (t) => t.id === this.model.orderInfo.hourRoomId
         );
         if (find) {
+          this.supportLayoutIds = (find.layoutIds || '').split(',') || []
           var mDate = moment(
             this.model.orderInfo.arrivalTime2 +
-              " " +
-              moment(this.model.orderInfo.arrivalTimeSpan).format("HH:mm")
+            " " +
+            moment(this.model.orderInfo.arrivalTimeSpan).format("HH:mm")
           ).add(find.afterOpenRoom, "minutes");
           this.model.orderInfo.dueOutTime2 = mDate.format("YYYY-MM-DD");
 
@@ -855,12 +735,26 @@ export default {
       }
       this.customerList = result;
     },
+    handleVipSearch(value) {
+      let result;
+      if (!value) {
+        result = this.oldVipList;
+      } else {
+        result = this.oldVipList.filter((t) => t.name.includes(value));
+      }
+      this.vipList = result;
+    },
     handleSelectMember(e) {
       var find = this.customerList.find((t) => t.id === e);
       this.model.phone = find.phone;
       this.model.contactName = find.name;
       this.model.orderInfo.contactId = find.id;
     },
+    handleSelectVipMember(e) {
+      var find = this.vipList.find((t) => t.id === e);
+      this.model.orderInfo.vipCustomerId = find.id
+      this.vipInfo = find
+    },
     moment,
     onChange(date, dateString) {
       console.log(date, dateString);
@@ -869,7 +763,7 @@ export default {
       this.edit(this.modelDefault);
     },
     addList(roomLiveList, key) {
-      console.log('roomLiveList',roomLiveList)
+      console.log('roomLiveList', roomLiveList)
       this.modelDefault = Object.assign({}, this.modelDefault, {
         rooms: roomLiveList,
       });
@@ -993,6 +887,7 @@ export default {
 /deep/.ant-divider-horizontal {
   margin: 12px 0 !important;
 }
+
 /deep/ .ant-form-item {
   margin-bottom: 5px !important;
 }