gqx 2 rokov pred
rodič
commit
ec5fe6c6d2

+ 41 - 3
src/views/room/modules/checkIn/BillRoomForm.vue

@@ -50,10 +50,24 @@
                           },
                         ]"
                       >
-                        <a-input
+                        <!-- <a-input
                           v-model="room.key1"
                           placeholder="请输入姓名"
-                        ></a-input>
+                        ></a-input> -->
+                        <a-auto-complete
+                          v-model="room.key1"
+                          placeholder="请输入姓名"
+                          @search="handleSearch"
+                          @select="(e) => handleSelectMember(room, e)"
+                        >
+                          <template slot="dataSource">
+                            <a-select-option
+                              v-for="item in result"
+                              :key="item"
+                              >{{ item }}</a-select-option
+                            >
+                          </template>
+                        </a-auto-complete>
                       </a-form-model-item>
                     </a-col>
                     <a-col :span="8">
@@ -815,6 +829,7 @@ export default {
         edit: "/business/busMeetingRoom/edit",
         queryById: "/business/busMeetingRoom/queryById",
       },
+      result: [],
     };
   },
   computed: {
@@ -831,7 +846,24 @@ export default {
     this.modelDefault = JSON.parse(JSON.stringify(this.model));
   },
   methods: {
-    modalFormOk() {},
+    handleSearch(value) {
+      let result;
+      if (!value) {
+        result = [];
+      } else {
+        result = ["a", "b", "c"].map(
+          (domain) => `${value}${domain}(15888888888)`
+        );
+      }
+      this.result = result;
+    },
+    handleSelectMember(room, e) {
+      room.key2 = "男";
+      room.key3 = "汉";
+      room.key4 = "11111111111";
+      room.key5 = "158888888888";
+      room.key6 = "火星";
+    },
     pulsRoom() {
       this.$refs.modalSelectRoomForm.add();
       this.$refs.modalSelectRoomForm.title = "选择房间";
@@ -901,6 +933,12 @@ export default {
       });
       this.edit(this.modelDefault);
     },
+    modalFormOk(e) {
+      this.modelDefault = Object.assign({}, this.modelDefault, {
+        rooms: e,
+      });
+      this.edit(this.modelDefault);
+    },
     edit(record) {
       this.model = Object.assign({}, record);
       this.visible = true;

+ 13 - 35
src/views/room/modules/checkIn/SelectRoomForm.vue

@@ -48,10 +48,10 @@
                 color="blue"
                 closable
                 :visible="visible"
-                @close.stop="tagClose2(index, item.key1)"
+                @close.stop="tagClose2(index, item.roomNo)"
                 v-for="(item, index) in model.rooms"
                 :key="index"
-                >{{ item.key1 }}</a-tag
+                >{{ item.roomNo }}</a-tag
               >
             </a-form-model-item>
           </a-col>
@@ -91,7 +91,7 @@
                           ]"
                           @click="checkRoomClick(r)"
                         >
-                          {{ r.key1 }}
+                          {{ r.roomNo }}
                         </div></a-col
                       >
                     </a-row>
@@ -124,7 +124,8 @@ export default {
     const rooms = [];
     for (let i = 0; i < 100; i++) {
       rooms.push({
-        key1: "100" + i,
+        id: "100" + i,
+        roomNo: 1000 + i,
         check: 0,
         kz: i == 1 ? 1 : 0,
       });
@@ -132,7 +133,8 @@ export default {
     const rooms2 = [];
     for (let i = 0; i < 50; i++) {
       rooms2.push({
-        key1: "200" + i,
+        id: "200" + i,
+        roomNo: 2000 + i,
         check: 0,
         kz: i == 5 ? 1 : 0,
       });
@@ -194,7 +196,7 @@ export default {
       this.model.rooms.splice(index, 1);
       this.roomList.some((t) => {
         var r = t.child.some((c) => {
-          if (c.key1 === key1) {
+          if (c.roomNo === key1) {
             c.check = 0;
             return true;
           }
@@ -217,35 +219,11 @@ export default {
     },
     submitForm() {
       const that = this;
-      that.$message.warning("未实现");
-      return;
-      // 触发表单验证
-      this.$refs.form.validate((valid) => {
-        if (valid) {
-          that.confirmLoading = true;
-          let httpurl = "";
-          let method = "";
-          if (!this.model.id) {
-            httpurl += this.url.add;
-            method = "post";
-          } else {
-            httpurl += this.url.edit;
-            method = "put";
-          }
-          httpAction(httpurl, this.model, method)
-            .then((res) => {
-              if (res.success) {
-                that.$message.success(res.message);
-                that.$emit("ok");
-              } else {
-                that.$message.warning(res.message);
-              }
-            })
-            .finally(() => {
-              that.confirmLoading = false;
-            });
-        }
-      });
+      if (that.model.rooms.length === 0) {
+        that.$message.warning("请先选择房间");
+        return;
+      }
+      that.$emit("ok", that.model.rooms);
     },
   },
 };

+ 50 - 45
src/views/room/modules/checkIn/SelectRoomFormModal.vue

@@ -5,56 +5,61 @@
     :visible="visible"
     switchFullscreen
     @ok="handleOk"
-    :okButtonProps="{ class:{'jee-hidden': disableSubmit} }"
+    :okButtonProps="{ class: { 'jee-hidden': disableSubmit } }"
     @cancel="handleCancel"
-    cancelText="关闭">
-    <select-room-form ref="realForm" @ok="submitCallback" :disabled="disableSubmit"></select-room-form>
+    cancelText="关闭"
+  >
+    <select-room-form
+      ref="realForm"
+      @ok="submitCallback"
+      :disabled="disableSubmit"
+    ></select-room-form>
   </j-modal>
 </template>
 
 <script>
-
-  import SelectRoomForm from './SelectRoomForm'
-  export default {
-    name: 'SelectRoomFormModal',
-    components: {
-      SelectRoomForm
+import SelectRoomForm from "./SelectRoomForm";
+export default {
+  name: "SelectRoomFormModal",
+  components: {
+    SelectRoomForm,
+  },
+  data() {
+    return {
+      title: "",
+      width: 800,
+      visible: false,
+      disableSubmit: false,
+    };
+  },
+  methods: {
+    add() {
+      this.visible = true;
+      this.$nextTick(() => {
+        this.$refs.realForm.add();
+      });
+    },
+    edit(record) {
+      this.visible = true;
+      this.$nextTick(() => {
+        this.$refs.realForm.edit(record);
+      });
+    },
+    close() {
+      this.$emit("close");
+      this.visible = false;
+    },
+    handleOk() {
+      this.$refs.realForm.submitForm();
+    },
+    submitCallback(e) {
+      console.log("e", e);
+      this.$emit("ok", e);
+      this.visible = false;
     },
-    data () {
-      return {
-        title:'',
-        width:800,
-        visible: false,
-        disableSubmit: false
-      }
+    handleCancel() {
+      this.close();
     },
-    methods: {
-      add () {
-        this.visible=true
-        this.$nextTick(()=>{
-          this.$refs.realForm.add();
-        })
-      },
-      edit (record) {
-        this.visible=true
-        this.$nextTick(()=>{
-          this.$refs.realForm.edit(record);
-        })
-      },
-      close () {
-        this.$emit('close');
-        this.visible = false;
-      },
-      handleOk () {
-        this.$refs.realForm.submitForm();
-      },
-      submitCallback(){
-        this.$emit('ok');
-        this.visible = false;
-      },
-      handleCancel () {
-        this.close()
-      }
-    }
-  }
+  },
+};
 </script>