接口调试

This commit is contained in:
BianLzhaoMin 2025-09-24 13:10:48 +08:00
parent 6721fe85d8
commit a89b56f5af
12 changed files with 370 additions and 94 deletions

View File

@ -3,7 +3,43 @@ import request from '@/utils/request'
// 综合查询 获取三表一册列表
export const getThreeAndOneListAPI = (data) => {
return request({
url: '/bmw/workerLight/xxx',
url: '/bmw/pmProject/getThreeForms',
method: 'GET',
params: data,
})
}
// 综合查询 获取三表一册工程详情
export const getThreeAndOneProjectDetailAPI = (data) => {
return request({
url: '/bmw/pmProject/getProjectById',
method: 'GET',
params: data,
})
}
// 综合查询 获取三表一册每月数据
export const getThreeAndOneMonthlyDataAPI = (data) => {
return request({
url: '/bmw/pmProject/getProMonthTableList',
method: 'GET',
params: data,
})
}
// 综合查询 获取三表一册单月数据
export const getThreeAndOneMonthlyDataByIdAPI = (data) => {
return request({
url: '/bmw/pmProject/getProMonthTableById',
method: 'GET',
params: data,
})
}
// 综合查询 获取三表一册单月农名工花名册列表
export const getThreeAndOneMonthlyRosterListAPI = (data) => {
return request({
url: '/bmw/pmProject/getProMonthTableRosterList',
method: 'GET',
params: data,
})

View File

@ -204,6 +204,7 @@ export default {
})
.catch(() => {
this.loading = false
this.getCode()
if (this.captchaEnabled) {
this.getCode()
}

View File

@ -36,9 +36,12 @@ export default {
},
data() {
return {
//
formLabel,
columnsList,
//
getPersonCountListAPI,
//
testTableList: [
{
mainProName: '分公司1',
@ -69,5 +72,3 @@ export default {
},
}
</script>
<style></style>

View File

@ -14,16 +14,16 @@ export const formLabel = [
]
export const columnsList = [
{ t_props: 'mainProName', t_label: '分公司' },
{ t_label: '工程名称', t_props: 'volLevel' },
{ t_props: 'subComName', t_label: '分公司' },
{ t_label: '工程名称', t_props: 'proName' },
{
t_label: '发放月份数量',
t_props: 'volLevel',
t_props: 'tableMonth',
},
{ t_slot: 'proStatus', t_label: '发放分包数量' },
{ t_slot: 'proStatus', t_label: '发放班组数量' },
{ t_slot: 'proStatus', t_label: '发放人员人次' },
{ t_slot: 'proStatus', t_label: '实发工资' },
{ t_slot: 'proStatus', t_label: '状态' },
{ t_props: 'subNum', t_label: '发放分包数量' },
{ t_props: 'teamNum', t_label: '发放班组数量' },
{ t_props: 'payNum', t_label: '发放人员人次' },
{ t_props: 'netSalary', t_label: '实发工资' },
{ t_props: 'proStatus', t_label: '状态' },
]

View File

@ -14,10 +14,10 @@
<!-- 项目信息区域 -->
<div class="project-details">
<div class="project-title">
{{ projectInfo.projectName }}
{{ proName }}
</div>
<div class="company-name">
{{ projectInfo.companyName }}
{{ subComName }}
</div>
</div>
@ -59,56 +59,92 @@
</template>
<script>
import { getThreeAndOneProjectDetailAPI } from '@/api/synthesize-query/three-and-one'
export default {
name: 'HeaderInfo',
props: {
projectId: {
type: [Number, String],
default: '',
},
proName: {
type: String,
default: '',
},
subComName: {
type: String,
default: '',
},
},
data() {
return {
projectInfo: {
projectName: '220kV永和(云纺)输变电工程(变电部分)',
companyName: '输电一公司',
currentStatus: '在建',
projectType: '基建线路',
voltageLevel: '220kV',
plannedStartDate: '2025-02-01',
plannedCompletionDate: '2025-11-30',
projectLocation:
'广东省-东莞市广东省-东莞市广东省-东莞市广东省-东莞市广东省-东莞市广东省-东莞市',
},
projectInfo: {},
labelList: [
{
label: '当前状态',
value: '在建',
valueKey: 'currentStatus',
valueKey: 'proStatus',
},
{
label: '工程类型',
value: '基建线路',
valueKey: 'projectType',
valueKey: 'proType',
},
{
label: '电压等级',
value: '220kV',
valueKey: 'voltageLevel',
valueKey: 'volLevel',
},
{
label: '计划开工时间',
value: '2025-02-01',
valueKey: 'plannedStartDate',
valueKey: 'startTime',
},
{
label: '计划完工时间',
value: '2025-11-30',
valueKey: 'plannedCompletionDate',
valueKey: 'endTime',
},
{
label: '工程地址',
value: '广东省-东莞市',
valueKey: 'projectLocation',
valueKey: 'proAddress',
},
],
}
},
created() {
this.getProjectDetail()
},
methods: {
//
async getProjectDetail() {
const res = await getThreeAndOneProjectDetailAPI({
proId: this.projectId,
})
const {
proStatus,
proType,
volLevel,
startTime,
endTime,
proAddress,
} = res.data
this.projectInfo = {
proStatus,
proType,
volLevel,
startTime,
endTime,
proAddress,
}
console.log(res, 'res工程详情')
},
},
}
</script>

View File

@ -30,7 +30,118 @@
:label="item.label"
show-overflow-tooltip
v-for="item in columnsList"
/>
>
<template slot-scope="{ row }">
<template v-if="item.prop === 'rosterNum'">
<el-tag
size="mini"
type="warning"
v-if="row.status == 0"
>
进行中
</el-tag>
<span v-else>
人数{{ row.rosterNum }}
</span>
</template>
<template
v-else-if="item.prop === 'attendanceNum'"
>
<el-tag
size="mini"
type="warning"
v-if="row.status == 0"
>
进行中
</el-tag>
<span v-else>
考勤天数{{ row.attendanceNum }}
</span>
</template>
<template v-else-if="item.prop === 'salaryNum'">
<el-tag
size="mini"
type="warning"
v-if="row.status == 0"
>
进行中
</el-tag>
<span v-else>
人数{{ row.salaryNum }}
</span>
</template>
<template v-else-if="item.prop === 'payNum'">
<el-tag
size="mini"
type="warning"
v-if="row.status == 0"
>
进行中
</el-tag>
<span v-else>
分包{{ row.subNum }}
<br />
应发工资{{ row.grossSalary }}
<br />
实发工资{{ row.netSalary }}
</span>
</template>
<template v-else-if="item.prop === 'status'">
<el-tag
size="mini"
type="warning"
v-if="row.status == 0"
>
进行中
</el-tag>
<el-tag
size="mini"
type="primary"
v-if="row.status == 1"
>
待封档
</el-tag>
<el-tag
size="mini"
type="success"
v-if="row.status == 2"
>
已封档
</el-tag>
</template>
<template
v-else-if="item.prop === 'refundStatus'"
>
<el-tag
size="mini"
type="warning"
v-if="row.refundStatus == 0"
>
未上传
</el-tag>
<el-tag
size="mini"
type="success"
v-if="row.refundStatus == 1"
>
已上传
</el-tag>
</template>
<template v-else>
<span>{{ row[item.prop] }}</span>
</template>
</template>
</el-table-column>
<el-table-column align="center" label="操作">
<template slot-scope="scope">
@ -57,59 +168,59 @@
<script>
import DialogModel from '@/components/DialogModel/index.vue'
import { getThreeAndOneMonthlyDataAPI } from '@/api/synthesize-query/three-and-one'
export default {
name: 'SubTeamCard',
components: {
DialogModel,
},
props: {
projectId: {
type: [Number, String],
default: '',
},
},
data() {
return {
//
threeOneData: [
{
month: '3月',
},
{
month: '5月',
},
],
threeOneData: [],
columnsList: [
{
label: '月份',
prop: 'month',
prop: 'tableMonth',
},
{
label: '花名册',
prop: 'nameList',
prop: 'rosterNum',
},
{
label: '考勤明细表',
prop: 'month',
prop: 'attendanceNum',
},
{
label: '工资信息报审表',
prop: 'month',
prop: 'salaryNum',
},
{
label: '工资支付表',
prop: 'month',
prop: 'payNum',
},
{
label: '状态',
prop: 'month',
prop: 'status',
},
{
label: '封档时间',
prop: 'month',
prop: 'blockTime',
},
{
label: '回单上传状态',
prop: 'month',
prop: 'refundStatus',
},
{
label: '上传时间',
prop: 'month',
prop: 'refundTime',
},
],
@ -122,6 +233,9 @@ export default {
},
}
},
created() {
this.getThreeAndOneMonthlyData()
},
methods: {
//
tableHeaderStyle() {
@ -167,9 +281,13 @@ export default {
//
onHandleOpenDetail(row) {
console.log('row', row)
this.$router.push({
name: 'ThreeAndOneMonthDetail',
query: {
id: row.id,
month: row.tableMonth,
proId: this.projectId,
},
})
},
@ -177,6 +295,14 @@ export default {
onHandleDownloadFile(row) {
console.log('row', row)
},
//
async getThreeAndOneMonthlyData() {
const res = await getThreeAndOneMonthlyDataAPI({
proId: this.projectId,
})
this.threeOneData = res.rows
},
},
}
</script>

View File

@ -1,8 +1,12 @@
<template>
<!-- 综合查询 ---- 工程统计详情 -->
<div class="app-container">
<HeaderInfo />
<ThreeOneTable />
<HeaderInfo
:proName="proName"
:projectId="projectId"
:subComName="subComName"
/>
<ThreeOneTable :projectId="projectId" />
</div>
</template>
@ -19,11 +23,15 @@ export default {
data() {
return {
projectId: null, // ID
proName: null, //
subComName: null, //
}
},
created() {
// ID
this.projectId = this.$route.params.id || this.$route.query.id
this.projectId = this.$route.query?.id
this.proName = this.$route.query?.proName
this.subComName = this.$route.query?.subComName
},
methods: {
//

View File

@ -7,16 +7,15 @@
:showRightTools="true"
ref="threeAndOneTableRef"
:columnsList="columnsList"
:testTableList="testTableList"
:request-api="getThreeAndOneListAPI"
>
<template slot="handle" slot-scope="{ queryParams }">
<template slot="handle" slot-scope="{ data }">
<el-button
plain
size="mini"
type="primary"
icon="el-icon-view"
@click="onHandleViewDetail(queryParams)"
@click="onHandleViewDetail(data)"
>
详情
</el-button>
@ -51,31 +50,18 @@ export default {
formLabel,
columnsList,
getThreeAndOneListAPI,
testTableList: [
{
mainProName: '分公司1',
volLevel: '工程1',
subNum: 1,
teamNum: 1,
teamNum: 1,
},
{
mainProName: '分公司1',
volLevel: '工程1',
subNum: 1,
teamNum: 1,
teamNum: 1,
},
],
}
},
methods: {
onHandleViewDetail(queryParams) {
console.log(queryParams)
onHandleViewDetail(data) {
this.$router.push({
name: 'ThreeAndOneDetail',
query: {
id: data.proId,
proName: data.proName,
subComName: data.subComName,
},
})
},
},

View File

@ -5,7 +5,7 @@
<div class="project-header">
<!-- 项目信息区域 -->
<div class="project-details">
<div class="project-title"> 月份2025-09 </div>
<div class="project-title"> 月份{{ month }} </div>
</div>
<div>
<el-button size="mini" type="danger" @click="onHandlePack">
@ -32,10 +32,30 @@
v-for="item in labelList"
>
<span class="label-label">{{ item.label }}</span>
<span class="label-value">{{ item.value }}</span>
<span class="label-value">
{{ monthlyData[item.valueKey] }}
</span>
</div>
</div>
<div class="right"> 待封档 </div>
<div class="right">
<el-tag
size="mini"
type="warning"
v-if="
monthlyData.refundStatus == 0 ||
monthlyData.refundStatus == null
"
>
待封档
</el-tag>
<el-tag
size="mini"
type="success"
v-if="monthlyData.refundStatus == 1"
>
已封档
</el-tag>
</div>
</div>
</el-card>
@ -78,53 +98,72 @@
</template>
<script>
import { getThreeAndOneMonthlyDataByIdAPI } from '@/api/synthesize-query/three-and-one'
export default {
name: 'HeaderInfo',
props: {
id: {
type: [Number, String],
default: '',
},
month: {
type: String,
default: '',
},
proId: {
type: [Number, String],
default: '',
},
},
data() {
return {
uploadVisible: false,
fileSize: 10,
fileList: [],
monthlyData: {},
labelList: [
{
label: '分包数量',
value: '1',
valueKey: 'subNum',
},
{
label: '人员数量',
value: '128',
valueKey: 'rosterNum',
},
{
label: '封档人',
value: '李思思',
valueKey: 'updateUser',
},
{
label: '封档时间',
value: '2025-09-01',
valueKey: 'refundTime',
},
{
label: '回单附件',
value: '2',
valueKey: 'contractFile',
},
{
label: '班组数量',
value: '6',
valueKey: 'teamNum',
},
{
label: '实发工资',
value: '10000',
valueKey: 'netSalary',
},
{
label: '回单上传人',
value: '李思思',
valueKey: 'refundUser',
},
{
label: '回单上传时间',
value: '2025-09-01',
valueKey: 'refundTime',
},
],
}
},
created() {
this.getMonthlyData()
},
methods: {
onHandlePack() {
@ -198,6 +237,14 @@ export default {
handleRemove(file, fileList) {
this.fileList = fileList
},
//
async getMonthlyData() {
const res = await getThreeAndOneMonthlyDataByIdAPI({
id: this.id,
})
this.monthlyData = res.data
},
},
}
</script>

View File

@ -92,16 +92,20 @@
</template>
<script>
import { getThreeAndOneMonthlyRosterListAPI } from '@/api/synthesize-query/three-and-one'
export default {
name: 'SubCount',
props: {},
props: {
id: {
type: [Number, String],
default: '',
},
},
data() {
return {
total: 100,
nameListQueryParams: {
entryTime: '',
pageNum: 1,
pageSize: 10,
monthId: this.id,
},
nameListData: [
{
@ -183,7 +187,9 @@ export default {
],
}
},
created() {},
created() {
this.getThreeAndOneMonthlyRosterList()
},
watch: {},
methods: {
//
@ -208,6 +214,7 @@ export default {
//
handleQuery() {
// this.getAttInfoData()
this.getThreeAndOneMonthlyRosterList()
},
//
resetQuery() {
@ -229,6 +236,16 @@ export default {
getNameListData() {
// this.getAttInfoData()
},
//
async getThreeAndOneMonthlyRosterList() {
const res = await getThreeAndOneMonthlyRosterListAPI(
this.nameListQueryParams,
)
console.log(res, 'res三表一册单月农名工花名册列表')
// this.nameListData = res.rows
},
},
}
</script>

View File

@ -12,7 +12,7 @@
<el-tab-pane label="农民工工资支付表" name="4" />
</el-tabs>
<div class="section-content">
<component :is="componentsList[activeName]" />
<component :id="id" :is="componentsList[activeName]" />
</div>
</div>
</template>
@ -32,6 +32,12 @@ export default {
AttDetails,
WagePay,
},
props: {
id: {
type: [Number, String],
default: '',
},
},
data() {
return {
activeName: '1',

View File

@ -1,8 +1,8 @@
<template>
<!-- 月份详情 -->
<div class="app-container">
<HeaderInfo />
<ThreeOneTable />
<HeaderInfo :id="id" :month="month" :proId="proId" />
<ThreeOneTable :id="id" />
</div>
</template>
@ -15,5 +15,17 @@ export default {
HeaderInfo,
ThreeOneTable,
},
data() {
return {
id: null,
month: null,
proId: null,
}
},
created() {
this.id = this.$route.query?.id
this.month = this.$route.query?.month
this.proId = this.$route.query?.proId
},
}
</script>