xy 9 months ago
parent 21b38ba58d
commit b547ac1f06

@ -1795,6 +1795,7 @@ export default function formBuilder(
}); });
return row return row
? h("el-form-item", { ? h("el-form-item", {
ref: info.name,
props: { props: {
prop: info.name, prop: info.name,
label: (!info.label_show || info.type === 'relation') ? "" : info.label, label: (!info.label_show || info.type === 'relation') ? "" : info.label,

@ -15,8 +15,7 @@
<el-tag v-if="dayAttendances(data.day).attendance.sign_in_at" effect="dark" size="mini">{{ $moment(dayAttendances(data.day).attendance.sign_in_at).format('HH:mm:ss') }}</el-tag> <el-tag v-if="dayAttendances(data.day).attendance.sign_in_at" effect="dark" size="mini">{{ $moment(dayAttendances(data.day).attendance.sign_in_at).format('HH:mm:ss') }}</el-tag>
<el-tag v-if="dayAttendances(data.day).attendance.sign_out_at" effect="dark" type="success" size="mini">{{ $moment(dayAttendances(data.day).attendance.sign_out_at).format('HH:mm:ss') }}退</el-tag> <el-tag v-if="dayAttendances(data.day).attendance.sign_out_at" effect="dark" type="success" size="mini">{{ $moment(dayAttendances(data.day).attendance.sign_out_at).format('HH:mm:ss') }}退</el-tag>
<el-tag v-if="dayAttendances(data.day).attendance.chuchai && dayAttendances(data.day).attendance.chuchai instanceof Array && dayAttendances(data.day).attendance.chuchai[0]" effect="dark" type="warning" size="mini"></el-tag> <el-tag v-if="dayAttendances(data.day).attendance.chuchai && dayAttendances(data.day).attendance.chuchai instanceof Array && (dayAttendances(data.day).attendance.chuchai[0] || dayAttendances(data.day).attendance.chuchai[1])" effect="dark" type="warning" size="mini"></el-tag>
<el-tag v-if="dayAttendances(data.day).attendance.chuchai && dayAttendances(data.day).attendance.chuchai instanceof Array && dayAttendances(data.day).attendance.chuchai[1]" effect="dark" type="warning" size="mini"></el-tag>
<el-tag v-if="dayAttendances(data.day).attendance.qingxiujia && dayAttendances(data.day).attendance.qingxiujia instanceof Array && dayAttendances(data.day).attendance.qingxiujia[0]" effect="dark" type="info" size="mini"></el-tag> <el-tag v-if="dayAttendances(data.day).attendance.qingxiujia && dayAttendances(data.day).attendance.qingxiujia instanceof Array && dayAttendances(data.day).attendance.qingxiujia[0]" effect="dark" type="info" size="mini"></el-tag>
<el-tag v-if="dayAttendances(data.day).attendance.qingxiujia && dayAttendances(data.day).attendance.qingxiujia instanceof Array && dayAttendances(data.day).attendance.qingxiujia[1]" effect="dark" type="info" size="mini"></el-tag> <el-tag v-if="dayAttendances(data.day).attendance.qingxiujia && dayAttendances(data.day).attendance.qingxiujia instanceof Array && dayAttendances(data.day).attendance.qingxiujia[1]" effect="dark" type="info" size="mini"></el-tag>
@ -45,10 +44,10 @@
{{ dayAttendances(selectDay).on_duty_schedules.status ? '已值班' : '待值班' }} {{ dayAttendances(selectDay).on_duty_schedules.status ? '已值班' : '待值班' }}
</el-tag> </el-tag>
<template v-if="selectDay && dayAttendances(selectDay).attendance.chuchai && dayAttendances(selectDay).attendance.chuchai instanceof Array && dayAttendances(selectDay).attendance.chuchai[0]"> <template v-if="selectDay && dayAttendances(selectDay).attendance.chuchai && dayAttendances(selectDay).attendance.chuchai instanceof Array && (dayAttendances(selectDay).attendance.chuchai[0] ||dayAttendances(selectDay).attendance.chuchai[1])">
<el-descriptions :column="2" size="mini" border> <el-descriptions :column="2" size="mini" border>
<template #title> <template #title>
<el-tag effect="dark" type="warning" size="mini">上午出差</el-tag> <el-tag effect="dark" type="warning" size="mini">出差</el-tag>
</template> </template>
<el-descriptions-item label="目的地">{{ dayAttendances(selectDay).attendance.chuchai[0].mudidi }}</el-descriptions-item> <el-descriptions-item label="目的地">{{ dayAttendances(selectDay).attendance.chuchai[0].mudidi }}</el-descriptions-item>
<el-descriptions-item label="交通方式">{{ dayAttendances(selectDay).attendance.chuchai[0].jiaotongfangshi }}</el-descriptions-item> <el-descriptions-item label="交通方式">{{ dayAttendances(selectDay).attendance.chuchai[0].jiaotongfangshi }}</el-descriptions-item>
@ -57,18 +56,6 @@
</el-descriptions> </el-descriptions>
</template> </template>
<template v-if="selectDay && dayAttendances(selectDay).attendance.chuchai && dayAttendances(selectDay).attendance.chuchai instanceof Array && dayAttendances(selectDay).attendance.chuchai[1]">
<el-descriptions :column="2" size="mini" border>
<template #title>
<el-tag effect="dark" type="warning" size="mini">下午出差</el-tag>
</template>
<el-descriptions-item label="目的地">{{ dayAttendances(selectDay).attendance.chuchai[1].mudidi }}</el-descriptions-item>
<el-descriptions-item label="交通方式">{{ dayAttendances(selectDay).attendance.chuchai[1].jiaotongfangshi }}</el-descriptions-item>
<el-descriptions-item label="开始时间">{{ dayAttendances(selectDay).attendance.chuchai[1].kaishi }}</el-descriptions-item>
<el-descriptions-item label="结束时间">{{ dayAttendances(selectDay).attendance.chuchai[1].jieshu }}</el-descriptions-item>
</el-descriptions>
</template>
<template v-if="selectDay && dayAttendances(selectDay).attendance.jiaban && dayAttendances(selectDay).attendance.jiaban instanceof Array && dayAttendances(selectDay).attendance.jiaban.filter(i => i).length > 0"> <template v-if="selectDay && dayAttendances(selectDay).attendance.jiaban && dayAttendances(selectDay).attendance.jiaban instanceof Array && dayAttendances(selectDay).attendance.jiaban.filter(i => i).length > 0">
<el-descriptions :column="2" size="mini" border v-for="item in dayAttendances(selectDay).attendance.jiaban.filter(i => i)" :key="item.id"> <el-descriptions :column="2" size="mini" border v-for="item in dayAttendances(selectDay).attendance.jiaban.filter(i => i)" :key="item.id">
<template #title> <template #title>

@ -4,11 +4,18 @@
<div> <div>
<el-button v-if="isShowDuty" type="primary" style="display: block;margin: auto auto 20px;" @click="startDuty"></el-button> <el-button v-if="isShowDuty" type="primary" style="display: block;margin: auto auto 20px;" @click="startDuty"></el-button>
<div style="display: flex;"> <div style="display: flex;">
<button class="sign-btn" v-if="signStatus === 1 || signStatus === 2" @click="clockIn(false)"> <button class="sign-btn" v-if="signStatus === 1 || signStatus === 2" @click="singType=1,clockIn(false)">
<span>打卡</span> <span>上班打卡</span>
</button> </button>
<button class="sign-btn" v-if="signStatus === 2 || signStatus === 0" @click="clockIn(true)"> <button class="sign-btn" v-if="signStatus === 2 || signStatus === 0" @click="singType=1,clockIn(true)">
<span>外勤打卡</span> <span>上班外勤打卡</span>
</button>
<button class="sign-btn" v-if="signStatus === 1 || signStatus === 2" @click="singType=2,clockIn(false)">
<span>下班打卡</span>
</button>
<button class="sign-btn" v-if="signStatus === 2 || signStatus === 0" @click="singType=2,clockIn(true)">
<span>下班外勤打卡</span>
</button> </button>
</div> </div>
<div class="sign-info"> <div class="sign-info">
@ -89,6 +96,7 @@ export default {
}, },
data() { data() {
return { return {
singType: 1,
uploadSize, uploadSize,
isInUni: false, isInUni: false,
signStatus: 0, signStatus: 0,
@ -167,7 +175,8 @@ export default {
const res = await signIp({ const res = await signIp({
image_id: this.imageId, image_id: this.imageId,
remark: this.remark, remark: this.remark,
status: 3 status: 3,
type: this.singType
}) })
} else { } else {
const res = await sign({ const res = await sign({
@ -208,7 +217,8 @@ export default {
} }
if (this.isIpSign) { if (this.isIpSign) {
const res = await signIp({ const res = await signIp({
status: 1 status: 1,
type: this.singType
}) })
} else { } else {
const res = await sign({ const res = await sign({

@ -118,15 +118,9 @@
</div> </div>
<div <div
class="sign-away" class="sign-away"
v-if="getTodayAttendance(data.day) && getTodayAttendance(data.day).chuchai && getTodayAttendance(data.day).chuchai instanceof Array && getTodayAttendance(data.day).chuchai[0]" v-if="getTodayAttendance(data.day) && getTodayAttendance(data.day).chuchai && getTodayAttendance(data.day).chuchai instanceof Array && (getTodayAttendance(data.day).chuchai[0] || getTodayAttendance(data.day).chuchai[1])"
> >
上午出差 出差
</div>
<div
class="sign-away"
v-if="getTodayAttendance(data.day) && getTodayAttendance(data.day).chuchai && getTodayAttendance(data.day).chuchai instanceof Array && getTodayAttendance(data.day).chuchai[1]"
>
下午出差
</div> </div>
<div <div
class="sign-leave" class="sign-leave"

@ -148,6 +148,69 @@
<vxe-column :visible="$store.getters.device === 'mobile'" field="m-operate" type="expand" title="操作" width="60" align="center"> <vxe-column :visible="$store.getters.device === 'mobile'" field="m-operate" type="expand" title="操作" width="60" align="center">
<template #content="{ row }"> <template #content="{ row }">
<div> <div>
<div class="mobile-desc">
<div class="mobile-desc-row">
<div class="mobile-desc-row__title">
流程名称
</div>
<div class="mobile-desc-row__value">
{{ row['custom_model'] ? row['custom_model']['name'] :'' }}
</div>
</div>
<div class="mobile-desc-row">
<div class="mobile-desc-row__title">
发起人
</div>
<div class="mobile-desc-row__value">
{{ row['creator'] ? row['creator']['name'] :'' }}
</div>
</div>
<div class="mobile-desc-row">
<div class="mobile-desc-row__title">
发起人
</div>
<div class="mobile-desc-row__value">
{{ (row['last_log'] && row['last_log']['user']) ? row['last_log']['user']['name'] :'' }}
</div>
</div>
<div class="mobile-desc-row">
<div class="mobile-desc-row__title">
当前节点
</div>
<div class="mobile-desc-row__value">
{{ (row['current_node']) ? row['current_node']['name'] :'' }}
</div>
</div>
<div class="mobile-desc-row">
<div class="mobile-desc-row__title">
简要
</div>
<div class="mobile-desc-row__value">
{{ row['_simple'] }}
</div>
</div>
<div class="mobile-desc-row">
<div class="mobile-desc-row__title">
发起日期
</div>
<div class="mobile-desc-row__value">
{{ row['created_at'] }}
</div>
</div>
<div class="mobile-desc-row">
<div class="mobile-desc-row__title">
当前状态
</div>
<div class="mobile-desc-row__value">
<el-tag
size="mini"
:type="statusColor.get(row.status)"
effect="dark"
>{{ myStatus.get(row.status) }}</el-tag
>
</div>
</div>
</div>
<template v-if="$route.params.type !== 'all'"> <template v-if="$route.params.type !== 'all'">
<el-button <el-button
v-if="row.my_log" v-if="row.my_log"
@ -203,39 +266,42 @@
title="流水号" title="流水号"
></vxe-column> ></vxe-column>
<vxe-column <vxe-column
:visible="$store.getters.device === 'desktop'"
width="80" width="80"
title="发起人" title="发起人"
align="center" align="center"
field="creator.name" field="creator.name"
></vxe-column> ></vxe-column>
<vxe-column <vxe-column
:visible="$route.params.type !== 'all'" :visible="$route.params.type !== 'all' && $store.getters.device === 'desktop'"
width="80" width="80"
title="承办人员" title="承办人员"
align="center" align="center"
field="last_log.user.name" field="last_log.user.name"
></vxe-column> ></vxe-column>
<vxe-column <vxe-column
:visible="$store.getters.device === 'desktop'"
align="center" align="center"
min-width="140" min-width="140"
field="custom_model.name" field="custom_model.name"
title="流程名称" title="流程名称"
></vxe-column> ></vxe-column>
<vxe-column <vxe-column
:visible="$store.getters.device === 'desktop'"
header-align="center" header-align="center"
min-width="240" min-width="240"
field="_simple" field="_simple"
title="简要" title="简要"
></vxe-column> ></vxe-column>
<vxe-column <vxe-column
:visible="$route.params.type !== 'all'" :visible="$route.params.type !== 'all' && $store.getters.device === 'desktop'"
align="center" align="center"
width="140" width="140"
field="current_node.name" field="current_node.name"
title="当前节点" title="当前节点"
></vxe-column> ></vxe-column>
<vxe-column <vxe-column
:visible="$route.params.type !== 'all'" :visible="$route.params.type !== 'all' && $store.getters.device === 'desktop'"
title="收藏状态" title="收藏状态"
width="90" width="90"
field="my_fav" field="my_fav"
@ -251,6 +317,7 @@
</template> </template>
</vxe-column> </vxe-column>
<vxe-column <vxe-column
:visible="$store.getters.device === 'desktop'"
width="164" width="164"
field="no" field="no"
align="center" align="center"
@ -258,7 +325,7 @@
></vxe-column> ></vxe-column>
<vxe-column <vxe-column
width="200" width="200"
:visible="$route.params.type === 'all'" :visible="$route.params.type === 'all' && $store.getters.device === 'desktop'"
align="center" align="center"
field="created_at" field="created_at"
title="发起日期" title="发起日期"
@ -272,6 +339,7 @@
" "
></vxe-column> ></vxe-column>
<vxe-column <vxe-column
:visible="$store.getters.device === 'desktop'"
width="80" width="80"
align="center" align="center"
field="status" field="status"
@ -367,7 +435,8 @@
:current-page.sync="select.page" :current-page.sync="select.page"
:page-sizes="[10, 20, 30, 50, 100]" :page-sizes="[10, 20, 30, 50, 100]"
:page-size.sync="select.page_size" :page-size.sync="select.page_size"
layout="total, sizes, prev, pager, next, jumper" :small="$store.getters.device === 'mobile'"
:layout="$store.getters.device === 'desktop' ? 'total, ->, prev, pager, next, sizes, jumper' : 'total, ->, prev, pager, next'"
:total="total" :total="total"
></el-pagination> ></el-pagination>
</div> </div>
@ -727,4 +796,21 @@ export default {
.el-tag + .el-tag { .el-tag + .el-tag {
margin-left: 4px; margin-left: 4px;
} }
.mobile-desc {
&-row {
display: flex;
margin-bottom: 20px;
&__title {
flex-basis: 20vw;
font-weight: 600;
text-align: right;
}
&__value {
flex-basis: 52vw;
padding-left: 4vw;
}
}
}
</style> </style>

Loading…
Cancel
Save