fix: BUG修改
This commit is contained in:
parent
45aaf7d055
commit
6a317bc7cf
@ -41,6 +41,7 @@ export const getCarPassRecordListApi = data => post('xmgl/carPassRecord/getCarPa
|
|||||||
|
|
||||||
|
|
||||||
export const getCarPassRecordListByPageApi = data => post('xmgl/carPassRecord/list', data);//分页列表查询车辆通行记录信息
|
export const getCarPassRecordListByPageApi = data => post('xmgl/carPassRecord/list', data);//分页列表查询车辆通行记录信息
|
||||||
|
export const pullCarDataApi = data => post('xmgl/hikvision/getCrossRecords', data);//同步车辆通行数据
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -21,6 +21,8 @@ export const updateWorkerExit = data => post('xmgl/workerInfo/updateWorkerExit',
|
|||||||
export const updateWorkerTeam = data => post('xmgl/workerInfo/updateWorkerTeam', data); //人员批量移动
|
export const updateWorkerTeam = data => post('xmgl/workerInfo/updateWorkerTeam', data); //人员批量移动
|
||||||
export const deleteWorkerInfo = data => post('xmgl/workerInfo/delete', data); //删除 人员 信息
|
export const deleteWorkerInfo = data => post('xmgl/workerInfo/delete', data); //删除 人员 信息
|
||||||
export const sendBatchWokerApi = data => post('xmgl/ufaceDev/sendBatchWokerDev', data); // 下发通行人员
|
export const sendBatchWokerApi = data => post('xmgl/ufaceDev/sendBatchWokerDev', data); // 下发通行人员
|
||||||
|
export const pullMemberDataApi = data => post('xmgl/hikvision/getDoorEvents', data); // 拉取人员通行数据
|
||||||
|
|
||||||
//详情
|
//详情
|
||||||
export const getWorkerInfoData = data => post('xmgl/workerInfo/viewWorkerInfoDetail', data); //获取 人员 详细所有信息
|
export const getWorkerInfoData = data => post('xmgl/workerInfo/viewWorkerInfoDetail', data); //获取 人员 详细所有信息
|
||||||
export const addContractApi = data => post('xmgl/workerContract/add', data); //新增合同信息
|
export const addContractApi = data => post('xmgl/workerContract/add', data); //新增合同信息
|
||||||
|
|||||||
@ -42,6 +42,12 @@
|
|||||||
|
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button type="primary" plain @click="onSubmit">{{$t('message.deviceManage.query')}}</el-button>
|
<el-button type="primary" plain @click="onSubmit">{{$t('message.deviceManage.query')}}</el-button>
|
||||||
|
<el-button
|
||||||
|
size="medium"
|
||||||
|
@click="updatePassData()"
|
||||||
|
type="primary"
|
||||||
|
>同步车辆通行数据</el-button
|
||||||
|
>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
</div>
|
</div>
|
||||||
@ -97,16 +103,74 @@
|
|||||||
></el-pagination>
|
></el-pagination>
|
||||||
</div>
|
</div>
|
||||||
<!-- </vue-scroll> -->
|
<!-- </vue-scroll> -->
|
||||||
|
<!-- 拉取车辆通行数据弹框 -->
|
||||||
|
<el-dialog
|
||||||
|
:modal-append-to-body="false"
|
||||||
|
:close-on-click-modal="false"
|
||||||
|
:visible.sync="dataImportDialog"
|
||||||
|
width="800px"
|
||||||
|
>
|
||||||
|
<div class="title-set" slot="title">
|
||||||
|
<div class="line"></div>
|
||||||
|
<span>同步车辆通行数据</span>
|
||||||
|
<div class="question-icon" @mouseover="tipShow = true" @mouseout="tipShow = false">?</div>
|
||||||
|
<div class="tip-text" v-if="tipShow">此处可同步海康ISC平台的通行数据</div>
|
||||||
|
</div>
|
||||||
|
<div class="dialog-content">
|
||||||
|
<div class="form-content">
|
||||||
|
<el-form
|
||||||
|
label-width="230px"
|
||||||
|
size="medium"
|
||||||
|
style="width: 80%;margin: 0 auto;"
|
||||||
|
>
|
||||||
|
<el-form-item
|
||||||
|
prop="afternoonStartTime"
|
||||||
|
label="选择需要手动拉取数据的时间段:"
|
||||||
|
>
|
||||||
|
<el-date-picker
|
||||||
|
v-model="timeRange"
|
||||||
|
type="datetimerange"
|
||||||
|
:range-separator="$t('message.laborMange.to')"
|
||||||
|
:start-placeholder="$t('message.laborMange.startDate')"
|
||||||
|
:end-placeholder="$t('message.laborMange.dateClosed')"
|
||||||
|
value-format="yyyy-MM-dd hh:mm:ss"
|
||||||
|
>
|
||||||
|
</el-date-picker>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
</div>
|
||||||
|
<div class="dialog-footer">
|
||||||
|
<el-button
|
||||||
|
class="cancleBtn"
|
||||||
|
@click="dataImportDialog = false"
|
||||||
|
icon="el-icon-circle-close"
|
||||||
|
size="medium"
|
||||||
|
>{{ $t("message.laborMange.cancel") }}</el-button
|
||||||
|
>
|
||||||
|
<el-button
|
||||||
|
type="primary"
|
||||||
|
icon="el-icon-circle-check"
|
||||||
|
@click="confirmPullData"
|
||||||
|
size="medium"
|
||||||
|
>确认拉取</el-button
|
||||||
|
>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</el-dialog>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
import {
|
import {
|
||||||
getCarPassRecordListByPageApi,
|
getCarPassRecordListByPageApi,
|
||||||
|
pullCarDataApi
|
||||||
} from "@/assets/js/api/carManage";
|
} from "@/assets/js/api/carManage";
|
||||||
export default {
|
export default {
|
||||||
name: "historyData",
|
name: "historyData",
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
dataImportDialog: false,
|
||||||
|
tipShow: false,
|
||||||
|
timeRange: [],
|
||||||
isBlack: '',
|
isBlack: '',
|
||||||
carTypeList:[{
|
carTypeList:[{
|
||||||
value: '1',
|
value: '1',
|
||||||
@ -140,6 +204,32 @@ export default {
|
|||||||
this.onSubmit();
|
this.onSubmit();
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
// 确认拉取数据
|
||||||
|
confirmPullData(){
|
||||||
|
if(!this.timeRange || this.timeRange.length == 0){
|
||||||
|
this.$message.error("请先选择时间段");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
let reqeustData = {
|
||||||
|
projectSn: this.projectSn,
|
||||||
|
startTime: this.timeRange[0],
|
||||||
|
endTime: this.timeRange[1]
|
||||||
|
}
|
||||||
|
pullCarDataApi(reqeustData).then((res) => {
|
||||||
|
if (res.code == 200) {
|
||||||
|
this.$message({
|
||||||
|
message: res.message,
|
||||||
|
type: "success",
|
||||||
|
});
|
||||||
|
this.dataImportDialog = false;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
// 同步车辆通行数据
|
||||||
|
updatePassData(){
|
||||||
|
this.timeRange = [];
|
||||||
|
this.dataImportDialog = true;
|
||||||
|
},
|
||||||
// 获取当前时间 返回YYYY-MM-DD HH:mm:ss
|
// 获取当前时间 返回YYYY-MM-DD HH:mm:ss
|
||||||
selectNowDate(){
|
selectNowDate(){
|
||||||
var date = new Date(),
|
var date = new Date(),
|
||||||
@ -204,5 +294,32 @@ export default {
|
|||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
<style lang="less" scoped>
|
<style lang="less" scoped>
|
||||||
|
// 通行数据拉取弹窗样式
|
||||||
|
.title-set {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
.line {
|
||||||
|
width: 0px;
|
||||||
|
height: 15px;
|
||||||
|
border-radius: 3px;
|
||||||
|
border: 2px solid #5c81ee;
|
||||||
|
margin-right: 10px;
|
||||||
|
}
|
||||||
|
>span{
|
||||||
|
margin-right: 5px;
|
||||||
|
}
|
||||||
|
.question-icon{
|
||||||
|
border: 1px solid #676C7C;
|
||||||
|
border-radius: 50%;
|
||||||
|
width: 10px;
|
||||||
|
height: 10px;
|
||||||
|
text-align: center;
|
||||||
|
line-height: 10px;
|
||||||
|
font-size: 12px;
|
||||||
|
}
|
||||||
|
.tip-text{
|
||||||
|
font-size: 14px;
|
||||||
|
margin-left: 5px;
|
||||||
|
}
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
@ -8,7 +8,8 @@
|
|||||||
size="medium"
|
size="medium"
|
||||||
>
|
>
|
||||||
<el-form-item :label="$t('message.laborMange.personnelType')">
|
<el-form-item :label="$t('message.laborMange.personnelType')">
|
||||||
<el-select style="width:120px"
|
<el-select
|
||||||
|
style="width:120px"
|
||||||
v-model="formInline.personType"
|
v-model="formInline.personType"
|
||||||
:placeholder="$t('message.laborMange.pleasePersonnelType')"
|
:placeholder="$t('message.laborMange.pleasePersonnelType')"
|
||||||
>
|
>
|
||||||
@ -28,53 +29,70 @@
|
|||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item :label="$t('message.laborMange.companies')">
|
<el-form-item :label="$t('message.laborMange.companies')">
|
||||||
<el-select filterable :clearable="true"
|
<el-select
|
||||||
|
filterable
|
||||||
|
:clearable="true"
|
||||||
v-model="formInline.enterpriseId"
|
v-model="formInline.enterpriseId"
|
||||||
:placeholder="$t('message.laborMange.pleaseChoose')" @change="changeCompany"
|
:placeholder="$t('message.laborMange.pleaseChoose')"
|
||||||
|
@change="changeCompany"
|
||||||
>
|
>
|
||||||
<el-option
|
<el-option
|
||||||
:label="item.enterpriseName"
|
:label="item.enterpriseName"
|
||||||
:value="item.id" v-for="item in enterpriseListData" :key="item.id"
|
:value="item.id"
|
||||||
|
v-for="item in enterpriseListData"
|
||||||
|
:key="item.id"
|
||||||
></el-option>
|
></el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item :label="$t('message.laborMange.belongsToTeam')">
|
<el-form-item :label="$t('message.laborMange.belongsToTeam')">
|
||||||
<el-select filterable :clearable="true"
|
<el-select
|
||||||
|
filterable
|
||||||
|
:clearable="true"
|
||||||
v-model="formInline.teamId"
|
v-model="formInline.teamId"
|
||||||
:placeholder="$t('message.laborMange.pleaseChoose')"
|
:placeholder="$t('message.laborMange.pleaseChoose')"
|
||||||
>
|
>
|
||||||
<el-option
|
<el-option
|
||||||
:label="item.teamName"
|
:label="item.teamName"
|
||||||
:value="item.id" v-for="item in teamListData" :key="item.id"
|
:value="item.id"
|
||||||
|
v-for="item in teamListData"
|
||||||
|
:key="item.id"
|
||||||
></el-option>
|
></el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item :label="$t('message.laborMange.department')">
|
<el-form-item :label="$t('message.laborMange.department')">
|
||||||
<el-select filterable :clearable="true"
|
<el-select
|
||||||
|
filterable
|
||||||
|
:clearable="true"
|
||||||
v-model="formInline.departmentId"
|
v-model="formInline.departmentId"
|
||||||
:placeholder="$t('message.laborMange.pleaseChoose')"
|
:placeholder="$t('message.laborMange.pleaseChoose')"
|
||||||
>
|
>
|
||||||
<el-option
|
<el-option
|
||||||
:label="item.departmentName"
|
:label="item.departmentName"
|
||||||
:value="item.id" v-for="item in departmentListData" :key="item.id"
|
:value="item.id"
|
||||||
|
v-for="item in departmentListData"
|
||||||
|
:key="item.id"
|
||||||
></el-option>
|
></el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
<el-form-item :label="$t('message.laborMange.workingState')">
|
<el-form-item :label="$t('message.laborMange.workingState')">
|
||||||
<el-select filterable
|
<el-select
|
||||||
|
filterable
|
||||||
v-model="formInline.inserviceType"
|
v-model="formInline.inserviceType"
|
||||||
:placeholder="$t('message.laborMange.pleaseChoose')"
|
:placeholder="$t('message.laborMange.pleaseChoose')"
|
||||||
>
|
>
|
||||||
<el-option
|
<el-option
|
||||||
:label="item.name"
|
:label="item.name"
|
||||||
:value="item.id" v-for="item in inserviceTypeOptions" :key="item.id"
|
:value="item.id"
|
||||||
|
v-for="item in inserviceTypeOptions"
|
||||||
|
:key="item.id"
|
||||||
></el-option>
|
></el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
<el-form-item :label="$t('message.laborMange.month') + ':'">
|
<el-form-item :label="$t('message.laborMange.month') + ':'">
|
||||||
<el-date-picker style="width:120px"
|
<el-date-picker
|
||||||
|
style="width:120px"
|
||||||
value-format="yyyy-MM"
|
value-format="yyyy-MM"
|
||||||
v-model="formInline.monthTime"
|
v-model="formInline.monthTime"
|
||||||
type="month"
|
type="month"
|
||||||
@ -91,20 +109,46 @@
|
|||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button
|
<el-button
|
||||||
type="primary"
|
type="primary"
|
||||||
@click="page=1; getListData()"
|
@click="
|
||||||
|
page = 1;
|
||||||
|
getListData();
|
||||||
|
"
|
||||||
plain
|
plain
|
||||||
>{{ $t("message.laborMange.inquire") }}</el-button
|
>{{ $t("message.laborMange.inquire") }}</el-button
|
||||||
>
|
>
|
||||||
|
<el-button type="warning" @click="refresh" plain>{{
|
||||||
|
$t("message.laborMange.refresh")
|
||||||
|
}}</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
type="warning"
|
type="primary"
|
||||||
@click="refresh"
|
@click="
|
||||||
plain
|
selectDateType = 1;
|
||||||
>{{ $t("message.laborMange.refresh")}}</el-button
|
exportDialog = true;
|
||||||
|
"
|
||||||
|
>{{
|
||||||
|
$t("message.laborMange.export") +
|
||||||
|
$t("message.laborMange.detailData")
|
||||||
|
}}</el-button
|
||||||
|
>
|
||||||
|
<el-button type="primary" @click="exportMonthlyData">{{
|
||||||
|
$t("message.laborMange.export") + $t("message.laborMange.monthData")
|
||||||
|
}}</el-button>
|
||||||
|
<el-button
|
||||||
|
type="primary"
|
||||||
|
@click="
|
||||||
|
selectDateType = 2;
|
||||||
|
exportDialog = true;
|
||||||
|
"
|
||||||
|
>{{ $t("message.laborMange.recountData") }}</el-button
|
||||||
|
>
|
||||||
|
<el-button type="primary" @click="attendancePrint"
|
||||||
|
><a :href="printPdf" class="printPdf">{{
|
||||||
|
$t("message.laborMange.attendPrint")
|
||||||
|
}}</a></el-button
|
||||||
|
>
|
||||||
|
<el-button type="primary" @click="openPullDialog"
|
||||||
|
>拉取通行数据</el-button
|
||||||
>
|
>
|
||||||
<el-button type="primary" @click="selectDateType=1;exportDialog=true" >{{$t("message.laborMange.export")+$t("message.laborMange.detailData")}}</el-button>
|
|
||||||
<el-button type="primary" @click="exportMonthlyData" >{{$t("message.laborMange.export")+$t("message.laborMange.monthData")}}</el-button>
|
|
||||||
<el-button type="primary" @click="selectDateType=2;exportDialog=true" >{{$t("message.laborMange.recountData")}}</el-button>
|
|
||||||
<el-button type="primary" @click="attendancePrint"><a :href="printPdf" class="printPdf">{{$t("message.laborMange.attendPrint")}}</a></el-button>
|
|
||||||
<!-- <el-button type="primary" @click="importAttendanceData" >导入考勤数据</el-button> -->
|
<!-- <el-button type="primary" @click="importAttendanceData" >导入考勤数据</el-button> -->
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<!-- <div class="doloadExcel">考勤模板下载</div> -->
|
<!-- <div class="doloadExcel">考勤模板下载</div> -->
|
||||||
@ -262,64 +306,61 @@
|
|||||||
></el-table-column>
|
></el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="temperature"
|
prop="temperature"
|
||||||
:label="$t('message.laborMange.temperature')+'(℃)'"
|
:label="$t('message.laborMange.temperature') + '(℃)'"
|
||||||
align="center"
|
align="center"
|
||||||
>
|
>
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
{{scope.row.temperature?scope.row.temperature:'--'}}
|
{{ scope.row.temperature ? scope.row.temperature : "--" }}
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
|
||||||
<el-table-column
|
<el-table-column
|
||||||
|
|
||||||
:label="$t('message.laborMange.healthCodeStatus')"
|
:label="$t('message.laborMange.healthCodeStatus')"
|
||||||
align="center"
|
align="center"
|
||||||
>
|
>
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
{{healthCodelist[scope.row.healthCode]}}
|
{{ healthCodelist[scope.row.healthCode] }}
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
|
||||||
|
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="nucleicAcidTime"
|
prop="nucleicAcidTime"
|
||||||
:label="$t('message.laborMange.nucleicAcidTime')"
|
:label="$t('message.laborMange.nucleicAcidTime')"
|
||||||
align="center"
|
align="center"
|
||||||
></el-table-column>
|
></el-table-column>
|
||||||
|
|
||||||
<el-table-column
|
<el-table-column
|
||||||
|
|
||||||
:label="$t('message.laborMange.nucleicAcidResults')"
|
:label="$t('message.laborMange.nucleicAcidResults')"
|
||||||
align="center"
|
align="center"
|
||||||
>
|
>
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
{{nucleicAcidResultsList[scope.row.nucleicAcidResult]}}
|
{{ nucleicAcidResultsList[scope.row.nucleicAcidResult] }}
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
|
||||||
|
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="vaccinateTime"
|
prop="vaccinateTime"
|
||||||
:label="$t('message.laborMange.vaccinationTime')"
|
:label="$t('message.laborMange.vaccinationTime')"
|
||||||
align="center"
|
align="center"
|
||||||
></el-table-column>
|
></el-table-column>
|
||||||
|
|
||||||
<el-table-column
|
<el-table-column
|
||||||
|
|
||||||
:label="$t('message.laborMange.vaccinationFrequency')"
|
:label="$t('message.laborMange.vaccinationFrequency')"
|
||||||
align="center"
|
align="center"
|
||||||
>
|
>
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
{{vaccinationFrequencyltsList[scope.row.vaccinateState]||'无'}}
|
{{
|
||||||
</template>
|
vaccinationFrequencyltsList[scope.row.vaccinateState] || "无"
|
||||||
|
}}
|
||||||
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="passType"
|
prop="passType"
|
||||||
:label="
|
:label="
|
||||||
$t('message.laborMange.enterInto') +
|
$t('message.laborMange.enterInto') +
|
||||||
'/' +
|
'/' +
|
||||||
$t('message.laborMange.leave')
|
$t('message.laborMange.leave')
|
||||||
"
|
"
|
||||||
align="center"
|
align="center"
|
||||||
>
|
>
|
||||||
@ -388,6 +429,60 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</vue-scroll>
|
</vue-scroll>
|
||||||
|
<!-- 拉取通行数据弹框 -->
|
||||||
|
<el-dialog
|
||||||
|
:modal-append-to-body="false"
|
||||||
|
:close-on-click-modal="false"
|
||||||
|
:visible.sync="imgImportDialog"
|
||||||
|
width="800px"
|
||||||
|
>
|
||||||
|
<div class="title-set" slot="title">
|
||||||
|
<div class="line"></div>
|
||||||
|
<span>同步人员通行数据</span>
|
||||||
|
<div class="question-icon" @mouseover="tipShow = true" @mouseout="tipShow = false">?</div>
|
||||||
|
<div class="tip-text" v-if="tipShow">此处可同步海康ISC平台的通行数据</div>
|
||||||
|
</div>
|
||||||
|
<div class="dialog-content">
|
||||||
|
<div class="form-content">
|
||||||
|
<el-form
|
||||||
|
label-width="230px"
|
||||||
|
size="medium"
|
||||||
|
style="width: 80%;margin: 0 auto;"
|
||||||
|
>
|
||||||
|
<el-form-item
|
||||||
|
prop="afternoonStartTime"
|
||||||
|
label="选择需要手动拉取数据的时间段:"
|
||||||
|
>
|
||||||
|
<el-date-picker
|
||||||
|
v-model="timeRange"
|
||||||
|
type="datetimerange"
|
||||||
|
:range-separator="$t('message.laborMange.to')"
|
||||||
|
:start-placeholder="$t('message.laborMange.startDate')"
|
||||||
|
:end-placeholder="$t('message.laborMange.dateClosed')"
|
||||||
|
value-format="yyyy-MM-dd hh:mm:ss"
|
||||||
|
>
|
||||||
|
</el-date-picker>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
</div>
|
||||||
|
<div class="dialog-footer">
|
||||||
|
<el-button
|
||||||
|
class="cancleBtn"
|
||||||
|
@click="imgImportDialog = false"
|
||||||
|
icon="el-icon-circle-close"
|
||||||
|
size="medium"
|
||||||
|
>{{ $t("message.laborMange.cancel") }}</el-button
|
||||||
|
>
|
||||||
|
<el-button
|
||||||
|
type="primary"
|
||||||
|
icon="el-icon-circle-check"
|
||||||
|
@click="confirmPullData"
|
||||||
|
size="medium"
|
||||||
|
>确认拉取</el-button
|
||||||
|
>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</el-dialog>
|
||||||
<!-- 查看大图 -->
|
<!-- 查看大图 -->
|
||||||
<div
|
<div
|
||||||
v-if="bigImageDialog"
|
v-if="bigImageDialog"
|
||||||
@ -400,43 +495,49 @@
|
|||||||
</div>
|
</div>
|
||||||
<!-- 导出 -->
|
<!-- 导出 -->
|
||||||
<el-dialog
|
<el-dialog
|
||||||
:modal-append-to-body="false"
|
:modal-append-to-body="false"
|
||||||
:title="selectDateType==1?$t('message.laborMange.hint1'):$t('message.laborMange.hint2')"
|
:title="
|
||||||
:visible.sync="exportDialog"
|
selectDateType == 1
|
||||||
width="667px">
|
? $t('message.laborMange.hint1')
|
||||||
<div class="dialog_content">
|
: $t('message.laborMange.hint2')
|
||||||
<el-form label-width="90px" size="medium"
|
"
|
||||||
class="dialogFormBox">
|
:visible.sync="exportDialog"
|
||||||
|
width="667px"
|
||||||
<el-form-item prop="afternoonStartTime" :label="$t('message.laborMange.timeFrame')">
|
>
|
||||||
|
<div class="dialog_content">
|
||||||
<el-date-picker
|
<el-form label-width="90px" size="medium" class="dialogFormBox">
|
||||||
v-model="exportDateArr"
|
<el-form-item
|
||||||
type="daterange"
|
prop="afternoonStartTime"
|
||||||
:range-separator="$t('message.laborMange.to')"
|
:label="$t('message.laborMange.timeFrame')"
|
||||||
:start-placeholder="$t('message.laborMange.startDate')"
|
>
|
||||||
:end-placeholder="$t('message.laborMange.dateClosed')" value-format="yyyy-MM-dd">
|
<el-date-picker
|
||||||
</el-date-picker>
|
v-model="exportDateArr"
|
||||||
</el-form-item>
|
type="daterange"
|
||||||
<div class="dialog-footer">
|
:range-separator="$t('message.laborMange.to')"
|
||||||
<el-button
|
:start-placeholder="$t('message.laborMange.startDate')"
|
||||||
class="cancleBtn"
|
:end-placeholder="$t('message.laborMange.dateClosed')"
|
||||||
@click="exportDialog = false"
|
value-format="yyyy-MM-dd"
|
||||||
icon="el-icon-circle-close"
|
>
|
||||||
size="medium"
|
</el-date-picker>
|
||||||
>{{$t('message.personnelPosition.cancel')}}
|
</el-form-item>
|
||||||
</el-button>
|
<div class="dialog-footer">
|
||||||
<el-button
|
<el-button
|
||||||
type="primary"
|
class="cancleBtn"
|
||||||
icon="el-icon-circle-check"
|
@click="exportDialog = false"
|
||||||
@click="exportFn"
|
icon="el-icon-circle-close"
|
||||||
size="medium"
|
size="medium"
|
||||||
>{{$t('message.personnelPosition.determine')}}
|
>{{ $t("message.personnelPosition.cancel") }}
|
||||||
</el-button>
|
</el-button>
|
||||||
</div>
|
<el-button
|
||||||
</el-form>
|
type="primary"
|
||||||
</div>
|
icon="el-icon-circle-check"
|
||||||
|
@click="exportFn"
|
||||||
|
size="medium"
|
||||||
|
>{{ $t("message.personnelPosition.determine") }}
|
||||||
|
</el-button>
|
||||||
|
</div>
|
||||||
|
</el-form>
|
||||||
|
</div>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
@ -444,12 +545,15 @@
|
|||||||
import scroll from "vue-seamless-scroll";
|
import scroll from "vue-seamless-scroll";
|
||||||
import {
|
import {
|
||||||
getPageListData,
|
getPageListData,
|
||||||
getSelectDateilApi,getAfreshMonthAttendanceStatisticsApi,attendFsdApi
|
getSelectDateilApi,
|
||||||
|
getAfreshMonthAttendanceStatisticsApi,
|
||||||
|
attendFsdApi,
|
||||||
} from "@/assets/js/api/attendanceManage";
|
} from "@/assets/js/api/attendanceManage";
|
||||||
import {
|
import {
|
||||||
getDepartmentInfoList,
|
getDepartmentInfoList,
|
||||||
getTeamInfoList,
|
getTeamInfoList,
|
||||||
getEnterpriseInfoList
|
getEnterpriseInfoList,
|
||||||
|
pullMemberDataApi
|
||||||
} from "@/assets/js/api/laborPerson";
|
} from "@/assets/js/api/laborPerson";
|
||||||
export default {
|
export default {
|
||||||
name: "attendanceManage",
|
name: "attendanceManage",
|
||||||
@ -458,33 +562,38 @@ export default {
|
|||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
printPdf:"",
|
tipShow: false,
|
||||||
nucleicAcidResultsList:{
|
timeRange: [],
|
||||||
0:"未知",
|
printPdf: "",
|
||||||
1:"阴性",
|
nucleicAcidResultsList: {
|
||||||
2:"阳性"
|
0: "未知",
|
||||||
|
1: "阴性",
|
||||||
|
2: "阳性",
|
||||||
},
|
},
|
||||||
healthCodelist:{
|
healthCodelist: {
|
||||||
0:"无",
|
0: "无",
|
||||||
1:"红码",
|
1: "红码",
|
||||||
2:"黄码",
|
2: "黄码",
|
||||||
3:"绿码"
|
3: "绿码",
|
||||||
},
|
},
|
||||||
vaccinationFrequencyltsList:{
|
vaccinationFrequencyltsList: {
|
||||||
0:"未接种",
|
0: "未接种",
|
||||||
1:"接种一针",
|
1: "接种一针",
|
||||||
2:"接种两针",
|
2: "接种两针",
|
||||||
3:"接种三针"
|
3: "接种三针",
|
||||||
},
|
},
|
||||||
exportDialog:false,
|
exportDialog: false,
|
||||||
exportDateArr:[],
|
exportDateArr: [],
|
||||||
inserviceTypeOptions:[{
|
inserviceTypeOptions: [
|
||||||
name: this.$t('message.laborMange.onJob'),
|
{
|
||||||
id: 1
|
name: this.$t("message.laborMange.onJob"),
|
||||||
},{
|
id: 1,
|
||||||
name: this.$t('message.laborMange.dimission'),
|
},
|
||||||
id: 2
|
{
|
||||||
}],
|
name: this.$t("message.laborMange.dimission"),
|
||||||
|
id: 2,
|
||||||
|
},
|
||||||
|
],
|
||||||
fileUrl: "",
|
fileUrl: "",
|
||||||
page: 1,
|
page: 1,
|
||||||
pageSize: 10,
|
pageSize: 10,
|
||||||
@ -493,10 +602,10 @@ export default {
|
|||||||
workerName: "",
|
workerName: "",
|
||||||
personType: "",
|
personType: "",
|
||||||
monthTime: "",
|
monthTime: "",
|
||||||
enterpriseId:"",
|
enterpriseId: "",
|
||||||
teamId:"",
|
teamId: "",
|
||||||
departmentId:"",
|
departmentId: "",
|
||||||
inserviceType: 1
|
inserviceType: 1,
|
||||||
},
|
},
|
||||||
projectSn: "",
|
projectSn: "",
|
||||||
tableData: [],
|
tableData: [],
|
||||||
@ -507,10 +616,11 @@ export default {
|
|||||||
dateilList: [],
|
dateilList: [],
|
||||||
showTime: 31,
|
showTime: 31,
|
||||||
bigImageDialog: false,
|
bigImageDialog: false,
|
||||||
enterpriseListData:[],
|
enterpriseListData: [],
|
||||||
teamListData:[],
|
teamListData: [],
|
||||||
departmentListData:[],
|
departmentListData: [],
|
||||||
selectDateType:1,//1是选择导出时间段 2是选择重新计算考勤的时间段
|
selectDateType: 1, //1是选择导出时间段 2是选择重新计算考勤的时间段
|
||||||
|
imgImportDialog: false,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
@ -523,39 +633,71 @@ export default {
|
|||||||
this.projectSn = this.$store.state.projectSn;
|
this.projectSn = this.$store.state.projectSn;
|
||||||
this.getListData();
|
this.getListData();
|
||||||
this.fileUrl = this.$store.state.FILEURL;
|
this.fileUrl = this.$store.state.FILEURL;
|
||||||
this.getCompanyList()
|
this.getCompanyList();
|
||||||
this.getTeamList()
|
this.getTeamList();
|
||||||
},
|
},
|
||||||
|
|
||||||
methods: {
|
methods: {
|
||||||
|
// 确认拉取数据
|
||||||
|
confirmPullData(){
|
||||||
|
if(!this.timeRange || this.timeRange.length == 0){
|
||||||
|
this.$message.error("请先选择时间段");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
let reqeustData = {
|
||||||
|
projectSn: this.projectSn,
|
||||||
|
startTime: this.timeRange[0],
|
||||||
|
endTime: this.timeRange[1]
|
||||||
|
}
|
||||||
|
pullMemberDataApi(reqeustData).then((res) => {
|
||||||
|
if (res.code == 200) {
|
||||||
|
this.$message({
|
||||||
|
message: res.message,
|
||||||
|
type: "success",
|
||||||
|
});
|
||||||
|
this.imgImportDialog = false;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
/// 打开拉取通行数据弹窗
|
||||||
|
openPullDialog() {
|
||||||
|
this.timeRange = [];
|
||||||
|
this.imgImportDialog = true;
|
||||||
|
},
|
||||||
//考勤打印
|
//考勤打印
|
||||||
attendancePrint(){
|
attendancePrint() {
|
||||||
console.log('参数',this.formInline)
|
console.log("参数", this.formInline);
|
||||||
this.printPdf = this.$http.defaults.baseURL + 'xmgl/workerWagesPayment/attendancePdf?monthTime=' +
|
this.printPdf =
|
||||||
this.formInline.monthTime +'&personType=' + this.formInline.personType + '&projectSn=' + this.$store.state.projectSn
|
this.$http.defaults.baseURL +
|
||||||
+'&enterpriseId='+this.formInline.enterpriseId
|
"xmgl/workerWagesPayment/attendancePdf?monthTime=" +
|
||||||
+'&teamId='+this.formInline.teamId
|
this.formInline.monthTime +
|
||||||
|
"&personType=" +
|
||||||
|
this.formInline.personType +
|
||||||
|
"&projectSn=" +
|
||||||
|
this.$store.state.projectSn +
|
||||||
|
"&enterpriseId=" +
|
||||||
|
this.formInline.enterpriseId +
|
||||||
|
"&teamId=" +
|
||||||
|
this.formInline.teamId;
|
||||||
// console.log('路径', this.printPdf )
|
// console.log('路径', this.printPdf )
|
||||||
},
|
},
|
||||||
// 导入考勤数据
|
// 导入考勤数据
|
||||||
importAttendanceData(){
|
importAttendanceData() {},
|
||||||
|
|
||||||
},
|
|
||||||
//获取所属 企业下拉
|
//获取所属 企业下拉
|
||||||
getCompanyList() {
|
getCompanyList() {
|
||||||
let data = {
|
let data = {
|
||||||
projectSn: this.projectSn,
|
projectSn: this.projectSn,
|
||||||
enterpriseName: '',
|
enterpriseName: "",
|
||||||
userEnterpriseId: this.$store.state.userInfo.userEnterpriseId
|
userEnterpriseId: this.$store.state.userInfo.userEnterpriseId,
|
||||||
};
|
};
|
||||||
getEnterpriseInfoList(data).then((res) => {
|
getEnterpriseInfoList(data).then((res) => {
|
||||||
this.enterpriseListData = res.result;
|
this.enterpriseListData = res.result;
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
//获取 部门 列表
|
//获取 部门 列表
|
||||||
getDepartmentList() {
|
getDepartmentList() {
|
||||||
let data = {
|
let data = {
|
||||||
enterpriseId:this.formInline.enterpriseId,
|
enterpriseId: this.formInline.enterpriseId,
|
||||||
projectSn: this.projectSn,
|
projectSn: this.projectSn,
|
||||||
};
|
};
|
||||||
getDepartmentInfoList(data).then((res) => {
|
getDepartmentInfoList(data).then((res) => {
|
||||||
@ -572,46 +714,82 @@ export default {
|
|||||||
this.teamListData = res.result.list;
|
this.teamListData = res.result.list;
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
changeCompany(){
|
changeCompany() {
|
||||||
this.formInline.departmentId=''
|
this.formInline.departmentId = "";
|
||||||
this.formInline.teamId=''
|
this.formInline.teamId = "";
|
||||||
this.getDepartmentList()
|
this.getDepartmentList();
|
||||||
this.getTeamList()
|
this.getTeamList();
|
||||||
},
|
},
|
||||||
//导出详细数据
|
//导出详细数据
|
||||||
exportFn(){
|
exportFn() {
|
||||||
console.log(this.exportDateArr)
|
console.log(this.exportDateArr);
|
||||||
if(!this.exportDateArr||this.exportDateArr.length==0){
|
if (!this.exportDateArr || this.exportDateArr.length == 0) {
|
||||||
this.$message.error(this.$t('message.laborMange.pleaseChoose')+this.$t('message.laborMange.timeFrame'))
|
this.$message.error(
|
||||||
return false
|
this.$t("message.laborMange.pleaseChoose") +
|
||||||
|
this.$t("message.laborMange.timeFrame")
|
||||||
|
);
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
if(this.selectDateType==1){
|
if (this.selectDateType == 1) {
|
||||||
window.location.href = this.$http.defaults.baseURL + 'xmgl/download/exportExcelWorkerAttendance?projectSn=' + this.projectSn +
|
window.location.href =
|
||||||
'&endTime=' + this.exportDateArr[1] + '&startTime=' + this.exportDateArr[0] + '&personType=' + this.formInline.personType + '&workerName=' + this.formInline.workerName+'&userEnterpriseId='+this.$store.state.userInfo.userEnterpriseId+
|
this.$http.defaults.baseURL +
|
||||||
'&enterpriseId='+this.formInline.enterpriseId+'&teamId='+this.formInline.teamId+'&departmentId='+this.formInline.departmentId+'&inserviceType='+this.formInline.inserviceType
|
"xmgl/download/exportExcelWorkerAttendance?projectSn=" +
|
||||||
|
this.projectSn +
|
||||||
}else{
|
"&endTime=" +
|
||||||
|
this.exportDateArr[1] +
|
||||||
|
"&startTime=" +
|
||||||
|
this.exportDateArr[0] +
|
||||||
|
"&personType=" +
|
||||||
|
this.formInline.personType +
|
||||||
|
"&workerName=" +
|
||||||
|
this.formInline.workerName +
|
||||||
|
"&userEnterpriseId=" +
|
||||||
|
this.$store.state.userInfo.userEnterpriseId +
|
||||||
|
"&enterpriseId=" +
|
||||||
|
this.formInline.enterpriseId +
|
||||||
|
"&teamId=" +
|
||||||
|
this.formInline.teamId +
|
||||||
|
"&departmentId=" +
|
||||||
|
this.formInline.departmentId +
|
||||||
|
"&inserviceType=" +
|
||||||
|
this.formInline.inserviceType;
|
||||||
|
} else {
|
||||||
let data = {
|
let data = {
|
||||||
userId: this.$store.state.userInfo.userId,
|
userId: this.$store.state.userInfo.userId,
|
||||||
projectSn: this.projectSn,
|
projectSn: this.projectSn,
|
||||||
startTime:this.exportDateArr[0],
|
startTime: this.exportDateArr[0],
|
||||||
endTime:this.exportDateArr[1]
|
endTime: this.exportDateArr[1],
|
||||||
};
|
};
|
||||||
getAfreshMonthAttendanceStatisticsApi(data).then((res) => {
|
getAfreshMonthAttendanceStatisticsApi(data).then((res) => {
|
||||||
this.$message.success(this.$t('message.laborMange.hint3'))
|
this.$message.success(this.$t("message.laborMange.hint3"));
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
this.exportDialog=false
|
this.exportDialog = false;
|
||||||
|
|
||||||
},
|
},
|
||||||
//导出月份数据
|
//导出月份数据
|
||||||
exportMonthlyData(){
|
exportMonthlyData() {
|
||||||
window.location.href = this.$http.defaults.baseURL + 'xmgl/download/exportExcelMonthWorkerAttendanceStatistics?projectSn=' + this.projectSn +
|
window.location.href =
|
||||||
'&monthTime='+ this.formInline.monthTime + '&personType=' + this.formInline.personType + '&workerName=' + this.formInline.workerName+'&userEnterpriseId='+this.$store.state.userInfo.userEnterpriseId+
|
this.$http.defaults.baseURL +
|
||||||
'&enterpriseId='+this.formInline.enterpriseId+'&teamId='+this.formInline.teamId+'&departmentId='+this.formInline.departmentId+'&inserviceType='+this.formInline.inserviceType;
|
"xmgl/download/exportExcelMonthWorkerAttendanceStatistics?projectSn=" +
|
||||||
|
this.projectSn +
|
||||||
|
"&monthTime=" +
|
||||||
|
this.formInline.monthTime +
|
||||||
|
"&personType=" +
|
||||||
|
this.formInline.personType +
|
||||||
|
"&workerName=" +
|
||||||
|
this.formInline.workerName +
|
||||||
|
"&userEnterpriseId=" +
|
||||||
|
this.$store.state.userInfo.userEnterpriseId +
|
||||||
|
"&enterpriseId=" +
|
||||||
|
this.formInline.enterpriseId +
|
||||||
|
"&teamId=" +
|
||||||
|
this.formInline.teamId +
|
||||||
|
"&departmentId=" +
|
||||||
|
this.formInline.departmentId +
|
||||||
|
"&inserviceType=" +
|
||||||
|
this.formInline.inserviceType;
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
||||||
//查询 列表信息
|
//查询 列表信息
|
||||||
getListData() {
|
getListData() {
|
||||||
let data = this.formInline;
|
let data = this.formInline;
|
||||||
@ -630,8 +808,8 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
this.showTime = date > 0 ? date : this.showTime;
|
this.showTime = date > 0 ? date : this.showTime;
|
||||||
this.number=0
|
this.number = 0;
|
||||||
this.dateilList=[]
|
this.dateilList = [];
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
@ -660,9 +838,9 @@ export default {
|
|||||||
refresh() {
|
refresh() {
|
||||||
this.formInline.workerName = "";
|
this.formInline.workerName = "";
|
||||||
this.formInline.personType = "";
|
this.formInline.personType = "";
|
||||||
this.formInline.enterpriseId=''
|
this.formInline.enterpriseId = "";
|
||||||
this.formInline.teamId=''
|
this.formInline.teamId = "";
|
||||||
this.formInline.departmentId=''
|
this.formInline.departmentId = "";
|
||||||
let date = new Date();
|
let date = new Date();
|
||||||
let year = date.getFullYear();
|
let year = date.getFullYear();
|
||||||
let month = date.getMonth() + 1;
|
let month = date.getMonth() + 1;
|
||||||
@ -687,7 +865,7 @@ export default {
|
|||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
<style lang="less" scoped>
|
<style lang="less" scoped>
|
||||||
.printPdf{
|
.printPdf {
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
color: white;
|
color: white;
|
||||||
}
|
}
|
||||||
@ -735,7 +913,7 @@ export default {
|
|||||||
// line-height: 20px;
|
// line-height: 20px;
|
||||||
// border-left: 3px solid #4a8bff;
|
// border-left: 3px solid #4a8bff;
|
||||||
// }
|
// }
|
||||||
.pageTitle{
|
.pageTitle {
|
||||||
margin-left: 20px;
|
margin-left: 20px;
|
||||||
font-size: 15px;
|
font-size: 15px;
|
||||||
}
|
}
|
||||||
@ -806,13 +984,41 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.doloadExcel{
|
.doloadExcel {
|
||||||
// display: inline-block;
|
// display: inline-block;
|
||||||
margin-right: 20px;
|
margin-right: 20px;
|
||||||
color: #5181F6;
|
color: #5181f6;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
float: right;
|
float: right;
|
||||||
text-decoration: underline;
|
text-decoration: underline;
|
||||||
line-height: 34px;
|
line-height: 34px;
|
||||||
}
|
}
|
||||||
|
// 通行数据拉取弹窗样式
|
||||||
|
.title-set {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
.line {
|
||||||
|
width: 0px;
|
||||||
|
height: 15px;
|
||||||
|
border-radius: 3px;
|
||||||
|
border: 2px solid #5c81ee;
|
||||||
|
margin-right: 10px;
|
||||||
|
}
|
||||||
|
>span{
|
||||||
|
margin-right: 5px;
|
||||||
|
}
|
||||||
|
.question-icon{
|
||||||
|
border: 1px solid #676C7C;
|
||||||
|
border-radius: 50%;
|
||||||
|
width: 10px;
|
||||||
|
height: 10px;
|
||||||
|
text-align: center;
|
||||||
|
line-height: 10px;
|
||||||
|
font-size: 12px;
|
||||||
|
}
|
||||||
|
.tip-text{
|
||||||
|
font-size: 14px;
|
||||||
|
margin-left: 5px;
|
||||||
|
}
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
@ -2,8 +2,15 @@
|
|||||||
<div class="fullHeight">
|
<div class="fullHeight">
|
||||||
<div class="searchBox whiteBlock">
|
<div class="searchBox whiteBlock">
|
||||||
<el-button size="medium" type="primary" @click="addBefore">{{
|
<el-button size="medium" type="primary" @click="addBefore">{{
|
||||||
$t('message.workType.add')
|
$t("message.workType.add")
|
||||||
}}</el-button>
|
}}</el-button>
|
||||||
|
<div class="search-box">
|
||||||
|
<span>是否清零</span>
|
||||||
|
<el-radio-group v-model="radioVal" @change="changeSelect">
|
||||||
|
<el-radio :label="1">是</el-radio>
|
||||||
|
<el-radio :label="0">否</el-radio>
|
||||||
|
</el-radio-group>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="table_wrap whiteBlock">
|
<div class="table_wrap whiteBlock">
|
||||||
<vue-scroll>
|
<vue-scroll>
|
||||||
@ -29,7 +36,7 @@
|
|||||||
width="15px"
|
width="15px"
|
||||||
height="15px"
|
height="15px"
|
||||||
/>
|
/>
|
||||||
<span>{{ $t('message.workType.edit') }}</span>
|
<span>{{ $t("message.workType.edit") }}</span>
|
||||||
</div>
|
</div>
|
||||||
<div @click="deleteWorker(scope.row)" class="operationText">
|
<div @click="deleteWorker(scope.row)" class="operationText">
|
||||||
<img
|
<img
|
||||||
@ -37,7 +44,7 @@
|
|||||||
width="15px"
|
width="15px"
|
||||||
height="15px"
|
height="15px"
|
||||||
/>
|
/>
|
||||||
<span>{{ $t('message.workType.delete') }}</span>
|
<span>{{ $t("message.workType.delete") }}</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -154,14 +161,14 @@
|
|||||||
@click="closeBtn"
|
@click="closeBtn"
|
||||||
icon="el-icon-circle-close"
|
icon="el-icon-circle-close"
|
||||||
size="medium"
|
size="medium"
|
||||||
>{{ $t('message.personnelPosition.cancel') }}
|
>{{ $t("message.personnelPosition.cancel") }}
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
type="primary"
|
type="primary"
|
||||||
icon="el-icon-circle-check"
|
icon="el-icon-circle-check"
|
||||||
@click="Submit"
|
@click="Submit"
|
||||||
size="medium"
|
size="medium"
|
||||||
>{{ $t('message.personnelPosition.determine') }}
|
>{{ $t("message.personnelPosition.determine") }}
|
||||||
</el-button>
|
</el-button>
|
||||||
</div>
|
</div>
|
||||||
</el-form>
|
</el-form>
|
||||||
@ -176,11 +183,12 @@ import {
|
|||||||
workerAttendanceRuleEdit,
|
workerAttendanceRuleEdit,
|
||||||
workerAttendanceRuleDelete,
|
workerAttendanceRuleDelete,
|
||||||
} from "@/assets/js/api/laborPerson";
|
} from "@/assets/js/api/laborPerson";
|
||||||
|
import { getProjectDetail, editProjectInfo } from "@/assets/js/api/baseInfo";
|
||||||
export default {
|
export default {
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
title: '',
|
radioVal: 0,
|
||||||
|
title: "",
|
||||||
dialogVisible: false,
|
dialogVisible: false,
|
||||||
workerList: [],
|
workerList: [],
|
||||||
workerInfo: {
|
workerInfo: {
|
||||||
@ -221,8 +229,32 @@ export default {
|
|||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
this.getWorker();
|
this.getWorker();
|
||||||
|
this.getProjectDetailFn();
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
// 切换清零配置
|
||||||
|
changeSelect() {
|
||||||
|
let reqeustData = {
|
||||||
|
projectSn: this.$store.state.projectSn,
|
||||||
|
enableWorkerAttendanceZero: this.radioVal,
|
||||||
|
};
|
||||||
|
editProjectInfo(reqeustData).then((res) => {
|
||||||
|
if (res.success) {
|
||||||
|
this.$message.success("操作成功");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
// 查询是否清零配置
|
||||||
|
getProjectDetailFn() {
|
||||||
|
let reqeustData = {
|
||||||
|
projectSn: this.$store.state.projectSn,
|
||||||
|
};
|
||||||
|
getProjectDetail(reqeustData).then((res) => {
|
||||||
|
if (res && res.result) {
|
||||||
|
this.radioVal = res.result.enableWorkerAttendanceZero;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
getWorker() {
|
getWorker() {
|
||||||
workerAttendanceRuleList({ projectSn: this.$store.state.projectSn }).then(
|
workerAttendanceRuleList({ projectSn: this.$store.state.projectSn }).then(
|
||||||
(result) => {
|
(result) => {
|
||||||
@ -234,7 +266,7 @@ export default {
|
|||||||
);
|
);
|
||||||
},
|
},
|
||||||
addBefore() {
|
addBefore() {
|
||||||
this.title = "新增考勤规则"
|
this.title = "新增考勤规则";
|
||||||
this.dialogVisible = true;
|
this.dialogVisible = true;
|
||||||
(this.workerInfo = {
|
(this.workerInfo = {
|
||||||
ruleName: "",
|
ruleName: "",
|
||||||
@ -252,21 +284,21 @@ export default {
|
|||||||
});
|
});
|
||||||
},
|
},
|
||||||
editBefore(worker) {
|
editBefore(worker) {
|
||||||
this.title = "编辑考勤规则"
|
this.title = "编辑考勤规则";
|
||||||
this.dialogVisible = true;
|
this.dialogVisible = true;
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
this.$refs.form.clearValidate();
|
this.$refs.form.clearValidate();
|
||||||
});
|
});
|
||||||
// console.log('编辑前的内容', worker)
|
// console.log('编辑前的内容', worker)
|
||||||
this.workerInfo = JSON.parse(JSON.stringify(worker))
|
this.workerInfo = JSON.parse(JSON.stringify(worker));
|
||||||
},
|
},
|
||||||
deleteBefore(worker) { },
|
deleteBefore(worker) {},
|
||||||
deleteWorker(worker) {
|
deleteWorker(worker) {
|
||||||
this.$confirm(
|
this.$confirm(
|
||||||
this.$t("message.personnelPosition.beaconManage.table.confirmText") +
|
this.$t("message.personnelPosition.beaconManage.table.confirmText") +
|
||||||
"【" +
|
"【" +
|
||||||
worker.ruleName +
|
worker.ruleName +
|
||||||
"】?",
|
"】?",
|
||||||
this.$t("message.personnelPosition.beaconManage.table.Tips"),
|
this.$t("message.personnelPosition.beaconManage.table.Tips"),
|
||||||
{
|
{
|
||||||
confirmButtonText: this.$t(
|
confirmButtonText: this.$t(
|
||||||
@ -289,7 +321,7 @@ export default {
|
|||||||
});
|
});
|
||||||
this.getWorker();
|
this.getWorker();
|
||||||
})
|
})
|
||||||
.catch(() => { });
|
.catch(() => {});
|
||||||
},
|
},
|
||||||
closeBtn() {
|
closeBtn() {
|
||||||
this.dialogVisible = false;
|
this.dialogVisible = false;
|
||||||
@ -310,7 +342,7 @@ export default {
|
|||||||
workerAttendanceRuleEdit(this.workerInfo).then((result) => {
|
workerAttendanceRuleEdit(this.workerInfo).then((result) => {
|
||||||
if (result.success) {
|
if (result.success) {
|
||||||
this.getWorker();
|
this.getWorker();
|
||||||
this.workerInfo = {}
|
this.workerInfo = {};
|
||||||
this.dialogVisible = false;
|
this.dialogVisible = false;
|
||||||
this.$message.success(result.message);
|
this.$message.success(result.message);
|
||||||
}
|
}
|
||||||
@ -329,4 +361,19 @@ export default {
|
|||||||
::v-deep .el-input__inner {
|
::v-deep .el-input__inner {
|
||||||
line-height: 1px !important;
|
line-height: 1px !important;
|
||||||
}
|
}
|
||||||
|
.flex() {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
.search-box {
|
||||||
|
.flex();
|
||||||
|
margin-left: 30px;
|
||||||
|
span {
|
||||||
|
margin-right: 8px;
|
||||||
|
font-size: 14px;
|
||||||
|
}
|
||||||
|
/deep/.el-radio-group {
|
||||||
|
margin-top: 2px;
|
||||||
|
}
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
@ -2050,23 +2050,53 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<!-- 图片裁剪-编辑 -->
|
||||||
<el-dialog
|
<el-dialog
|
||||||
|
:title="cropperEditTitle"
|
||||||
:modal-append-to-body="false"
|
:modal-append-to-body="false"
|
||||||
:visible.sync="dialogVisible"
|
:visible.sync="dialogVisible"
|
||||||
width="667px"
|
width="767px"
|
||||||
>
|
>
|
||||||
|
<div class="dialog_content" style="height: 400px">
|
||||||
|
<!-- <vue-scroll> -->
|
||||||
|
<vueCropper
|
||||||
|
ref="cropperEdit"
|
||||||
|
:img="cropperEditOption.img"
|
||||||
|
:outputType="cropperEditOption.outputType"
|
||||||
|
:autoCropWidth="cropperEditOption.autoCropWidth"
|
||||||
|
:autoCropHeight="cropperEditOption.autoCropHeight"
|
||||||
|
:autoCrop="true"
|
||||||
|
:fixedBox="true"
|
||||||
|
></vueCropper>
|
||||||
|
<!-- </vue-scroll> -->
|
||||||
|
</div>
|
||||||
|
<div class="dialog-footer">
|
||||||
|
<el-button
|
||||||
|
class="cancleBtn"
|
||||||
|
@click="dialogVisible = false"
|
||||||
|
icon="el-icon-circle-close"
|
||||||
|
size="medium"
|
||||||
|
>{{ $t('message.personnelPosition.cancel') }}
|
||||||
|
</el-button>
|
||||||
|
<el-button
|
||||||
|
type="primary"
|
||||||
|
icon="el-icon-circle-check"
|
||||||
|
@click="saveMapUrlEditFn"
|
||||||
|
size="medium"
|
||||||
|
>{{ $t('message.personnelPosition.determine') }}
|
||||||
|
</el-button>
|
||||||
|
</div>
|
||||||
<!-- title="查看大图" -->
|
<!-- title="查看大图" -->
|
||||||
<div style="text-align: center">
|
<!-- <div style="text-align: center">
|
||||||
<img
|
<img
|
||||||
style="margin: 0 auto; max-width: 100%"
|
style="margin: 0 auto; max-width: 100%"
|
||||||
:src="dialogImageUrl"
|
:src="dialogImageUrl"
|
||||||
alt=""
|
alt=""
|
||||||
width="auto"
|
width="auto"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div> -->
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
<!-- 图片裁剪弹框 -->
|
<!-- 图片裁剪-上传 -->
|
||||||
<el-dialog
|
<el-dialog
|
||||||
:modal-append-to-body="false"
|
:modal-append-to-body="false"
|
||||||
:title="
|
:title="
|
||||||
@ -2189,6 +2219,7 @@ export default {
|
|||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
cropperEditTitle: "",
|
||||||
dateOfIssue: "",
|
dateOfIssue: "",
|
||||||
radio: "",
|
radio: "",
|
||||||
showImgList: false,
|
showImgList: false,
|
||||||
@ -2228,6 +2259,12 @@ export default {
|
|||||||
dutuiesType: [], //职务类型
|
dutuiesType: [], //职务类型
|
||||||
dutuies: [], //职务
|
dutuies: [], //职务
|
||||||
attendRulesList: [],
|
attendRulesList: [],
|
||||||
|
cropperEditOption: {
|
||||||
|
outputType: "png",
|
||||||
|
img: "",
|
||||||
|
autoCropWidth: 300, // 默认生成截图框宽度
|
||||||
|
autoCropHeight: 360, // 默认生成截图框高度
|
||||||
|
},
|
||||||
cropperOption: {
|
cropperOption: {
|
||||||
outputType: "png",
|
outputType: "png",
|
||||||
img: "",
|
img: "",
|
||||||
@ -2726,6 +2763,45 @@ export default {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
// 保存编辑截图
|
||||||
|
saveMapUrlEditFn() {
|
||||||
|
this.$refs.cropperEdit.startCrop();
|
||||||
|
var _this = this;
|
||||||
|
this.$refs.cropperEdit.getCropBlob((data) => {
|
||||||
|
const isLt2M = data.size / 1024 < 500;
|
||||||
|
if (!isLt2M) {
|
||||||
|
this.$message.error(this.$t("message.laborMange.hint9"));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
var param = new FormData();
|
||||||
|
param.append("files", data, "image.png");
|
||||||
|
_this.$http
|
||||||
|
.post("/upload/image", param, {
|
||||||
|
headers: {
|
||||||
|
"Content-Type": "multipart/form-data",
|
||||||
|
},
|
||||||
|
})
|
||||||
|
.then((res) => {
|
||||||
|
console.log("aaaaa", res);
|
||||||
|
// if (res.data.status == "SUCCESS") {
|
||||||
|
// // this.checkFace(res.data.data[0].imageUrl)
|
||||||
|
// if (this.isSzProject == 1) {
|
||||||
|
// this.checkImgLibrary(res.data.data[0].imageUrl);
|
||||||
|
// } else {
|
||||||
|
// this.checkFace(res.data.data[0].imageUrl);
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
if (res.data.status == "SUCCESS") {
|
||||||
|
if(this.cropperEditTitle = "现场采集照裁剪"){
|
||||||
|
this.workerInfo.fieldAcquisitionUrl = res.data.data[0].imageUrl;
|
||||||
|
} else if(this.cropperEditTitle = "身份证头像裁剪"){
|
||||||
|
this.workerInfo.idCardBigPhotoUrl = res.data.data[0].imageUrl;
|
||||||
|
}
|
||||||
|
this.dialogVisible = false;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
},
|
||||||
//保存截图
|
//保存截图
|
||||||
saveMapUrlFn() {
|
saveMapUrlFn() {
|
||||||
this.$refs.cropper.startCrop();
|
this.$refs.cropper.startCrop();
|
||||||
@ -2822,7 +2898,13 @@ export default {
|
|||||||
fileType == "webp" ||
|
fileType == "webp" ||
|
||||||
fileType == "jpeg"
|
fileType == "jpeg"
|
||||||
) {
|
) {
|
||||||
this.dialogImageUrl = this.fileUrl + file.url;
|
// this.dialogImageUrl = this.fileUrl + file.url;
|
||||||
|
this.cropperEditOption.img = this.fileUrl + file.url;
|
||||||
|
if(type == 1){
|
||||||
|
this.cropperEditTitle = "现场采集照裁剪"
|
||||||
|
} else if(type == 8){
|
||||||
|
this.cropperEditTitle = "身份证头像裁剪"
|
||||||
|
}
|
||||||
this.dialogVisible = true;
|
this.dialogVisible = true;
|
||||||
} else if (name != {}) {
|
} else if (name != {}) {
|
||||||
let url = this.$http.defaults.baseURL + 'xmgl/upload/getRenameFile?fileUrl=' + this.fileUrl + itemUrl + '&fileName=' + itemName
|
let url = this.$http.defaults.baseURL + 'xmgl/upload/getRenameFile?fileUrl=' + this.fileUrl + itemUrl + '&fileName=' + itemName
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@ -99,8 +99,11 @@
|
|||||||
position: relative;
|
position: relative;
|
||||||
padding-bottom: 60px;
|
padding-bottom: 60px;
|
||||||
.search_wrap{
|
.search_wrap{
|
||||||
padding: 25px 13px 13px 23px;
|
padding: 25px 13px 13px 13px;
|
||||||
border-bottom: 2px solid #E5ECFE;
|
border-bottom: 2px solid #E5ECFE;
|
||||||
|
.el-button + .el-button{
|
||||||
|
margin-left: 5px;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
.values{
|
.values{
|
||||||
opacity: 0.9;
|
opacity: 0.9;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user