ME 1 settimana fa
parent
commit
7b924ae9a4

+ 7 - 9
src/views/emergency/attendance-add-or-update.vue

@@ -32,15 +32,8 @@
         ></el-date-picker>
       </el-form-item>
           <el-form-item label="出勤状态" prop="status">
-        <!-- <el-input v-model="dataForm.status" placeholder="0-正常 1-迟到 2-早退 3-缺勤 4-请假 5-出差 6-调休"></el-input> -->
           <el-select v-model="dataForm.status" placeholder="请选择出勤状态">
-            <el-option label="正常" value="0"></el-option>
-            <el-option label="迟到" value="1"></el-option>
-            <el-option label="早退" value="2"></el-option>
-            <el-option label="缺勤" value="3"></el-option>
-            <el-option label="请假" value="4"></el-option>
-            <el-option label="出差" value="5"></el-option>
-            <el-option label="调休" value="6"></el-option>
+            <el-option :label="item.dictLabel" :value="item.dictValue" v-for="item in state.getDictByKey('attendanceStatus')"></el-option>
           </el-select>
         </el-form-item>
           <el-form-item label="照片存储路径" prop="photoPath">
@@ -73,13 +66,15 @@
 
 <script lang="ts" setup>
 import { reactive, ref } from "vue";
+import { parseTime } from '@/utils/ruoyi'
 import baseService from "@/service/baseService";
 import { ElMessage } from "element-plus";
 const emit = defineEmits(["refreshDataList"]);
 const fileInput = ref<HTMLInputElement | null>(null);
 const visible = ref(false);
 const dataFormRef = ref();
-
+import useView from "@/hooks/useView";
+const state = reactive({ ...useView({}) });
 const dataForm = reactive({
   id: '',  date: '',  checkInTime: '',  checkOutTime: '',  status: '',  photoPath: '',  creator: '',  createDate: '',  updater: '',  updateDate: '',  remark: ''});
 
@@ -129,6 +124,9 @@ const dataFormSubmitHandle = () => {
     if (!valid) {
       return false;
     }
+    dataForm.checkInTime = dataForm.checkInTime ? parseTime(new Date(dataForm.checkInTime), '{yy}-{mm}-{dd} {hh}:{ii}:{ss}') : null;
+    dataForm.checkOutTime = dataForm.checkOutTime ? parseTime(new Date(dataForm.checkOutTime), '{yy}-{mm}-{dd} {hh}:{ii}:{ss}') : null;
+    dataForm.status = dataForm.status ? Number(dataForm.status) : null;
     (!dataForm.id ? baseService.post : baseService.put)("/emergency/attendance", dataForm).then((res) => {
       ElMessage.success({
         message: '成功',

+ 4 - 27
src/views/emergency/attendance.vue

@@ -1,18 +1,6 @@
 <template>
   <div class="mod-demo__attendance">
     <el-form :inline="true" :model="state.dataForm" @keyup.enter="state.getDataList()">
-      <el-form-item>
-        <el-input v-model="state.dataForm.creator" placeholder="考勤人员名称" clearable></el-input>
-      </el-form-item>
-      <el-form-item>
-        <el-input v-model="state.dataForm.date" placeholder="考勤日期" clearable></el-input>
-      </el-form-item>
-      <el-form-item>
-        <el-input v-model="state.dataForm.status" placeholder="出勤状态" clearable></el-input>
-      </el-form-item>
-      <el-form-item>
-        <el-button @click="state.getDataList()">查询</el-button>
-      </el-form-item>
       <el-form-item>
         <el-button v-if="state.hasPermission('emergency:attendance:save')" type="primary" @click="addOrUpdateHandle()">新增</el-button>
       </el-form-item>
@@ -26,22 +14,16 @@
     <el-table v-loading="state.dataListLoading" :data="state.dataList" border @selection-change="state.dataListSelectionChangeHandle" style="width: 100%">
       <el-table-column type="selection" header-align="center" align="center" width="50"></el-table-column>
               <el-table-column prop="id" label="记录ID" header-align="center" align="center"></el-table-column>
-              <el-table-column prop="date" label="勤日期" header-align="center" align="center"></el-table-column>
+              <el-table-column prop="date" label="勤日期" header-align="center" align="center"></el-table-column>
               <el-table-column prop="checkInTime" label="签到时间" header-align="center" align="center"></el-table-column>
               <el-table-column prop="checkOutTime" label="签退时间" header-align="center" align="center"></el-table-column>
               <el-table-column prop="status" label="出勤状态" header-align="center" align="center">
                 <template v-slot="scope">
-                  <span v-if="scope.row.status === 0">正常</span>
-                  <span v-else-if="scope.row.status === 1">迟到</span>
-                  <span v-else-if="scope.row.status === 2">早退</span>
-                  <span v-else-if="scope.row.status === 3">缺勤</span>
-                  <span v-else-if="scope.row.status === 4">请假</span>
-                  <span v-else-if="scope.row.status === 5">出差</span>
-                  <span v-else-if="scope.row.status === 6">调休</span>
+                  {{ state.getDictLabel("attendanceStatus", scope.row.status) }}
                 </template>
               </el-table-column>
               <el-table-column prop="photoPath" label="照片存储路径" header-align="center" align="center"></el-table-column>
-              <el-table-column prop="creator" label="考勤人员名称" header-align="center" align="center"></el-table-column>
+              <el-table-column prop="creator" label="创建人" header-align="center" align="center"></el-table-column>
               <el-table-column prop="createDate" label="创建时间" header-align="center" align="center"></el-table-column>
               <el-table-column prop="updater" label="更新人" header-align="center" align="center"></el-table-column>
               <el-table-column prop="updateDate" label="更新时间" header-align="center" align="center"></el-table-column>
@@ -69,12 +51,7 @@ const view = reactive({
   getDataListURL: "/emergency/attendance/page",
   getDataListIsPage: true,
   exportURL: "/emergency/attendance/export",
-  deleteURL: "/emergency/attendance",
-  dataForm: {
-    creator: "",     
-    date: "",         
-    status: "",         
-  }
+  deleteURL: "/emergency/attendance"
 });
 
 const state = reactive({ ...useView(view), ...toRefs(view) });