|
|
@@ -18,7 +18,8 @@
|
|
|
<span class="cameratxt">房态管理</span>
|
|
|
</template>
|
|
|
<div v-for="i in roomList.list" :key="i">
|
|
|
- {{ i.name }} : 未使用 {{ i.freeCount }} 间 , 已使用 {{ i.useCount }} 间
|
|
|
+ {{ i.name }} : 未使用 {{ i.freeCount }} 间 , 已使用
|
|
|
+ {{ i.useCount }} 间
|
|
|
</div>
|
|
|
</el-popover>
|
|
|
</div>
|
|
|
@@ -196,7 +197,6 @@
|
|
|
><span>刷新房态信息</span></el-button
|
|
|
>
|
|
|
</div>
|
|
|
-
|
|
|
</div>
|
|
|
<div class="footer" v-if="switchDayIndex == 1">
|
|
|
<div class="floor" v-for="item in roomList.list" :key="item">
|
|
|
@@ -215,7 +215,7 @@
|
|
|
:visible="i.visible"
|
|
|
>
|
|
|
<template #reference>
|
|
|
- <div @click="itemClick(i)" style="position: relative;">
|
|
|
+ <div @click="itemClick(i)" style="position: relative">
|
|
|
<div class="roomNum" v-if="i.status">
|
|
|
<span
|
|
|
>{{ i.houseNumber
|
|
|
@@ -314,9 +314,23 @@
|
|
|
<div class="rLock" v-if="i.status == 5 || i.status == 6">
|
|
|
<span>结束:{{ i.endTime }}</span>
|
|
|
</div>
|
|
|
- <div style="position: absolute;right: 15px;bottom: 8px;">
|
|
|
- <img title="关灯" v-if="i.electricType==1" @click="bulbsClick(i)" style="width: 22px;height: 22px;cursor: pointer;" src="../../assets/icons/bulbs.png" alt="">
|
|
|
- <img title="开灯" v-if="i.electricType==2" @click="bulbsClick(i)" style="width: 20px;height: 20px;cursor: pointer;" src="../../assets/icons/bulb.png" alt="">
|
|
|
+ <div style="position: absolute; right: 15px; bottom: 8px">
|
|
|
+ <img
|
|
|
+ title="关灯"
|
|
|
+ v-if="i.electricType == 1"
|
|
|
+ @click="bulbsClick(i)"
|
|
|
+ style="width: 22px; height: 22px; cursor: pointer"
|
|
|
+ src="../../assets/icons/bulbs.png"
|
|
|
+ alt=""
|
|
|
+ />
|
|
|
+ <img
|
|
|
+ title="开灯"
|
|
|
+ v-if="i.electricType == 2"
|
|
|
+ @click="bulbsClick(i)"
|
|
|
+ style="width: 20px; height: 20px; cursor: pointer"
|
|
|
+ src="../../assets/icons/bulb.png"
|
|
|
+ alt=""
|
|
|
+ />
|
|
|
</div>
|
|
|
</div>
|
|
|
</template>
|
|
|
@@ -819,7 +833,6 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
</el-popover>
|
|
|
-
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
@@ -1233,22 +1246,26 @@
|
|
|
>
|
|
|
<template #header>
|
|
|
<el-popover
|
|
|
- placement="top-start"
|
|
|
- title="房间使用情况"
|
|
|
- :width="250"
|
|
|
- trigger="hover"
|
|
|
- effect="light"
|
|
|
- content="this is content, this is content, this is content"
|
|
|
- >
|
|
|
- <template #reference>
|
|
|
- <span>{{ i.date }}</span>
|
|
|
- </template>
|
|
|
- <div>
|
|
|
- <div v-for="item in i.freeNumbers" :key="item">{{ item.room_name }}: 未使用{{ item.num }}间</div><br>
|
|
|
- <div v-for="item in i.useNumbers" :key="item">{{ item.room_name }}: 已使用{{ item.num }}间</div>
|
|
|
+ placement="top-start"
|
|
|
+ title="房间使用情况"
|
|
|
+ :width="250"
|
|
|
+ trigger="hover"
|
|
|
+ effect="light"
|
|
|
+ content="this is content, this is content, this is content"
|
|
|
+ >
|
|
|
+ <template #reference>
|
|
|
+ <span>{{ i.date }}</span>
|
|
|
+ </template>
|
|
|
+ <div>
|
|
|
+ <div v-for="item in i.freeNumbers" :key="item">
|
|
|
+ {{ item.room_name }}: 未使用{{ item.num }}间
|
|
|
</div>
|
|
|
- </el-popover>
|
|
|
-
|
|
|
+ <br />
|
|
|
+ <div v-for="item in i.useNumbers" :key="item">
|
|
|
+ {{ item.room_name }}: 已使用{{ item.num }}间
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </el-popover>
|
|
|
</template>
|
|
|
<el-table-column
|
|
|
prop="state"
|
|
|
@@ -1647,8 +1664,7 @@
|
|
|
v-for="item in roomChangeItemList"
|
|
|
:key="item"
|
|
|
>
|
|
|
- {{ item.name
|
|
|
- }}
|
|
|
+ {{ item.name }}
|
|
|
<!-- <span>
|
|
|
({{ roomChangeRuleForm.roomType == 1 ? "全" : "钟" }})</span
|
|
|
> -->
|
|
|
@@ -1657,7 +1673,11 @@
|
|
|
</div>
|
|
|
<div class="room">
|
|
|
<div class="floors">
|
|
|
- <div class="cards" v-for="item in roomChangeList.list" :key="item">
|
|
|
+ <div
|
|
|
+ class="cards"
|
|
|
+ v-for="item in roomChangeList.list"
|
|
|
+ :key="item"
|
|
|
+ >
|
|
|
<div class="roomList" @click="roomCheck(item)">
|
|
|
<div class="roomNumber">{{ item.roomNumber }}</div>
|
|
|
<img
|
|
|
@@ -2959,7 +2979,7 @@ const roomChangeRuleForm = reactive({
|
|
|
houseNumberIdNow: "", // 勾选的房间id
|
|
|
});
|
|
|
const checkInd = ref();
|
|
|
-const roomChangeItemList=ref()// 左边的房间类型
|
|
|
+const roomChangeItemList = ref(); // 左边的房间类型
|
|
|
const roomChangeList = reactive({ list: [] });
|
|
|
|
|
|
// 预定(--------------------------------------------------------)
|
|
|
@@ -2988,7 +3008,8 @@ var reserveName = (rule, value, callback) => {
|
|
|
return callback(new Error("请输入姓名"));
|
|
|
}
|
|
|
|
|
|
- var reg = /^[\u4e00-\u9fa5]{2,6}$/;
|
|
|
+ var reg =
|
|
|
+ /^[\u3400-\u4db5\u4e00-\u9fa5\u9fa6-\u9fbb\u{f900}-\u{faff}]{2,6}$/u;
|
|
|
if (!reg.test(value)) {
|
|
|
callback(new Error("必须为2-6个汉字!"));
|
|
|
} else {
|
|
|
@@ -3128,7 +3149,8 @@ var checkInName = (rule, value, callback) => {
|
|
|
return callback(new Error("请输入姓名"));
|
|
|
}
|
|
|
|
|
|
- var reg = /^[\u4e00-\u9fa5]{2,6}$/;
|
|
|
+ var reg =
|
|
|
+ /^[\u3400-\u4db5\u4e00-\u9fa5\u9fa6-\u9fbb\u{f900}-\u{faff}]{2,6}$/u;
|
|
|
if (!reg.test(value)) {
|
|
|
callback(new Error("必须为2-6个汉字!"));
|
|
|
} else {
|
|
|
@@ -3371,7 +3393,7 @@ const lockRoomRules = reactive({
|
|
|
// 维修弹窗
|
|
|
const maintainVisible = ref(false);
|
|
|
const maintainRef = ref();
|
|
|
-const maintainLoading=ref(false)
|
|
|
+const maintainLoading = ref(false);
|
|
|
const maintainRuleForm = reactive({
|
|
|
reason: "",
|
|
|
// time: [dayjs().format('YYYY-MM-DD HH:mm:ss'),""],
|
|
|
@@ -3416,10 +3438,10 @@ const itemClick = async (val) => {
|
|
|
faceplateInfo.name = res.data.data.name;
|
|
|
|
|
|
faceplateInfo.liveTime = dayjs(res.data.data.reserveLiveTime).format(
|
|
|
- "YYYY-MM-DD HH:mm:ss"
|
|
|
+ "YYYY-MM-DD HH:mm:ss",
|
|
|
);
|
|
|
faceplateInfo.leaveTime = dayjs(res.data.data.reserveLeaveTime).format(
|
|
|
- "YYYY-MM-DD HH:mm:ss"
|
|
|
+ "YYYY-MM-DD HH:mm:ss",
|
|
|
);
|
|
|
faceplateInfo.roomPrice = res.data.data.payPrice;
|
|
|
faceplateInfo.checkTime = res.data.data.checkTime;
|
|
|
@@ -3674,7 +3696,6 @@ const clean = async (flag) => {
|
|
|
}
|
|
|
};
|
|
|
|
|
|
-
|
|
|
// 勾选房间
|
|
|
const checkcleanRoom = (data, nodes) => {
|
|
|
console.log(data, nodes);
|
|
|
@@ -3997,10 +4018,10 @@ const switchBatch = async () => {
|
|
|
}
|
|
|
};
|
|
|
// 单独控制房间的电
|
|
|
-const bulbsClick=async (i)=>{
|
|
|
+const bulbsClick = async (i) => {
|
|
|
roomLoading.value = true; // 加载页面
|
|
|
// electricType==1表示开电状态
|
|
|
- if(i.electricType==1){
|
|
|
+ if (i.electricType == 1) {
|
|
|
let data = {
|
|
|
houseNumberIds: [i.houseNumberId],
|
|
|
adminId: sessionStorage.getItem("permissionSettingId"),
|
|
|
@@ -4036,7 +4057,7 @@ const bulbsClick=async (i)=>{
|
|
|
}
|
|
|
}
|
|
|
// electricType==2表示关电状态
|
|
|
- else if(i.electricType==2){
|
|
|
+ else if (i.electricType == 2) {
|
|
|
let data = {
|
|
|
houseNumberIds: [i.houseNumberId],
|
|
|
adminId: sessionStorage.getItem("permissionSettingId"),
|
|
|
@@ -4071,8 +4092,7 @@ const bulbsClick=async (i)=>{
|
|
|
});
|
|
|
}
|
|
|
}
|
|
|
-}
|
|
|
-
|
|
|
+};
|
|
|
|
|
|
// 切换日历 单日
|
|
|
const switchDay = (val) => {
|
|
|
@@ -4096,7 +4116,7 @@ const dateTimes = ref(
|
|
|
dateStr: "2023-12-03",
|
|
|
weekStr: "Sunday",
|
|
|
roomSum: 27,
|
|
|
- }
|
|
|
+ },
|
|
|
);
|
|
|
const tableDate = ref();
|
|
|
const tableDateHeader = ref();
|
|
|
@@ -4242,6 +4262,12 @@ const getList = async () => {
|
|
|
roomLoading.value = false;
|
|
|
} else {
|
|
|
roomLoading.value = false;
|
|
|
+ if (res.data.code == 500) {
|
|
|
+ console.log(res.data);
|
|
|
+ if (res.data.message == "无效token,请重新登入") {
|
|
|
+ router.push({ path: "/login" });
|
|
|
+ }
|
|
|
+ }
|
|
|
ElMessage({
|
|
|
type: "error",
|
|
|
showClose: true,
|
|
|
@@ -4282,7 +4308,7 @@ const getList = async () => {
|
|
|
// }
|
|
|
// })
|
|
|
// }
|
|
|
-
|
|
|
+
|
|
|
// })
|
|
|
// })
|
|
|
tableDateHeader.value = res.data.data.dateTime;
|
|
|
@@ -4290,6 +4316,12 @@ const getList = async () => {
|
|
|
roomLoading.value = false;
|
|
|
} else {
|
|
|
roomLoading.value = false;
|
|
|
+ if (res.data.code == 500) {
|
|
|
+ console.log(res.data);
|
|
|
+ if (res.data.message == "无效token,请重新登入") {
|
|
|
+ router.push({ path: "/login" });
|
|
|
+ }
|
|
|
+ }
|
|
|
ElMessage({
|
|
|
type: "error",
|
|
|
showClose: true,
|
|
|
@@ -4451,12 +4483,12 @@ const roomChangeClick = async (row) => {
|
|
|
});
|
|
|
console.log(res, "换房界面");
|
|
|
if (res.data.code == 200) {
|
|
|
- roomChangeItemList.value=res.data.data
|
|
|
- roomChangeIndex.value=roomChangeItemList.value[0].name
|
|
|
- if(roomChangeItemList.value[0].children.length!=[]){
|
|
|
+ roomChangeItemList.value = res.data.data;
|
|
|
+ roomChangeIndex.value = roomChangeItemList.value[0].name;
|
|
|
+ if (roomChangeItemList.value[0].children.length != []) {
|
|
|
roomChangeList.list = roomChangeItemList.value[0].children;
|
|
|
- }else{
|
|
|
- roomChangeList.list =[]
|
|
|
+ } else {
|
|
|
+ roomChangeList.list = [];
|
|
|
}
|
|
|
} else {
|
|
|
ElMessage({
|
|
|
@@ -4470,11 +4502,11 @@ const roomChangeClick = async (row) => {
|
|
|
// 切换房类型
|
|
|
const changeRoom = (name) => {
|
|
|
roomChangeIndex.value = name;
|
|
|
- roomChangeItemList.value.forEach(i=>{
|
|
|
- if(i.name==name){
|
|
|
- roomChangeList.list=i.children
|
|
|
- }
|
|
|
- })
|
|
|
+ roomChangeItemList.value.forEach((i) => {
|
|
|
+ if (i.name == name) {
|
|
|
+ roomChangeList.list = i.children;
|
|
|
+ }
|
|
|
+ });
|
|
|
};
|
|
|
// 勾选房间
|
|
|
const roomCheck = (row) => {
|
|
|
@@ -5463,7 +5495,7 @@ const configPayPrice = lodash.throttle(async (formEl) => {
|
|
|
if (res.data.code == 200) {
|
|
|
passForm.pass = res.data.data.houseOrder.keyPassWord;
|
|
|
passForm.reserveLiveTime = dayjs(
|
|
|
- res.data.data.houseOrder.liveTime
|
|
|
+ res.data.data.houseOrder.liveTime,
|
|
|
).format("YYYY-MM-DD HH:mm:ss");
|
|
|
passForm.reserveLeaveTime =
|
|
|
res.data.data.houseOrder.reserveLeaveTime;
|
|
|
@@ -5561,7 +5593,7 @@ const configPayPrice = lodash.throttle(async (formEl) => {
|
|
|
if (res.data.code == 200) {
|
|
|
passForm.pass = res.data.data.houseOrder.keyPassWord;
|
|
|
passForm.reserveLiveTime = dayjs(
|
|
|
- res.data.data.houseOrder.liveTime
|
|
|
+ res.data.data.houseOrder.liveTime,
|
|
|
).format("YYYY-MM-DD HH:mm:ss");
|
|
|
passForm.reserveLeaveTime =
|
|
|
res.data.data.houseOrder.reserveLeaveTime;
|
|
|
@@ -5642,7 +5674,7 @@ const paymentCodeClick = async () => {
|
|
|
if (ress.data.code == 200) {
|
|
|
if (ress.data.data.tradeState == "SUCCESS") {
|
|
|
payFlag++;
|
|
|
- if(payFlag==1){
|
|
|
+ if (payFlag == 1) {
|
|
|
successPay.value = true;
|
|
|
let liveTime = dayjs().format("YYYY-MM-DD HH:mm:ss");
|
|
|
let livedata = {
|
|
|
@@ -5695,7 +5727,7 @@ const paymentCodeClick = async () => {
|
|
|
if (res.data.code == 200) {
|
|
|
passForm.pass = res.data.data.houseOrder.keyPassWord;
|
|
|
passForm.reserveLiveTime = dayjs(
|
|
|
- res.data.data.houseOrder.liveTime
|
|
|
+ res.data.data.houseOrder.liveTime,
|
|
|
).format("YYYY-MM-DD HH:mm:ss");
|
|
|
passForm.reserveLeaveTime =
|
|
|
res.data.data.houseOrder.reserveLeaveTime;
|
|
|
@@ -5722,11 +5754,11 @@ const paymentCodeClick = async () => {
|
|
|
}
|
|
|
console.log(payFlag);
|
|
|
clearInterval(timer.value);
|
|
|
- timer.value = null;
|
|
|
- } else {
|
|
|
- successPay.value = false;
|
|
|
- payPriceSuccess.value = false;
|
|
|
- }
|
|
|
+ timer.value = null;
|
|
|
+ } else {
|
|
|
+ successPay.value = false;
|
|
|
+ payPriceSuccess.value = false;
|
|
|
+ }
|
|
|
} else {
|
|
|
}
|
|
|
}, 2000);
|
|
|
@@ -6081,7 +6113,7 @@ const cancelMaintain = () => {
|
|
|
maintainVisible.value = false;
|
|
|
};
|
|
|
const maintainConfirm = lodash.throttle(async (formEl) => {
|
|
|
- maintainLoading.value=true;
|
|
|
+ maintainLoading.value = true;
|
|
|
if (!formEl) return;
|
|
|
await formEl.validate(async (valid, fields) => {
|
|
|
if (valid) {
|
|
|
@@ -6105,9 +6137,9 @@ const maintainConfirm = lodash.throttle(async (formEl) => {
|
|
|
getList();
|
|
|
maintainVisible.value = false;
|
|
|
maintainRef.value.resetFields();
|
|
|
- maintainLoading.value=false;
|
|
|
+ maintainLoading.value = false;
|
|
|
} else {
|
|
|
- maintainLoading.value=false;
|
|
|
+ maintainLoading.value = false;
|
|
|
ElMessage({
|
|
|
type: "error",
|
|
|
showClose: true,
|
|
|
@@ -6121,7 +6153,7 @@ const maintainConfirm = lodash.throttle(async (formEl) => {
|
|
|
});
|
|
|
}, 1500);
|
|
|
// 取消维修功能
|
|
|
-const maintainCancel =lodash.throttle( async (row) => {
|
|
|
+const maintainCancel = lodash.throttle(async (row) => {
|
|
|
roomLoading.value = true; // 加载页面
|
|
|
let data = {
|
|
|
houseNumberId: row.houseNumberId,
|
|
|
@@ -6156,7 +6188,7 @@ const maintainCancel =lodash.throttle( async (row) => {
|
|
|
center: true,
|
|
|
});
|
|
|
}
|
|
|
-},5000);
|
|
|
+}, 5000);
|
|
|
|
|
|
//导出功能
|
|
|
const importExcel = lodash.debounce(async () => {
|
|
|
@@ -6356,7 +6388,7 @@ onUnmounted(() => {
|
|
|
}
|
|
|
|
|
|
.footer {
|
|
|
- flex:1;
|
|
|
+ flex: 1;
|
|
|
width: calc(100% - 61px);
|
|
|
// height: calc(100% - 82px);
|
|
|
margin: 0 auto 20px;
|
|
|
@@ -6965,7 +6997,7 @@ onUnmounted(() => {
|
|
|
.changeItemss {
|
|
|
/* // margin: 20px 0; */
|
|
|
width: 130px;
|
|
|
-
|
|
|
+
|
|
|
.changeNews {
|
|
|
margin: 15px 0;
|
|
|
height: 40px;
|