|
|
@@ -35,16 +35,13 @@
|
|
|
:data="data"
|
|
|
show-checkbox
|
|
|
node-key="id"
|
|
|
- :default-expanded-keys="[2, 3]"
|
|
|
- :default-checked-keys="[5]"
|
|
|
+ @check="checkRoom"
|
|
|
:props="defaultProps"
|
|
|
>
|
|
|
</el-tree>
|
|
|
<span slot="footer" class="dialog-footer">
|
|
|
<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>
|
|
|
</el-dialog>
|
|
|
</ul>
|
|
|
@@ -121,189 +118,192 @@
|
|
|
</div>
|
|
|
<div class="home-body">
|
|
|
<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>/ 共{{ 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>/ 共{{ 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>
|
|
|
- <template v-if="item.statu == 3">
|
|
|
- <div class="teacher">{{ item.useInfo.userName }}</div>
|
|
|
- <div class="num">
|
|
|
- <span>水:{{ item.useInfo.startOfWater }}吨</span
|
|
|
- >
|
|
|
- <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 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
|
|
|
+ >
|
|
|
+ <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>
|
|
|
+ <el-input
|
|
|
+ ref="roomId"
|
|
|
+ v-else
|
|
|
+ size="mini"
|
|
|
+ v-model="doorLockList.doorId"
|
|
|
+ @blur="editLockBlur"
|
|
|
+ ></el-input>
|
|
|
</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>
|
|
|
+ <el-input
|
|
|
+ v-else
|
|
|
+ size="mini"
|
|
|
+ v-model="doorLockList.waterId"
|
|
|
+ @blur="editWaterBlur"
|
|
|
+ ></el-input>
|
|
|
</div>
|
|
|
- <el-input
|
|
|
- v-else
|
|
|
- size="mini"
|
|
|
- v-model="doorLockList.waterId"
|
|
|
- @blur="editWaterBlur"
|
|
|
- ></el-input>
|
|
|
</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>
|
|
|
+ <el-input
|
|
|
+ v-else
|
|
|
+ size="mini"
|
|
|
+ v-model="doorLockList.doorNum"
|
|
|
+ @blur="editRoomNumBlur"
|
|
|
+ ></el-input>
|
|
|
</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>
|
|
|
+ <el-input
|
|
|
+ v-else
|
|
|
+ size="mini"
|
|
|
+ v-model="doorLockList.electricityId"
|
|
|
+ @blur="editEleBlur"
|
|
|
+ ></el-input>
|
|
|
</div>
|
|
|
- <el-input
|
|
|
- v-else
|
|
|
- size="mini"
|
|
|
- v-model="doorLockList.electricityId"
|
|
|
- @blur="editEleBlur"
|
|
|
- ></el-input>
|
|
|
</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>
|
|
|
- <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>
|
|
|
- </template>
|
|
|
- </div>
|
|
|
- </el-popover>
|
|
|
+ </template>
|
|
|
+ </div>
|
|
|
+ </el-popover>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
@@ -452,9 +452,9 @@ export default {
|
|
|
|
|
|
// 房态筛选数据
|
|
|
checkAll: false,
|
|
|
- checkedCities: ["已入住", "空间"],
|
|
|
- cities: ["已入住", "空闲", "已锁定", "脏房", "保留房"],
|
|
|
- isIndeterminate: true,
|
|
|
+ checkedCities: [],
|
|
|
+ cities: ["入住", "空闲", "锁定", "脏房", "预定"],
|
|
|
+ isIndeterminate: false,
|
|
|
};
|
|
|
},
|
|
|
mounted() {
|
|
|
@@ -469,11 +469,7 @@ export default {
|
|
|
)[2].children[0].innerText = ">";
|
|
|
this.roomList();
|
|
|
},
|
|
|
- // computed: {
|
|
|
- // endtime() {
|
|
|
- // return this.showTime(this.enableEndTime);
|
|
|
- // },
|
|
|
- // },
|
|
|
+
|
|
|
methods: {
|
|
|
roomList() {
|
|
|
this.API.room.roomPageGroup("pageSize=20").then((res) => {
|
|
|
@@ -663,12 +659,13 @@ export default {
|
|
|
this.dialogVisible = false;
|
|
|
if (this.title == "批量关房") {
|
|
|
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 = "锁定房间";
|
|
|
this.count.forEach((item) => {
|
|
|
roomId.push(item.id);
|
|
|
});
|
|
|
+ console.log(roomId);
|
|
|
this.$confirm("确认关闭房间吗?")
|
|
|
.then((_) => {
|
|
|
this.API.roomRealTimeStatu
|
|
|
@@ -743,11 +740,13 @@ export default {
|
|
|
|
|
|
// 房态筛查
|
|
|
handleCheckAllChange(val) {
|
|
|
+ console.log(val);
|
|
|
+
|
|
|
this.checkedCities = val ? this.cities : [];
|
|
|
this.isIndeterminate = false;
|
|
|
- console.log(val);
|
|
|
},
|
|
|
handleCheckedCitiesChange(value) {
|
|
|
+ console.log(value);
|
|
|
let checkedCount = value.length;
|
|
|
this.checkAll = checkedCount === this.cities.length;
|
|
|
this.isIndeterminate =
|
|
|
@@ -763,25 +762,39 @@ export default {
|
|
|
lockClose(done) {
|
|
|
this.doorLock = false;
|
|
|
},
|
|
|
+ // 下发密码
|
|
|
sending(item) {
|
|
|
+ console.log(item);
|
|
|
this.$confirm(`确认下发密码(${item.lockRealtimePassword})吗?`)
|
|
|
- .then((_) => {})
|
|
|
+ .then((_) => {
|
|
|
+ this.API.doorLock.sendPassword(item.id).then((res) => {
|
|
|
+ console.log(res);
|
|
|
+ });
|
|
|
+ })
|
|
|
.catch((_) => {});
|
|
|
},
|
|
|
roomLock(item) {
|
|
|
this.doorLock = true;
|
|
|
console.log(item);
|
|
|
+ // 房间id查询密码锁
|
|
|
this.API.doorLock.roomDoorLockRoomId(item.roomId).then((res) => {
|
|
|
console.log(res.data);
|
|
|
|
|
|
this.roomPassWord = res.data;
|
|
|
});
|
|
|
+ // 根据房间id查询(拿到电表码,水表码)
|
|
|
this.API.roomThirdSetting.settingId(item.roomId).then((res) => {
|
|
|
console.log(res.data);
|
|
|
this.doorLockList.electricityId = res.data.electricId;
|
|
|
this.doorLockList.waterId = res.data.waterId;
|
|
|
this.doorLockList.doorId = res.data.lockId;
|
|
|
});
|
|
|
+ // 订单Id查询密码锁
|
|
|
+ this.API.doorLock
|
|
|
+ .roomDoorLockOrderId(item.useInfo.orderId)
|
|
|
+ .then((res) => {
|
|
|
+ console.log(res);
|
|
|
+ });
|
|
|
},
|
|
|
// 编辑门锁ID
|
|
|
editlock() {
|