Browse Source

Merge branch 'master' of http://49.4.53.36:3000/hotel/hotel-saas-tenant-frontend

DESKTOP-B78GIPM\admin 2 years ago
parent
commit
ceb89ee433
1 changed files with 94 additions and 30 deletions
  1. 94 30
      src/views/room/modules/checkIn/BillRoomForm.vue

+ 94 - 30
src/views/room/modules/checkIn/BillRoomForm.vue

@@ -155,13 +155,6 @@
                           sm: { span: 16 },
                         }"
                         :prop="`roomIds[${aindex}].key4`"
-                        :rules="[
-                          {
-                            required: true,
-                            message: '请输身份证号!',
-                            trigger: 'change',
-                          },
-                        ]"
                       >
                         <a-input
                           v-model="room.key4"
@@ -175,13 +168,6 @@
                         :labelCol="labelCol"
                         :wrapperCol="wrapperCol"
                         :prop="`roomIds[${aindex}].key5`"
-                        :rules="[
-                          {
-                            required: true,
-                            message: '请输入手机号!',
-                            trigger: 'change',
-                          },
-                        ]"
                       >
                         <a-input
                           v-model="room.key5"
@@ -545,7 +531,7 @@
                       </p>
                     </a-card>
                 </a-col>
-                <a-col :span="12" v-if="model.orderInfo.customerType === 3">
+                <!-- <a-col :span="12" v-if="model.orderInfo.customerType === 3">
                   <a-form-model-item
                     label="协议单位"
                     :labelCol="labelCol"
@@ -568,10 +554,42 @@
                       </a-select-option>
                     </a-select>
                   </a-form-model-item>
-                </a-col>
-                <a-col :span="12"></a-col>
-                <a-col :span="12" v-if="model.orderInfo.customerType === 3">
-                  <a-form-model-item
+                </a-col> -->
+                <!-- <a-col :span="12"></a-col> -->
+                <a-col :span="24" v-if="model.orderInfo.customerType === 3">
+                  <!-- <a-form-model-item
+                    label="协议合同"
+                    :labelCol="labelCol"
+                    :wrapperCol="wrapperCol"
+                    prop="orderInfo.contractTeamProtocolId"
+                  >
+                    <span style="color:red;cursor: pointer;" @click="showAgreementUnitTable(model.orderInfo.contractTeamId)">{{ model.orderInfo.contractTeamProtocolName }}</span>
+                  </a-form-model-item> -->
+                  <a-card :bordered="true" style="width: 100%;padding: 0 !important;">
+                    <a-row>
+                      <a-col :span="12">
+                        <a-form-model-item
+                    label="协议单位"
+                    :labelCol="labelCol"
+                    :wrapperCol="wrapperCol"
+                    prop="orderInfo.contractTeamId"
+                  >
+                        <a-auto-complete v-model="agreementUnitData.customerName" @select="(e)=>handleSelectAgreementUnit(e)" @search="handleSearchAgreementUnit">
+                      <template slot="dataSource">
+                        <a-select-option
+                        :key="item.id"
+                        :value="item.id"
+                        :label="item.customerName"
+                        v-for="(item, index) in busMarketAgreementUnitList"
+                      >
+                      {{ item.customerName }}
+                      </a-select-option>
+                      </template>
+                    </a-auto-complete>
+                    </a-form-model-item>
+                      </a-col>
+                      <a-col :span="12">
+                        <a-form-model-item
                     label="协议合同"
                     :labelCol="labelCol"
                     :wrapperCol="wrapperCol"
@@ -579,6 +597,17 @@
                   >
                     <span style="color:red;cursor: pointer;" @click="showAgreementUnitTable(model.orderInfo.contractTeamId)">{{ model.orderInfo.contractTeamProtocolName }}</span>
                   </a-form-model-item>
+                        </a-col>
+                    </a-row>
+                      <p>
+                        <a-row>
+                          <a-col :span="12">名称:{{ agreementUnitData.customerName }}</a-col>
+                          <a-col :span="12">签约开始日期:{{ busMarketAgreementCustomer.signTime }}</a-col>
+                          <a-col :span="12">签约结束日期:{{ busMarketAgreementCustomer.effective }}</a-col>
+                          <a-col :span="12">可用额度:{{ agreementUnitData.balance||0 }}</a-col>
+                        </a-row>
+                      </p>
+                    </a-card>
                 </a-col>
                 <a-col :span="12">
                   <a-form-model-item
@@ -1028,6 +1057,8 @@ export default {
     return {
       //会员选中数据
       vipCustomerData: {},
+      agreementUnitData: { customerName: "" },
+      busMarketAgreementCustomer: {},
       otherRoomSync: false,
       payPalModel: { list: [{ key1: "", key2: "", key3: "" }] },
       depositSplit: true,
@@ -1122,10 +1153,11 @@ export default {
       roomLayoutList: [],
       amount: 0,
       roomIdsIndex: 0,
-      oldBusMemberCardList:[],
+      oldBusMemberCardList: [],
       busMemberCardList: [],
       payTypeList: [],
       busMemberCard: {},
+      oldBusMarketAgreementUnitList: [],
       busMarketAgreementUnitList: [],
       ruZhuHistoryList: [],
     };
@@ -1359,7 +1391,9 @@ export default {
     }).then((res) => {
       if (res.success) {
         this.busMemberCardList = res.result.records;
-        this.oldBusMemberCardList = JSON.parse(JSON.stringify(this.busMemberCardList));
+        this.oldBusMemberCardList = JSON.parse(
+          JSON.stringify(this.busMemberCardList)
+        );
       }
     });
     getAction("/business/busMarketAgreementUnit/list", {
@@ -1368,6 +1402,9 @@ export default {
     }).then((res) => {
       if (res.success) {
         this.busMarketAgreementUnitList = res.result.records;
+        this.oldBusMarketAgreementUnitList = JSON.parse(
+          JSON.stringify(res.result.records)
+        );
       }
     });
 
@@ -1402,24 +1439,45 @@ export default {
     //  this.getcesRoomLayout();
   },
   methods: {
-
-    handleSearchVip(value){
+    handleSearchAgreementUnit(value) {
+      let result;
+      if (!value) {
+        result = this.oldBusMarketAgreementUnitList;
+      } else {
+        result = this.oldBusMarketAgreementUnitList.filter((t) =>
+          t.customerName.includes(value)
+        );
+      }
+      this.busMarketAgreementUnitList = JSON.parse(JSON.stringify(result));
+    },
+    handleSelectAgreementUnit(value) {
+      let result = this.busMarketAgreementUnitList.find((t) => t.id == value);
+      this.model.orderInfo.contractTeamId = value;
+      this.agreementUnitData = JSON.parse(JSON.stringify(result));
+      this.contractTeamIdChange(value);
+    },
+    handleSearchVip(value) {
       let result;
       if (!value) {
         result = this.oldBusMemberCardList;
       } else {
-        result = this.oldBusMemberCardList.filter((t) => t.name.includes(value));
+        console.log("this.oldBusMemberCardList", this.oldBusMemberCardList);
+        result = this.oldBusMemberCardList.filter((t) => {
+          return (
+            t.name.includes(value) ||
+            (t.cardNo && t.cardNo.includes(value)) ||
+            (t.mobile && t.mobile.includes(value))
+          );
+        });
       }
       this.busMemberCardList = JSON.parse(JSON.stringify(result));
     },
-    handleSelectVip(value){
+    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;
-      this.vipCustomerIdChange(result.id)
+      this.vipCustomerData = JSON.parse(JSON.stringify(result));
+      this.vipCustomerIdChange(result.id);
     },
 
     loadOrderFees() {
@@ -1515,6 +1573,7 @@ export default {
           if (list && list.length > 0) {
             this.model.orderInfo.contractTeamProtocolName = list[0].name;
             this.model.orderInfo.contractTeamProtocolId = list[0].id;
+            this.busMarketAgreementCustomer = list[0];
             var info = list[0];
             if (info.fixedDiscount == 1 && info.discount > 0) {
               if (this.model.roomPrices && this.model.roomPrices.length > 0) {
@@ -1576,6 +1635,7 @@ export default {
       var info = e;
       this.model.orderInfo.contractTeamProtocolName = info.name;
       this.model.orderInfo.contractTeamProtocolId = info.id;
+      this.busMarketAgreementCustomer = info;
       if (info.fixedDiscount == 1 && info.discount > 0) {
         if (this.model.roomPrices && this.model.roomPrices.length > 0) {
           var i = 0;
@@ -2212,6 +2272,10 @@ export default {
         var orderFees = [];
         var roomIndex = 0;
         this.model.roomIds.forEach((item) => {
+          if (!item.key2) {
+            this.$set(item, "key2", 1);
+            this.$set(item, "key3", "汉");
+          }
           var roomLayout = this.roomLayoutList.find(
             (t) => (t.id = item.layoutId)
           );
@@ -2347,7 +2411,7 @@ export default {
         });
         this.amount = sum;
         // console.log("orderFees", orderFees);
-        
+
         this.loadOrderFees();
         // this.model.orderFees = [...this.model.orderFees, ...orderFees];
       }