flx:修复bug 新金湾

This commit is contained in:
Rain_ 2025-08-22 18:04:55 +08:00
parent 3aa2ec1aa7
commit 5353c9d16a
9 changed files with 233 additions and 51 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 247 B

View File

@ -21,18 +21,34 @@
style="width: 100%; height: calc(100% - 49px)" style="width: 100%; height: calc(100% - 49px)"
></InspectionLedger> --> ></InspectionLedger> -->
<AttendanceOverview <AttendanceOverview
v-permission="{
key: 'attendanceOverview',
menuPath: '/project/labor/allAttendanceManage',
}"
v-if="activeIndex == '1'" v-if="activeIndex == '1'"
style="width: 100%; height: calc(100% - 49px)" style="width: 100%; height: calc(100% - 49px)"
></AttendanceOverview> ></AttendanceOverview>
<DayAttendanceReport <DayAttendanceReport
v-permission="{
key: 'dayAttendanceReport',
menuPath: '/project/labor/allAttendanceManage',
}"
v-if="activeIndex == '2'" v-if="activeIndex == '2'"
style="width: 100%; height: calc(100% - 49px)" style="width: 100%; height: calc(100% - 49px)"
></DayAttendanceReport> ></DayAttendanceReport>
<MonthAttendanceReport <MonthAttendanceReport
v-permission="{
key: 'monthAttendanceReport',
menuPath: '/project/labor/allAttendanceManage',
}"
v-if="activeIndex == '3'" v-if="activeIndex == '3'"
style="width: 100%; height: calc(100% - 49px)" style="width: 100%; height: calc(100% - 49px)"
></MonthAttendanceReport> ></MonthAttendanceReport>
<PunchCardRecord <PunchCardRecord
v-permission="{
key: 'punchCardRecord',
menuPath: '/project/labor/allAttendanceManage',
}"
v-if="activeIndex == '4'" v-if="activeIndex == '4'"
style="width: 100%; height: calc(100% - 49px)" style="width: 100%; height: calc(100% - 49px)"
></PunchCardRecord> ></PunchCardRecord>

View File

@ -470,7 +470,7 @@ export default {
tableData: [], tableData: [],
countWorkerDailyInfo: [ countWorkerDailyInfo: [
{ {
title: "当日进场", title: "当然在职",
countNum: 0, countNum: 0,
content: "当日在职人数之和", content: "当日在职人数之和",
}, },
@ -674,7 +674,7 @@ export default {
// res.result // res.result
this.countWorkerDailyInfo = [ this.countWorkerDailyInfo = [
{ {
title: "当日进场", title: "当然在职",
countNum: res.result.inServiceCount, countNum: res.result.inServiceCount,
content: "当日在职人数之和", content: "当日在职人数之和",
}, },

View File

@ -78,6 +78,8 @@
> >
<span style="margin-right: 10px" v-if="data.children.length > 0" <span style="margin-right: 10px" v-if="data.children.length > 0"
>({{ data.children.length }})</span >({{ data.children.length }})</span
><span style="margin-right: 10px" v-else
>({{ data.workerNum || 0 }})</span
> >
</div> </div>
</el-tree> </el-tree>

View File

@ -580,8 +580,19 @@ export default {
// startDate: this.exportSettingInfo.startDate[0], // startDate: this.exportSettingInfo.startDate[0],
// endDate: this.exportSettingInfo.startDate[1], // endDate: this.exportSettingInfo.startDate[1],
projectSn: this.projectSn, projectSn: this.projectSn,
inserviceType: 1,
workerName: this.queryParams.workerName,
startTime: this.queryParams.constructionTime[0],
endTime: this.queryParams.constructionTime[1],
idList: this.$refs.multipleTable.selection.map((item) => item.id), idList: this.$refs.multipleTable.selection.map((item) => item.id),
}; };
const categoryObj = {
1: "enterpriseId",
2: "departmentId",
3: "teamId",
};
requestData[categoryObj[this.riskListDetail.category]] =
this.riskListDetail.originalId || "";
fetch( fetch(
this.$http.defaults.baseURL + "xmgl/workerAttendance/exportXls", this.$http.defaults.baseURL + "xmgl/workerAttendance/exportXls",
{ {

View File

@ -130,8 +130,7 @@
<el-checkbox <el-checkbox
@change="handleQueryChange" @change="handleQueryChange"
v-model="specialWorkerInfo.includingSubordinatesChecked" v-model="specialWorkerInfo.includingSubordinatesChecked"
></el-checkbox ></el-checkbox>
>
</div> </div>
<div class="header_box"> <div class="header_box">
<span>特殊工种</span> <span>特殊工种</span>
@ -267,11 +266,12 @@
v-if="showTeamList && teamListData.totalDepartmentNum > 0" v-if="showTeamList && teamListData.totalDepartmentNum > 0"
style=" style="
position: absolute; position: absolute;
right: 10px; right: 4px;
top: 35%; top: 50%;
font-size: 26px; font-size: 20px;
cursor: pointer; cursor: pointer;
color: #999; color: #999;
transform: translateY(-50%);
" "
></i> ></i>
</div> </div>
@ -1492,6 +1492,23 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12">
<el-form-item label="考勤组" prop="attendanceGroupV2Id">
<el-select
v-model="personForm.attendanceGroupV2Id"
:placeholder="$t('message.laborMange.pleaseChoose')"
style="width: 100%"
:disabled="titleType == 'detail'"
>
<el-option
v-for="(item, index) in workerAttendanceGroupList"
:key="index"
:label="item.groupName"
:value="item.id"
></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row> </el-row>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
@ -2296,6 +2313,7 @@ import {
getDangongWorkerFaceStatusPageList, getDangongWorkerFaceStatusPageList,
xmglXzHikvisionSyncRetryAPI, xmglXzHikvisionSyncRetryAPI,
checkfaceHikvisionApi, checkfaceHikvisionApi,
getWorkerAttendanceGroupV2ListApi,
} from "@/assets/js/api/laborPerson"; } from "@/assets/js/api/laborPerson";
import { selectUserDevAuthorityByUserIdApi } from "@/assets/js/api/configManage"; import { selectUserDevAuthorityByUserIdApi } from "@/assets/js/api/configManage";
import { getProjectConfigListApi } from "@/assets/js/api/project.js"; import { getProjectConfigListApi } from "@/assets/js/api/project.js";
@ -2436,6 +2454,7 @@ export default {
locationCardno: "", locationCardno: "",
personMail: "", personMail: "",
workerNature: "", workerNature: "",
attendanceGroupV2Id: "",
}, },
// //
personFormRules: this.$t("message.laborMange.personFormRules"), personFormRules: this.$t("message.laborMange.personFormRules"),
@ -2525,6 +2544,7 @@ export default {
topicName: "topic", topicName: "topic",
userId: "", userId: "",
workerNatureList: [], workerNatureList: [],
workerAttendanceGroupList: [],
}; };
}, },
created() { created() {
@ -2560,6 +2580,7 @@ export default {
this.getUGroupDevList(); this.getUGroupDevList();
this.getProjectConfig(); this.getProjectConfig();
this.getWorkerNatureList(); this.getWorkerNatureList();
this.getWorkerAttendanceGroupV2List();
}, },
beforeDestroy() { beforeDestroy() {
if (client) { if (client) {
@ -2584,6 +2605,16 @@ export default {
}, },
}, },
methods: { methods: {
getWorkerAttendanceGroupV2List() {
getWorkerAttendanceGroupV2ListApi({
projectSn: this.$store.state.projectSn,
// ruleIdIsNullOrRuleId: 1,
}).then((res) => {
if (res.code == 200) {
this.workerAttendanceGroupList = res.result;
}
});
},
getSpecialWorkerTypeList() { getSpecialWorkerTypeList() {
getWorkerTypeList({ getWorkerTypeList({
projectSn: this.projectSn, projectSn: this.projectSn,
@ -3279,6 +3310,7 @@ export default {
ufaceDevGroupId: [], ufaceDevGroupId: [],
personSerial: "", personSerial: "",
workerNature: "", workerNature: "",
attendanceGroupV2Id: "",
enterDate: dayjs().format("YYYY-MM-DD"), enterDate: dayjs().format("YYYY-MM-DD"),
}; };
if (this.attendRulesList.length > 0) { if (this.attendRulesList.length > 0) {
@ -3530,6 +3562,7 @@ export default {
ufaceDevGroupId: [], ufaceDevGroupId: [],
personSerial: "", personSerial: "",
workerNature: "", workerNature: "",
attendanceGroupV2Id: "",
}; };
this.getUfaceDevList(); this.getUfaceDevList();
// this.goTwo() // this.goTwo()
@ -4418,7 +4451,7 @@ export default {
display: flex; display: flex;
.header_box1 { .header_box1 {
font-size: 14px; font-size: 14px;
color: #272D45; color: #272d45;
margin-right: 50px; margin-right: 50px;
> span { > span {
margin-right: 13px; margin-right: 13px;
@ -4426,7 +4459,7 @@ export default {
} }
.header_box { .header_box {
display: flex; display: flex;
color: #272D45; color: #272d45;
font-weight: 400; font-weight: 400;
font-size: 14px; font-size: 14px;
margin-right: 30px; margin-right: 30px;

View File

@ -21,6 +21,7 @@
</el-form-item> </el-form-item>
<el-form-item label="日期范围" prop="constructionTime"> <el-form-item label="日期范围" prop="constructionTime">
<el-date-picker <el-date-picker
@change="initQuery"
value-format="yyyy-MM-dd" value-format="yyyy-MM-dd"
v-model="queryParams.constructionTime" v-model="queryParams.constructionTime"
type="daterange" type="daterange"
@ -52,13 +53,14 @@
</div> </div>
</div> </div>
<div> <div>
<el-radio-group v-model="queryParams.isType" size="medium"> <el-radio-group @change="getWorkerDailyAttendancePageForWorkerByDate" v-model="queryParams.isType" size="medium">
<el-radio-button :label="1">上下午打卡</el-radio-button> <el-radio-button :label="1">上下午打卡</el-radio-button>
<el-radio-button :label="2">进出场打卡</el-radio-button> <el-radio-button :label="2">进出场打卡</el-radio-button>
</el-radio-group> </el-radio-group>
</div> </div>
</div> </div>
<el-table <el-table
class="tables"
:data="dataList" :data="dataList"
row-key="id" row-key="id"
:expand-row-keys="expands" :expand-row-keys="expands"
@ -69,27 +71,26 @@
<template slot="header" slot-scope="scope"> <template slot="header" slot-scope="scope">
<div class="table-header"> <div class="table-header">
<div>日期</div> <div>日期</div>
<!-- <el-popover <el-popover
v-model="isParentVisible"
class="popover-bottom" class="popover-bottom"
placement="bottom" placement="bottom"
width="200" width="200"
trigger="click" trigger="click"
> >
<div class="popover-box"> <div class="popover-box">
<el-checkbox-group v-model="queryParams.checkList"> <el-checkbox-group v-model="queryParams.attendanceStatus">
<el-checkbox label="正常出勤"></el-checkbox> <el-checkbox label="正常出勤"></el-checkbox>
<el-checkbox label="异常出勤"></el-checkbox> <el-checkbox label="异常出勤"></el-checkbox>
<el-checkbox label="未出勤"></el-checkbox> <el-checkbox label="未出勤"></el-checkbox>
</el-checkbox-group> </el-checkbox-group>
<el-button <div class="box-btn">
icon="el-icon-circle-check" <el-button @click="isParentVisible = false" size="mini">取消</el-button>
type="primary" <el-button @click="hlandeQuery" type="primary" size="mini">确定</el-button>
size="medium"
>确定</el-button
>
</div> </div>
<div slot="reference">图片</div> </div>
</el-popover> --> <div class="screen-icon" slot="reference"></div>
</el-popover>
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
@ -121,10 +122,17 @@
show-overflow-tooltip show-overflow-tooltip
> >
<template slot-scope="scope"> <template slot-scope="scope">
<span v-if="scope.row.firstTimeAm">{{ <div class="box-time">
<i v-if="scope.row.firstTimeAm" class="el-icon-success"></i>
<i v-else class="el-icon-error"></i>
<span>{{
scope.row.firstTimeAm ? scope.row.firstTimeAm : "…"
}}</span>
</div>
<!-- <span v-if="scope.row.firstTimeAm">{{
scope.row.firstTimeAm scope.row.firstTimeAm
}}</span> }}</span>
<span v-else class="attendance-fail"></span> <span v-else class="attendance-fail"></span> -->
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@ -134,8 +142,13 @@
show-overflow-tooltip show-overflow-tooltip
> >
<template slot-scope="scope"> <template slot-scope="scope">
<span v-if="scope.row.endTimePm">{{ scope.row.endTimePm }}</span> <div class="box-time">
<span v-else class="attendance-fail"></span> <i v-if="scope.row.endTimePm" class="el-icon-success"></i>
<i v-else class="el-icon-error"></i>
<span>{{ scope.row.endTimePm ? scope.row.endTimePm : "…" }}</span>
</div>
<!-- <span v-if="scope.row.endTimePm">{{ scope.row.endTimePm }}</span>
<span v-else class="attendance-fail"></span> -->
</template> </template>
</el-table-column> </el-table-column>
</template> </template>
@ -147,10 +160,17 @@
show-overflow-tooltip show-overflow-tooltip
> >
<template slot-scope="scope"> <template slot-scope="scope">
<span v-if="scope.row.firstInTime">{{ <div class="box-time">
<i v-if="scope.row.firstInTime" class="el-icon-success"></i>
<i v-else class="el-icon-error"></i>
<span>{{
scope.row.firstInTime ? scope.row.firstInTime : "…"
}}</span>
</div>
<!-- <span v-if="scope.row.firstInTime">{{
scope.row.firstInTime scope.row.firstInTime
}}</span> }}</span>
<span v-else class="attendance-fail"></span> <span v-else class="attendance-fail"></span> -->
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@ -160,8 +180,15 @@
show-overflow-tooltip show-overflow-tooltip
> >
<template slot-scope="scope"> <template slot-scope="scope">
<span v-if="scope.row.endOutTime">{{ scope.row.endOutTime }}</span> <div class="box-time">
<span v-else class="attendance-fail"></span> <i v-if="scope.row.endOutTime" class="el-icon-success"></i>
<i v-else class="el-icon-error"></i>
<span>{{
scope.row.endOutTime ? scope.row.endOutTime : "…"
}}</span>
</div>
<!-- <span v-if="scope.row.endOutTime">{{ scope.row.endOutTime }}</span>
<span v-else class="attendance-fail"></span> -->
</template> </template>
</el-table-column> </el-table-column>
</template> </template>
@ -169,7 +196,9 @@
<template slot-scope="props"> <template slot-scope="props">
<div class="expand-box" v-if="viewDayAttendanceList.length > 0"> <div class="expand-box" v-if="viewDayAttendanceList.length > 0">
<div v-for="(item, index) in viewDayAttendanceList"> <div v-for="(item, index) in viewDayAttendanceList">
<span :class="item.passType == 1 ? 'passbox1' : 'passbox2'">({{ item.passType == 1 ? '进场' : '出场'}})</span>{{ item.createTime }} <span :class="item.passType == 1 ? 'passbox1' : 'passbox2'"
>({{ item.passType == 1 ? "进场" : "出场" }})</span
>{{ item.createTime }}
<span v-if="index != viewDayAttendanceList.length - 1"></span> <span v-if="index != viewDayAttendanceList.length - 1"></span>
</div> </div>
<!-- viewDayAttendanceList --> <!-- viewDayAttendanceList -->
@ -233,7 +262,7 @@ export default {
calType: 1, calType: 1,
isType: 2, isType: 2,
tiemType: 2, tiemType: 2,
checkList: [], attendanceStatus: [],
}, },
countWorkerDailyInfo: [ countWorkerDailyInfo: [
{ {
@ -255,11 +284,13 @@ export default {
dataList: [], dataList: [],
expands: [], expands: [],
viewDayAttendanceList: [], viewDayAttendanceList: [],
isParentVisible: false,
}; };
}, },
created() { created() {
// this.pageSizeList = JSON.parse(JSON.stringify(this.$store.state.PAGESIZRS)); // this.pageSizeList = JSON.parse(JSON.stringify(this.$store.state.PAGESIZRS));
this.projectSn = this.$store.state.projectSn; this.projectSn = this.$store.state.projectSn;
this.initQuery();
}, },
methods: { methods: {
expandRow(row) { expandRow(row) {
@ -279,7 +310,12 @@ export default {
queryTime: row.attendanceDate, queryTime: row.attendanceDate,
}).then((res) => { }).then((res) => {
if (res.code == 200) { if (res.code == 200) {
this.viewDayAttendanceList = res.result; this.viewDayAttendanceList = res.result.map((item) => {
return {
...item,
createTime: dayjs(item.createTime).format("HH:mm:ss"),
};
});
} }
}); });
}, },
@ -300,6 +336,9 @@ export default {
dayjs().format("YYYY-MM-DD"), dayjs().format("YYYY-MM-DD"),
]; ];
} }
this.initQuery();
},
initQuery() {
this.getCountWorkerDailyAttendanceStatisticsV2(); this.getCountWorkerDailyAttendanceStatisticsV2();
this.getWorkerDailyAttendancePageForWorkerByDate(); this.getWorkerDailyAttendancePageForWorkerByDate();
}, },
@ -332,6 +371,11 @@ export default {
} }
}); });
}, },
hlandeQuery(){
this.queryParams.pageNo = 1;
this.getWorkerDailyAttendancePageForWorkerByDate();
this.isParentVisible = false;
},
// //
getWorkerDailyAttendancePageForWorkerByDate() { getWorkerDailyAttendancePageForWorkerByDate() {
let data = { let data = {
@ -342,6 +386,8 @@ export default {
attendanceDate_begin: this.queryParams.constructionTime[0], attendanceDate_begin: this.queryParams.constructionTime[0],
attendanceDate_end: this.queryParams.constructionTime[1], attendanceDate_end: this.queryParams.constructionTime[1],
personSn: this.courseWriterInfo.personSn, personSn: this.courseWriterInfo.personSn,
attendanceStatus: this.queryParams.attendanceStatus.join(','),
downloadType: this.queryParams.isType,
}; };
getWorkerDailyAttendancePageForWorkerByDateApi(data).then((res) => { getWorkerDailyAttendancePageForWorkerByDateApi(data).then((res) => {
console.log(res); console.log(res);
@ -362,7 +408,6 @@ export default {
this.getWorkerDailyAttendancePageForWorkerByDate(); this.getWorkerDailyAttendancePageForWorkerByDate();
this.getCountWorkerDailyAttendanceStatisticsV2(); this.getCountWorkerDailyAttendanceStatisticsV2();
}, },
immediate: true,
deep: true, deep: true,
}, },
}, },
@ -370,29 +415,68 @@ export default {
</script> </script>
<style lang="less"> <style lang="less">
.el-popover { .el-popover {
width: calc(111px - 24px) !important; width: calc(125px - 24px) !important;
min-width: initial;
}
.screen-icon {
width: 16px;
height: 16px;
background-color: #5181F6;
background-image: url(~@/assets/images/laborManage/screen-icon.png);
background-size: 75% 75%;
background-repeat: no-repeat;
background-position: center center;
cursor: pointer;
border-radius: 50%;
margin-left: 7px;
} }
.popover-box { .popover-box {
// width: 111px; font-size: 14px;
.el-checkbox-group .el-checkbox:not(:first-child) { .el-checkbox-group .el-checkbox:not(:first-child) {
margin-top: 13px; margin-top: 10px;
} }
.box-btn {
margin-top: 10px;
display: flex;
align-items: center;
justify-content: space-between;
> .el-button { > .el-button {
margin-top: 13px; margin-left: 0;
padding: 5px 10px;
}
} }
} }
</style> </style>
<style lang="less" scoped> <style lang="less" scoped>
.tables {
min-height: initial;
}
.box-time {
display: flex;
align-items: center;
justify-content: center;
font-size: 14px;
.el-icon-error {
color: #ff0000;
}
.el-icon-success {
color: #00af66;
}
> span {
margin-left: 5px;
color: #272d45;
}
}
.expand-box { .expand-box {
display: flex; display: flex;
> div { > div {
font-size: 14px; font-size: 14px;
color: #272D45; color: #272d45;
.passbox1 { .passbox1 {
color: #4181fe; color: #4181fe;
} }
.passbox2 { .passbox2 {
color: #FFA347; color: #ffa347;
} }
} }
} }

View File

@ -227,11 +227,12 @@
v-if="showTeamList && teamListData.totalTeamNum > 0" v-if="showTeamList && teamListData.totalTeamNum > 0"
style=" style="
position: absolute; position: absolute;
right: 10px; right: 4px;
top: 35%; top: 50%;
font-size: 26px; font-size: 20px;
cursor: pointer; cursor: pointer;
color: #999; color: #999;
transform: translateY(-50%);
" "
></i> ></i>
</div> </div>
@ -664,7 +665,7 @@
> >
<img <img
src="@/assets/images/laborManage/exit-icon.png" src="@/assets/images/laborManage/exit-icon.png"
style="margin-right: 5px;transform: rotate(180deg);" style="margin-right: 5px; transform: rotate(180deg)"
/> />
<span>{{ $t("message.laborMange.toPlayAgain") }}</span> <span>{{ $t("message.laborMange.toPlayAgain") }}</span>
</div> </div>
@ -1806,6 +1807,23 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12">
<el-form-item label="考勤组" prop="attendanceGroupV2Id">
<el-select
v-model="personForm.attendanceGroupV2Id"
:placeholder="$t('message.laborMange.pleaseChoose')"
style="width: 100%"
:disabled="titleType == 'detail'"
>
<el-option
v-for="(item, index) in workerAttendanceGroupList"
:key="index"
:label="item.groupName"
:value="item.id"
></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row> </el-row>
<div class="type-change"> <div class="type-change">
<el-radio-group v-model="typeRadio"> <el-radio-group v-model="typeRadio">
@ -2556,6 +2574,7 @@ import {
getDangongWorkerFaceStatusPageList, getDangongWorkerFaceStatusPageList,
checkfaceHikvisionApi, checkfaceHikvisionApi,
onBatchDeletionApi, onBatchDeletionApi,
getWorkerAttendanceGroupV2ListApi
} from "@/assets/js/api/laborPerson"; } from "@/assets/js/api/laborPerson";
import { import {
selectUserDevAuthorityByUserIdApi, selectUserDevAuthorityByUserIdApi,
@ -2737,6 +2756,7 @@ export default {
locationCardno: "", // locationCardno: "", //
personMail: "", personMail: "",
workerNature: "", workerNature: "",
attendanceGroupV2Id: "",
}, },
// //
personFormRules: this.$t("message.laborMange.personFormRules2"), personFormRules: this.$t("message.laborMange.personFormRules2"),
@ -2829,6 +2849,7 @@ export default {
topicName: "topic", topicName: "topic",
userId: "", userId: "",
workerNatureList: [], workerNatureList: [],
workerAttendanceGroupList: [],
}; };
}, },
created() { created() {
@ -2863,6 +2884,7 @@ export default {
this.getUGroupDevList(); this.getUGroupDevList();
this.getProjectConfig(); this.getProjectConfig();
this.getWorkerNatureList(); this.getWorkerNatureList();
this.getWorkerAttendanceGroupV2List();
}, },
beforeDestroy() { beforeDestroy() {
if (client) { if (client) {
@ -2887,6 +2909,16 @@ export default {
}, },
}, },
methods: { methods: {
getWorkerAttendanceGroupV2List() {
getWorkerAttendanceGroupV2ListApi({
projectSn: this.$store.state.projectSn,
// ruleIdIsNullOrRuleId: 1,
}).then((res) => {
if (res.code == 200) {
this.workerAttendanceGroupList = res.result;
}
});
},
// //
async getWorkerNatureList() { async getWorkerNatureList() {
const res = await getDictionaryItemApi({ const res = await getDictionaryItemApi({
@ -3858,6 +3890,7 @@ export default {
ufaceDevGroupId: [], ufaceDevGroupId: [],
personSerial: "", personSerial: "",
workerNature: "", workerNature: "",
attendanceGroupV2Id: "",
}; };
if (this.attendRulesList.length > 0) { if (this.attendRulesList.length > 0) {
this.personForm.ruleId = this.attendRulesList[0].id; this.personForm.ruleId = this.attendRulesList[0].id;
@ -4109,6 +4142,7 @@ export default {
ufaceDevGroupId: [], ufaceDevGroupId: [],
personSerial: "", personSerial: "",
workerNature: "", workerNature: "",
attendanceGroupV2Id: "",
}; };
this.getUfaceDevList(); this.getUfaceDevList();
setTimeout(() => { setTimeout(() => {

View File

@ -86,6 +86,7 @@
display: flex; display: flex;
flex-direction: column; flex-direction: column;
justify-content: center; justify-content: center;
margin-bottom: 10px;
div{ div{
overflow: hidden; overflow: hidden;
text-overflow: ellipsis; text-overflow: ellipsis;
@ -147,6 +148,7 @@
float: left; float: left;
z-index: 1000; z-index: 1000;
position: absolute; position: absolute;
top: 10px;
left: 110px; left: 110px;
// top:7px; // top:7px;
background: #fff; background: #fff;
@ -156,7 +158,7 @@
// padding-right: 12px; // padding-right: 12px;
} }
.height_79{ .height_79{
height: 79px; height: 70px;
} }
} }
.el-form_item { .el-form_item {