Pārlūkot izejas kodu

考勤修改,BUG修改

xiao547607 4 gadi atpakaļ
vecāks
revīzija
f112162e7c

+ 6 - 1
src/api/business/workScheduleAttendance.js

@@ -45,6 +45,11 @@ function personWorkList(formData) {
   return request.post(constant.serverUrl + "/business/workScheduleAttendance/personWorkList", formData);
 }
 
+function exportXls(formData) {
+  //导出xls
+  return request.post(constant.serverUrl + "/business/workScheduleAttendance/exportXls", formData);
+}
+
 export default {
-  pageList, create, edit, add, update, remove, batchRemove, personWorkList
+  pageList, create, edit, add, update, remove, batchRemove, personWorkList,exportXls
 }

+ 0 - 1
src/views/base/workPersonScheduling-change.vue

@@ -460,7 +460,6 @@ export default {
       var self = this;
       var formData = new FormData();
       formData.append("companyId", self.queryModel.companyId);
-      //formData.append("companyId", "ee25ae8d-d102-4fcd-8d58-71e40f413337");
 
       workShiftInfoApi.shiftList(formData).then(function (response) {
         var jsonData = response.data;

+ 37 - 20
src/views/base/workShiftInfo-list.vue

@@ -42,17 +42,25 @@
     </el-form>
     <el-divider></el-divider>
     <el-row class="button-group">
-      <el-button
-        type="primary"
-        size="small"
-        plain
-        icon="el-icon-circle-plus"
-        @click="handleAdd"
-        >新增</el-button
+      <permission-detect
+        class="inline margin-10"
+        path="/base/workShiftInfo/batchUpdate"
+        method="post"
+      >
+        <el-button
+          type="primary"
+          size="small"
+          plain
+          icon="el-icon-circle-plus"
+          @click="handleAdd"
+          >新增</el-button
+        >
+      </permission-detect>
+      <permission-detect
+        class="inline margin-10"
+        path="/base/workShiftInfo/delete"
+        method="post"
       >
-      <permission-detect 
-      class="inline margin-10"
-      path="/base/workShiftInfo/delete" method="post">
         <el-button
           type="primary"
           size="small"
@@ -128,18 +136,27 @@
         <template slot-scope="{ row }">
           <el-row>
             <el-col :span="8">
-              <el-link type="primary" @click="handleEdit(row)">编辑</el-link>
+              <permission-detect
+                class="inline margin-10"
+                path="/base/workShiftInfo/batchUpdate"
+                method="post"
+              >
+                <el-link type="primary" @click="handleEdit(row)">编辑</el-link>
+              </permission-detect>
             </el-col>
             <el-col :span="8">
-              <permission-detect class="inline"
-                  path="/base/workShiftInfo/delete" method="post">
-                  <el-link
-                    type="danger"
-                    :underline="false"
-                    @click="handleDelete(row)"
-                    >删除
-                  </el-link>
-                </permission-detect>
+              <permission-detect
+                class="inline"
+                path="/base/workShiftInfo/delete"
+                method="post"
+              >
+                <el-link
+                  type="danger"
+                  :underline="false"
+                  @click="handleDelete(row)"
+                  >删除
+                </el-link>
+              </permission-detect>
             </el-col>
           </el-row>
         </template>

+ 1 - 1
src/views/business/workScheduleAttendance-day-list.vue

@@ -70,7 +70,7 @@
       ></el-table-column>
       <el-table-column prop="shiftNumbers" label="班次" width="180">
         <template slot-scope="{ row }">
-          <span v-if="row.onWorkStatus != 1 && row.onWorkStatus != 1">
+          <span v-if="row.onWorkStatus != 1 && row.onWorkStatus != 1&& row.onWorkStatus != null">
             {{ row.onWorkStatusN }}
           </span>
           <span v-else>

+ 63 - 5
src/views/business/workScheduleAttendance-list.vue

@@ -75,7 +75,15 @@
     </el-form>
     <el-divider></el-divider>
     <el-row class="button-group">
-      
+      <el-button
+        type="primary"
+        size="small"
+        plain
+        icon="el-icon-download"
+        :loading="xlsLoading"
+        @click="downloadAll"
+        >导出数据</el-button
+      >
     </el-row>
     <el-table
       ref="formTable"
@@ -95,8 +103,8 @@
       ></el-table-column>
       <el-table-column
         prop="personInfo.id"
-        label="id"
-        width="120"
+        label="编号"
+        width="100"
         fixed="left"
       ></el-table-column>
       <el-table-column
@@ -131,11 +139,11 @@
         label="迟到次数"
         width="120"
       ></el-table-column>
-      <!-- <el-table-column
+      <el-table-column
         prop="leaveEarlyMinutes"
         label="早退分钟"
         width="120"
-      ></el-table-column> -->
+      ></el-table-column>
       <el-table-column
         prop="leaveEarlyNum"
         label="早退次数"
@@ -319,6 +327,56 @@ export default {
         }
       });
     },
+    
+    downloadAll() {
+      //导出
+      var self = this;
+      var formData = new FormData();
+      if (self.queryModel.companyId == null) {
+        self.queryModel.companyId = "";
+      }
+
+      formData.append("companyId", self.queryModel.companyId);
+      formData.append("subordinate", self.queryModel.subordinate);
+
+      formData.append("name", self.queryModel.name);
+
+      var startDate = "";
+      var endDate = "";
+      var timeRanges = self.queryModel.timeRanges + "";
+
+      if (timeRanges != "" && timeRanges != null) {
+        timeRanges = timeRanges.split(",");
+        startDate = timeRanges[0];
+        endDate = timeRanges[1];
+      }
+
+      formData.append("startMonth", startDate);
+      formData.append("endMonth", endDate);
+
+      self.loading = true;
+      self.loadingText = "加载中";
+
+      workScheduleAttendanceApi.exportXls(formData).then(function (response) {
+        self.loading = false;
+        var jsonData = response.data;
+        if (jsonData.result) {
+          if (jsonData.data != null) {
+            if(document.location.href.startsWith("https://")){
+                jsonData.data = jsonData.data.replace("http://","https://");
+            }
+            
+            self.$message({
+              showClose: true,
+              type: "success",
+              dangerouslyUseHTMLString: true,
+              message: `报表已生成,<a href="${jsonData.data}" target="_blank">点击下载报表</a>&nbsp;`,
+              duration: 30000,
+            });
+          }
+        }
+      });
+    },
     pageSizeChange(pageSize) {
       this.pageSize = pageSize;