|
@@ -214,6 +214,11 @@ export default defineComponent({
|
|
|
type: Object,
|
|
|
default: () => null,
|
|
|
},
|
|
|
+ seviceEquipmentList: {
|
|
|
+ // 是否走服务定制的设备
|
|
|
+ type: Array,
|
|
|
+ default: () => [],
|
|
|
+ },
|
|
|
},
|
|
|
setup(props, context) {
|
|
|
const proxyGlobal: any = getCurrentInstance();
|
|
@@ -232,6 +237,7 @@ export default defineComponent({
|
|
|
const userInfo: any = getUserInfo();
|
|
|
const proxyData = reactive({
|
|
|
userInfo: userInfo,
|
|
|
+ seviceEquipmentList: props.seviceEquipmentList,
|
|
|
parseImgUrl: parseImgUrl,
|
|
|
isEvent: false,
|
|
|
screenInfo: screenInfo,
|
|
@@ -1379,6 +1385,32 @@ export default defineComponent({
|
|
|
checkEquipment(item: any) {
|
|
|
item.isCheck = !item.isCheck;
|
|
|
},
|
|
|
+ // 我来了删除不受服务定制控制的设备的开关灯
|
|
|
+ delSpaceNoCtrDevice(formTimerArr: any) {
|
|
|
+ formTimerArr.map((item: any) => {
|
|
|
+ let sceneEquipList: any = item.sceneEquipList || [];
|
|
|
+ let seviceEquipmentList: any = proxyData.seviceEquipmentList;
|
|
|
+ if (item.type == "2" && sceneEquipList.length) {
|
|
|
+ sceneEquipList.map((scene: any, index: any) => {
|
|
|
+ let flag: any = false;
|
|
|
+ for (let i = 0; i < seviceEquipmentList.length; i++) {
|
|
|
+ if (
|
|
|
+ scene.objectId == seviceEquipmentList[i].id &&
|
|
|
+ seviceEquipmentList[i].isExeSpaceTime
|
|
|
+ ) {
|
|
|
+ flag = true;
|
|
|
+ }
|
|
|
+ if (flag) {
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (!flag) {
|
|
|
+ item.sceneEquipList.splice(index, 1);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
// 提交申请
|
|
|
addWorkTimer() {
|
|
|
let formTimerArr: any = proxyData.formateAddTimer();
|
|
@@ -1422,10 +1454,12 @@ export default defineComponent({
|
|
|
item.sceneEquipList = sceneEquipList;
|
|
|
}
|
|
|
});
|
|
|
+ // 我来了过滤设备
|
|
|
+ proxyData.delSpaceNoCtrDevice(formTimerArr);
|
|
|
// 保存加班记录
|
|
|
proxyData.saveBatchCustomScene(formTimerArr);
|
|
|
- // 如果在当前时间,需要手动开启设备
|
|
|
- proxyData.openDeviceAll(formTimerArr);
|
|
|
+ // 如果在当前时间,需要手动开启设备(暂时不需要手动开启设备,后台已经把此逻辑合并)
|
|
|
+ // proxyData.openDeviceAll(formTimerArr);
|
|
|
},
|
|
|
// 手动控制开启设备
|
|
|
openDeviceAll(formTimerArr: any) {
|
|
@@ -1477,15 +1511,6 @@ export default defineComponent({
|
|
|
proxyData.formBtn = true;
|
|
|
saveBatchCustomScene(formTimerArr)
|
|
|
.then((res) => {
|
|
|
- // debugger;
|
|
|
- if (type === 1) {
|
|
|
- // 添加
|
|
|
- } else if (type === 2) {
|
|
|
- // 删除
|
|
|
- proxyData.isUpdate = true;
|
|
|
- // context.emit("closeWork");
|
|
|
- // proxyData.showLoading = false;
|
|
|
- }
|
|
|
context.emit("closeWork");
|
|
|
proxyData.showLoading = false;
|
|
|
proxyData.formBtn = false;
|
|
@@ -1540,18 +1565,84 @@ export default defineComponent({
|
|
|
});
|
|
|
}
|
|
|
},
|
|
|
+ // 数组排序
|
|
|
+ compare(obj1: any, obj2: any) {
|
|
|
+ var val1 = obj1.startTime;
|
|
|
+ var val2 = obj2.startTime;
|
|
|
+ if (val1 < val2) {
|
|
|
+ return -1;
|
|
|
+ } else if (val1 > val2) {
|
|
|
+ return 1;
|
|
|
+ } else {
|
|
|
+ return 0;
|
|
|
+ }
|
|
|
+ },
|
|
|
+ // 手动控制加班处理时间段拼接的逻辑
|
|
|
+ formateManualWorkTime() {
|
|
|
+ // debugger
|
|
|
+ let data: any = proxyData.workkArr;
|
|
|
+ for (let i = 0; i < data.length; i++) {
|
|
|
+ let item: any = data[i];
|
|
|
+ let spaceCustomContentList: any =
|
|
|
+ data[i].spaceCustomContentList || [];
|
|
|
+ spaceCustomContentList = spaceCustomContentList.sort(
|
|
|
+ proxyData.compare
|
|
|
+ );
|
|
|
+ item.spaceCustomContentList = spaceCustomContentList;
|
|
|
+ let nowTime: any = getRelNowTime();
|
|
|
+ let nowDate: any = formatDate("YYYY-MM-DD");
|
|
|
+ let date: any = formatDateStr(data[i].date);
|
|
|
+ item.cusStartTime = spaceCustomContentList[0]
|
|
|
+ ? spaceCustomContentList[0].startTime
|
|
|
+ : "";
|
|
|
+ item.cusEndTime = spaceCustomContentList[0]
|
|
|
+ ? spaceCustomContentList[0].endTime
|
|
|
+ : "";
|
|
|
+ if (nowDate == date) {
|
|
|
+ // 当前时间
|
|
|
+ item.cusStartTime = "";
|
|
|
+ item.cusEndTime = "";
|
|
|
+ }
|
|
|
+ for (let j = 0; j < spaceCustomContentList.length; j++) {
|
|
|
+ if (item.cusStartTime && item.cusEndTime) {
|
|
|
+ if (item.cusEndTime + 1 === spaceCustomContentList[j].startTime) {
|
|
|
+ item.cusEndTime = spaceCustomContentList[j].endTime;
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ if (
|
|
|
+ nowTime >= spaceCustomContentList[j].startTime &&
|
|
|
+ nowTime <= spaceCustomContentList[j].endTime
|
|
|
+ ) {
|
|
|
+ item.cusStartTime = spaceCustomContentList[j].startTime;
|
|
|
+ item.cusEndTime = spaceCustomContentList[j].endTime;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (!item.cusStartTime) {
|
|
|
+ item.cusStartTime = spaceCustomContentList[0]
|
|
|
+ ? spaceCustomContentList[0].startTime
|
|
|
+ : "";
|
|
|
+ item.cusEndTime = spaceCustomContentList[0]
|
|
|
+ ? spaceCustomContentList[0].endTime
|
|
|
+ : "";
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
});
|
|
|
watch(props, (newProps: any) => {
|
|
|
proxyData.workkArr = newProps.workkArr;
|
|
|
proxyData.projectId = newProps.projectId;
|
|
|
proxyData.enterType = newProps.enterType;
|
|
|
proxyData.deviceItem = newProps.deviceItem;
|
|
|
- if (proxyData.isUpdate) {
|
|
|
- proxyData.setWorkTimeList();
|
|
|
- }
|
|
|
+ proxyData.seviceEquipmentList = newProps.seviceEquipmentList;
|
|
|
+ // if (proxyData.isUpdate) {
|
|
|
+ // proxyData.setWorkTimeList();
|
|
|
+ // }
|
|
|
});
|
|
|
onMounted(() => {
|
|
|
// 设置dom最外层的宽
|
|
|
+ console.log("弹窗变化了-----==");
|
|
|
+ proxyData.formateManualWorkTime();
|
|
|
proxyData.setWorkTimeList();
|
|
|
});
|
|
|
return {
|