|
@@ -4,6 +4,7 @@
|
|
|
<div class="space-title">{{ spaceInfo.spaceName }} 申请延时</div>
|
|
|
<!-- <div class="tip">延时期间,空间相关设备会开启</div> -->
|
|
|
</div>
|
|
|
+ <!--加班的按钮-->
|
|
|
<div class="add-time" id="addTimeId">
|
|
|
<div class="date_box" v-if="dateArr && dateArr.length">
|
|
|
<div
|
|
@@ -33,6 +34,25 @@
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
+ <!--审批状态-->
|
|
|
+ <!-- <div class="approval-box" v-if="dateArr && dateArr.length">
|
|
|
+
|
|
|
+ </div> -->
|
|
|
+ <template v-if="approvalData && approvalData.length">
|
|
|
+ <div
|
|
|
+ class="approval-status"
|
|
|
+ :key="'approval' + index"
|
|
|
+ @click="checkApprovalStatus(item, $event)"
|
|
|
+ :style="{
|
|
|
+ left: item.left + 'px',
|
|
|
+ background: item.bg,
|
|
|
+ }"
|
|
|
+ v-for="(item, index) in approvalData"
|
|
|
+ >
|
|
|
+ {{ item.text }}
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+
|
|
|
<div class="slider-btn" id="sliderBtnId" @click="triggerDelTime">
|
|
|
<div class="start" id="startId"></div>
|
|
|
<div class="end-box" id="endBoxId">
|
|
@@ -42,6 +62,7 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
+
|
|
|
<div class="add-time-btn">
|
|
|
<div class="cancel-btn" @click="closeWorkTimer">取消</div>
|
|
|
<div
|
|
@@ -205,6 +226,7 @@ export default defineComponent({
|
|
|
let timerArr: any = getTimers();
|
|
|
let nowTimerArr: any = [];
|
|
|
let nowData: any = {};
|
|
|
+ let approvalData: any = [];
|
|
|
let redUrl: any = `${parseImgUrl("ipdImages", "time-check.svg")}`;
|
|
|
let bgRed: any = `linear-gradient(0deg, rgba(255, 0, 0, 0.2), rgba(255, 0, 0, 0.2)), url(${redUrl})`;
|
|
|
const userInfo: any = getUserInfo();
|
|
@@ -913,7 +935,6 @@ export default defineComponent({
|
|
|
});
|
|
|
}
|
|
|
});
|
|
|
- console.log("t==", timerArr);
|
|
|
|
|
|
proxyData.dateArr.push({
|
|
|
date: date,
|
|
@@ -954,6 +975,76 @@ export default defineComponent({
|
|
|
* 切换日期
|
|
|
*/
|
|
|
activeIndex: 0,
|
|
|
+ // 点击审批的时候触发接口
|
|
|
+ checkApprovalStatus(item: any, e: any) {
|
|
|
+ if (e.target) {
|
|
|
+ let targetWidth: any = e.target.offsetWidth * 0.7;
|
|
|
+ let left: any = item.left - targetWidth * 1.5 + e.offsetX;
|
|
|
+ let sliderBoxEl: any = document.querySelectorAll(".slider-box")[0];
|
|
|
+ let sliderWidth: any = sliderBoxEl.offsetWidth;
|
|
|
+ let index: any = Math.ceil(left / sliderWidth);
|
|
|
+ proxyData.checkSlider({}, index);
|
|
|
+ }
|
|
|
+ },
|
|
|
+ approvalData: approvalData,
|
|
|
+ // 格式化审批状态的数据位置
|
|
|
+ formateApproveStatusPerstion() {
|
|
|
+ if (proxyData.nowData) {
|
|
|
+ let spaceCustomContentList: any =
|
|
|
+ proxyData.nowData.customSceneList || [];
|
|
|
+ let sliderBoxArr: any = document.querySelectorAll(".slider-box");
|
|
|
+ proxyData.approvalData = [];
|
|
|
+ for (let i = 0; i < spaceCustomContentList.length; i++) {
|
|
|
+ let item: any = spaceCustomContentList[i];
|
|
|
+ // 加班数据
|
|
|
+ console.log("加班审批数据数据--", item);
|
|
|
+ console.log(item);
|
|
|
+ let obj: any = {
|
|
|
+ left: 0,
|
|
|
+ bg: "",
|
|
|
+ index: 0,
|
|
|
+ approvalStatus: item.approvalStatus,
|
|
|
+ text: "",
|
|
|
+ };
|
|
|
+ if (item.approvalStatus == 0) {
|
|
|
+ obj.text = "待审批";
|
|
|
+ obj.bg = "rgba(65, 107, 255, 0.6)";
|
|
|
+ } else if (item.approvalStatus == 1) {
|
|
|
+ obj.text = "已通过";
|
|
|
+ obj.bg = "rgba(24, 196, 93, 0.6)";
|
|
|
+ } else if (item.approvalStatus == 2) {
|
|
|
+ obj.text = "已拒绝";
|
|
|
+ obj.bg = "rgba(255, 54, 54, 0.6)";
|
|
|
+ } else if (item.approvalStatus == 3) {
|
|
|
+ obj.text = "已失效";
|
|
|
+ obj.bg = "rgba(255, 54, 54, 0.6)";
|
|
|
+ }
|
|
|
+ if (obj.text) {
|
|
|
+ let startTime: any = proxyData.parseCusStartTime(item.startTime);
|
|
|
+ let endTime: any = proxyData.parseCusStartTime(item.endTime);
|
|
|
+ let timerArr: any = proxyData.nowTimerArr;
|
|
|
+ let leftStart: any = 0;
|
|
|
+ let leftEnd: any = 0;
|
|
|
+ timerArr.map((timer: any, index: any) => {
|
|
|
+ if (timer.formatTimer == startTime) {
|
|
|
+ let sliderBoxItem: any = sliderBoxArr[index];
|
|
|
+ if (sliderBoxItem) {
|
|
|
+ leftStart = sliderBoxItem.offsetWidth * index;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (timer.formatTimer == endTime) {
|
|
|
+ let sliderBoxItem: any = sliderBoxArr[index];
|
|
|
+ if (sliderBoxItem) {
|
|
|
+ leftEnd = sliderBoxItem.offsetWidth * index;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+ obj.left = leftStart + (leftEnd - leftStart) / 2;
|
|
|
+ proxyData.approvalData.push(obj);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
checkDate(item: any, index: any) {
|
|
|
proxyData.clearTimerBoxStyle();
|
|
|
item.isActive = true;
|
|
@@ -971,6 +1062,8 @@ export default defineComponent({
|
|
|
proxyData.setCheckTimeStyle();
|
|
|
// // 固定服务时间
|
|
|
proxyData.setServiceTimerStyle();
|
|
|
+ // 设置审批状态
|
|
|
+ proxyData.formateApproveStatusPerstion();
|
|
|
if (!proxyData.isEvent) {
|
|
|
proxyData.changeEl();
|
|
|
proxyData.isEvent = true;
|
|
@@ -1562,6 +1655,22 @@ export default defineComponent({
|
|
|
white-space: nowrap;
|
|
|
overflow-x: auto;
|
|
|
overflow-y: hidden;
|
|
|
+ .approval-status {
|
|
|
+ position: absolute;
|
|
|
+ font-family: "Montserrat";
|
|
|
+ top: 64px;
|
|
|
+ z-index: 444;
|
|
|
+ width: 78px;
|
|
|
+ height: 30px;
|
|
|
+ line-height: 30px;
|
|
|
+ border-radius: 10px;
|
|
|
+ font-size: 12px;
|
|
|
+ transform: scale(0.7) translateX(-50%);
|
|
|
+ // translateX(-50%)
|
|
|
+ font-weight: 500;
|
|
|
+ text-align: center;
|
|
|
+ color: #ffffff;
|
|
|
+ }
|
|
|
|
|
|
&::-webkit-scrollbar {
|
|
|
display: none;
|