DESKTOP-B78GIPM\admin 2 年 前
コミット
32e8305c51
共有1 個のファイルを変更した56 個の追加14 個の削除を含む
  1. 56 14
      src/views/room/modules/checkIn/BillRoomForm.vue

+ 56 - 14
src/views/room/modules/checkIn/BillRoomForm.vue

@@ -502,29 +502,48 @@
                     </a-select>
                   </a-form-model-item>
                 </a-col>
-                <a-col :span="12" v-if="model.orderInfo.customerType === 2">
-                  <a-form-model-item
+                <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"
+                    :labelCol="{
+                              xs: { span: 24 },
+                              sm: { span: 2 },
+                            }"
+                            :wrapperCol="{
+                              xs: { span: 24 },
+                              sm: { span: 22 },
+                            }"
                     prop="orderInfo.vipCustomerId"
                   >
-                    <a-select
-                      placeholder="会员"
-                      option-label-prop="label"
-                      v-model="model.orderInfo.vipCustomerId"
-                      @change="vipCustomerIdChange(model.orderInfo.vipCustomerId)"
-                    >
-                      <a-select-option
+                        <a-auto-complete v-model="vipCustomerData.name" @select="(e)=>handleSelectVip(e)" @search="handleSearchVip">
+                      <template slot="dataSource">
+                        <a-select-option
                         :key="item.id"
                         :value="item.id"
                         :label="item.name"
                         v-for="(item, index) in busMemberCardList"
                       >
-                        {{ item.name }}-{{ item.gradeName }}-{{ item.balance }}
+                      {{ item.name }}-{{ item.gradeName }}-{{ item.balance }}
                       </a-select-option>
-                    </a-select>
-                  </a-form-model-item>
+                      </template>
+                    </a-auto-complete>
+                    </a-form-model-item>
+                      </p>
+                      <p>
+                        <a-row>
+                          <a-col :span="8">名称:{{ vipCustomerData.name }}</a-col>
+                          <a-col :span="8">电话:{{ vipCustomerData.mobile }}</a-col>
+                          <a-col :span="8">级别:{{ vipCustomerData.gradeName }}</a-col>
+                        </a-row>
+                        <a-row>
+                          <a-col :span="8">余额:{{ vipCustomerData.balance }}</a-col>
+                          <a-col :span="8">积分:{{ vipCustomerData.integral }}</a-col>
+                          <a-col :span="8">卡号:{{ vipCustomerData.cardNo }}</a-col>
+                        </a-row>
+                      </p>
+                    </a-card>
                 </a-col>
                 <a-col :span="12" v-if="model.orderInfo.customerType === 3">
                   <a-form-model-item
@@ -1007,6 +1026,8 @@ export default {
   },
   data() {
     return {
+      //会员选中数据
+      vipCustomerData: {},
       otherRoomSync: false,
       payPalModel: { list: [{ key1: "", key2: "", key3: "" }] },
       depositSplit: true,
@@ -1101,6 +1122,7 @@ export default {
       roomLayoutList: [],
       amount: 0,
       roomIdsIndex: 0,
+      oldBusMemberCardList:[],
       busMemberCardList: [],
       payTypeList: [],
       busMemberCard: {},
@@ -1337,6 +1359,7 @@ export default {
     }).then((res) => {
       if (res.success) {
         this.busMemberCardList = res.result.records;
+        this.oldBusMemberCardList = JSON.parse(JSON.stringify(this.busMemberCardList));
       }
     });
     getAction("/business/busMarketAgreementUnit/list", {
@@ -1379,6 +1402,25 @@ export default {
     //  this.getcesRoomLayout();
   },
   methods: {
+
+    handleSearchVip(value){
+      let result;
+      if (!value) {
+        result = this.oldBusMemberCardList;
+      } else {
+        result = this.oldBusMemberCardList.filter((t) => t.name.includes(value));
+      }
+      this.busMemberCardList = JSON.parse(JSON.stringify(result));
+    },
+    handleSelectVip(value){
+      console.log(value);
+      // vipCustomerData
+      let result = this.busMemberCardList.find((t) => t.id == value);
+      this.model.orderInfo.vipCustomerId = value;
+      console.log(result);
+      this.vipCustomerData = result;
+    },
+
     loadOrderFees() {
       var orderFees = [];
       var roomIndex = 0;