考勤管理

This commit is contained in:
XaoLi717 2024-11-22 16:24:17 +08:00
parent 958ca3160c
commit 60d102c3fe

View File

@ -41,17 +41,21 @@
width="60"
>
<template #default="{$index, row}">
<!-- 根据拿到的工作状态来展示不同样式-->
<span
:style="{color : colorMap[row.dayStatus[day - 1]] || 'gray' }"
>
<!-- 不同状态展示不同文字,在加载展示这个span标签 通过 pop参数来控制渲染内容默认false渲染span上级后在渲染el-popover -->
<span @click="pop=true" v-if="!pop">
{{workType[row.dayStatus[day - 1]]}}
</span>
<!-- 不同状态展示不同文字,在加载展示这个span标签 通过 pop参数来控制渲染内容默认false渲染span上级后在渲染el-popover -->
<el-popover disabled v-if="pop" placement="bottom" width="Min" trigger="click">
<template #reference>
{{workType[row.dayStatus[day - 1]]}}
</template>
<el-button-group>
<!-- 传递不同的参数来对应的值, index当前渲染的数据索引,day当前渲染的工作状态索引,1对应的值-->
<el-button @click="changeDay($index,day,1)" color="green">上班</el-button>
<el-button @click="changeDay($index,day,2)" color="orange">缺勤</el-button>
<el-button @click="changeDay($index,day,4)" color="red" >加班</el-button>
@ -175,6 +179,7 @@ const getUserInfo = async () => {
//
const getWorkDay = async (index?:number)=>{
// ,,
if (index != undefined){
const date = listData.value[index]
if (Array.isArray(date.dayStatus)){
@ -203,14 +208,15 @@ const changeDay = async (index:number,day:number,val:number)=>{
dayStatus = [];
dayStatus[day - 1] = val; //
}
await getWorkDay(index)
await getWorkDay(index) //,
}
//
const createUser = async ()=>{
queryParamsUser.deptId = formData.value.deptId
const user = await getUserPageKQ(queryParamsUser)
queryParamsUser.deptId = formData.value.deptId //deptIddeptId
const user = await getUserPageKQ(queryParamsUser)//
const dataUser = user.list
//,,id,,,
for (let item of dataUser){
const data : KqdataVO = {
id:null,
@ -231,6 +237,7 @@ const createUser = async ()=>{
//
const updateUser = async ()=>{
//
for (let item of listData.value){
const data : KqdataVO = {
id:item.id,
@ -239,24 +246,26 @@ const updateUser = async ()=>{
deptId:item.deptId,
deptName:item.deptName,
dayStatus: Array.isArray(item.dayStatus)
? item.dayStatus.join(',')
? item.dayStatus.join(',') //
: String(item.dayStatus), //
tokey:item.tokey,
workDay: item.workDay,
overDay: item.overDay,
yoverDay: item.yoverDay,
}
console.log(data)
// console.log(data)
await KqdataApi.updateKqdata(data);
}
}
/** 查询列表 */
const getList = async (dateKey?:number) => {
dateKey!==undefined?queryParamsData.tokey = dateKey:queryParamsData.tokey = formData.value.date
queryParamsData.deptId = formData.value.deptId
const data = await KqdataApi.getKqdataPage(queryParamsData)
listData.value = data.list
// , formDate使,
// ,使formData
dateKey!==undefined?queryParamsData.tokey = dateKey:queryParamsData.tokey = formData.value.date
queryParamsData.deptId = formData.value.deptId //deptIdid
const data = await KqdataApi.getKqdataPage(queryParamsData)//
listData.value = data.list
}
//
@ -265,10 +274,11 @@ const changeStatus = async ()=>{
try {
for (let item of listData.value){
if (typeof item.dayStatus === 'string'){
//使
item.dayStatus = item.dayStatus.split(',').map(Number);
}
}
console.log(listData.value)
// console.log(listData.value)
} finally {
formLoading.value = false
}
@ -277,7 +287,7 @@ const changeStatus = async ()=>{
/** 打开弹窗 设置时间戳为固定信息 */
const open = async (type: string, id?: number) => {
pop.value=false//span
const neDate = Date.now() //
const neDate = Date.now() //
dateKey.value = (neDate / 1000 | 0) * 1000; //
dialogVisible.value = true
dialogTitle.value = t('action.' + type)