sc
This commit is contained in:
@@ -12,7 +12,7 @@ export const syncFalseDiligence = async (params) => {
|
||||
|
||||
// 修改考勤数据
|
||||
export const updateFalseDiligence = async (data) => {
|
||||
return await request.put({ url: '/admin-api/oa/dingtalk/attendance/update', data })
|
||||
return await request.put({ url: '/admin-api/oa/dingtalk/attendance/batchUpdate', data })
|
||||
}
|
||||
|
||||
// 封存考勤数据
|
||||
|
||||
@@ -29,3 +29,8 @@ export const getEmployeeDetail = (id) => {
|
||||
export const deleteEmployee = (id) => {
|
||||
return request.delete({ url: '/admin-api/oa/employee/delete', params: { id } })
|
||||
}
|
||||
|
||||
// 详情
|
||||
export const getDingUserId = (params) => {
|
||||
return request.get({ url: '/admin-api/oa/employee/getDingTalkUserIdByMobile', params })
|
||||
}
|
||||
|
||||
@@ -81,6 +81,19 @@
|
||||
<span v-else> {{ row.reallyWorkDay }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="调休天数" align="center">
|
||||
<template #default="{ row }">
|
||||
<el-input-number
|
||||
v-if="row.edit"
|
||||
v-model="row.compensatoryLeaveDay"
|
||||
:min="0"
|
||||
:controls="false"
|
||||
size="small"
|
||||
style="width: 65px"
|
||||
/>
|
||||
<span v-else> {{ row.compensatoryLeaveDay }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="缺勤天数" align="center">
|
||||
<template #default="{ row }">
|
||||
<el-input-number
|
||||
@@ -270,8 +283,8 @@ async function getList() {
|
||||
function spanMethod({ row, columnIndex }) {
|
||||
if (row.userDingAttendanceRespVOList && row.userDingAttendanceRespVOList.length > 0) {
|
||||
if (columnIndex === 0) {
|
||||
return [1, 12]
|
||||
} else if (columnIndex == 12 && row.id) {
|
||||
return [1, 13]
|
||||
} else if (columnIndex == 13 && row.id) {
|
||||
return [1, 1]
|
||||
} else {
|
||||
return [0, 0]
|
||||
@@ -313,9 +326,7 @@ async function handleSave(row) {
|
||||
text: `假勤数据保存中,请稍后...`,
|
||||
background: 'rgba(0, 0, 0, 0.7)'
|
||||
})
|
||||
await FalseDiligenceApi.updateFalseDiligence({
|
||||
userDingAttendanceSaveReqVO: row.userDingAttendanceRespVOList
|
||||
})
|
||||
await FalseDiligenceApi.updateFalseDiligence(row.userDingAttendanceRespVOList)
|
||||
globalLoading.value.close()
|
||||
message.success('保存成功!')
|
||||
getList()
|
||||
@@ -332,6 +343,7 @@ async function handleSealup(row) {
|
||||
await FalseDiligenceApi.saveFalseDiligence({
|
||||
period: row.period
|
||||
})
|
||||
message.success('封存成功!')
|
||||
// 刷新列表
|
||||
await getList()
|
||||
} catch (err) {
|
||||
|
||||
@@ -431,6 +431,7 @@ async function handleSealup(row) {
|
||||
grantIdList: row.userSalaryGrantRespVOList.map((it) => it.grantId),
|
||||
period: row.period
|
||||
})
|
||||
message.success('封存成功!')
|
||||
// 刷新列表
|
||||
await getList()
|
||||
} catch (err) {
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
v-loading="formLoading"
|
||||
:model="formData"
|
||||
:rules="formRules"
|
||||
label-width="80px"
|
||||
label-width="100px"
|
||||
>
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="12">
|
||||
@@ -69,8 +69,9 @@
|
||||
<el-form-item label="开通系统" prop="instanceIds">
|
||||
<el-select
|
||||
v-model="formData.instanceIds"
|
||||
placeholder="选择考勤方案"
|
||||
placeholder="选择开通系统"
|
||||
multiple
|
||||
collapse-tags
|
||||
clearable
|
||||
filterable
|
||||
>
|
||||
@@ -127,11 +128,28 @@
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="12" :offset="0">
|
||||
<el-form-item label="钉钉手机号">
|
||||
<el-input
|
||||
v-model="formData.ddPhone"
|
||||
placeholder="请输入钉钉手机号"
|
||||
clearable
|
||||
@blur="getDingdingUserId"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12" :offset="0">
|
||||
<el-form-item label="钉钉Id" prop="dingUserId">
|
||||
<el-input v-model="formData.dingUserId" disabled />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="微信号" prop="wxAlias">
|
||||
<el-input v-model="formData.wxAlias" placeholder="请输入微信号" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="24">
|
||||
<el-form-item label="备注">
|
||||
<el-input v-model="formData.remark" placeholder="请输入内容" type="textarea" />
|
||||
@@ -253,4 +271,16 @@ const resetForm = () => {
|
||||
}
|
||||
formRef.value?.resetFields()
|
||||
}
|
||||
|
||||
async function getDingdingUserId() {
|
||||
try {
|
||||
if (!formData.value.ddPhone) {
|
||||
formData.value.dingUserId = undefined
|
||||
return
|
||||
}
|
||||
const data = await EmployeeApi.getDingUserId({ mobile: formData.value.ddPhone })
|
||||
formData.value.dingUserId = data
|
||||
} finally {
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
@@ -22,16 +22,16 @@
|
||||
<el-tab-pane :label="t('profile.info.resetPwd')" name="resetPwd">
|
||||
<ResetPwd />
|
||||
</el-tab-pane>
|
||||
<el-tab-pane :label="t('profile.info.userSocial')" name="userSocial">
|
||||
<!-- <el-tab-pane :label="t('profile.info.userSocial')" name="userSocial">
|
||||
<UserSocial />
|
||||
</el-tab-pane>
|
||||
</el-tab-pane> -->
|
||||
</el-tabs>
|
||||
</div>
|
||||
</el-card>
|
||||
</div>
|
||||
</template>
|
||||
<script setup lang="ts" name="Profile">
|
||||
import { BasicInfo, ProfileUser, ResetPwd, UserSocial } from './components/'
|
||||
import { BasicInfo, ProfileUser, ResetPwd } from './components/'
|
||||
const { t } = useI18n()
|
||||
|
||||
const activeName = ref('basicInfo')
|
||||
|
||||
@@ -26,14 +26,14 @@ const { t } = useI18n()
|
||||
// 表单校验
|
||||
const rules = reactive<FormRules>({
|
||||
nickname: [{ required: true, message: t('profile.rules.nickname'), trigger: 'blur' }],
|
||||
email: [
|
||||
{ required: true, message: t('profile.rules.mail'), trigger: 'blur' },
|
||||
{
|
||||
type: 'email',
|
||||
message: t('profile.rules.truemail'),
|
||||
trigger: ['blur', 'change']
|
||||
}
|
||||
],
|
||||
// email: [
|
||||
// { required: true, message: t('profile.rules.mail'), trigger: 'blur' },
|
||||
// {
|
||||
// type: 'email',
|
||||
// message: t('profile.rules.truemail'),
|
||||
// trigger: ['blur', 'change']
|
||||
// }
|
||||
// ],
|
||||
mobile: [
|
||||
{ required: true, message: t('profile.rules.phone'), trigger: 'blur' },
|
||||
{
|
||||
@@ -59,6 +59,11 @@ const schema = reactive<FormSchema[]>([
|
||||
label: t('profile.user.email'),
|
||||
component: 'Input'
|
||||
},
|
||||
{
|
||||
field: 'wxAlias',
|
||||
label: '微信号',
|
||||
component: 'Input'
|
||||
},
|
||||
{
|
||||
field: 'sex',
|
||||
label: t('profile.user.sex'),
|
||||
|
||||
Reference in New Issue
Block a user