sunlupeng 1 年間 前
コミット
2c37a6c54b

+ 1 - 1
src/api/personnel/attendance/workday/index.js

@@ -11,7 +11,7 @@ export function getWorkDay(query) {
 // 设置工作日
 export function setWorkDay(data) {
   return request({
-    url: '/personnel/attendance/workday-setting/update',
+    url: '/personnel/attendance/workday-setting/batch-insert',
     method: 'post',
     data: data
   })

+ 2 - 2
src/plugins/modal.js

@@ -53,7 +53,7 @@ export default {
   },
   // 确认窗体
   confirm(content) {
-    return MessageBox.confirm(content, "系统提示", {
+    return MessageBox.confirm(content, "提示", {
       confirmButtonText: '确定',
       cancelButtonText: '取消',
       type: "warning",
@@ -61,7 +61,7 @@ export default {
   },
   // 提交内容
   prompt(content) {
-    return MessageBox.prompt(content, "系统提示", {
+    return MessageBox.prompt(content, "提示", {
       confirmButtonText: '确定',
       cancelButtonText: '取消',
       type: "warning",

+ 22 - 6
src/views/personnel/attendance/info/daily.vue

@@ -13,10 +13,25 @@
         <el-input v-model="queryParams.employeePhone" placeholder="请输入手机号" clearable style="width: 250px"
           @keyup.enter.native="handleQuery" />
       </el-form-item>
-      <el-form-item label="日期" prop="attendanceDate">
-        <el-date-picker v-model="queryParams.attendanceDate" style="width: 250px" format="yyyy-MM-dd" value-format="yyyy-MM-dd HH:mm:ss"
-          type="daterange" range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期"
-          :default-time="['00:00:00', '23:59:59']" />
+      <el-form-item label="开始日期" prop="attendanceStartDate">
+        <el-date-picker
+          v-model="queryParams.attendanceStartDate"
+          format="yyyy-MM-dd"
+          value-format="yyyy-MM-dd"
+          type="date"
+          placeholder="选择日期"
+          style="width: 250px">
+        </el-date-picker>
+      </el-form-item>
+      <el-form-item label="结束日期" prop="attendanceEndDate">
+        <el-date-picker
+          v-model="queryParams.attendanceEndDate"
+          format="yyyy-MM-dd"
+          value-format="yyyy-MM-dd"
+          type="date"
+          placeholder="选择日期"
+          style="width: 250px">
+        </el-date-picker>
       </el-form-item>
       <el-form-item>
         <el-button type="primary" icon="el-icon-search" @click="handleQuery">搜索</el-button>
@@ -83,7 +98,8 @@ export default {
         deptId: undefined,
         position: undefined,
         employeePhone: undefined,
-        attendanceDate: [new Date(), new Date()],
+        attendanceStartDate: this.getNowDate(),
+        attendanceEndDate: this.getNowDate(),
       },
     };
   },
@@ -98,7 +114,7 @@ export default {
       const year = date.getFullYear()
       const month = date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1
       const day = date.getDate() < 10 ? '0' + date.getDate() : date.getDate()
-      return year + '-' + month + '-' + day
+      return `${year}-${month}-${day}`
     },
     /** 查询部门列表 */
     getListDept() {

+ 3 - 3
src/views/personnel/attendance/info/monthly.vue

@@ -13,9 +13,9 @@
         <el-input v-model="queryParams.employeePhone" placeholder="请输入手机号" clearable style="width: 250px"
           @keyup.enter.native="handleQuery" />
       </el-form-item>
-      <el-form-item label="日期" prop="attendanceDate">
+      <el-form-item label="日期" prop="attendanceMonth">
         <el-date-picker
-          v-model="queryParams.attendanceDate"
+          v-model="queryParams.attendanceMonth"
           type="month"
           placeholder="选择月份">
         </el-date-picker>
@@ -86,7 +86,7 @@ export default {
         deptId: undefined,
         position: undefined,
         employeePhone: undefined,
-        attendanceDate: this.getNowDate(),
+        attendanceMonth: this.getNowDate(),
       },
     };
   },

+ 31 - 28
src/views/personnel/attendance/workday/index.vue

@@ -5,7 +5,7 @@
         <el-button type="primary" icon="el-icon-setting" size="mini" @click="handleWorkDay">设置工作日</el-button>
       </el-col>
     </el-row>
-    <FullCalendar class="fullCalendar" ref="fullCalendar" :options="calendarOptions">
+    <FullCalendar class="fullCalendar" ref="fullCalendar" :options="calendarOptions" v-loading="loading">
       <template v-slot:eventContent="arg">
         <div style="width: 100%;font-size: 18px;">
           <div style="text-align: center;">{{ arg.event.title }}</div>
@@ -17,7 +17,7 @@
 
 
 <script>
-import { getWorkDay,setWorkDay } from "@/api/reserveMeeting";
+import { getWorkDay,setWorkDay } from "@/api/personnel/attendance/workday/index";
 import FullCalendar from '@fullcalendar/vue'
 import dayGridPlugin from '@fullcalendar/daygrid'
 import interactionPlugin from '@fullcalendar/interaction'
@@ -29,6 +29,7 @@ export default {
   },
   data() {
     return {
+      loading:false,
       workDateList:[],
       dataList:[
         {
@@ -202,8 +203,8 @@ export default {
       ],
       // 查询参数
       queryParams: {
-        roomId: 2,
-        month: this.nowDate(),
+        // roomId: 2,
+        workMonth: this.nowDate(),
       },
       calendarApi: null,
       calendarOptions: {
@@ -225,7 +226,7 @@ export default {
           // center: 'title',
           // left: 'dayGridMonth,dayGridWeek,dayGridDay'
         },
-        // height: 'auto',
+        height: 'auto',
         eventTimeFormat: { // 在每个事件上显示的时间的格式
           hour: 'numeric',
           minute: '2-digit',
@@ -267,13 +268,13 @@ export default {
     },
     //设置工作日
     handleWorkDay() {
-      this.$modal.confirm('是否设置该月工作日?').then(function() {
-          return setWorkDay(this.getWorkDayList());
-        }).then(() => {
+      this.$modal.confirm('是否设置该月工作日?').then(()=>{
+        setWorkDay({dates:this.getWorkDayList()}).then(response => {
           this.getList();
           this.$modal.msgSuccess("设置成功");
+        });
       }).catch(() => {
-        this.$modal.msgError("设置失败");
+        this.$modal.msg("取消设置");
       });
     },
     // 获取当前年月
@@ -290,23 +291,25 @@ export default {
       return str;
     },
     getList() {
+        this.loading = true;
         this.calendarOptions.events = [];
-      // getWorkDay(this.queryParams).then(response => {
-        const event = this.dataList // 拿到返回的数据
-        event.forEach(item => {
-          let obj = {};
-          // obj.backgroundColor = '#c6e0b4'; // 该事件的背景颜色
-          // obj.borderColor  = '#c6e0b4'; // 该事件的边框颜色
-          // obj.textColor = '#fff'; // 该事件的文字颜色
-          obj.title = '工作日'
-          obj.start = item.workDate
-          // obj.allDay = true // 是否为全天事件
-          this.calendarOptions.events.push(obj) // 使用push方法将事件逐一添加,
+        getWorkDay(this.queryParams).then(response => {
+          const event = response.data; // 拿到返回的数据
+          event.forEach(item => {
+            let obj = {};
+            // obj.backgroundColor = '#c6e0b4'; // 该事件的背景颜色
+            // obj.borderColor  = '#c6e0b4'; // 该事件的边框颜色
+            // obj.textColor = '#fff'; // 该事件的文字颜色
+            obj.title = '工作日'
+            obj.start = item.workDate
+            // obj.allDay = true // 是否为全天事件
+            this.calendarOptions.events.push(obj) // 使用push方法将事件逐一添加,
+          });
+          console.log(this.calendarOptions.events)
+          this.calendarApi.refetchEvents()
+          // 重新抓取所有的日程事件源上的日程事件并渲染它们。
+          this.loading = false;
         });
-        console.log(this.calendarOptions.events)
-        this.calendarApi.refetchEvents()
-        // 重新抓取所有的日程事件源上的日程事件并渲染它们。
-      // });
     },
     formatDate1(cellValue) {
       if (cellValue == null || cellValue === "") return "";
@@ -334,7 +337,7 @@ export default {
         strArray.push(item.start) 
       })
       let index = strArray.indexOf(thisDate);
-      let workMonth = this.queryParams.month;
+      let workMonth = this.queryParams.workMonth;
       if(thisDate.substring(0,7)==workMonth){
         if (index > -1) {
           this.calendarOptions.events.splice(index, 1);
@@ -351,7 +354,7 @@ export default {
       this.calendarApi.today() // 将日历移动到当前日期。
       this.calendarApi.getDate() // 返回日期的日历的当前日期
       const formattedDate = this.formatDate(this.calendarApi.view.title);//获取当前月份
-      this.queryParams.month = formattedDate;
+      this.queryParams.workMonth = formattedDate;
       this.getList();
     },
     nextClick(mouseEvent, htmlElement) {
@@ -360,7 +363,7 @@ export default {
       // 如果日历位于dayGridWeek或中timeGridWeek,则将日历向前移动一周。
       // 如果日历位于dayGridDay或中timeGridDay,则将日历向前移动一天。
       const formattedDate = this.formatDate(this.calendarApi.view.title);//获取当前月份
-      this.queryParams.month = formattedDate;
+      this.queryParams.workMonth = formattedDate;
       this.getList();
     },
     prevClick(mouseEvent, htmlElement) {
@@ -369,7 +372,7 @@ export default {
       // 如果日历位于dayGridWeek或中timeGridWeek,则将日历后移一周。
       // 如果日历位于dayGridDay或中timeGridDay,则将日历移回一天。
       const formattedDate = this.formatDate(this.calendarApi.view.title);//获取当前月份
-      this.queryParams.month = formattedDate;
+      this.queryParams.workMonth = formattedDate;
       this.getList();
     }
   }