Explorar o código

大日历修改测试

“front-end” %!s(int64=3) %!d(string=hai) anos
pai
achega
b65a5fe753
Modificáronse 1 ficheiros con 139 adicións e 126 borrados
  1. 139 126
      src/pages/main/fullcalendar/calendar.vue

+ 139 - 126
src/pages/main/fullcalendar/calendar.vue

@@ -1,6 +1,6 @@
 <template>
   <div>
-    <basic-block title="日历">
+    <basic-block title="">
       <!--
             <div class="tag-tip">
               <el-tag size="small" color="#f08f00">审核中</el-tag>
@@ -27,6 +27,7 @@
               ref="fullCalendar"
               style="height: 100%"
               :options="calendarOptions"
+              alt=""
             >
             </full-calendar>
           </div>
@@ -447,7 +448,7 @@ export default {
       newfrom: [], //新获得过滤数字
       titleNew: "",
       delStatus: false,
-      showEvmStatus:''
+      showEvmStatus: "",
     };
   },
   mounted() {
@@ -496,71 +497,95 @@ export default {
       });
     },
     getReservationList(arrayData) {
+      console.log(arrayData);
       let newArr = [];
       this.subList = arrayData;
-      let year = new Date(new Date()).getFullYear();
-      let month =
-        new Date(new Date()).getMonth() + 1 < 10
-          ? "0" + (new Date(new Date()).getMonth() + 1)
-          : new Date(new Date()).getMonth() + 1;
-      let date =
-        new Date(new Date()).getDate() < 10
-          ? "0" + new Date(new Date()).getDate()
-          : new Date(new Date()).getDate();
-      let hh =
-        new Date(new Date()).getHours() < 10
-          ? "0" + new Date(new Date()).getHours()
-          : new Date(new Date()).getHours();
-      let mm =
-        new Date(new Date()).getMinutes() < 10
-          ? "0" + new Date(new Date()).getMinutes()
-          : new Date(new Date()).getMinutes();
-      let nowday = year + "-" + month + "-" + date;
-      let nowtime = hh + ":" + mm;
-      let a = arrayData.filter((items) => {
-        return items.begindate.indexOf(nowday) > -1;
-      });
-      let b = arrayData.filter((items) => {
-        return items.begindate.indexOf(nowday) == -1;
-      });
-      if(a.length == 1){
-        a.map((item) =>{
-          newArr.push({
-            newBeginTime: item.begindate.split(" ")[1].substr(0, 5),
-            newEndTime: item.enddate.split(" ")[1].substr(0, 5),
-            start: this.dealWithTime(item.begindate),
-            end: this.addDate(this.dealWithTime(item.enddate), 1),
-            textColor: item.roleColor,
-            id: item.id,
-            title: `${this.getTitle(
-              item.begindate,
-              item.enddate,
-              item.isParty
-            )}   ${"会议名称:" + item.title}    ${"召集人:" + item.leaderName}`,
-          });
-        })
-      }
-      a.map((item) => {
-        if (
-          parseInt(nowtime) >=
-          parseInt(item.begindate.split(" ")[1].substr(0, 5)) - 1 && parseInt(nowtime) < parseInt(item.enddate.split(" ")[1].substr(0, 5))
-        ) {
-          newArr.push({
-            newBeginTime: item.begindate.split(" ")[1].substr(0, 5),
-            newEndTime: item.enddate.split(" ")[1].substr(0, 5),
-            start: this.dealWithTime(item.begindate),
-            end: this.addDate(this.dealWithTime(item.enddate), 1),
-            textColor: item.roleColor,
-            id: item.id,
-            title: `${this.getTitle(
-              item.begindate,
-              item.enddate,
-              item.isParty
-            )}   ${"会议名称:" + item.title}    ${"召集人:" + item.leaderName}`,
-          });
-        }
-      });
-      b.map((item) => {
+      // let year = new Date(new Date()).getFullYear();
+      // let month =
+      //   new Date(new Date()).getMonth() + 1 < 10
+      //     ? "0" + (new Date(new Date()).getMonth() + 1)
+      //     : new Date(new Date()).getMonth() + 1;
+      // let date =
+      //   new Date(new Date()).getDate() < 10
+      //     ? "0" + new Date(new Date()).getDate()
+      //     : new Date(new Date()).getDate();
+      // let hh =
+      //   new Date(new Date()).getHours() < 10
+      //     ? "0" + new Date(new Date()).getHours()
+      //     : new Date(new Date()).getHours();
+      // let mm =
+      //   new Date(new Date()).getMinutes() < 10
+      //     ? "0" + new Date(new Date()).getMinutes()
+      //     : new Date(new Date()).getMinutes();
+      // let nowday = year + "-" + month + "-" + date;
+      // let nowtime = hh + ":" + mm;
+      // let a = arrayData.filter((items) => {
+      //   return items.begindate.indexOf(nowday) > -1;
+      // });
+      // let b = arrayData.filter((items) => {
+      //   return items.begindate.indexOf(nowday) == -1;
+      // });
+      // console.log(a.length);
+      // if (a.length == 1) {
+      //   a.map((item) => {
+      //     newArr.push({
+      //       newBeginTime: item.begindate.split(" ")[1].substr(0, 5),
+      //       newEndTime: item.enddate.split(" ")[1].substr(0, 5),
+      //       start: this.dealWithTime(item.begindate),
+      //       end: this.addDate(this.dealWithTime(item.enddate), 1),
+      //       textColor: item.roleColor,
+      //       id: item.id,
+      //       title: `${this.getTitle(
+      //         item.begindate,
+      //         item.enddate,
+      //         item.isParty
+      //       )}   ${ item.title}    ${"召集人:" + item.leaderName}`,
+      //     });
+      //   });
+      // } else {
+      //   a.map((item) => {
+      //     if (
+      //       parseInt(nowtime) >=
+      //         parseInt(item.begindate.split(" ")[1].substr(0, 5)) - 1 &&
+      //       parseInt(nowtime) <
+      //         parseInt(item.enddate.split(" ")[1].substr(0, 5))
+      //     ) {
+      //       newArr.push({
+      //         newBeginTime: item.begindate.split(" ")[1].substr(0, 5),
+      //         newEndTime: item.enddate.split(" ")[1].substr(0, 5),
+      //         start: this.dealWithTime(item.begindate),
+      //         end: this.addDate(this.dealWithTime(item.enddate), 1),
+      //         textColor: item.roleColor,
+      //         id: item.id,
+      //         title: `${this.getTitle(
+      //           item.begindate,
+      //           item.enddate,
+      //           item.isParty
+      //         )}   ${item.title}    ${
+      //           "召集人:" + item.leaderName
+      //         }`,
+      //       });
+      //     }
+      //   });
+      // }
+
+      // b.map((item) => {
+      //   newArr.push({
+      //     newBeginTime: item.begindate.split(" ")[1].substr(0, 5),
+      //     newEndTime: item.enddate.split(" ")[1].substr(0, 5),
+      //     start: this.dealWithTime(item.begindate),
+      //     end: this.addDate(this.dealWithTime(item.enddate), 1),
+      //     textColor: item.roleColor,
+      //     id: item.id,
+      //     title: `${this.getTitle(
+      //       item.begindate,
+      //       item.enddate,
+      //       item.isParty
+      //     )}   ${ item.title}    ${"召集人:" + item.leaderName}`,
+      //   });
+      // });
+      arrayData.forEach((item) => {
+        console.log('item', item)
         newArr.push({
           newBeginTime: item.begindate.split(" ")[1].substr(0, 5),
           newEndTime: item.enddate.split(" ")[1].substr(0, 5),
@@ -572,25 +597,9 @@ export default {
             item.begindate,
             item.enddate,
             item.isParty
-          )}   ${"会议名称:" + item.title}    ${"召集人:" + item.leaderName}`,
+          )}   ${item.title}    ${"召集人:" + item.leaderName}`,
         });
       });
-      arrayData.forEach((item) => {
-        // console.log('item', item)
-        // newArr.push({
-        //   newBeginTime: item.begindate.split(" ")[1].substr(0, 5),
-        //   newEndTime: item.enddate.split(" ")[1].substr(0, 5),
-        //   start: this.dealWithTime(item.begindate),
-        //   end: this.addDate(this.dealWithTime(item.enddate), 1),
-        //   textColor: item.roleColor,
-        //   id: item.id,
-        //   title: `${this.getTitle(
-        //     item.begindate,
-        //     item.enddate,
-        //     item.isParty
-        //   )}   ${"会议名称:" + item.title}    ${"召集人:" + item.leaderName}`,
-        // });
-      });
       this.calendarOptions.events = newArr;
       console.log(this.calendarOptions.events);
 
@@ -659,7 +668,7 @@ export default {
       // console.log(calEvent, '鼠标经过cal');
       this.idx = calEvent.event.id;
       this.$refs.ove.style.opacity = 0.8;
-      this.$refs.ove.style.display = 'block';
+      this.$refs.ove.style.display = "block";
       event = event || window.event;
       this.xtop = event.clientY + "px";
       this.xleft = event.clientX + "px";
@@ -690,7 +699,7 @@ export default {
     eventmouseout() {},
     //关闭悬停窗口
     closexuan() {
-      this.$refs.ove.style.display = 'none';
+      this.$refs.ove.style.display = "none";
     },
     //悬停窗体修改按钮
     xiuxuan(events) {
@@ -752,6 +761,7 @@ export default {
       console.log(calEvent, "事件2");
       this.dialogVisible = true;
       let id = calEvent.event.id;
+      console.log(this.subList);
       let info = this.subList.filter((item) => {
         return item.id == id;
       });
@@ -823,32 +833,39 @@ export default {
           if (this.form.id === "") {
             this.form === "";
           }
-          this.$http({
-            url:
-              this.form.id === ""
-                ? "/market/calendar/add"
-                : "/market/calendar/update",
-            method: "post",
-            headers: {
-              "Content-Type": "application/json",
-            },
-            data: this.form,
-          }).then((res) => {
-            console.log(res);
-            this.loadinged = false;
-            if (res.data.result === 1) {
-              this.$message({
-                message: res.data.desc,
-                type: "error",
-              });
-            } else {
-              this.$message({
-                message: "成功",
-                type: "success",
-              });
-              location.reload();
-            }
-          });
+          if (new Date(this.form.enddate) < new Date(this.form.begindate)) {
+            this.$message({
+              message: "会议时间填写错误",
+              type: "error",
+            });
+          } else {
+            this.$http({
+              url:
+                this.form.id === ""
+                  ? "/market/calendar/add"
+                  : "/market/calendar/update",
+              method: "post",
+              headers: {
+                "Content-Type": "application/json",
+              },
+              data: this.form,
+            }).then((res) => {
+              console.log(res);
+              this.loadinged = false;
+              if (res.data.result === 1) {
+                this.$message({
+                  message: res.data.desc,
+                  type: "error",
+                });
+              } else {
+                this.$message({
+                  message: "成功",
+                  type: "success",
+                });
+                location.reload();
+              }
+            });
+          }
         } else {
           console.log("error submit!!");
           return false;
@@ -873,17 +890,16 @@ export default {
       if (_value) {
         let disabledOnOff = false;
         // 第一次过滤,过滤掉结束时间
-        // this.timeOptions = this.backupTimeOptions.map((_item) => {
-        //   const result = { time: _item.time, disabled: _item.disabled };
-        //   if (_item.time === this.form.endTime) {
-        //     disabledOnOff = true;
-        //   }
-        //   if (disabledOnOff) {
-        //     result.disabled = true;
-        //   }
-        //   return result;
-
-        // });
+        this.timeOptions = this.backupTimeOptions.map((_item) => {
+          const result = { time: _item.time, disabled: _item.disabled };
+          if (_item.time === this.form.endTime) {
+            disabledOnOff = true;
+          }
+          if (disabledOnOff) {
+            result.disabled = true;
+          }
+          return result;
+        });
         // 第二次过滤,过滤掉后端返回的数据
         console.log(this.newfrom);
         this.newfrom.map((_item) => {
@@ -1003,11 +1019,8 @@ export default {
   text-overflow: ellipsis;
   white-space: nowrap;
 }
-::v-deep .fc-h-event{
-  border:none !important;
+::v-deep .fc-h-event {
+  border: none !important;
   background-color: #fff !important;
 }
-
-
-
 </style>