接口调试

This commit is contained in:
BianLzhaoMin 2025-10-13 16:36:07 +08:00
parent e93893a943
commit b4f112c235
5 changed files with 291 additions and 19 deletions

View File

@ -62,3 +62,12 @@ export const getProjectCountDetailAttMachineInfoAPI = (data) => {
params: data, params: data,
}) })
} }
// 综合查询 获取工程统计详情中补卡信息
export const getProjectCountDetailRepairInfoAPI = (data) => {
return request({
url: '/bmw/proStatistics/getProRepairMsg',
method: 'GET',
params: data,
})
}

View File

@ -102,6 +102,13 @@
<div class="data-label">累计补卡申请次数()</div> <div class="data-label">累计补卡申请次数()</div>
<div class="data-value"> <div class="data-value">
{{ attendanceData.repairNumHis }} {{ attendanceData.repairNumHis }}
<span
class="view-more"
@click="handleViewCardReplacement"
>
查看
</span>
</div> </div>
</div> </div>
<div class="data-item"> <div class="data-item">
@ -162,6 +169,7 @@
<DialogModel <DialogModel
:dialogConfig="dialogConfig" :dialogConfig="dialogConfig"
@closeDialogOuter="handleCloseDialogOuter" @closeDialogOuter="handleCloseDialogOuter"
@closeDialogInner="handleCloseDialogInner"
> >
<template slot="outerContent"> <template slot="outerContent">
<TableModel <TableModel
@ -260,6 +268,67 @@
</template> </template>
</TableModel> </TableModel>
<TableModel
:formLabel="formLabel_2"
:showOperation="true"
:columnsList="columnsList_2"
:sendParams="{
proId: proId * 1,
}"
:request-api="getProjectCountDetailRepairInfoAPI"
v-else-if="dialogConfig.outerTitle === '补卡申请详情'"
>
<template slot="btn" slot-scope="{ queryParams }">
<el-button
plain
size="mini"
type="success"
icon="el-icon-download"
@click="
onHandleExportCardReplacementInfo(queryParams)
"
>
导出
</el-button>
</template>
<template slot="checkStatus" slot-scope="{ data }">
<el-tag
size="mini"
type="warning"
v-if="data.checkStatus == 0"
>
待审核
</el-tag>
<el-tag
size="mini"
type="success"
v-if="data.checkStatus == 1"
>
审核通过
</el-tag>
<el-tag
size="mini"
type="danger"
v-if="data.checkStatus == 2"
>
审核驳回
</el-tag>
</template>
<template slot="handle" slot-scope="{ data }">
<el-button
plain
size="mini"
type="primary"
icon="el-icon-view"
@click="onHandleViewCardReplacementDetail(data)"
>
详情
</el-button>
</template>
</TableModel>
<TableModel <TableModel
:formLabel="formLabel_1" :formLabel="formLabel_1"
:columnsList="columnsList_1" :columnsList="columnsList_1"
@ -290,6 +359,112 @@
</template> </template>
</TableModel> </TableModel>
</template> </template>
<template slot="innerContent">
<div style="width: 100%">
<el-row>
<el-col :span="20">
<TitleTip
borderBottom="none"
padding="24px 10px"
titleText="补卡人员清单"
justifyContent="flex-start"
>
<template name="right">
<span class="tip-text">{{ proName }}</span>
</template>
</TitleTip>
</el-col>
</el-row>
<el-table :data="tableData">
<el-table-column
align="center"
label="姓名"
prop="name"
/>
<el-table-column
align="center"
label="身份证"
prop="idNumber"
/>
<el-table-column
align="center"
label="补卡天数"
prop="repairDay"
/>
<el-table-column
align="center"
width="300"
label="补卡日期"
prop="repairDate"
show-overflow-tooltip
/>
<el-table-column
align="center"
label="联系方式"
prop="phone"
/>
<el-table-column
align="center"
label="所属班组"
prop="teamName"
/>
</el-table>
<TitleTip
borderBottom="none"
padding="24px 10px"
titleText="补卡说明"
justifyContent="flex-start"
/>
<el-form
label-width="140px"
ref="addOrEditFormRef"
:model="detailsParams"
>
<el-row>
<el-col :span="12">
<el-form-item label="补卡说明">
<el-input
clearable
disabled
type="textarea"
placeholder="请输入考勤机编码"
v-model="detailsParams.repairRemark"
:autosize="{ minRows: 4, maxRows: 8 }"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="附件">
<div
:key="item.id"
class="files-content"
v-for="item in detailsParams.fileList"
>
<el-tag
@click="onHandlePreviewFile(item)"
style="cursor: pointer"
>
{{ item.originFileName }}
</el-tag>
<span
class="cursor-blue"
@click="onHandleDownloadFile(item)"
>
下载
</span>
</div>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
</template>
</DialogModel> </DialogModel>
</div> </div>
</template> </template>
@ -300,8 +475,11 @@ import TableModel from '@/components/TableModel/index.vue'
import { import {
getProjectCountDetailEntryInfoAPI, getProjectCountDetailEntryInfoAPI,
getProjectCountDetailAttendanceInfoAPI, getProjectCountDetailAttendanceInfoAPI,
getProjectCountDetailRepairInfoAPI,
} from '@/api/synthesize-query/project-count' } from '@/api/synthesize-query/project-count'
import { getCardReplacementAuditDetailAPI } from '@/api/construction-person/attendance-manage/card-replacement-audit'
import { import {
getSubSelectListCommonFun, getSubSelectListCommonFun,
getTeamSelectListCommonFun, getTeamSelectListCommonFun,
@ -318,6 +496,10 @@ export default {
type: [String, Number], type: [String, Number],
default: '', default: '',
}, },
proName: {
type: String,
default: '',
},
entryData: { entryData: {
type: Object, type: Object,
default: () => {}, default: () => {},
@ -339,6 +521,16 @@ export default {
outerWidth: '90%', outerWidth: '90%',
minHeight: '90vh', minHeight: '90vh',
maxHeight: '90vh', maxHeight: '90vh',
innerVisible: false,
innerTitle: '补卡详情',
innerWidth: '80%',
innerMinHeight: '70vh',
innerMaxHeight: '70vh',
},
tableData: [],
detailsParams: {
repairRemark: '',
fileList: [],
}, },
formLabel: [ formLabel: [
@ -455,8 +647,29 @@ export default {
{ t_props: 'teamName', t_label: '所属班组' }, { t_props: 'teamName', t_label: '所属班组' },
], ],
formLabel_2: [
{
isShow: false, // label
f_type: 'ipt',
f_label: '姓名',
f_model: 'applyUser',
},
],
columnsList_2: [
{ t_props: 'applyTime', t_label: '申请时间' },
{ t_props: 'repairNum', t_label: '补卡人数' },
{ t_props: 'repairDay', t_label: '补卡天数' },
{ t_props: 'repairRemark', t_label: '补卡说明' },
{ t_props: 'applyUser', t_label: '申请人' },
{ t_slot: 'checkStatus', t_label: '审核状态' },
{ t_props: 'checkUser', t_label: '审核人' },
{ t_props: 'checkTime', t_label: '审核时间' },
],
getProjectCountDetailEntryInfoAPI, getProjectCountDetailEntryInfoAPI,
getProjectCountDetailAttendanceInfoAPI, getProjectCountDetailAttendanceInfoAPI,
getProjectCountDetailRepairInfoAPI,
} }
}, },
@ -502,8 +715,9 @@ export default {
* 处理查看补卡申请点击事件 * 处理查看补卡申请点击事件
*/ */
handleViewCardReplacement() { handleViewCardReplacement() {
this.$emit('view-card-replacement')
console.log('查看补卡申请') console.log('查看补卡申请')
this.dialogConfig.outerTitle = '补卡申请详情'
this.dialogConfig.outerVisible = true
}, },
// //
@ -521,7 +735,7 @@ export default {
// //
onHandleExportAttendanceInfo(queryParams) { onHandleExportAttendanceInfo(queryParams) {
this.download( this.download(
'/bmw/workerLight/attExportByWorker', '/bmw/proStatistics/exportProAttMsg',
// { ...queryParams }, // { ...queryParams },
{ {
// ...queryParams, // ...queryParams,
@ -547,6 +761,11 @@ export default {
this.dialogConfig.outerVisible = false this.dialogConfig.outerVisible = false
}, },
//
handleCloseDialogInner() {
this.dialogConfig.innerVisible = false
},
// //
onHandleCheckUserName(workerId) { onHandleCheckUserName(workerId) {
this.dialogConfig.outerVisible = false this.dialogConfig.outerVisible = false
@ -560,6 +779,20 @@ export default {
}) })
}, },
//
async onHandleViewCardReplacementDetail(query) {
// this.dialogConfig.outerTitle = ''
// this.dialogConfig.outerVisible = true
const { data: res } = await getCardReplacementAuditDetailAPI({
id: query.id,
})
this.detailsParams.repairRemark = res.repairRemark
this.detailsParams.fileList = res.files
this.tableData = res.repairCardDetails
this.dialogConfig.innerVisible = true
},
/** /**
* 格式化货币显示 * 格式化货币显示
* @param {Number} value 金额 * @param {Number} value 金额
@ -569,6 +802,24 @@ export default {
if (!value) return '0' if (!value) return '0'
return `¥${value.toLocaleString()}` return `¥${value.toLocaleString()}`
}, },
onHandlePreviewFile(item) {
window.open(item.url, '_blank')
},
onHandleDownloadFile(item) {
window.open(item.url, '_blank')
},
//
onHandleExportCardReplacementInfo(queryParams) {
this.download(
'/bmw/proStatistics/exportProRepairMsg',
{
proId: this.proId,
},
'补卡申请列表.xlsx',
)
},
}, },
} }
</script> </script>
@ -743,6 +994,17 @@ export default {
} }
} }
.view-more {
color: #3b82f6;
font-size: 14px;
cursor: pointer;
transition: color 0.3s ease;
&:hover {
color: #1d4ed8;
}
}
// //
@media (max-width: 1200px) { @media (max-width: 1200px) {
.person-info-container { .person-info-container {

View File

@ -21,6 +21,7 @@
<SubTeamCard :proId="proId" /> <SubTeamCard :proId="proId" />
<PersonInfoCard <PersonInfoCard
:proId="proId" :proId="proId"
:proName="proName"
:entryData="entryData" :entryData="entryData"
:attendanceData="attendanceData" :attendanceData="attendanceData"
:wageData="wageData" :wageData="wageData"

View File

@ -508,20 +508,20 @@ export default {
// //
onHandleExportEntryExitInfo(queryParams) { onHandleExportEntryExitInfo(queryParams) {
// this.download( this.download(
// '/bmw/workerLight/attExportByWorker', '/bmw/subStatistics/exportSubInOutMsg',
// { ...queryParams }, { subId: this.subId },
// '.xlsx', '人员出场信息列表.xlsx',
// ) )
}, },
// //
onHandleExportAttendanceInfo(queryParams) { onHandleExportAttendanceInfo(queryParams) {
// this.download( this.download(
// '/bmw/workerLight/attExportByWorker', '/bmw/subStatistics/exportSubAttMsg',
// { ...queryParams }, { subId: this.subId },
// '.xlsx', '人员考勤信息列表.xlsx',
// ) )
}, },
// //
handleViewEntryExitInfo() { handleViewEntryExitInfo() {

View File

@ -71,13 +71,13 @@ export default {
// //
onHandleExport(queryParams) { onHandleExport(queryParams) {
// this.download( this.download(
// '/bmw/subStatistics/exportSubStatisticsTable', '/bmw/subStatistics/exportProStatisticsTable',
// { {
// // ...queryParams, // ...queryParams,
// }, },
// '.xlsx', '分包统计.xlsx',
// ) )
}, },
}, },
} }