费用推送下拉提交

This commit is contained in:
hongchao 2026-01-15 13:50:21 +08:00
parent 09b731b0ea
commit fcb946010b
6 changed files with 153 additions and 35 deletions

View File

@ -105,6 +105,15 @@ export function equipmentTypeTree(query) {
})
}
//获取机具类型树--领用申请
export function equipmentTypeTreeLY(query) {
return request({
url: '/material/ma_type/equipmentTypeLY',
method: 'get',
params: query,
})
}
// 上传报告附件
export function uploadPurchaseFile(data) {
return request({

View File

@ -454,7 +454,7 @@
</template>
<script>
import { equipmentTypeTree } from '@/api/purchase/goodsArrived'
import { equipmentTypeTree,equipmentTypeTreeLY } from '@/api/purchase/goodsArrived'
import { getLeaseProjectListApi, getListUnite, getAgreement, getProjectList, getDepartNameList } from '@/api/lease/apply'
import { getImpUnitListApi } from "@/api/materialsStation"
import {
@ -1057,7 +1057,7 @@ export default {
},
/** 机具类型 */
equipmentType() {
equipmentTypeTree().then(response => {
equipmentTypeTreeLY().then(response => {
console.log('🚀 ~ equipmentTypeTree ~ response:', response)
this.equipmentTypeList = response.data
//

View File

@ -1123,7 +1123,7 @@ export default {
.tabelColumn {
width: 1000px;
height: 40px;
height: 35px;
display: flex;
align-items: center;
border: 1px solid #9c9c9c;
@ -1132,15 +1132,15 @@ export default {
}
.columnLabel {
height: 40px;
line-height: 40px;
height: 35px;
line-height: 35px;
text-align: center;
border-left: none;
}
.columnContent {
height: 40px;
line-height: 40px;
height: 35px;
line-height: 35px;
text-align: center;
border-left: 1px solid #9c9c9c;
}

View File

@ -1,7 +1,18 @@
<template>
<!-- 基础页面 -->
<div class="app-container">
<el-form v-show="showSearch" :model="queryParams" ref="queryForm" size="small" inline @submit.native.prevent>
<el-form v-show="showSearch" :model="queryParams" ref="queryForm" size="small" inline @submit.native.prevent label-width="80px">
<el-form-item label="分公司" prop="impUnitName">
<el-select
v-model="queryParams.impUnitName"
placeholder="请选择分公司"
clearable
filterable
style="width: 215px"
>
<el-option v-for="item in impUnitOptions" :key="item.value" :label="item.label" :value="item.value" />
</el-select>
</el-form-item>
<el-form-item label="选择单位" prop="unitId">
<TreeSelect
v-model="queryParams.unitId"
@ -43,7 +54,7 @@
></el-date-picker>
</el-form-item>
<el-form-item label="提交状态" prop="status">
<el-select v-model="queryParams.status" placeholder="请选择状态" clearable style="width: 240px">
<el-select v-model="queryParams.status" placeholder="请选择状态" clearable style="width: 215px">
<el-option v-for="item in pushList" :key="item.value" :label="item.label" :value="item.value" />
</el-select>
</el-form-item>
@ -157,6 +168,7 @@
<script>
import { getProjectList, getUnitList, getAgreementInfoById } from '@/api/back/index.js'
import { getConsumPushCheckList, getConsumPushCheckListCount, submitPushSafetyConsumeCosts,getConsumeDetailsListApi } from '@/api/costPush/costPush'
import { getImpUnitListApi } from "@/api/materialsStation"
import TreeSelect from '@riophae/vue-treeselect'
import '@riophae/vue-treeselect/dist/vue-treeselect.css'
import ExcelJS from 'exceljs';
@ -180,10 +192,12 @@ export default {
agreementId: '',
agreementCode: '',
month: new Date().getFullYear() + '-' + String(new Date().getMonth() + 1).padStart(2, '0'),
isSend: null
isSend: null,
impUnitName: null,
},
unitList: [], //
proList: [], //
impUnitOptions: [], //
pushList: [
{ label: '未推送', value: '0' },
{ label: '已推送', value: '1' },
@ -223,11 +237,28 @@ export default {
}
},
created() {
this.getImpUnitOptions() //
this.GetUnitData()
this.GetProData()
this.getList()
},
methods: {
/** 获取分公司下拉 */
async getImpUnitOptions() {
try {
const res = await getImpUnitListApi()
this.impUnitOptions = res.data.map(item => ({
label: item.impUnitName,
value: item.impUnitName
}))
if (this.impUnitOptions.length === 1) {
this.queryParams.impUnitName = this.impUnitOptions[0].value
await this.onImpUnitChange(this.queryParams.impUnitName)
}
} catch (e) {
console.error('获取分公司下拉失败:', e)
}
},
//
handleQuery() {
this.queryParams.pageNum = 1
@ -252,7 +283,7 @@ export default {
console.log('🚀 ~ 获取列表 ~ res:', res)
this.tableList = res.rows
this.total = res.total
const res2 = await getConsumPushCheckListCount()
const res2 = await getConsumPushCheckListCount(params)
this.totalCost = res2.data.leaseMoney
loading.close()
} catch (error) {

View File

@ -1,7 +1,18 @@
<template>
<!-- 基础页面 -->
<div class="app-container">
<el-form v-show="showSearch" :model="queryParams" ref="queryForm" size="small" inline @submit.native.prevent>
<el-form v-show="showSearch" :model="queryParams" ref="queryForm" size="small" inline @submit.native.prevent label-width="80px">
<el-form-item label="分公司" prop="impUnitName">
<el-select
v-model="queryParams.impUnitName"
placeholder="请选择分公司"
clearable
filterable
style="width: 215px"
>
<el-option v-for="item in impUnitOptions" :key="item.value" :label="item.label" :value="item.value" />
</el-select>
</el-form-item>
<el-form-item label="选择单位" prop="unitId">
<TreeSelect
v-model="queryParams.unitId"
@ -43,7 +54,7 @@
></el-date-picker>
</el-form-item>
<el-form-item label="提交状态" prop="status">
<el-select v-model="queryParams.status" placeholder="请选择状态" clearable style="width: 240px">
<el-select v-model="queryParams.status" placeholder="请选择状态" clearable style="width: 215px">
<el-option v-for="item in pushList" :key="item.value" :label="item.label" :value="item.value" />
</el-select>
</el-form-item>
@ -187,6 +198,7 @@
<script>
import { getProjectList, getUnitList, getAgreementInfoById } from '@/api/back/index.js'
import { getCostPushCheckList, getCostPushCheckListCount, submitPushSafetyCosts,getCostPushLeaseListApi } from '@/api/costPush/costPush'
import { getImpUnitListApi } from "@/api/materialsStation"
import TreeSelect from '@riophae/vue-treeselect'
import '@riophae/vue-treeselect/dist/vue-treeselect.css'
import ExcelJS from 'exceljs';
@ -210,10 +222,12 @@ export default {
agreementId: '',
agreementCode: '',
month: new Date().getFullYear() + '-' + String(new Date().getMonth() + 1).padStart(2, '0'),
isSend: null
isSend: null,
impUnitName: null,
},
unitList: [], //
proList: [], //
impUnitOptions: [], //
pushList: [
{ label: '未推送', value: '0' },
{ label: '已推送', value: '1' },
@ -282,11 +296,30 @@ export default {
}
},
created() {
this.getImpUnitOptions() //
this.GetUnitData()
this.GetProData()
this.getList()
},
methods: {
/** 获取分公司下拉 */
async getImpUnitOptions() {
try {
const res = await getImpUnitListApi()
this.impUnitOptions = res.data.map(item => ({
label: item.impUnitName,
value: item.impUnitName
}))
if (this.impUnitOptions.length === 1) {
this.queryParams.impUnitName = this.impUnitOptions[0].value
await this.onImpUnitChange(this.queryParams.impUnitName)
}
} catch (e) {
console.error('获取分公司下拉失败:', e)
}
},
formatDate(dateStr) {
if (!dateStr) return '';
//

View File

@ -1,25 +1,48 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" v-show="showSearch" :inline="true" label-width="80px">
<!-- <el-form-item label="选择单位" prop="unitId">-->
<!-- <treeselect-->
<!-- v-model="queryParams.unitId"-->
<!-- :options="unitList" :normalizer="normalizer"-->
<!-- :show-count="true" style="width: 215px" :disable-branch-nodes="true"-->
<!-- noChildrenText="没有数据了" noOptionsText="没有数据" noResultsText="没有搜索结果"-->
<!-- placeholder="请选择单位" @select="unitChange"-->
<!-- />-->
<!-- </el-form-item>-->
<el-form-item label="分公司" prop="impUnitName">
<el-select
v-model="queryParams.impUnitName"
placeholder="请选择分公司"
clearable
filterable
style="width: 215px"
>
<el-option v-for="item in impUnitOptions" :key="item.value" :label="item.label" :value="item.value" />
</el-select>
</el-form-item>
<el-form-item label="选择单位" prop="unitId">
<TreeSelect
v-model="queryParams.unitId"
:options="unitList"
:normalizer="normalizer"
:show-count="true"
style="width: 215px"
:disable-branch-nodes="true"
noChildrenText="没有数据了"
noOptionsText="没有数据"
noResultsText="没有搜索结果"
placeholder="请选择单位"
@select="unitChange"
/>
</el-form-item>
<!-- <el-form-item label="选择工程" prop="projectId">-->
<!-- <treeselect-->
<!-- v-model="queryParams.projectId"-->
<!-- :options="proList" :normalizer="normalizer"-->
<!-- :show-count="true" style="width: 215px" :disable-branch-nodes="true"-->
<!-- noChildrenText="没有数据了" noOptionsText="没有数据" noResultsText="没有搜索结果"-->
<!-- placeholder="请选择工程" @select="proChange"-->
<!-- />-->
<!-- </el-form-item>-->
<el-form-item label="选择工程" prop="projectId">
<TreeSelect
v-model="queryParams.projectId"
:options="proList"
:normalizer="normalizer"
:show-count="true"
style="width: 215px"
:disable-branch-nodes="true"
noChildrenText="没有数据了"
noOptionsText="没有数据"
noResultsText="没有搜索结果"
placeholder="请选择工程"
@select="proChange"
/>
</el-form-item>
<el-form-item label="协议号" prop="agreementCode">
<el-input v-model="queryParams.agreementCode" placeholder="协议号" clearable/>
@ -439,8 +462,9 @@ import {
getAgreementInfoById,
} from '@/api/back/index.js'
import {getPushReviewList,getLeaseListApi,getRepairList,getLoseList,getScrapList,submitPushCosts } from "@/api/costPush/costPush";
import Treeselect from "@riophae/vue-treeselect";
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
import { getImpUnitListApi } from "@/api/materialsStation"
import TreeSelect from '@riophae/vue-treeselect'
import '@riophae/vue-treeselect/dist/vue-treeselect.css'
import ExcelJS from 'exceljs';
export default {
name: "PushReview",
@ -491,6 +515,7 @@ export default {
isSettlement: null,
settlementType: 1,
isFilter: null,
impUnitName:null,
},
//
@ -544,16 +569,36 @@ export default {
originalMonth: null, //
originalMonthTrue: null,
impUnitOptions: [], //
};
},
created() {
this.getMonth();
this.getImpUnitOptions() //
this.GetUnitData()
this.GetProData()
this.getList();
},
components: { Treeselect },
components: { TreeSelect },
methods: {
/** 获取分公司下拉 */
async getImpUnitOptions() {
try {
const res = await getImpUnitListApi()
this.impUnitOptions = res.data.map(item => ({
label: item.impUnitName,
value: item.impUnitName
}))
if (this.impUnitOptions.length === 1) {
this.queryParams.impUnitName = this.impUnitOptions[0].value
await this.onImpUnitChange(this.queryParams.impUnitName)
}
} catch (e) {
console.error('获取分公司下拉失败:', e)
}
},
getMonth() {
//
var nowDate = new Date();