Browse Source

下发密码接口完成

hzj18279462576@163.com 3 years ago
parent
commit
f3eb85cea9
2 changed files with 202 additions and 184 deletions
  1. 7 2
      admin/src/api/doorLock.js
  2. 195 182
      admin/src/views/home/index.vue

+ 7 - 2
admin/src/api/doorLock.js

@@ -7,6 +7,11 @@ export function roomDoorLockRoomId(roomId) {
 }
 }
 
 
 // 根据订单id查询密码锁
 // 根据订单id查询密码锁
-export function roomDoorLockOrderId(params) {
-    return http.get(`${resquest}/order/{orderId}`, params)
+export function roomDoorLockOrderId(orderId) {
+    return http.get(`${resquest}/order/${orderId}`)
 }
 }
+
+// 根据订单id下发密码锁
+export function sendPassword(Id) {
+    return http.get(`${resquest}/sendPassword/${Id}`)
+}

+ 195 - 182
admin/src/views/home/index.vue

@@ -35,16 +35,13 @@
                 :data="data"
                 :data="data"
                 show-checkbox
                 show-checkbox
                 node-key="id"
                 node-key="id"
-                :default-expanded-keys="[2, 3]"
-                :default-checked-keys="[5]"
+                @check="checkRoom"
                 :props="defaultProps"
                 :props="defaultProps"
               >
               >
               </el-tree>
               </el-tree>
               <span slot="footer" class="dialog-footer">
               <span slot="footer" class="dialog-footer">
                 <el-button @click="dialogVisible = false">取 消</el-button>
                 <el-button @click="dialogVisible = false">取 消</el-button>
-                <el-button type="primary" @click="dialogVisible = false"
-                  >确 定</el-button
-                >
+                <el-button type="primary" @click="PLcloseRoom">确 定</el-button>
               </span>
               </span>
             </el-dialog>
             </el-dialog>
           </ul>
           </ul>
@@ -121,189 +118,192 @@
     </div>
     </div>
     <div class="home-body">
     <div class="home-body">
       <div class="room-floor wrapper">
       <div class="room-floor wrapper">
-        <div class="floor" v-for="(items, i) in floorRoomDatas" :key="i">
-          <div class="header-title">
-            <div class="tier">{{ parseInt(items.floor) }}层</div>
-            <span>/&nbsp; 共{{ items.room.length }}间</span>
-          </div>
-          <div class="main-floor">
-            <div
-              class="room-num"
-              v-for="(item, ind) in roomData"
-              :key="item.id"
-              v-show="items.floor == item.floor"
-            >
-              <el-popover
-                placement="right"
-                trigger="click"
-                popper-class="popperOptions"
+        <div class="scrollBlock">
+          <div class="floor" v-for="(items, i) in floorRoomDatas" :key="i">
+            <div class="header-title">
+              <div class="tier">{{ parseInt(items.floor) }}层</div>
+              <span>/&nbsp; 共{{ items.room.length }}间</span>
+            </div>
+            <div class="main-floor">
+              <div
+                class="room-num"
+                v-for="(item, ind) in roomData"
+                :key="item.id"
               >
               >
-                <div class="control-room">
-                  <el-button size="mini" @click="closeRoom(item)"
-                    >关房</el-button
-                  >
-                  <el-button size="mini" @click="todirty(item)"
-                    >转脏房</el-button
-                  >
-                  <el-button
-                    size="mini"
-                    :disabled="item.statuName != '脏房'"
-                    @click="leisure(item)"
-                    >转空闲</el-button
-                  >
-                  <el-button size="mini" @click="closeEle(item)"
-                    >关电</el-button
-                  >
-                  <el-button size="mini">清扫</el-button>
-                  <el-button size="mini">IC卡</el-button>
-                  <el-button size="mini">指纹</el-button>
-                </div>
-                <div
-                  @click="EachRoom(i, ind, $event, item)"
-                  :class="i + '' + ind == clickId ? 'cardId' : ''"
-                  class="card"
-                  :id="i + '' + ind"
-                  slot="reference"
+                <!-- v-show="items.floor == item.floor" -->
+
+                <el-popover
+                  placement="right"
+                  trigger="click"
+                  popper-class="popperOptions"
                 >
                 >
-                  <div class="title">
-                    <span>{{ item.build }}栋{{ item.roomno }}</span>
-                    <div class="state" :style="bgState(item.statu)">
-                      {{ item.statuName }}
-                    </div>
+                  <div class="control-room">
+                    <el-button size="mini" @click="closeRoom(item)"
+                      >关房</el-button
+                    >
+                    <el-button size="mini" @click="todirty(item)"
+                      >转脏房</el-button
+                    >
+                    <el-button
+                      size="mini"
+                      :disabled="item.statuName != '脏房'"
+                      @click="leisure(item)"
+                      >转空闲</el-button
+                    >
+                    <el-button size="mini" @click="closeEle(item)"
+                      >关电</el-button
+                    >
+                    <el-button size="mini">清扫</el-button>
+                    <el-button size="mini">IC卡</el-button>
+                    <el-button size="mini">指纹</el-button>
                   </div>
                   </div>
-                  <template v-if="item.statu == 3">
-                    <div class="teacher">{{ item.useInfo.userName }}</div>
-                    <div class="num">
-                      <span>水:{{ item.useInfo.startOfWater }}吨</span
-                      >&nbsp;&nbsp;
-                      <span>电:{{ item.useInfo.startOfElectric }}度</span>
+                  <div
+                    @click="EachRoom(i, ind, $event, item)"
+                    :class="i + '' + ind == clickId ? 'cardId' : ''"
+                    class="card"
+                    :id="i + '' + ind"
+                    slot="reference"
+                  >
+                    <div class="title">
+                      <span>{{ item.build }}栋{{ item.roomno }}</span>
+                      <div class="state" :style="bgState(item.statu)">
+                        {{ item.statuName }}
+                      </div>
                     </div>
                     </div>
-                    <div class="count-down">
-                      <span>退房倒计时 {{ item.useInfo.EndTime }}</span>
-                      <div class="tuifang" @click.stop="roomLock(item)">
-                        <IconSvg :W="21" :H="21" name="tuifang" />
-                        <el-dialog
-                          title="门锁管理"
-                          custom-class="lock"
-                          :append-to-body="true"
-                          :visible.sync="doorLock"
-                          width="30%"
-                          :before-close="lockClose"
-                        >
-                          <div class="roomID" style="margin-top: 13px">
-                            <div class="roomblock">
-                              <span>门锁ID:</span>
-                              <div
-                                class="number"
-                                v-if="doorLockList.doorIdshow"
-                              >
-                                <span>{{ doorLockList.doorId }}</span>
-                                <div @click="editlock">
-                                  <IconSvg :W="16" :H="16" name="edit" />
+                    <template v-if="item.statu == 3">
+                      <div class="teacher">{{ item.useInfo.userName }}</div>
+                      <div class="num">
+                        <span>水:{{ item.useInfo.startOfWater }}吨</span
+                        >&nbsp;&nbsp;
+                        <span>电:{{ item.useInfo.startOfElectric }}度</span>
+                      </div>
+                      <div class="count-down">
+                        <span>退房倒计时 {{ item.useInfo.EndTime }}</span>
+                        <div class="tuifang" @click.stop="roomLock(item)">
+                          <IconSvg :W="21" :H="21" name="tuifang" />
+                          <el-dialog
+                            title="门锁管理"
+                            custom-class="lock"
+                            :append-to-body="true"
+                            :visible.sync="doorLock"
+                            width="30%"
+                            :before-close="lockClose"
+                          >
+                            <div class="roomID" style="margin-top: 13px">
+                              <div class="roomblock">
+                                <span>门锁ID:</span>
+                                <div
+                                  class="number"
+                                  v-if="doorLockList.doorIdshow"
+                                >
+                                  <span>{{ doorLockList.doorId }}</span>
+                                  <div @click="editlock">
+                                    <IconSvg :W="16" :H="16" name="edit" />
+                                  </div>
                                 </div>
                                 </div>
+                                <el-input
+                                  ref="roomId"
+                                  v-else
+                                  size="mini"
+                                  v-model="doorLockList.doorId"
+                                  @blur="editLockBlur"
+                                ></el-input>
                               </div>
                               </div>
-                              <el-input
-                                ref="roomId"
-                                v-else
-                                size="mini"
-                                v-model="doorLockList.doorId"
-                                @blur="editLockBlur"
-                              ></el-input>
-                            </div>
-                            <div class="roomblock">
-                              <span>水表编码:</span>
-                              <div
-                                class="number"
-                                v-if="doorLockList.waterIdshow"
-                              >
-                                <span>{{ doorLockList.waterId }}</span>
-                                <div @click="editWater">
-                                  <IconSvg :W="16" :H="16" name="edit" />
+                              <div class="roomblock">
+                                <span>水表编码:</span>
+                                <div
+                                  class="number"
+                                  v-if="doorLockList.waterIdshow"
+                                >
+                                  <span>{{ doorLockList.waterId }}</span>
+                                  <div @click="editWater">
+                                    <IconSvg :W="16" :H="16" name="edit" />
+                                  </div>
                                 </div>
                                 </div>
+                                <el-input
+                                  v-else
+                                  size="mini"
+                                  v-model="doorLockList.waterId"
+                                  @blur="editWaterBlur"
+                                ></el-input>
                               </div>
                               </div>
-                              <el-input
-                                v-else
-                                size="mini"
-                                v-model="doorLockList.waterId"
-                                @blur="editWaterBlur"
-                              ></el-input>
                             </div>
                             </div>
-                          </div>
-                          <div class="roomID">
-                            <div class="roomblock">
-                              <span>门锁序列号:</span>
-                              <div
-                                class="number"
-                                v-if="doorLockList.doorNumshow"
-                              >
-                                <span>{{ doorLockList.doorNum }}</span>
-                                <div @click="editRoomNum">
-                                  <IconSvg :W="16" :H="16" name="edit" />
+                            <div class="roomID">
+                              <div class="roomblock">
+                                <span>门锁序列号:</span>
+                                <div
+                                  class="number"
+                                  v-if="doorLockList.doorNumshow"
+                                >
+                                  <span>{{ doorLockList.doorNum }}</span>
+                                  <div @click="editRoomNum">
+                                    <IconSvg :W="16" :H="16" name="edit" />
+                                  </div>
                                 </div>
                                 </div>
+                                <el-input
+                                  v-else
+                                  size="mini"
+                                  v-model="doorLockList.doorNum"
+                                  @blur="editRoomNumBlur"
+                                ></el-input>
                               </div>
                               </div>
-                              <el-input
-                                v-else
-                                size="mini"
-                                v-model="doorLockList.doorNum"
-                                @blur="editRoomNumBlur"
-                              ></el-input>
-                            </div>
-                            <div class="roomblock">
-                              <span>电表编码:</span>
-                              <div
-                                class="number"
-                                v-if="doorLockList.electricityIdshow"
-                              >
-                                <span>{{ doorLockList.electricityId }}</span>
-                                <div @click="editEle">
-                                  <IconSvg :W="16" :H="16" name="edit" />
+                              <div class="roomblock">
+                                <span>电表编码:</span>
+                                <div
+                                  class="number"
+                                  v-if="doorLockList.electricityIdshow"
+                                >
+                                  <span>{{ doorLockList.electricityId }}</span>
+                                  <div @click="editEle">
+                                    <IconSvg :W="16" :H="16" name="edit" />
+                                  </div>
                                 </div>
                                 </div>
+                                <el-input
+                                  v-else
+                                  size="mini"
+                                  v-model="doorLockList.electricityId"
+                                  @blur="editEleBlur"
+                                ></el-input>
                               </div>
                               </div>
-                              <el-input
-                                v-else
-                                size="mini"
-                                v-model="doorLockList.electricityId"
-                                @blur="editEleBlur"
-                              ></el-input>
                             </div>
                             </div>
-                          </div>
-                          <div class="roomID">
-                            <div class="roompassword">
-                              <span>门锁密码:</span>
-                              <div
-                                class="sendpass"
-                                v-for="item in roomPassWord"
-                                :key="item.id"
-                              >
-                                <span>{{ item.lockRealtimePassword }}</span>
-                                <span class="password" @click="sending(item)"
-                                  >下发密码</span
-                                >
-                                <span style="margin-left: 10px"
-                                  >密码到期时间 :
-                                  {{ item.endTime.replace("T", " ") }}</span
+                            <div class="roomID">
+                              <div class="roompassword">
+                                <span>门锁密码:</span>
+                                <div
+                                  class="sendpass"
+                                  v-for="item in roomPassWord"
+                                  :key="item.id"
                                 >
                                 >
+                                  <span>{{ item.lockRealtimePassword }}</span>
+                                  <span class="password" @click="sending(item)"
+                                    >下发密码</span
+                                  >
+                                  <span style="margin-left: 10px"
+                                    >密码到期时间 :
+                                    {{ item.endTime.replace("T", " ") }}</span
+                                  >
+                                </div>
                               </div>
                               </div>
                             </div>
                             </div>
-                          </div>
-                          <span slot="footer" class="dialog-footer">
-                            <el-button
-                              @click.stop="doorLock = false"
-                              size="mini"
-                              >取消</el-button
-                            >
-                            <el-button
-                              size="mini"
-                              @click.stop="doorLock = false"
-                              >完成</el-button
-                            >
-                          </span>
-                        </el-dialog>
+                            <span slot="footer" class="dialog-footer">
+                              <el-button
+                                @click.stop="doorLock = false"
+                                size="mini"
+                                >取消</el-button
+                              >
+                              <el-button
+                                size="mini"
+                                @click.stop="doorLock = false"
+                                >完成</el-button
+                              >
+                            </span>
+                          </el-dialog>
+                        </div>
                       </div>
                       </div>
-                    </div>
-                  </template>
-                </div>
-              </el-popover>
+                    </template>
+                  </div>
+                </el-popover>
+              </div>
             </div>
             </div>
           </div>
           </div>
         </div>
         </div>
@@ -452,9 +452,9 @@ export default {
 
 
       // 房态筛选数据
       // 房态筛选数据
       checkAll: false,
       checkAll: false,
-      checkedCities: ["已入住", "空间"],
-      cities: ["已入住", "空闲", "已锁定", "脏房", "保留房"],
-      isIndeterminate: true,
+      checkedCities: [],
+      cities: ["入住", "空闲", "锁定", "脏房", "预定"],
+      isIndeterminate: false,
     };
     };
   },
   },
   mounted() {
   mounted() {
@@ -469,11 +469,7 @@ export default {
     )[2].children[0].innerText = ">";
     )[2].children[0].innerText = ">";
     this.roomList();
     this.roomList();
   },
   },
-  // computed: {
-  //   endtime() {
-  //     return this.showTime(this.enableEndTime);
-  //   },
-  // },
+
   methods: {
   methods: {
     roomList() {
     roomList() {
       this.API.room.roomPageGroup("pageSize=20").then((res) => {
       this.API.room.roomPageGroup("pageSize=20").then((res) => {
@@ -663,12 +659,13 @@ export default {
       this.dialogVisible = false;
       this.dialogVisible = false;
       if (this.title == "批量关房") {
       if (this.title == "批量关房") {
         let roomId = [];
         let roomId = [];
-        let startDate = "2022-08-23";
-        let endDate = "2022-08-24";
+        let startDate = dayjs(new Date()).format("YYYY-MM-DD");
+        let endDate = dayjs(new Date()).add(1, "day").format("YYYY-MM-DD");
         let remark = "锁定房间";
         let remark = "锁定房间";
         this.count.forEach((item) => {
         this.count.forEach((item) => {
           roomId.push(item.id);
           roomId.push(item.id);
         });
         });
+        console.log(roomId);
         this.$confirm("确认关闭房间吗?")
         this.$confirm("确认关闭房间吗?")
           .then((_) => {
           .then((_) => {
             this.API.roomRealTimeStatu
             this.API.roomRealTimeStatu
@@ -743,11 +740,13 @@ export default {
 
 
     // 房态筛查
     // 房态筛查
     handleCheckAllChange(val) {
     handleCheckAllChange(val) {
+      console.log(val);
+
       this.checkedCities = val ? this.cities : [];
       this.checkedCities = val ? this.cities : [];
       this.isIndeterminate = false;
       this.isIndeterminate = false;
-      console.log(val);
     },
     },
     handleCheckedCitiesChange(value) {
     handleCheckedCitiesChange(value) {
+      console.log(value);
       let checkedCount = value.length;
       let checkedCount = value.length;
       this.checkAll = checkedCount === this.cities.length;
       this.checkAll = checkedCount === this.cities.length;
       this.isIndeterminate =
       this.isIndeterminate =
@@ -763,25 +762,39 @@ export default {
     lockClose(done) {
     lockClose(done) {
       this.doorLock = false;
       this.doorLock = false;
     },
     },
+    // 下发密码
     sending(item) {
     sending(item) {
+      console.log(item);
       this.$confirm(`确认下发密码(${item.lockRealtimePassword})吗?`)
       this.$confirm(`确认下发密码(${item.lockRealtimePassword})吗?`)
-        .then((_) => {})
+        .then((_) => {
+          this.API.doorLock.sendPassword(item.id).then((res) => {
+            console.log(res);
+          });
+        })
         .catch((_) => {});
         .catch((_) => {});
     },
     },
     roomLock(item) {
     roomLock(item) {
       this.doorLock = true;
       this.doorLock = true;
       console.log(item);
       console.log(item);
+      // 房间id查询密码锁
       this.API.doorLock.roomDoorLockRoomId(item.roomId).then((res) => {
       this.API.doorLock.roomDoorLockRoomId(item.roomId).then((res) => {
         console.log(res.data);
         console.log(res.data);
 
 
         this.roomPassWord = res.data;
         this.roomPassWord = res.data;
       });
       });
+      // 根据房间id查询(拿到电表码,水表码)
       this.API.roomThirdSetting.settingId(item.roomId).then((res) => {
       this.API.roomThirdSetting.settingId(item.roomId).then((res) => {
         console.log(res.data);
         console.log(res.data);
         this.doorLockList.electricityId = res.data.electricId;
         this.doorLockList.electricityId = res.data.electricId;
         this.doorLockList.waterId = res.data.waterId;
         this.doorLockList.waterId = res.data.waterId;
         this.doorLockList.doorId = res.data.lockId;
         this.doorLockList.doorId = res.data.lockId;
       });
       });
+      // 订单Id查询密码锁
+      this.API.doorLock
+        .roomDoorLockOrderId(item.useInfo.orderId)
+        .then((res) => {
+          console.log(res);
+        });
     },
     },
     // 编辑门锁ID
     // 编辑门锁ID
     editlock() {
     editlock() {