瀏覽代碼

钉钉demo

sangwenwei 5 月之前
父節點
當前提交
50b9e19fee
共有 3 個文件被更改,包括 104 次插入4 次删除
  1. 14 0
      src/api/test/dd/dd.js
  2. 83 0
      src/views/dd/PunchCardListDia.vue
  3. 7 4
      src/views/dd/UserList.vue

+ 14 - 0
src/api/test/dd/dd.js

@@ -16,4 +16,18 @@ export default {
 			params: params,
 		});
 	},
+	getWorkListCord(id) {
+		return request({
+			url: prefix + "/test/attendance/getWorkListCord",
+			method: "get",
+			params: {userId:id},
+		});
+	},
+	getByUserId(id) {
+		return request({
+			url: prefix + "/test/attendance/getByUserId",
+			method: "get",
+			params: {userId:id},
+		});
+	},
 };

+ 83 - 0
src/views/dd/PunchCardListDia.vue

@@ -0,0 +1,83 @@
+<template>
+  <v-dialog
+    :title="title"
+    :close-on-click-modal="false"
+	width="900px"
+    v-model="visible">
+	  <el-table :data="gridData">
+		  <el-table-column property="name" label="姓名" width="200"/>
+		  <el-table-column property="title" label="职位" width="200"/>
+		  <el-table-column property="workDate" label="工作日" width="200"/>
+		  <el-table-column property="userCheckTime" label="打卡时间" width="150" />
+		  <el-table-column property="locationResult" label="考勤类型" width="200" >
+			  <template #default="scope">
+				  <span v-if="scope.row.locationResult === 'Normal'">范围内</span>
+				  <span v-else-if="scope.row.locationResult === 'Outside'">范围外</span>
+				  <span v-else-if="scope.row.locationResult === 'NotSigned'">未打卡</span>
+			  </template>
+		  </el-table-column>
+		  <el-table-column property="checkType" label="考勤类型" width="200" >
+			  <template #default="scope">
+				  <span v-if="scope.row.checkType === 'OnDuty'">上班</span>
+				  <span v-else-if="scope.row.checkType === 'OffDuty'">下班</span>
+			  </template>
+		  </el-table-column>
+		  <el-table-column property="timeResult" label="打卡结果" width="200">
+			  <template #default="scope">
+				  <span v-if="scope.row.timeResult === 'Normal'">正常</span>
+				  <span v-else-if="scope.row.timeResult === 'Early'">早退</span>
+				  <span v-else-if="scope.row.timeResult === 'Late'">迟到</span>
+				  <span v-else-if="scope.row.timeResult === 'SeriousLate'">严重迟到</span>
+				  <span v-else-if="scope.row.timeResult === 'Absenteeism'">旷工迟到</span>
+				  <span v-else-if="scope.row.timeResult === 'NotSigned'">未打卡</span>
+			  </template>
+		  </el-table-column>
+	  </el-table>
+
+    <template #footer>
+        <span class="dialog-footer">
+          <el-button @click="visible = false" icon="circle-close">关闭</el-button>
+        </span>
+    </template>
+  </v-dialog>
+</template>
+
+<script>
+	import ddService from "@/api/test/dd/dd.js"
+  export default {
+    data () {
+      return {
+        title: '',
+        method: '',
+        visible: false,
+        loading: false,
+	    gridData:[]
+      }
+    },
+    components: {
+    },
+    created () {
+    },
+    methods: {
+      init (id,name,title) {
+		  this.title = '考勤列表'
+		  this.visible = true
+        this.loading = false
+        this.$nextTick(() => {
+			this.loading = true
+			ddService.getWorkListCord(id).then((data) => {
+				console.log('data',data)
+				this.gridData = data.recordresult
+				this.gridData.forEach((item)=>{
+					item.name = name
+					item.title = title
+				})
+				this.loading = false
+			})
+        })
+      },
+    }
+  }
+</script>
+
+

+ 7 - 4
src/views/dd/UserList.vue

@@ -50,7 +50,7 @@
                     </vxe-column>
                     <vxe-column fixed="right" align="center" width="320" title="操作">
                         <template #default="scope">
-                            <el-button type="success" text @click="handleAdd(scope.row)">测试</el-button>
+                            <el-button type="success" text @click="handleAdd(scope.row)">考勤</el-button>
                         </template>
                     </vxe-column>
                 </vxe-table>
@@ -72,11 +72,13 @@
                 </vxe-pager>
             </div>
         </div>
+		<PunchCardListDia ref="punchCardListDia"></PunchCardListDia>
     </div>
 </template>
 
 <script>
 import ddService from "@/api/test/dd/dd.js"
+import PunchCardListDia from "./PunchCardListDia";
 const getDataApi = (deptId) => {
     return new Promise(resolve => {
         ddService
@@ -89,7 +91,7 @@ const getDataApi = (deptId) => {
 }
 export default {
     components: {
-
+		PunchCardListDia
     },
     data() {
         return {
@@ -136,8 +138,9 @@ export default {
         this.refreshList();
     },
     methods: {
-        handleAdd() {
-
+        handleAdd(row) {
+			console.log('row',row)
+			this.$refs.punchCardListDia.init(row.userid,row.name,row.title)
         },
         handleClick(tab, event) {
             console.log(tab.props.name);